SpyBara
Go Premium

Documentation 2026-10-08 22:58 UTC to 2026-10-09 22:01 UTC

63 files changed +1,609 −782. View all changes and history on the product overview
2026
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

216| Опция | Что она контролирует | По умолчанию |216| Опция | Что она контролирует | По умолчанию |

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

218| Максимум ходов (`max_turns` / `maxTurns`) | Максимум раундов использования инструментов | Без ограничений |218| Максимум ходов (`max_turns` / `maxTurns`) | Максимум раундов использования инструментов | Без ограничений |

219| Максимум бюджета (`max_budget_usd` / `maxBudgetUsd`) | Максимальная стоимость перед остановкой | Без ограничений |219| Максимум бюджета (`max_budget_usd` / `maxBudgetUsd`) | Оценочные расходы, при достижении которых цикл останавливается | Без ограничений |

220 220 

221Когда достигается любой лимит, SDK возвращает `ResultMessage` с соответствующим подтипом ошибки (`error_max_turns` или `error_max_budget_usd`). См. [Обработать результат](#handle-the-result) для того, как проверить эти подтипы, и [`ClaudeAgentOptions`](/docs/ru/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/ru/agent-sdk/typescript#options) для синтаксиса.221Когда достигается любой лимит, SDK возвращает `ResultMessage` с соответствующим подтипом ошибки (`error_max_turns` или `error_max_budget_usd`). См. [Обработать результат](#handle-the-result) для того, как проверить эти подтипы, и [`ClaudeAgentOptions`](/docs/ru/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/ru/agent-sdk/typescript#options) для синтаксиса.

222 222 


224 224 

225При [потоковом вводе](/docs/ru/agent-sdk/streaming-vs-single-mode) сообщение, которое все еще находится в очереди, когда ход заканчивается на пределе максимальных ходов, остается в очереди. Claude Code не добавляет его в последний вызов модели этого хода. Он начинает новый ход для сообщения, и счетчик максимальных ходов начинается заново для этого хода. Общий бюджет продолжает накапливаться между сообщениями, и как только расходы достигают `maxBudgetUsd`, более поздние сообщения в той же беседе заканчиваются результатом `error_max_budget_usd`. [`/clear`](/docs/ru/agent-sdk/cost-tracking) начинает бюджет заново.225При [потоковом вводе](/docs/ru/agent-sdk/streaming-vs-single-mode) сообщение, которое все еще находится в очереди, когда ход заканчивается на пределе максимальных ходов, остается в очереди. Claude Code не добавляет его в последний вызов модели этого хода. Он начинает новый ход для сообщения, и счетчик максимальных ходов начинается заново для этого хода. Общий бюджет продолжает накапливаться между сообщениями, и как только расходы достигают `maxBudgetUsd`, более поздние сообщения в той же беседе заканчиваются результатом `error_max_budget_usd`. [`/clear`](/docs/ru/agent-sdk/cost-tracking) начинает бюджет заново.

226 226 

227<h4 id="budget-headroom">

228 Запас бюджета

229</h4>

230 

231Claude Code сравнивает расходы с лимитом `max_budget_usd` / `maxBudgetUsd` после получения ответов модели, поскольку стоимость каждого ответа определяется использованием токенов, которое API возвращает вместе с ним. Ответ, достигший лимита, все равно завершается и учитывается в [`total_cost_usd`](/docs/ru/agent-sdk/cost-tracking#get-the-total-cost-of-a-query). Поэтому расходы могут превысить лимит не более чем на стоимость этого одного ответа плюс все, что потратят субагенты, еще работающие в этот момент, до своей остановки. Оставляйте запас на это при установке лимита.

232 

227<h3 id="effort-level">233<h3 id="effort-level">

228 Уровень усилий234 Уровень усилий

229</h3>235</h3>

Details

78 78 

79Вы можете настроить MCP серверы в коде при вызове `query()`, или в файле `.mcp.json`, загруженном через [`settingSources`](#from-a-config-file).79Вы можете настроить MCP серверы в коде при вызове `query()`, или в файле `.mcp.json`, загруженном через [`settingSources`](#from-a-config-file).

80 80 

81<h3 id="in-code">81<span id="in-code" />

82 В коде82 

83<h3 id="add-a-server-in-code">

84 Добавление сервера в коде

83</h3>85</h3>

84 86 

85Передайте MCP серверы непосредственно в опции `mcpServers`. Этот пример запускает локальный файловый MCP сервер для `/Users/me/projects`. Замените этот путь на директорию на вашей машине:87Передайте MCP серверы непосредственно в опции `mcpServers`. Этот пример запускает локальный файловый MCP сервер для `/Users/me/projects`. Замените этот путь на директорию на вашей машине:


135 ```137 ```

136</CodeGroup>138</CodeGroup>

137 139 

138<h3 id="from-a-config-file">140<span id="from-a-config-file" />

139 Из файла конфигурации141 

142<h3 id="add-a-server-from-a-config-file">

143 Добавление сервера из файла конфигурации

140</h3>144</h3>

141 145 

142Создайте файл `.mcp.json` в корне вашего проекта. Файл загружается, когда включен источник настроек `project`, что происходит по умолчанию для опций `query()`. Если вы явно установите `settingSources`, включите `"project"` для загрузки этого файла. Замените `/Users/me/projects` на директорию на вашей машине:146Создайте файл `.mcp.json` в корне вашего проекта. Файл загружается, когда включен источник настроек `project`, что происходит по умолчанию для опций `query()`. Если вы явно установите `settingSources`, включите `"project"` для загрузки этого файла. Замените `/Users/me/projects` на директорию на вашей машине:


301 stdio серверы305 stdio серверы

302</h3>306</h3>

303 307 

304Локальные процессы, которые взаимодействуют через stdin/stdout. Используйте это для MCP серверов, которые вы запускаете на одной машине. Для формата `.mcp.json` используйте те же поля, показанные в [From a config file](#from-a-config-file). В коде передайте команду и её аргументы. Замените `/Users/me/projects` на директорию на вашей машине:308Локальные процессы, которые взаимодействуют через stdin/stdout. Используйте это для MCP-серверов, которые вы запускаете на одной машине. Для формата `.mcp.json` используйте те же поля, показанные в разделе [Добавление сервера из файла конфигурации](#from-a-config-file). В коде передайте команду и её аргументы. Замените `/Users/me/projects` на директорию на вашей машине:

305 309 

306<CodeGroup>310<CodeGroup>

307 ```typescript TypeScript hidelines={1,-1} theme={null}311 ```typescript TypeScript hidelines={1,-1} theme={null}

Details

28 Этапы миграции28 Этапы миграции

29</h2>29</h2>

30 30 

31<h3 id="for-typescript/javascript-projects">31<span id="for-typescript/javascript-projects" />

32 Для проектов TypeScript/JavaScript32 

33<h3 id="migrate-a-typescript-or-javascript-project">

34 Миграция проекта TypeScript или JavaScript

33</h3>35</h3>

34 36 

35**1. Удалите старый пакет:**37**1. Удалите старый пакет:**


64 66 

65Внесите необходимые изменения в код для завершения миграции.67Внесите необходимые изменения в код для завершения миграции.

66 68 

67<h3 id="for-python-projects">69<span id="for-python-projects" />

68 Для проектов Python70 

71<h3 id="migrate-a-python-project">

72 Миграция проекта Python

69</h3>73</h3>

70 74 

71**1. Удалите старый пакет:**75**1. Удалите старый пакет:**

Details

146| `auto` | Одобрения, классифицированные моделью | Классификатор модели проверяет действия, такие как команды оболочки и сетевые запросы, разрешая или блокируя каждое из них. См. [Режим Auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) для получения информации о доступности и порядке принятия решений |146| `auto` | Одобрения, классифицированные моделью | Классификатор модели проверяет действия, такие как команды оболочки и сетевые запросы, разрешая или блокируя каждое из них. См. [Режим Auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) для получения информации о доступности и порядке принятия решений |

147 147 

148<Warning>148<Warning>

149 **Наследование подагентом:** Подагент выполняется в режиме разрешений родительского сеанса, если вы не установите `permissionMode` на его [`AgentDefinition`](/docs/ru/agent-sdk/typescript#agentdefinition) и родительский сеанс находится в режиме `default`, `dontAsk` или `plan`. Даже в этом случае Claude Code никогда не применяет значение `"bypassPermissions"`. Подагент выполняется в режиме `bypassPermissions` только когда сам родительский сеанс находится в этом режиме. Исключение `bypassPermissions` требует Claude Code v2.1.267 или более поздней версии.149 **Наследование субагентом:** Субагент выполняется в режиме разрешений родительской сессии, если вы не установите `permissionMode` на его [`AgentDefinition`](/docs/ru/agent-sdk/typescript#agentdefinition) и родительская сессия находится в режиме `default`, `dontAsk` или `plan`. Даже в этом случае Claude Code никогда не применяет значение `"bypassPermissions"`, а значение `"auto"` применяет только тогда, когда [авторежим доступен](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) этому субагенту. Субагент выполняется в режиме `bypassPermissions` только когда сама родительская сессия находится в этом режиме. Исключение `bypassPermissions` требует Claude Code v2.1.267 или более поздней версии.

150 150 

151 Подагенты могут иметь различные системные подсказки и менее ограниченное поведение, чем ваш основной агент, поэтому наследование `bypassPermissions` предоставляет им полный автономный доступ к системе. [Действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves), по-прежнему применяются.151 Подагенты могут иметь различные системные подсказки и менее ограниченное поведение, чем ваш основной агент, поэтому наследование `bypassPermissions` предоставляет им полный автономный доступ к системе. [Действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves), по-прежнему применяются.

152</Warning>152</Warning>

Details

928| `resume` | `str \| None` | `None` | ID сессии для возобновления |928| `resume` | `str \| None` | `None` | ID сессии для возобновления |

929| `session_id` | `str \| None` | `None` | Использовать определённый ID сессии вместо автоматически сгенерированного. Должен быть действительным UUID. Нельзя сочетать с `continue_conversation` или `resume`, если не задан также `fork_session` |929| `session_id` | `str \| None` | `None` | Использовать определённый ID сессии вместо автоматически сгенерированного. Должен быть действительным UUID. Нельзя сочетать с `continue_conversation` или `resume`, если не задан также `fork_session` |

930| `max_turns` | `int \| None` | `None` | Максимальное количество агентских ходов (циклов использования инструментов) |930| `max_turns` | `int \| None` | `None` | Максимальное количество агентских ходов (циклов использования инструментов) |

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

932| `disallowed_tools` | `list[str]` | `[]` | Инструменты для запрета. Простое имя, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с уточнением, такое как `"Bash(rm *)"`, оставляет инструмент доступным и запрещает соответствующие вызовы в каждом режиме разрешений, включая `bypassPermissions`, для команды [в том виде, как она написана](/docs/ru/permissions#bash-rule-limits). См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |932| `disallowed_tools` | `list[str]` | `[]` | Инструменты для запрета. Простое имя, такое как `"Bash"`, удаляет инструмент из контекста Claude. Правило с уточнением, такое как `"Bash(rm *)"`, оставляет инструмент доступным и запрещает соответствующие вызовы в каждом режиме разрешений, включая `bypassPermissions`, для команды [в том виде, как она написана](/docs/ru/permissions#bash-rule-limits). См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |

933| `enable_file_checkpointing` | `bool` | `False` | Включить отслеживание изменений файлов для перемотки. См. [Чекпоинты файлов](/docs/ru/agent-sdk/file-checkpointing) |933| `enable_file_checkpointing` | `bool` | `False` | Включить отслеживание изменений файлов для перемотки. См. [Чекпоинты файлов](/docs/ru/agent-sdk/file-checkpointing) |

934| `model` | `str \| None` | `None` | Псевдоним модели Claude или полное имя модели. См. [допустимые значения и ID, специфичные для поставщика](/docs/ru/model-config#available-models) |934| `model` | `str \| None` | `None` | Псевдоним модели Claude или полное имя модели. См. [допустимые значения и ID, специфичные для поставщика](/docs/ru/model-config#available-models) |


987```987```

988 988 

989* `API_TIMEOUT_MS`: таймаут на каждый запрос в клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем субагентам.989* `API_TIMEOUT_MS`: таймаут на каждый запрос в клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем субагентам.

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

991 

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

991* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторож зависаний для субагентов. Пока включён сторож потока, значение по умолчанию равно `CLAUDE_STREAM_IDLE_TIMEOUT_MS` плюс 5 минут, что составляет `600000`, если вы не увеличите эту переменную. Когда сторож потока отключён, значение по умолчанию — `600000`. До v2.1.257 значение по умолчанию всегда было `600000`.993* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторож зависаний для субагентов. Пока включён сторож потока, значение по умолчанию равно `CLAUDE_STREAM_IDLE_TIMEOUT_MS` плюс 5 минут, что составляет `600000`, если вы не увеличите эту переменную. Когда сторож потока отключён, значение по умолчанию — `600000`. До v2.1.257 значение по умолчанию всегда было `600000`.

992 994 

993 Таймер сбрасывается при каждом событии потока. При зависании Claude Code прерывает субагента и сообщает о зависании родителю. Для фонового субагента он также помечает задачу как неудавшуюся и прикрепляет любой частичный результат.995 Таймер сбрасывается при каждом событии потока. При зависании Claude Code прерывает субагента и сообщает о зависании родителю. Для фонового субагента он также помечает задачу как неудавшуюся и прикрепляет любой частичный результат.


2856 "description": str, # Описание задачи2858 "description": str, # Описание задачи

2857 "resolvedModel": str | None, # Модель, используемая при переходе в фоновый режим2859 "resolvedModel": str | None, # Модель, используемая при переходе в фоновый режим

2858 "modelsUsed": list[str] | None, # Модели, использованные перед фоновым режимом, по порядку, с коллапсированными последовательными повторениями2860 "modelsUsed": list[str] | None, # Модели, использованные перед фоновым режимом, по порядку, с коллапсированными последовательными повторениями

2859 "prompt": str, # Подсказка, которую запускает агент2861 "prompt": str, # Промпт, который запускает агент

2860 "outputFile": str, # Путь файла, где записывается вывод агента2862 "outputFile": str, # Путь файла, где записывается вывод агента

2861 "canReadOutputFile": bool | None, # Может ли выходной файл быть прочитан напрямую2863 "canReadOutputFile": bool | None, # Может ли выходной файл быть прочитан напрямую

2862}2864}


2868{2870{

2869 "status": "remote_launched",2871 "status": "remote_launched",

2870 "taskId": str, # ID отправленной задачи2872 "taskId": str, # ID отправленной задачи

2871 "sessionUrl": str, # Ссылка на облачный сеанс2873 "sessionUrl": str, # Ссылка на облачную сессию

2872 "description": str, # Описание задачи2874 "description": str, # Описание задачи

2873 "prompt": str, # Подсказка, которую запускает агент2875 "prompt": str, # Промпт, который запускает агент

2874 "outputFile": str, # Путь файла, где записывается вывод агента2876 "outputFile": str, # Путь файла, где записывается вывод агента

2875}2877}

2876```2878```

2877 2879 

2878Возвращает результат от подагента. Вывод различается по полю `status`: `"completed"` для завершенных задач, `"async_launched"` для фоновых задач и `"remote_launched"` для задач, которые Claude Code отправил в облачный сеанс, где `sessionUrl` ссылается на этот сеанс и `taskId` его идентифицирует. Если Claude Code [сохранил изолированный worktree подагента](/docs/ru/worktrees#isolate-subagents-with-worktrees), `worktreePath` в варианте `completed` — это место, где его найти, и `worktreeBranch` — это его ветка, когда Claude Code создал worktree с git.2880Возвращает результат от субагента. Вывод различается по полю `status`: `"completed"` для завершенных задач, `"async_launched"` для фоновых задач и `"remote_launched"` для задач, которые Claude Code отправил в облачную сессию, где `sessionUrl` ссылается на эту сессию и `taskId` ее идентифицирует. Если Claude Code [сохранил изолированный worktree субагента](/docs/ru/worktrees#isolate-subagents-with-worktrees), `worktreePath` в варианте `completed` — это место, где его найти, и `worktreeBranch` — это его ветка, когда Claude Code создал worktree с git.

2879 2881 

2880В варианте `completed`, `resolvedModel` называет модель, на которой запустился подагент, которая может отличаться от запрошенного входа `model`, когда применяется [`availableModels`](/docs/ru/model-config#restrict-model-selection) или другое переопределение. Это поле требует Claude Code v2.1.174 или позже. В варианте `async_launched`, `resolvedModel` называет модель, используемую, когда агент перешел в фоновый режим, поэтому обмен, произошедший перед фоновым режимом, отражается там. Поле `modelsUsed` в обоих вариантах перечисляет использованные модели по порядку, с коллапсированными последовательными повторениями; оно устанавливается только при обмене модели во время выполнения. `modelsUsed` и поведение `resolvedModel` во время фонового режима требуют Claude Code v2.1.212 или позже.2882В варианте `completed`, `resolvedModel` называет модель, на которой запустился субагент, которая может отличаться от запрошенного входа `model`, когда применяется [`availableModels`](/docs/ru/model-config#restrict-model-selection) или другое переопределение. Это поле требует Claude Code v2.1.174 или позже. В варианте `async_launched`, `resolvedModel` называет модель, используемую, когда агент перешел в фоновый режим, поэтому обмен, произошедший перед фоновым режимом, отражается там. Поле `modelsUsed` в обоих вариантах перечисляет использованные модели по порядку, с коллапсированными последовательными повторениями; оно устанавливается только при обмене модели во время выполнения. `modelsUsed` и поведение `resolvedModel` во время фонового режима требуют Claude Code v2.1.212 или позже.

2881 2883 

2882Claude Code заполняет `usage` и `totalTokens` из финального запроса API субагента, не из всего запуска. Когда присутствует, `thinking_tokens` под `output_tokens_details` в `usage` — это количество выходных токенов этого запроса, которые были токенами мышления. Ключ `output_tokens_details` требует Python SDK v0.2.136 или позже, который поставляется с Claude Code v2.1.228. Ключ `fallback_credit` требует Python SDK v0.2.162 или позже, который поставляется с Claude Code v2.1.285.2884Claude Code заполняет `usage` и `totalTokens` из финального запроса API субагента, не из всего запуска. Когда присутствует, `thinking_tokens` под `output_tokens_details` в `usage` — это количество выходных токенов этого запроса, которые были токенами мышления. Ключ `output_tokens_details` требует Python SDK v0.2.136 или позже, который поставляется с Claude Code v2.1.228. Ключ `fallback_credit` требует Python SDK v0.2.162 или позже, который поставляется с Claude Code v2.1.285.

2883 2885 


2887 2889 

2888**Имя инструмента:** `AskUserQuestion`2890**Имя инструмента:** `AskUserQuestion`

2889 2891 

2890Задает пользователю уточняющие вопросы во время выполнения. См. [Обработка одобрений и ввода пользователя](/docs/ru/agent-sdk/user-input#handle-clarifying-questions) для деталей использования.2892Задает пользователю уточняющие вопросы во время выполнения. См. [Обработка подтверждений и ввода пользователя](/docs/ru/agent-sdk/user-input#handle-clarifying-questions) для деталей использования.

2891 2893 

2892**Ввод:**2894**Ввод:**

2893 2895 


2947 2949 

2948**Имя инструмента:** `Bash`2950**Имя инструмента:** `Bash`

2949 2951 

2950Для информации о том, что устанавливает потолок переднего плана, см. [Тайм-ауты и ограничения вывода](/docs/ru/tools-reference#timeout-and-output-limits). Для ограничения времени фонового режима см. [Ограничение времени для фоновых команд](/docs/ru/tools-reference#time-limit-for-background-commands).2952Для информации о том, что устанавливает потолок переднего плана, см. [Таймаут и ограничения вывода](/docs/ru/tools-reference#timeout-and-output-limits). Для ограничения времени фонового режима см. [Ограничение времени для фоновых команд](/docs/ru/tools-reference#time-limit-for-background-commands).

2951 2953 

2952**Ввод:**2954**Ввод:**

2953 2955 


2980 2982 

2981Запускает фоновый источник и доставляет каждое событие в Claude, чтобы он мог реагировать без опроса: `command` запускает скрипт и выдает одно событие на строку stdout, а `ws` открывает WebSocket и выдает одно событие на текстовый фрейм. Укажите ровно один из `command` или `ws`.2983Запускает фоновый источник и доставляет каждое событие в Claude, чтобы он мог реагировать без опроса: `command` запускает скрипт и выдает одно событие на строку stdout, а `ws` открывает WebSocket и выдает одно событие на текстовый фрейм. Укажите ровно один из `command` или `ws`.

2982 2984 

2983Когда Monitor запускает команду, он следует тем же правилам разрешений, что и Bash; наблюдение за WebSocket запрашивает одобрение отдельно. Источник `ws` требует Claude Code v2.1.195 или позже. См. [Справочник инструмента Monitor](/docs/ru/tools-reference#monitor-tool) для поведения и доступности поставщика.2985Когда Monitor запускает команду, он следует тем же правилам разрешений, что и Bash; наблюдение за WebSocket запрашивает подтверждение отдельно. Источник `ws` требует Claude Code v2.1.195 или позже. См. [Справочник инструмента Monitor](/docs/ru/tools-reference#monitor-tool) для поведения и доступности поставщика.

2984 2986 

2985**Ввод:**2987**Ввод:**

2986 2988 


2989 "command": str | None, # Скрипт оболочки; каждая строка stdout является событием, выход завершает наблюдение2991 "command": str | None, # Скрипт оболочки; каждая строка stdout является событием, выход завершает наблюдение

2990 "ws": dict | None, # Источник WebSocket: {"url": str, "protocols": list[str] | None}; каждый текстовый фрейм является событием2992 "ws": dict | None, # Источник WebSocket: {"url": str, "protocols": list[str] | None}; каждый текстовый фрейм является событием

2991 "description": str, # Краткое описание, показываемое в уведомлениях2993 "description": str, # Краткое описание, показываемое в уведомлениях

2992 "timeout_ms": int | None, # Завершить после этого срока (по умолчанию 300000, макс 3600000; эффективный срок составляет максимум 1800000)2994 "timeout_ms": int | None, # Срок в миллисекундах (по умолчанию 300000, макс 3600000; эффективный срок составляет максимум 1800000)

2993}2995}

2994```2996```

2995 2997 


2998```python theme={null}3000```python theme={null}

2999{3001{

3000 "taskId": str, # ID фоновой задачи мониторинга3002 "taskId": str, # ID фоновой задачи мониторинга

3001 "timeoutMs": int, # Эффективный срок тайм-аута в миллисекундах3003 "timeoutMs": int, # Эффективный срок наблюдения в миллисекундах

3002 "persistent": bool | None, # False: каждое наблюдение имеет срок3004 "persistent": bool | None, # False: каждое наблюдение имеет срок

3003}3005}

3004```3006```


3148 3150 

3149```python theme={null}3151```python theme={null}

3150{3152{

3151 "type": "file_unchanged", # Файл не изменился с момента последнего чтения Claude в этом сеансе, поэтому содержимое не повторяется3153 "type": "file_unchanged", # Файл не изменился с момента последнего чтения Claude в этой сессии, поэтому содержимое не повторяется

3152 "file": {3154 "file": {

3153 "filePath": str,3155 "filePath": str,

3154 },3156 },


3326```python theme={null}3328```python theme={null}

3327{3329{

3328 "url": str, # URL для получения содержимого3330 "url": str, # URL для получения содержимого

3329 "prompt": str, # Подсказка для запуска на полученном содержимом3331 "prompt": str, # Промпт для запуска на полученном содержимом

3332 "offset": int | None, # Количество символов, пропускаемых от начала страницы. Требует Python Agent SDK 0.2.164 или позже

3330}3333}

3331```3334```

3332 3335 


3337 "bytes": int, # Размер полученного содержимого в байтах3340 "bytes": int, # Размер полученного содержимого в байтах

3338 "code": int, # Код ответа HTTP3341 "code": int, # Код ответа HTTP

3339 "codeText": str, # Текст кода ответа HTTP3342 "codeText": str, # Текст кода ответа HTTP

3340 "result": str, # Обработанный результат от применения подсказки к содержимому3343 "result": str, # Обработанный результат от применения промпта к содержимому

3341 "durationMs": int, # Время получения и обработки содержимого в миллисекундах3344 "durationMs": int, # Время получения и обработки содержимого в миллисекундах

3342 "url": str, # URL, который был получен3345 "url": str, # URL, который был получен

3343}3346}


3595```python theme={null}3598```python theme={null}

3596{3599{

3597 "plan": str | None, # План, который был представлен пользователю3600 "plan": str | None, # План, который был представлен пользователю

3598 "isAgent": bool, # True, когда подагент вызвал инструмент3601 "isAgent": bool, # True, когда субагент вызвал инструмент

3599 "filePath": str | None, # Присутствует, когда план был сохранен в файл3602 "filePath": str | None, # Присутствует, когда план был сохранен в файл

3600 "hasTaskTool": bool | None, # Необязательно; доступен ли инструмент Agent в текущем контексте3603 "hasTaskTool": bool | None, # Необязательно; доступен ли инструмент Agent в текущем контексте

3601 "planWasEdited": bool | None, # Присутствует и True, когда пользователь отредактировал план перед одобрением3604 "planWasEdited": bool | None, # Присутствует и True, когда пользователь отредактировал план перед одобрением

Details

323 Обнаружение вызова подагента323 Обнаружение вызова подагента

324</h2>324</h2>

325 325 

326Claude вызывает подагентов через инструмент Agent. Чтобы обнаружить, когда подагент вызывается, проверьте блоки `tool_use`, где `name` равен `"Agent"`. Сообщения из контекста подагента включают поле `parent_tool_use_id`.326Claude вызывает субагентов через инструмент Agent. Чтобы обнаружить, когда субагент вызывается, проверьте блоки `tool_use`, где `name` равен `"Agent"`.

327 

328Сообщения из контекста субагента включают поле `parent_tool_use_id`. В TypeScript каждое сообщение assistant и user, создаваемое субагентом, также содержит [`agent_id`](/docs/ru/agent-sdk/typescript#sdkassistantmessage): `task_id` [событий задачи](/docs/ru/agent-sdk/typescript#sdktaskstartedmessage) этого субагента. Для `agent_id` требуется TypeScript Agent SDK v0.3.292 или более поздней версии.

327 329 

328<Note>330<Note>

329 Инструмент отображается как `"Agent"` в блоках `tool_use`, но как `"Task"` в списке инструментов `system:init`. До Claude Code v2.1.63 блоки `tool_use` также называли его `"Task"`. Чтобы обнаружение работало во всех версиях SDK, сопоставьте оба значения в `block.name`.331 Инструмент отображается как `"Agent"` в блоках `tool_use`, но как `"Task"` в списке инструментов `system:init`. До Claude Code v2.1.63 блоки `tool_use` также называли его `"Task"`. Чтобы обнаружение работало во всех версиях SDK, сопоставьте оба значения в `block.name`.


331 333 

332Структура сообщения отличается между SDK. В Python вы получаете доступ к блокам содержимого напрямую через `message.content`. В TypeScript `SDKAssistantMessage` оборачивает сообщение API Claude, поэтому вы получаете доступ к содержимому через `message.message.content`.334Структура сообщения отличается между SDK. В Python вы получаете доступ к блокам содержимого напрямую через `message.content`. В TypeScript `SDKAssistantMessage` оборачивает сообщение API Claude, поэтому вы получаете доступ к содержимому через `message.message.content`.

333 335 

334Этот пример проходит по потоковым сообщениям, логируя, когда подагент вызывается и когда последующие сообщения поступают из контекста выполнения этого подагента.336Этот пример проходит по потоковым сообщениям, логируя, когда субагент вызывается и когда последующие сообщения поступают из контекста выполнения этого субагента. Версия на TypeScript также логирует `agent_id` каждого сообщения субагента, которое его содержит.

335 337 

336<CodeGroup>338<CodeGroup>

337 ```python Python theme={null}339 ```python Python theme={null}


403 // Check if this message is from within a subagent's context405 // Check if this message is from within a subagent's context

404 if (msg.parent_tool_use_id) {406 if (msg.parent_tool_use_id) {

405 console.log(" (running inside subagent)");407 console.log(" (running inside subagent)");

408 // On assistant and user messages, agent_id matches the task_id

409 // on that subagent's task_started and other task events

410 if (msg.agent_id) {

411 console.log(` agent_id: ${msg.agent_id}`);

412 }

406 }413 }

407 414 

408 if ("result" in message) {415 if ("result" in message) {

Details

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

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

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

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

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

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

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


631```631```

632 632 

633* `API_TIMEOUT_MS`: таймаут каждого запроса клиента Anthropic в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и ко всем субагентам.633* `API_TIMEOUT_MS`: таймаут каждого запроса клиента Anthropic в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и ко всем субагентам.

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

635 

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

635* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависаний для субагентов. Пока включён сторожевой таймер потока, значение по умолчанию равно `CLAUDE_STREAM_IDLE_TIMEOUT_MS` плюс 5 минут, что составляет `600000`, если вы не увеличили эту переменную. При выключенном сторожевом таймере потока значение по умолчанию — `600000`. До v2.1.257 значение по умолчанию всегда было `600000`.637* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависаний для субагентов. Пока включён сторожевой таймер потока, значение по умолчанию равно `CLAUDE_STREAM_IDLE_TIMEOUT_MS` плюс 5 минут, что составляет `600000`, если вы не увеличили эту переменную. При выключенном сторожевом таймере потока значение по умолчанию — `600000`. До v2.1.257 значение по умолчанию всегда было `600000`.

636 638 

637 Таймер сбрасывается при каждом событии потока. При зависании Claude Code прерывает субагента и сообщает о зависании родителю. Для фонового субагента он также помечает задачу как неудавшуюся и прикладывает частичный результат, если он есть.639 Таймер сбрасывается при каждом событии потока. При зависании Claude Code прерывает субагента и сообщает о зависании родителю. Для фонового субагента он также помечает задачу как неудавшуюся и прикладывает частичный результат, если он есть.


1561 parent_tool_use_id: string | null;1563 parent_tool_use_id: string | null;

1562 error?: SDKAssistantMessageError;1564 error?: SDKAssistantMessageError;

1563 aborted?: true;1565 aborted?: true;

1566 agent_id?: string;

1564 timestamp?: string;1567 timestamp?: string;

1565 context_usage?: SDKContextUsage;1568 context_usage?: SDKContextUsage;

1569 usage_report?: SDKUsageReport;

1566 user_message_uuid?: string;1570 user_message_uuid?: string;

1567 user_message_uuids?: string[];1571 user_message_uuids?: string[];

1568 resume_reason?: string;1572 resume_reason?: string;


1580 1584 

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

1582 1586 

1587`agent_id` определяет субагента, создавшего сообщение, и отсутствует у сообщений основного потока. Значение совпадает с `task_id` в событии [`task_started`](#sdktaskstartedmessage) и других событиях задачи этого субагента и не меняется, когда субагент [возобновляется](/docs/ru/agent-sdk/subagents#resume-subagents). Поле требует Agent SDK v0.3.292 или новее.

1588 

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

1590 

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

1584 1592 

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

1586 1594 

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

1588 1596 

1597`usage_report` — структурированная копия отчёта `/usage` с типом [`SDKUsageReport`](#sdkusagereport); требуется Agent SDK v0.3.273 или новее. Когда вы отправляете `/usage` в качестве промпта, Claude Code доставляет отчёт как сообщение ассистента, у которого `message.content` содержит текст. Он прикрепляет `usage_report` к этому же сообщению, только если сессия удовлетворяет всем следующим условиям:

1598 

1599* Сессия аутентифицируется с помощью учётных данных claude.ai

1600* Учётные данные указывают известный тип тарифа или содержат scope `user:profile`

1601* Учётная запись не находится на биллинге по фактическому использованию

1602 

1603Токен `claude setup-token`, переданный как `CLAUDE_CODE_OAUTH_TOKEN`, по умолчанию не подходит, потому что содержит только scope `user:inference`. Другие сессии, например сессии с API-ключом, доставляют текст без этого поля, как и более ранние версии. Читайте отчёт из поля, когда оно есть, и используйте текст, когда его нет.

1604 

1589<h3 id="sdkusermessage">1605<h3 id="sdkusermessage">

1590 `SDKUserMessage`1606 `SDKUserMessage`

1591</h3>1607</h3>


1597 type: "user";1613 type: "user";

1598 uuid?: UUID;1614 uuid?: UUID;

1599 session_id?: string;1615 session_id?: string;

1616 agent_id?: string;

1600 message: MessageParam; // From Anthropic SDK1617 message: MessageParam; // From Anthropic SDK

1601 pasted_content?: MessageParam["content"][];1618 pasted_content?: MessageParam["content"][];

1602 parent_tool_use_id: string | null;1619 parent_tool_use_id: string | null;


1636};1653};

1637```1654```

1638 1655 

1656Пользовательское сообщение, созданное субагентом, например `tool_result` для одного из его собственных вызовов инструментов, содержит `agent_id`. См. [`SDKAssistantMessage`](#sdkassistantmessage), где определены это поле и требования к версии.

1657 

1639В сообщении, содержащем блок `tool_result`, `tool_use_result` — это структурированный объект вывода инструмента, а не текст, отправленный модели. Его форма зависит от инструмента, указанного в соответствующем блоке `tool_use`, поэтому поле имеет тип `unknown`; встроенные формы перечислены в разделе [Типы вывода инструментов](#tool-output-types). Следующие результаты требуют обработки помимо их указанной формы:1658В сообщении, содержащем блок `tool_result`, `tool_use_result` — это структурированный объект вывода инструмента, а не текст, отправленный модели. Его форма зависит от инструмента, указанного в соответствующем блоке `tool_use`, поэтому поле имеет тип `unknown`; встроенные формы перечислены в разделе [Типы вывода инструментов](#tool-output-types). Следующие результаты требуют обработки помимо их указанной формы:

1640 1659 

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


1992 `SDKPartialAssistantMessage`2011 `SDKPartialAssistantMessage`

1993</h3>2012</h3>

1994 2013 

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

2015 

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

1996 2017 

1997```typescript theme={null}2018```typescript theme={null}

1998type SDKPartialAssistantMessage = {2019type SDKPartialAssistantMessage = {


2229* `buffer`: резерв для сжатия контекста2250* `buffer`: резерв для сжатия контекста

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

2231 2252 

2253<h3 id="sdkusagereport">

2254 `SDKUsageReport`

2255</h3>

2256 

2257Структурированная форма отчёта `/usage`, передаваемая как `usage_report` в [`SDKAssistantMessage`](#sdkassistantmessage), который доставляет результат `/usage`. Agent SDK v0.3.273 и новее экспортируют этот тип. Тип экспериментальный: его форма может измениться.

2258 

2259```typescript theme={null}

2260type SDKUsageReport = {

2261 session: {

2262 total_cost_usd: number;

2263 total_api_duration_ms: number;

2264 total_duration_ms: number;

2265 total_lines_added: number;

2266 total_lines_removed: number;

2267 model_usage: { [modelName: string]: ModelUsage };

2268 };

2269 rate_limits: {

2270 limits:

2271 | {

2272 kind: string;

2273 group: string;

2274 percent: number;

2275 resets_at: string | null;

2276 scope?: {

2277 model?: { display_name: string } | null;

2278 surface?: { display_name: string } | null;

2279 } | null;

2280 severity: string;

2281 is_active: boolean;

2282 }[]

2283 | null;

2284 extra_usage?: {

2285 is_enabled: boolean;

2286 monthly_limit: number | null;

2287 used_credits: number | null;

2288 utilization: number | null;

2289 currency?: string | null;

2290 } | null;

2291 } | null;

2292};

2293```

2294 

2295Поля верхнего уровня — `session` и `rate_limits`:

2296 

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

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

2299 

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

2301 

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

2303 

2304* Пустой массив означает, что сервер не сообщил ни об одном счётчике.

2305* `null` означает, что у Claude Code нет строк для отчёта.

2306 

2307Каждая строка `limits` описывает один счётчик использования:

2308 

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

2310| - | - | - |

2311| `kind` | `string` | Вид счётчика на сервере, например `session`, `weekly_all` или `weekly_scoped`. Классифицируйте строку по нему, а не по метке |

2312| `group` | `string` | Группа строк на сервере, например `session` или `weekly`. Строки отображаются сгруппированными по ней в порядке сервера |

2313| `percent` | `number` | Доля использованного окна, 0–100 |

2314| `resets_at` | `string \| null` | Временная метка ISO 8601, когда окно сбрасывается |

2315| `scope` | `object \| null` | Необязательное. Для чего предназначена строка с областью действия — для модели или интерфейса, с отображаемой меткой сервера |

2316| `severity` | `string` | Оценка строки сервером для цвета счётчика, например `normal`, `warning` или `critical` |

2317| `is_active` | `boolean` | `true` в строке, которую сервер выбирает для показа в индикаторе с одним значением |

2318 

2319До Agent SDK v0.3.277 тип объявлял `severity` и `is_active` как необязательные и допускающие null, и строка могла прийти без них.

2320 

2321`extra_usage` — расход и лимит [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) за расчётный период по данным сервера; присутствует, когда у тарифа есть кредиты использования. Суммы указаны в минимальных единицах `currency`, для USD — в центах.

2322 

2323* `monthly_limit` равно `null`, когда у этой учётной записи нет собственного лимита расходов. В тарифах Team и Enterprise не отображайте `null` как безлимит.

2324* `is_enabled` равно `false`, пока кредиты не могут оплачивать запросы.

2325 

2232<h3 id="sdkmessageorigin">2326<h3 id="sdkmessageorigin">

2233 `SDKMessageOrigin`2327 `SDKMessageOrigin`

2234</h3>2328</h3>


3416type WebFetchInput = {3510type WebFetchInput = {

3417 url: string;3511 url: string;

3418 prompt: string;3512 prompt: string;

3513 offset?: number;

3419};3514};

3420```3515```

3421 3516 

3422Получает содержимое по URL и обрабатывает его с помощью модели AI.3517Получает содержимое по URL и обрабатывает его с помощью модели AI.

3423 3518 

3519`offset` — это число символов, которые нужно пропустить от начала страницы. Claude устанавливает его, чтобы продолжить чтение длинной страницы. Это поле требует Agent SDK v0.3.290 или позже.

3520 

3424<h3 id="websearch">3521<h3 id="websearch">

3425 WebSearch3522 WebSearch

3426</h3>3523</h3>


5603 task_id: string;5700 task_id: string;

5604 tool_use_id?: string;5701 tool_use_id?: string;

5605 status: "completed" | "failed" | "stopped";5702 status: "completed" | "failed" | "stopped";

5703 reason?: "worker_restart";

5606 output_file: string;5704 output_file: string;

5607 summary: string;5705 summary: string;

5608 ambient?: boolean;5706 ambient?: boolean;


5617};5715};

5618```5716```

5619 5717 

5718`reason` устанавливается, когда задача завершается по причине, отличной от её собственного завершения, сбоя или остановки, и требует Agent SDK v0.3.273 или более поздней версии. Claude Code устанавливает его только в сессиях, которые подключаются через claude.ai: в облачных сессиях, включая сессии на self-hosted раннерах, и в сессиях Remote Control. Локальный вызов `query()` никогда его не устанавливает. Его единственное значение, `worker_restart`, означает, что процесс Claude Code, выполнявший задачу, перезапустился. Уведомление имеет статус `"stopped"`, поэтому считайте задачу ни завершённой, ни завершившейся с ошибкой.

5719 

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

5621 5721 

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


5775 task_type?: string;5875 task_type?: string;

5776 is_backgrounded?: boolean;5876 is_backgrounded?: boolean;

5777 spawn_depth?: number;5877 spawn_depth?: number;

5878 parent_task_id?: string;

5778 ambient?: boolean;5879 ambient?: boolean;

5779 uuid: UUID;5880 uuid: UUID;

5780 session_id: string;5881 session_id: string;


5792 5893 

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

5794 5895 

5896`parent_task_id` содержит `task_id` субагента, который запустил эту задачу. Используйте его, чтобы группировать каждую задачу под запустившим её субагентом. Claude Code устанавливает его для задач субагентов, Bash и [Monitor](#monitor). Поле требует Agent SDK v0.3.292 или более поздней версии. Оно отсутствует, когда:

5897 

5898* Задачу запустил основной поток

5899* Claude Code больше не отслеживает родительскую задачу

5900* Задачу запустил [участник команды](/docs/ru/agent-teams) или агент внутри рабочего процесса

5901 

5902Родителем может быть задача на переднем плане или задача, которая уже завершилась, поэтому рассматривайте незнакомый идентификатор как отсутствие родителя.

5903 

5795<h3 id="sdktaskprogressmessage">5904<h3 id="sdktaskprogressmessage">

5796 `SDKTaskProgressMessage`5905 `SDKTaskProgressMessage`

5797</h3>5906</h3>


5848 `SDKBackgroundTasksChangedMessage`5957 `SDKBackgroundTasksChangedMessage`

5849</h3>5958</h3>

5850 5959 

5851Выдаётся всякий раз, когда меняется набор активных фоновых задач: задача запускается, завершается, принудительно останавливается, агент на переднем плане переводится в фоновый режим или меняется поле `description` или `ambient` задачи.5960Выдаётся всякий раз, когда меняется набор активных фоновых задач: задача запускается, завершается или принудительно останавливается; агент на переднем плане переводится в фоновый режим; или меняется поле `description`, `ambient` или `parent_task_id` задачи. Описание поля `parent_task_id` в каждой записи и требование к версии для него см. в [`SDKTaskStartedMessage`](#sdktaskstartedmessage).

5852 5961 

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

5854 5963 

5855Порядок относительно этих событий отдельных задач не определён, поэтому не сопоставляйте эти два потока.5964Когда задача завершается, её [`task_updated`](#sdktaskupdatedmessage) и [`task_notification`](#sdktasknotificationmessage) приходят раньше, чем `background_tasks_changed`, который удаляет её из списка. В остальном порядок относительно событий отдельных задач не определён.

5856 5965 

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

5858 5967 


5869 task_type: string;5978 task_type: string;

5870 subagent_type?: string;5979 subagent_type?: string;

5871 description: string;5980 description: string;

5981 parent_task_id?: string;

5872 ambient?: boolean;5982 ambient?: boolean;

5873 }[];5983 }[];

5874 uuid: UUID;5984 uuid: UUID;

Details

36 ```36 ```

37 37 

38 ```typescript TypeScript theme={null}38 ```typescript TypeScript theme={null}

39 async function handleToolRequest(toolName, input, options) {39 import type { CanUseTool } from "@anthropic-ai/claude-agent-sdk";

40 

41 const handleToolRequest: CanUseTool = async (toolName, input, options) => {

40 // options включает { signal: AbortSignal, suggestions?: PermissionUpdate[] }42 // options включает { signal: AbortSignal, suggestions?: PermissionUpdate[] }

41 // Запросить у пользователя и вернуть разрешение или отказ43 // Запросите решение у пользователя здесь, затем верните разрешение или отказ

42 }44 return { behavior: "deny", message: "User declined" };

45 };

43 46 

44 const options = { canUseTool: handleToolRequest };47 const options = { canUseTool: handleToolRequest };

45 ```48 ```


440 // Включите AskUserQuestion в ваш список инструментов443 // Включите AskUserQuestion в ваш список инструментов

441 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],444 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],

442 canUseTool: async (toolName, input) => {445 canUseTool: async (toolName, input) => {

443 // Обработайте уточняющие вопросы здесь446 // Заглушка, которая одобряет каждый вызов. Шаг «Обнаружьте AskUserQuestion» заменяет её.

447 return { behavior: "allow", updatedInput: input };

444 }448 }

445 }449 }

446 })) {450 })) {


763 767 

764 ```typescript TypeScript theme={null}768 ```typescript TypeScript theme={null}

765 import { query } from "@anthropic-ai/claude-agent-sdk";769 import { query } from "@anthropic-ai/claude-agent-sdk";

770 import type { PermissionResult } from "@anthropic-ai/claude-agent-sdk";

766 import * as readline from "readline/promises";771 import * as readline from "readline/promises";

767 772 

768 // Вспомогательная функция для запроса ввода пользователя в терминале773 // Вспомогательная функция для запроса ввода пользователя в терминале


783 }788 }

784 789 

785 // Отобразите вопросы Claude и соберите ответы пользователя790 // Отобразите вопросы Claude и соберите ответы пользователя

786 async function handleAskUserQuestion(input: any) {791 async function handleAskUserQuestion(input: any): Promise<PermissionResult> {

787 const answers: Record<string, string> = {};792 const answers: Record<string, string> = {};

788 793 

789 for (const q of input.questions) {794 for (const q of input.questions) {

agent-view.md +21 −12

Details

391 391 

392Вы можете отправлять новые фоновые сессии из agent view, отправлять существующую интерактивную сессию или её копию в фон, а также запускать сессию прямо из оболочки.392Вы можете отправлять новые фоновые сессии из agent view, отправлять существующую интерактивную сессию или её копию в фон, а также запускать сессию прямо из оболочки.

393 393 

394<h3 id="from-agent-view">394<span id="from-agent-view" />

395 Из agent view395 

396<h3 id="dispatch-an-agent-from-agent-view">

397 Отправка агента из agent view

396</h3>398</h3>

397 399 

398Введите промпт в поле ввода внизу agent view и нажмите `Enter`, чтобы запустить новую фоновую сессию. Сессия автоматически получает имя на основе промпта; позже её можно переименовать с помощью `Ctrl+R`.400Введите промпт в поле ввода внизу agent view и нажмите `Enter`, чтобы запустить новую фоновую сессию. Сессия автоматически получает имя на основе промпта; позже её можно переименовать с помощью `Ctrl+R`.


446 448 

447Когда agent view сгруппирован по каталогам, промпт отправляется в каталог выделенной строки, поэтому можно выбрать группу и отправить в неё сессию, не вводя путь заново.449Когда agent view сгруппирован по каталогам, промпт отправляется в каталог выделенной строки, поэтому можно выбрать группу и отправить в неё сессию, не вводя путь заново.

448 450 

449<h3 id="from-inside-a-session">451<span id="from-inside-a-session" />

450 Изнутри сессии452 

453<h3 id="send-or-copy-a-session-to-the-background">

454 Отправка сессии или её копии в фон

451</h3>455</h3>

452 456 

453Две команды переносят работу из текущей сессии в фон: `/background` отправляет туда текущий диалог и освобождает терминал, а `/fork` отправляет копию, пока вы продолжаете работать на месте.457Две команды переносят работу из текущей сессии в фон: `/background` отправляет туда текущий диалог и освобождает терминал, а `/fork` отправляет копию, пока вы продолжаете работать на месте.


511 515 

512Каталоги, добавленные во время сессии с помощью [`/add-dir`](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration), тоже переносятся. Перенос `--allow-dangerously-skip-permissions` сохраняет доступность `bypassPermissions` в фоновой сессии, но не даёт ничего нового: режим по-прежнему требует однократного интерактивного согласия, описанного в разделе [Режим разрешений, модель и effort](#permission-mode-model-and-effort).516Каталоги, добавленные во время сессии с помощью [`/add-dir`](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration), тоже переносятся. Перенос `--allow-dangerously-skip-permissions` сохраняет доступность `bypassPermissions` в фоновой сессии, но не даёт ничего нового: режим по-прежнему требует однократного интерактивного согласия, описанного в разделе [Режим разрешений, модель и effort](#permission-mode-model-and-effort).

513 517 

514<h3 id="from-your-shell">518<span id="from-your-shell" />

515 Из оболочки519 

520<h3 id="dispatch-an-agent-from-your-shell">

521 Отправка агента из оболочки

516</h3>522</h3>

517 523 

518Передайте `--bg` или его полную форму `--background`, чтобы запустить сессию, которая сразу уходит в фон:524Передайте `--bg` или его полную форму `--background`, чтобы запустить сессию, которая сразу уходит в фон:


603 609 

604Вне Git-репозитория сессии пишут непосредственно в рабочий каталог и не изолированы друг от друга, поэтому не отправляйте параллельные сессии, редактирующие одни и те же файлы. Если вы используете другую систему контроля версий, настройте [хук `WorktreeCreate`](/docs/ru/worktrees#non-git-version-control), и Claude будет изолировать правки так же, как для Git.610Вне Git-репозитория сессии пишут непосредственно в рабочий каталог и не изолированы друг от друга, поэтому не отправляйте параллельные сессии, редактирующие одни и те же файлы. Если вы используете другую систему контроля версий, настройте [хук `WorktreeCreate`](/docs/ru/worktrees#non-git-version-control), и Claude будет изолировать правки так же, как для Git.

605 611 

606Если хук завершается с ошибкой в каталоге, который не является Git-репозиторием, Claude пропускает изоляцию для этого каталога и редактирует рабочий каталог на месте. Внутри Git-репозитория сессия, которую Claude переносит в worktree перед редактированием, не может редактировать файлы в общей рабочей копии, пока этот перенос не произойдёт.612Если хук завершается с ошибкой в каталоге, который не является Git-репозиторием, Claude пропускает изоляцию для этого каталога и редактирует рабочий каталог на месте. Внутри Git-репозитория сессия, которую Claude переносит в worktree перед редактированием, не может использовать инструменты `Edit`, `Write` или `NotebookEdit` в общей рабочей копии, пока этот перенос не произойдёт.

607 613 

608Чтобы узнать путь к worktree сессии, подключитесь к ней и проверьте её рабочий каталог.614Чтобы узнать путь к worktree сессии, подключитесь к ней и проверьте её рабочий каталог.

609 615 


825| `claude daemon logs` | Следить за файлом лога supervisor, [`~/.claude/daemon.log`](#where-state-is-stored), выводя новые строки по мере их появления, пока вы не нажмете `Ctrl+C` |831| `claude daemon logs` | Следить за файлом лога supervisor, [`~/.claude/daemon.log`](#where-state-is-stored), выводя новые строки по мере их появления, пока вы не нажмете `Ctrl+C` |

826| `claude daemon stop --any` | Остановить процесс supervisor и фоновые сессии, которые он размещает. Передайте `--keep-workers`, чтобы оставить фоновые сессии работающими, чтобы следующий supervisor переподключился к ним. Следующий `claude agents` или `claude --bg` запускает новый supervisor |832| `claude daemon stop --any` | Остановить процесс supervisor и фоновые сессии, которые он размещает. Передайте `--keep-workers`, чтобы оставить фоновые сессии работающими, чтобы следующий supervisor переподключился к ним. Следующий `claude agents` или `claude --bg` запускает новый supervisor |

827 833 

828`claude attach` и `claude logs` могут принимать часть имени работающей сессии вместо ID, например `claude logs "auth refactor"`. Для передачи имени требуется Claude Code v2.1.290 или позже.834`claude attach` и `claude logs` могут принимать часть имени сессии вместо ID, например `claude logs "auth refactor"`. Для передачи имени требуется Claude Code v2.1.290 или позже.

829 835 

830<h3 id="list-sessions-as-json">836<h3 id="list-sessions-as-json">

831 Вывод сессий в виде JSON837 Вывод сессий в виде JSON


979 При открытии сессии сообщается, что у неё нет сохранённого транскрипта985 При открытии сессии сообщается, что у неё нет сохранённого транскрипта

980</h3>986</h3>

981 987 

982У остановленной сессии, которая была [переведена в фоновый режим из другого диалога](#from-inside-a-session) и остановлена до завершения её первого ответа, нечего возобновлять: пока этот первый ответ не завершён, диалог существует только в той сессии, из которой она была переведена в фоновый режим. `claude attach` отказывается открывать её с сообщением `This session has no saved transcript`.988Когда вы открываете сессию, которую [перевели в фоновый режим из другого диалога](#from-inside-a-session) и которая остановилась до того, как выполнила собственный ход, Claude Code возобновляет тот диалог. Если Claude Code не может найти диалог, он отказывается открывать сессию:

989 

990* `claude attach` выводит `This session has no saved transcript`.

991* Представление агентов показывает `Press enter again to restart this session fresh` под списком.

983 992 

984В представлении агентов при открытии этой строки под списком отображается `Press enter again to restart this session fresh`. Нажмите `Enter` на той же строке ещё раз, чтобы перезапустить сессию с пустым диалогом, или запустите `claude respawn <id>` из оболочки.993Нажмите `Enter` на той же строке ещё раз, чтобы перезапустить сессию с пустым диалогом, или запустите `claude respawn <id>` из оболочки.

985 994 

986Исходный диалог остаётся нетронутым; возобновите его с помощью `claude --resume` или продолжайте работать в нём. Подробности см. в [справочнике по ошибкам](/docs/ru/errors#this-session-has-no-saved-transcript).995Подробности см. в [справочнике по ошибкам](/docs/ru/errors#this-session-has-no-saved-transcript).

987 996 

988<h3 id="the-terminal-host-died-or-the-session-stopped-responding">997<h3 id="the-terminal-host-died-or-the-session-stopped-responding">

989 Хост-процесс терминала завершился аварийно или сессия перестала отвечать998 Хост-процесс терминала завершился аварийно или сессия перестала отвечать


1095 1104 

1096| Версия | Изменение |1105| Версия | Изменение |

1097| - | - |1106| - | - |

1098| v2.1.290 | [`claude attach` и `claude logs`](#manage-sessions-from-the-shell) могут принимать часть имени работающей сессии вместо ID. |1107| v2.1.290 | [`claude attach` и `claude logs`](#manage-sessions-from-the-shell) могут принимать часть имени сессии вместо ID. |

1099| v2.1.290 | `/model`, `/effort`, `/rename` и `/usage`, отправленные как [ответ из панели просмотра](#peek-and-reply) работающей сессии, выполняются сразу. |1108| v2.1.290 | `/model`, `/effort`, `/rename` и `/usage`, отправленные как [ответ из панели просмотра](#peek-and-reply) работающей сессии, выполняются сразу. |

1100| v2.1.290 | [Ответ из панели просмотра](#peek-and-reply), который не удаётся доставить, больше не сохраняется до следующего перезапуска, если он начинается с `/` или если он отвечает на вопрос с предопределёнными вариантами, пока процесс сессии работает. |1109| v2.1.290 | [Ответ из панели просмотра](#peek-and-reply), который не удаётся доставить, больше не сохраняется до следующего перезапуска, если он начинается с `/` или если он отвечает на вопрос с предопределёнными вариантами, пока процесс сессии работает. |

1101| v2.1.288 | `Ctrl+F` находит сессии по имени, а `Alt+↑` / `Alt+↓` переходят между заголовками групп. Эти сочетания клавиш, а также `Ctrl+R`, можно [переназначить](/docs/ru/keybindings#agents-actions). |1110| v2.1.288 | `Ctrl+F` находит сессии по имени, а `Alt+↑` / `Alt+↓` переходят между заголовками групп. Эти сочетания клавиш, а также `Ctrl+R`, можно [переназначить](/docs/ru/keybindings#agents-actions). |

chrome.md +39 −2

Details

202and attach logs/session.log to it202and attach logs/session.log to it

203```203```

204 204 

205К загрузке применяются три ограничения:205Если Claude отказывается прикрепить файл или загрузка завершается неудачей, проверьте следующие причины:

206 206 

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

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

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

210* **Имена, связанные с учётными данными**: Claude отказывается загружать файл, если его имя или папка относятся к тем, в которых хранятся учётные данные, например `.env`, файл `.pem` или `.key`, либо что-либо внутри `.ssh`. Требуется Claude Code v2.1.293 или новее.

210 211 

211<h3 id="draft-content-in-google-docs">212<h3 id="draft-content-in-google-docs">

212 Создание контента в Google Docs213 Создание контента в Google Docs


309 310 

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

311 312 

313<h3 id="project-settings-can’t-turn-on-chrome">

314 Настройки проекта не могут включить Chrome

315</h3>

316 

317Это предупреждение в терминале означает, что проект, в котором вы работаете, попытался включить интеграцию с Chrome, но Claude Code этого не разрешил:

318 

319```text wrap theme={null}

320Claude Code ignored CLAUDE_CODE_ENABLE_CFC in this project's settings: a project can't turn on Claude in Chrome. To turn it on yourself, run /chrome or start with --chrome.

321```

322 

323Файл `.claude/settings.json` или `.claude/settings.local.json` проекта задаёт для [`CLAUDE_CODE_ENABLE_CFC`](/docs/ru/env-vars#variables) значение `1` в блоке `env`, чтобы включить интеграцию с Chrome. Claude Code не применил эту настройку, поэтому интеграция с Chrome в этой сессии отключена, и у Claude нет инструментов браузера.

324 

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

326 

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

328 

329* **Чтобы получить инструменты браузера сейчас**: выйдите и запустите Claude Code заново с помощью `claude --chrome` в оболочке.

330* **Чтобы получить инструменты браузера в последующих сессиях**: выполните `/chrome` в промпте Claude Code и выберите [**Enabled by default**](#enable-chrome-by-default). Это применяется к сессиям, которые вы запустите после этого, а не к текущей.

331* **Чтобы убрать предупреждение без инструментов браузера**: удалите строку `CLAUDE_CODE_ENABLE_CFC` из файла настроек проекта.

332 

312<h3 id="browser-not-responding">333<h3 id="browser-not-responding">

313 Браузер не отвечает334 Браузер не отвечает

314</h3>335</h3>


325 346 

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

327 348 

349При выполнении `/chrome` проверьте строку `Status`. Если в ней указано "Not connected", собственное соединение текущей сессии с Chrome не удалось. Выберите "Reconnect extension", чтобы перезапустить это соединение. После успешного подключения в Chrome откроется страница переподключения расширения. До версии v2.1.290 пункт "Reconnect extension" только открывал эту страницу и не перезапускал неудавшееся соединение, поэтому если в более ранней версии инструменты браузера не возвращаются, обновите Claude Code.

350 

351<h3 id="extension-signed-in-to-a-different-organization">

352 Расширение авторизовано в другой организации

353</h3>

354 

355Если вы состоите более чем в одной организации claude.ai, в расширении должен быть выполнен вход в ту же организацию, что и в Claude Code. Если они различаются, инструменты браузера Claude возвращают "Browser extension is not connected", даже если оба используют одну и ту же учётную запись claude.ai.

356 

357Чтобы узнать, в какую организацию выполнен вход в Claude Code, выполните [`/status`](/docs/ru/commands) в промпте Claude Code и посмотрите строку `Organization`.

358 

359<Warning>

360 Если вы выйдете из расширения, вы потеряете сохранённые в нём ярлыки и запланированные задачи. Сначала попробуйте другие способы решения из раздела [Распространённые сообщения об ошибках](#common-error-messages).

361</Warning>

362 

363Чтобы сменить организацию расширения, выйдите из учётной записи в настройках расширения, затем войдите снова и выберите организацию, которую показывает `/status`.

364 

328<h3 id="windows-specific-issues">365<h3 id="windows-specific-issues">

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

330</h3>367</h3>


343 380 

344| Ошибка | Причина | Решение |381| Ошибка | Причина | Решение |

345| - | - | - |382| - | - | - |

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

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

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

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

Details

1237 1237 

1238CLI отправляет метрики, логи и, когда включено, трассировки на шлюз, который передаёт их дословно каждому настроенному назначению. Экспорты используют OpenTelemetry Protocol (OTLP) по HTTP. Чтобы пропустить реле и заставить сессии экспортировать прямо на ваш сборщик, [назовите сборщик в политике](#export-directly-to-your-collector). Смотрите [Monitoring usage](/docs/ru/monitoring-usage) для метрик и событий, которые CLI излучает.1238CLI отправляет метрики, логи и, когда включено, трассировки на шлюз, который передаёт их дословно каждому настроенному назначению. Экспорты используют OpenTelemetry Protocol (OTLP) по HTTP. Чтобы пропустить реле и заставить сессии экспортировать прямо на ваш сборщик, [назовите сборщик в политике](#export-directly-to-your-collector). Смотрите [Monitoring usage](/docs/ru/monitoring-usage) для метрик и событий, которые CLI излучает.

1239 1239 

1240В сессиях, в которые выполнен вход через `/login`, CLI штампует каждый экспорт идентификацией аутентифицированного пользователя, прочитанной из выданного шлюзом JWT: атрибуты `user.id`, `user.email` и `user.groups`. Атрибуция затрат и использования на разработчика поэтому работает без конфигурации на стороне разработчика.1240В сессиях, вход в которые выполнен через `/login`, CLI помечает каждый экспорт идентификационными данными аутентифицированного пользователя, считанными из JWT, выданного шлюзом: атрибутами `user.id`, `user.email` и `user.groups`. Поэтому атрибуция затрат и использования по разработчикам работает без какой-либо настройки на стороне разработчика. События, которые Claude Code записывает до входа разработчика, [не несут этих данных](/docs/ru/monitoring-usage#standard-attributes). О том, какой атрибут отражает изменение групп разработчика, см. [Изменение групп во время открытой сессии](#group-changes-during-an-open-session).

1241 1241 

1242[Claude Desktop](#claude-desktop-overlay) и сессии Cowork, в которые выполнен вход через шлюз, штампуют свою телеметрию с `user.email` и `user.groups` наряду с `enduser.id`, поэтому вы можете охватить использование терминала, Desktop и Cowork одним запросом на `user.email` или `user.groups`. `user.groups` — это список групп IdP, разделённый запятыми.1242[Claude Desktop](#claude-desktop-overlay) и сессии Cowork, в которые выполнен вход через шлюз, штампуют свою телеметрию с `user.email` и `user.groups` наряду с `enduser.id`, поэтому вы можете охватить использование терминала, Desktop и Cowork одним запросом на `user.email` или `user.groups`. `user.groups` — это список групп IdP, разделённый запятыми.

1243 1243 


1347 1347 

1348Claude Code также копирует каждую метку на каждую точку данных метрики, поэтому вы можете фильтровать метрики по ней в бэкенде, который не индексирует атрибуты ресурса. Чтобы отключить эту копию, смотрите [Metrics cardinality control](/docs/ru/monitoring-usage#metrics-cardinality-control).1348Claude Code также копирует каждую метку на каждую точку данных метрики, поэтому вы можете фильтровать метрики по ней в бэкенде, который не индексирует атрибуты ресурса. Чтобы отключить эту копию, смотрите [Metrics cardinality control](/docs/ru/monitoring-usage#metrics-cardinality-control).

1349 1349 

1350<h4 id="group-changes-during-an-open-session">

1351 Изменение групп во время открытой сессии

1352</h4>

1353 

1354Сессии терминала помещают `user.groups` в ресурс OTLP и ещё раз в каждую точку данных метрики и каждое событие. Если группы разработчика меняются во время открытой сессии, точки данных и события для использования после следующего [тихого обновления](#session) несут новые группы. Ресурс сохраняет старые группы, пока разработчик не перезапустит Claude Code, поэтому группируйте по атрибуту точки данных или события.

1355 

1356Если вы включите `resource_to_telemetry_conversion` в экспортёре Prometheus remote write коллектора OpenTelemetry, экспортёр заменяет `user.groups` каждой точки данных значением из ресурса, поэтому каждая точка данных показывает старые группы. Чтобы сохранить значение точки данных, удалите `user.groups` из ресурса перед этим экспортёром.

1357 

1358Этот процессор `resource` коллектора OpenTelemetry удаляет атрибут в пайплайнах, в которых он указан:

1359 

1360```yaml theme={null}

1361processors:

1362 resource/drop-user-groups:

1363 attributes:

1364 - key: user.groups

1365 action: delete

1366```

1367 

1368После добавления `resource/drop-user-groups` в `processors` пайплайна метрик каждый ряд несёт метку `user_groups` из собственной точки данных.

1369 

1350<h4 id="export-directly-to-your-collector">1370<h4 id="export-directly-to-your-collector">

1351 Экспорт прямо на ваш сборщик1371 Экспорт прямо на ваш сборщик

1352</h4>1372</h4>

Details

516 Телеметрия516 Телеметрия

517</h2>517</h2>

518 518 

519Шлюз предоставляет вам метрики использования для каждого разработчика без какой-либо конфигурации OTEL для каждой машины. Claude Code выдает метрики OpenTelemetry (OTLP), логи и трассировки с согласия пользователя; [Мониторинг использования](/docs/ru/monitoring-usage) охватывает всё, что сообщает CLI. В сеансах, вошедших через `/login`, CLI помечает каждый экспорт аутентифицированными атрибутами идентификации IdP `user.id`, `user.email` и `user.groups`, поэтому использование суммируется для каждого разработчика.519Шлюз предоставляет вам метрики использования для каждого разработчика без какой-либо конфигурации OTEL для каждой машины. Claude Code выдает метрики OpenTelemetry (OTLP), логи и трассировки с согласия пользователя; [Мониторинг использования](/docs/ru/monitoring-usage) охватывает всё, что сообщает CLI. В сессиях, вошедших через `/login`, CLI [помечает каждый экспорт](/docs/ru/monitoring-usage#standard-attributes) аутентифицированными атрибутами идентификации IdP `user.id`, `user.email` и `user.groups`, поэтому использование суммируется для каждого разработчика.

520 520 

521Сам шлюз является аутентифицированным реле OTLP. Установите [`telemetry.forward_to`](/docs/ru/claude-apps-gateway-config#telemetry) вместе с `listen.public_url`, и он отправляет параметры экспортера OTEL каждому подключённому клиенту и пересылает их трафик OTLP дословно каждому указанному вами месту назначения. Каждое место назначения независимо выбирает метрики, логи и трассировки, а по умолчанию используются только метрики; см. [справочник `telemetry`](/docs/ru/claude-apps-gateway-config#telemetry) для полей для каждого сигнала и их компромиссов по чувствительности. Шлюз не буферизирует, не агрегирует и не хранит телеметрию, поэтому место, где приземляются данные, полностью зависит от конфигурации экспортера сборщика.521Сам шлюз является аутентифицированным реле OTLP. Установите [`telemetry.forward_to`](/docs/ru/claude-apps-gateway-config#telemetry) вместе с `listen.public_url`, и он отправляет параметры экспортера OTEL каждому подключённому клиенту и пересылает их трафик OTLP дословно каждому указанному вами месту назначения. Каждое место назначения независимо выбирает метрики, логи и трассировки, а по умолчанию используются только метрики; см. [справочник `telemetry`](/docs/ru/claude-apps-gateway-config#telemetry) для полей для каждого сигнала и их компромиссов по чувствительности. Шлюз не буферизирует, не агрегирует и не хранит телеметрию, поэтому место, где приземляются данные, полностью зависит от конфигурации экспортера сборщика.

522 522 

Details

91 Из CLI передача сессии односторонняя: вы можете вытягивать облачные сессии в ваш терминал с помощью `--teleport`, но вы не можете отправить существующую сессию терминала в облако. Флаг `--cloud` с описанием задачи создаёт новую облачную сессию для вашего текущего репозитория; с `-p` и ID сессии или URL claude.ai/code он вместо этого [ставит сообщение в очередь в эту существующую сессию](/docs/ru/claude-code-on-the-web#send-follow-ups-from-the-cli). [Desktop app](/docs/ru/desktop#continue-in-another-surface) может отправить локальную сессию со своей вкладки Code в облако через меню **Open in**.91 Из CLI передача сессии односторонняя: вы можете вытягивать облачные сессии в ваш терминал с помощью `--teleport`, но вы не можете отправить существующую сессию терминала в облако. Флаг `--cloud` с описанием задачи создаёт новую облачную сессию для вашего текущего репозитория; с `-p` и ID сессии или URL claude.ai/code он вместо этого [ставит сообщение в очередь в эту существующую сессию](/docs/ru/claude-code-on-the-web#send-follow-ups-from-the-cli). [Desktop app](/docs/ru/desktop#continue-in-another-surface) может отправить локальную сессию со своей вкладки Code в облако через меню **Open in**.

92</Note>92</Note>

93 93 

94<h3 id="from-terminal-to-cloud">94<span id="from-terminal-to-cloud" />

95 От терминала к облаку95 

96<h3 id="start-a-cloud-session-from-your-terminal">

97 Запуск облачной сессии из терминала

96</h3>98</h3>

97 99 

98Запустите облачную сессию из командной строки с флагом `--cloud`:100Запустите облачную сессию из командной строки с флагом `--cloud`:


215 217 

216Если отправка не удалась, см. [Ошибки при отправке в облачную сессию](#errors-when-sending-to-a-cloud-session).218Если отправка не удалась, см. [Ошибки при отправке в облачную сессию](#errors-when-sending-to-a-cloud-session).

217 219 

218<h3 id="from-cloud-to-terminal">220<span id="from-cloud-to-terminal" />

219 От облака к терминалу221 

222<h3 id="continue-a-cloud-session-in-your-terminal">

223 Продолжение облачной сессии в терминале

220</h3>224</h3>

221 225 

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


483Переоткройте сессию из [claude.ai/code](https://claude.ai/code), чтобы подготовить новую виртуальную машину:487Переоткройте сессию из [claude.ai/code](https://claude.ai/code), чтобы подготовить новую виртуальную машину:

484 488 

485* **Восстанавливается**: история вашего диалога489* **Восстанавливается**: история вашего диалога

486* **Не восстанавливается**: фоновая работа, которая всё ещё выполнялась, когда виртуальная машина была отозвана, например субагенты и shell-команды490* **Не восстанавливается**: фоновая работа, которая всё ещё выполнялась, когда виртуальная машина была отозвана, например субагенты и shell-команды, а также ожидающее пробуждение [самостоятельно регулируемого `/loop`](/docs/ru/scheduled-tasks#let-claude-choose-the-interval). Чтобы перезапустить цикл, снова выполните `/loop`.

487 491 

488<h2 id="limitations">492<h2 id="limitations">

489 Ограничения493 Ограничения

Details

489* **Routines**: когда вы просите запланированную работу в проекте, Claude создает [routine](/docs/ru/routines), которая работает как потоки в этом проекте и отображается на его вкладке **Routines**. Routines, которые вы создаете вне проекта, продолжают работать самостоятельно.489* **Routines**: когда вы просите запланированную работу в проекте, Claude создает [routine](/docs/ru/routines), которая работает как потоки в этом проекте и отображается на его вкладке **Routines**. Routines, которые вы создаете вне проекта, продолжают работать самостоятельно.

490* **Remote Control**: [Remote Control](/docs/ru/remote-control) соединяет claude.ai с сеансом Claude Code, работающим на вашей машине. Когда вы просите Claude в проекте запустить поток на вашем компьютере, проект [использует Remote Control для этого](#run-a-thread-on-your-own-computer).490* **Remote Control**: [Remote Control](/docs/ru/remote-control) соединяет claude.ai с сеансом Claude Code, работающим на вашей машине. Когда вы просите Claude в проекте запустить поток на вашем компьютере, проект [использует Remote Control для этого](#run-a-thread-on-your-own-computer).

491* **Local sessions и agent view**: сеанс, который вы запускаете самостоятельно в вашем терминале, IDE или локальной среде настольного приложения, не может быть добавлен в проект. [Agent view](/docs/ru/agent-view) — это экран для отслеживания нескольких локальных сеансов рядом, и вы по-прежнему запускаете каждый и даете ему его задачу самостоятельно.491* **Local sessions и agent view**: сеанс, который вы запускаете самостоятельно в вашем терминале, IDE или локальной среде настольного приложения, не может быть добавлен в проект. [Agent view](/docs/ru/agent-view) — это экран для отслеживания нескольких локальных сеансов рядом, и вы по-прежнему запускаете каждый и даете ему его задачу самостоятельно.

492* **Worktrees**: [worktree](/docs/ru/worktrees) дает каждому локальному сеансу свою рабочую копию репозитория, поэтому параллельные сеансы на вашей машине не перезаписывают друг друга. Облачным потокам они не нужны: каждый клонирует свои репозитории в свою облачную песочницу и работает на своей ветке.492* **Worktrees**: [worktree](/docs/ru/worktrees) дает каждой локальной сессии собственную рабочую копию репозитория. Облачным потокам они не нужны: каждый клонирует свои репозитории в собственную облачную песочницу и работает в собственной ветке.

493* **Agent teams**: [agent team](/docs/ru/agent-teams) — это один сеанс, который запускает сеансы товарищей для одной задачи, на вашей машине или внутри облачного сеанса, и заканчивается этой задачей.493* **Agent teams**: [agent team](/docs/ru/agent-teams) — это один сеанс, который запускает сеансы товарищей для одной задачи, на вашей машине или внутри облачного сеанса, и заканчивается этой задачей.

494* **Subagents**: [subagent](/docs/ru/sub-agents) работает внутри одного сеанса, выполняет побочную задачу в своем собственном контекстном окне и возвращает резюме в этот сеанс. Потоки проекта — это целые сеансы, которые Claude запускает и которые отчитываются перед разговором проекта, и поток все еще может использовать subagents для своих собственных побочных задач.494* **Subagents**: [subagent](/docs/ru/sub-agents) работает внутри одного сеанса, выполняет побочную задачу в своем собственном контекстном окне и возвращает резюме в этот сеанс. Потоки проекта — это целые сеансы, которые Claude запускает и которые отчитываются перед разговором проекта, и поток все еще может использовать subagents для своих собственных побочных задач.

495* **Projects в claude.ai chat и Cowork**: [более ранний опыт Projects](https://support.claude.com/en/articles/9517075-what-are-projects), который группирует разговоры и справочные файлы без потоков или координатора. Эти проекты продолжают работать так, как они работают сегодня, пока переработанный опыт не достигнет их.495* **Projects в claude.ai chat и Cowork**: [более ранний опыт Projects](https://support.claude.com/en/articles/9517075-what-are-projects), который группирует разговоры и справочные файлы без потоков или координатора. Эти проекты продолжают работать так, как они работают сегодня, пока переработанный опыт не достигнет их.

Details

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

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

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

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

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

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

34| `claude daemon logs` | Отслеживать файл лога [супервизора](/docs/ru/agent-view#the-supervisor-process) фоновых сессий, `~/.claude/daemon.log`, выводя новые строки по мере их появления, пока вы не нажмёте `Ctrl+C` | `claude daemon logs` |34| `claude daemon logs` | Отслеживать файл лога [супервизора](/docs/ru/agent-view#the-supervisor-process) фоновых сессий, `~/.claude/daemon.log`, выводя новые строки по мере их появления, пока вы не нажмёте `Ctrl+C` | `claude daemon logs` |


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

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

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

40| `claude logs <id\|name>` | Вывести недавний вывод [фоновой сессии](/docs/ru/agent-view#manage-sessions-from-the-shell). Передача части имени работающей сессии вместо ID требует Claude Code v2.1.290 или новее | `claude logs 7c5dcf5d` |40| `claude logs <id\|name>` | Вывести недавний вывод [фоновой сессии](/docs/ru/agent-view#manage-sessions-from-the-shell). Передача части имени сессии вместо ID требует Claude Code v2.1.290 или новее | `claude logs 7c5dcf5d` |

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

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

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

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

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


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

107| `--json-schema` | Получить проверенный вывод JSON, соответствующий JSON Schema после завершения рабочего процесса агента (только режим печати). См. [структурированные выходы](/docs/ru/agent-sdk/structured-outputs). Claude Code выходит с ошибкой при недействительной схеме и принимает ключевое слово `format` как аннотацию без проверки на стороне клиента | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |107| `--json-schema` | Получить проверенный вывод JSON, соответствующий JSON Schema после завершения рабочего процесса агента (только режим печати). См. [структурированные выходы](/docs/ru/agent-sdk/structured-outputs). Claude Code выходит с ошибкой при недействительной схеме и принимает ключевое слово `format` как аннотацию без проверки на стороне клиента | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

108| `--maintenance` | Запустить [Setup hooks](/docs/ru/hooks#setup) с matcher `maintenance` перед сеансом (только режим печати) | `claude -p --maintenance "query"` |108| `--maintenance` | Запустить [Setup hooks](/docs/ru/hooks#setup) с matcher `maintenance` перед сеансом (только режим печати) | `claude -p --maintenance "query"` |

109| `--max-budget-usd` | Максимальная сумма в долларах, которую можно потратить на вызовы API до остановки (только в режиме печати). Claude Code сверяет лимит со своей [клиентской оценкой стоимости](/docs/ru/agent-sdk/cost-tracking#estimates-not-billing), которая может отличаться от вашего счёта. Расходы [субагентов](/docs/ru/sub-agents) учитываются в лимите. Когда вы возвращаетесь к диалогу с `--continue` или `--resume`, итоги, [восстановленные из предыдущих запусков](/docs/ru/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls), в нём не учитываются. Когда расходы достигают лимита, запуск ещё одного субагента завершается ошибкой `Budget limit reached`, а Claude Code останавливает всё ещё работающих фоновых субагентов; для этого поведения ограничения требуется Claude Code v2.1.217 или новее | `claude -p --max-budget-usd 5.00 "query"` |109| `--max-budget-usd` | Остановить запуск, как только оценочные расходы на вызовы API достигнут этой суммы (только режим печати). Claude Code сверяет лимит со своей [клиентской оценкой стоимости](/docs/ru/agent-sdk/cost-tracking#estimates-not-billing), которая может отличаться от вашего счёта. Расходы [субагентов](/docs/ru/sub-agents) учитываются в лимите. Расходы могут превысить лимит, поэтому [оставляйте запас](/docs/ru/agent-sdk/agent-loop#budget-headroom). Когда вы возвращаетесь к диалогу с `--continue` или `--resume`, итоги, [восстановленные из предыдущих запусков](/docs/ru/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls), в нём не учитываются. Когда расходы достигают лимита, запуск ещё одного субагента завершается ошибкой `Budget limit reached`, а Claude Code останавливает всё ещё работающих фоновых субагентов; для этого поведения ограничения требуется Claude Code v2.1.217 или новее | `claude -p --max-budget-usd 5.00 "query"` |

110| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита. С `--input-format stream-json` сообщение, всё ещё находящееся в очереди, когда лимит заканчивает ход, остаётся в очереди и начинает новый ход с собственным лимитом | `claude -p --max-turns 3 "query"` |110| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита. С `--input-format stream-json` сообщение, всё ещё находящееся в очереди, когда лимит заканчивает ход, остаётся в очереди и начинает новый ход с собственным лимитом | `claude -p --max-turns 3 "query"` |

111| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделённые пробелом). Когда вы передаёте этот флаг с `-p`, Claude Code ждёт, пока всё ещё ожидающие серверы подключатся перед запуском первого хода, до стартового таймаута [`MCP_TIMEOUT`](/docs/ru/env-vars), 30 секунд по умолчанию; сервер с [кэшированным списком инструментов](/docs/ru/mcp#managing-your-servers) пропускает ожидание и подключается при первом использовании. Ожидание требует Claude Code v2.1.221 или позже | `claude --mcp-config ./mcp.json` |111| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделённые пробелом). Когда вы передаёте этот флаг с `-p`, Claude Code ждёт, пока всё ещё ожидающие серверы подключатся перед запуском первого хода, до стартового таймаута [`MCP_TIMEOUT`](/docs/ru/env-vars), 30 секунд по умолчанию; сервер с [кэшированным списком инструментов](/docs/ru/mcp#managing-your-servers) пропускает ожидание и подключается при первом использовании. Ожидание требует Claude Code v2.1.221 или позже | `claude --mcp-config ./mcp.json` |

112| `--model` | Устанавливает модель для текущего сеанса с [псевдонимом модели](/docs/ru/model-config#model-aliases), таким как `sonnet`, `opus`, `haiku` или `fable`, или полным именем модели. Переопределяет параметр [`model`](/docs/ru/settings-reference#model) и [`ANTHROPIC_MODEL`](/docs/ru/model-config#environment-variables) | `claude --model claude-sonnet-5` |112| `--model` | Устанавливает модель для текущего сеанса с [псевдонимом модели](/docs/ru/model-config#model-aliases), таким как `sonnet`, `opus`, `haiku` или `fable`, или полным именем модели. Переопределяет параметр [`model`](/docs/ru/settings-reference#model) и [`ANTHROPIC_MODEL`](/docs/ru/model-config#environment-variables) | `claude --model claude-sonnet-5` |

Details

307| | Доступно в облачных сессиях | Почему |307| | Доступно в облачных сессиях | Почему |

308| :- | :- | :- |308| :- | :- | :- |

309| `CLAUDE.md` вашего репозитория | Да | Часть клона |309| `CLAUDE.md` вашего репозитория | Да | Часть клона |

310| Хуки и правила разрешений в `.claude/settings.json` вашего репозитория | Да, в сессии с одним репозиторием | Часть клона. Сессия с несколькими репозиториями, включая поток [проекта](/docs/ru/claude-projects#what-threads-pick-up-from-your-repositories), начинается уровнем выше клонов и не читает их |310| Хуки и правила разрешений в `.claude/settings.json` вашего репозитория | Да, в сессии с одним репозиторием | Часть клона. Для сессии с несколькими репозиториями смотрите, [какие настройки она читает](/docs/ru/settings#settings-in-cloud-sessions) |

311| MCP-серверы в `.mcp.json` вашего репозитория | Да, в сессии с одним репозиторием | Часть клона, находится из рабочего каталога сессии |311| MCP-серверы в `.mcp.json` вашего репозитория | Да, в сессии с одним репозиторием | Часть клона, находится из рабочего каталога сессии. Для самостоятельно размещённой среды смотрите, [настройки какого репозитория применяются](/docs/ru/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |

312| `.claude/rules/` вашего репозитория | Да | Часть клона |312| `.claude/rules/` вашего репозитория | Да | Часть клона |

313| `.claude/skills/`, `.claude/agents/`, `.claude/commands/` вашего репозитория | Да | Часть клона |313| `.claude/skills/`, `.claude/agents/`, `.claude/commands/` вашего репозитория | Да | Часть клона |

314| Плагины и маркетплейсы, объявленные в `.claude/settings.json` вашего репозитория | Нет | Облачная сессия не устанавливает плагины, которые репозиторий включает в [`enabledPlugins`](/docs/ru/settings-reference#enabledplugins), включая плагины из маркетплейсов, которые он перечисляет в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) |314| Плагины и маркетплейсы, объявленные в `.claude/settings.json` вашего репозитория | Нет | Облачная сессия не устанавливает плагины, которые репозиторий включает в [`enabledPlugins`](/docs/ru/settings-reference#enabledplugins), включая плагины из маркетплейсов, которые он перечисляет в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) |


575 575 

576Hooks SessionStart ведут себя одинаково в облаке и локально, с этими оговорками:576Hooks SessionStart ведут себя одинаково в облаке и локально, с этими оговорками:

577 577 

578* **Один репозиторий на сеанс**: сеанс с несколькими репозиториями не загружает hooks из `.claude/settings.json` любого репозитория, поэтому hook SessionStart, который вы определяете там, не запускается. Установите зависимости для этих сеансов с помощью [скрипта установки](#setup-scripts) вместо этого.578* **Один репозиторий на сессию**: в среде, размещённой Anthropic, сессия с несколькими репозиториями не загружает хуки из `.claude/settings.json` ни одного репозитория, поэтому определённый там хук SessionStart не запускается. Вместо этого устанавливайте зависимости для таких сессий с помощью [скрипта установки](#setup-scripts). Для самостоятельно размещённой среды смотрите, [настройки какого репозитория применяются](/docs/ru/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

579* **Нет облачного ограничения**: hooks запускаются в локальных и облачных сеансах. Чтобы пропустить локальное выполнение, выйдите рано, если переменная окружения `CLAUDE_CODE_REMOTE` не `true`, как показано в [скрипте установки зависимостей](#install-dependencies-with-a-sessionstart-hook).579* **Нет облачного ограничения**: hooks запускаются в локальных и облачных сеансах. Чтобы пропустить локальное выполнение, выйдите рано, если переменная окружения `CLAUDE_CODE_REMOTE` не `true`, как показано в [скрипте установки зависимостей](#install-dependencies-with-a-sessionstart-hook).

580* **Требует сетевого доступа**: команды установки должны достичь реестров пакетов. Если ваша среда использует **None** сетевой доступ, эти hooks не удаются. [Список разрешений по умолчанию](#default-allowed-domains) под **Trusted** охватывает npm, PyPI, RubyGems и crates.io.580* **Требует сетевого доступа**: команды установки должны достичь реестров пакетов. Если ваша среда использует **None** сетевой доступ, эти hooks не удаются. [Список разрешений по умолчанию](#default-allowed-domains) под **Trusted** охватывает npm, PyPI, RubyGems и crates.io.

581* **Совместимость с прокси**: в среде, размещённой Anthropic, весь исходящий трафик проходит через [прокси безопасности](#security-proxy), и некоторые менеджеры пакетов не работают правильно с этим прокси; Bun — известный пример. В [самостоятельно размещённой среде](/docs/ru/self-hosted-environments-deploy#default-deny-egress) исходящий трафик проходит через вашу собственную границу сети вместо этого.581* **Совместимость с прокси**: в среде, размещённой Anthropic, весь исходящий трафик проходит через [прокси безопасности](#security-proxy), и некоторые менеджеры пакетов не работают правильно с этим прокси; Bun — известный пример. В [самостоятельно размещённой среде](/docs/ru/self-hosted-environments-deploy#default-deny-egress) исходящий трафик проходит через вашу собственную границу сети вместо этого.

commands.md +1 −1

Details

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

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

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

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

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

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

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

desktop.md +1 −1

Details

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

397</h3>397</h3>

398 398 

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

400 400 

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

402 402 

env-vars.md +342 −337

Details

21 21 

22Переменная, установленная в вашей оболочке, действует только в течение этой сессии терминала, а переменная в файле настроек применяется каждый раз при запуске `claude`.22Переменная, установленная в вашей оболочке, действует только в течение этой сессии терминала, а переменная в файле настроек применяется каждый раз при запуске `claude`.

23 23 

24<h3 id="in-your-shell">24<span id="in-your-shell" />

25 В вашей оболочке25 

26<h3 id="set-variables-in-your-shell">

27 Установка переменных в вашей оболочке

26</h3>28</h3>

27 29 

28Установите переменную перед запуском `claude`:30Установите переменную перед запуском `claude`:


78 </Tab>80 </Tab>

79</Tabs>81</Tabs>

80 82 

81<h3 id="in-settings-files">83<span id="in-settings-files" />

82 В файлах настроек84 

85<h3 id="set-variables-in-settings-files">

86 Установка переменных в файлах настроек

83</h3>87</h3>

84 88 

85Добавьте переменные под ключом `env` в файл `settings.json`, создав файл, если его ещё нет. Claude Code читает их непосредственно из файла, поэтому они вступают в силу независимо от того, как был запущен `claude`. Работающая сессия применяет новые и изменённые значения к своему окружению при сохранении файла, но функция, которая читает свои переменные один раз при запуске, такая как [мониторинг OpenTelemetry](/docs/ru/monitoring-usage), сохраняет свои значения при запуске до перезапуска. Удаление переменной из файла не отменяет её в работающей сессии; удаление вступает в силу при следующем запуске `claude`.89Добавьте переменные под ключом `env` в файл `settings.json`, создав файл, если его ещё нет. Claude Code читает их непосредственно из файла, поэтому они вступают в силу независимо от того, как был запущен `claude`. Работающая сессия применяет новые и изменённые значения к своему окружению при сохранении файла, но функция, которая читает свои переменные один раз при запуске, такая как [мониторинг OpenTelemetry](/docs/ru/monitoring-usage), сохраняет свои значения при запуске до перезапуска. Удаление переменной из файла не отменяет её в работающей сессии; удаление вступает в силу при следующем запуске `claude`.


120 124 

121То, как переменная окружения взаимодействует с флагами CLI и командами в сеансе, варьируется в зависимости от функции: `--model` и `/model` переопределяют `ANTHROPIC_MODEL`, в то время как `CLAUDE_CODE_EFFORT_LEVEL` переопределяет `--effort` и `/effort`. Когда переменная взаимодействует с другим источником конфигурации, её строка в списке [Переменные](#variables) указывает приоритет или ссылается на страницу, которая это документирует.125То, как переменная окружения взаимодействует с флагами CLI и командами в сеансе, варьируется в зависимости от функции: `--model` и `/model` переопределяют `ANTHROPIC_MODEL`, в то время как `CLAUDE_CODE_EFFORT_LEVEL` переопределяет `--effort` и `/effort`. Когда переменная взаимодействует с другим источником конфигурации, её строка в списке [Переменные](#variables) указывает приоритет или ссылается на страницу, которая это документирует.

122 126 

123Claude Code читает переменные окружения оболочки при запуске, поэтому изменения в них вступают в силу при следующем запуске `claude`. Переменные, установленные под ключом `env` в файлах параметров, переприменяются к работающему сеансу при изменении файла, за исключением только при запуске, описанном в [В файлах параметров](#in-settings-files).127Claude Code читает переменные окружения оболочки при запуске, поэтому изменения в них вступают в силу при следующем запуске `claude`. Переменные, установленные под ключом `env` в файлах настроек, повторно применяются к работающей сессии при изменении файла, за исключением переменных, читаемых только при запуске, как описано в разделе [Установка переменных в файлах настроек](#in-settings-files).

124 128 

125<h2 id="variables">129<h2 id="variables">

126 Переменные130 Переменные

127</h2>131</h2>

128 132 

129Числовые переменные, такие как таймауты, бюджеты токенов и количество повторных попыток, помимо обычных цифр принимают экспоненциальную запись и запись с разделителями разрядов, за исключением случаев, когда в строке переменной указано, что она принимает только обычные цифры. Например, Claude Code читает `2e3` как 2000, а `64_000` как 64000. До v2.1.211 такие записи могли незаметно задать гораздо меньшее значение, например `1e6` устанавливал таймаут равным 1.133Числовые переменные, такие как таймауты, бюджеты токенов и количество повторных попыток, помимо обычных цифр принимают экспоненциальную запись и запись с разделителями разрядов, кроме случаев, когда в строке переменной указано, что она принимает только обычные цифры. Например, Claude Code читает `2e3` как 2000, а `64_000` как 64000. До v2.1.211 такая запись могла незаметно установить гораздо меньшее значение, например `1e6` устанавливало таймаут равным 1.

130 134 

131<Note>135<Note>

132 Для переменных, которые включают или отключают поведение, установите `1`, `true`, `yes` или `on`, чтобы включить его, и `0`, `false`, `no` или `off`, чтобы отключить, в любом регистре.136 Для переменных, которые включают или отключают поведение, установите `1`, `true`, `yes` или `on`, чтобы включить его, и `0`, `false`, `no` или `off`, чтобы отключить, в любом регистре.

133 137 

134 Некоторые переменные проверяют только сам факт того, заданы ли они, поэтому любое непустое значение, включая `0`, включает поведение, а отключить его можно, удалив переменную или задав ей пустое значение. Так работают следующие переменные:138 Некоторые переменные проверяют только то, заданы ли они вообще, поэтому любое непустое значение, включая `0`, включает поведение, а отключить его можно, удалив переменную или установив пустое значение. Так работают следующие переменные:

135 139 

136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`140 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

137 * `DISABLE_TELEMETRY`141 * `DISABLE_TELEMETRY`


145 149 

146| Переменная | Назначение |150| Переменная | Назначение |

147| :- | :- |151| :- | :- |

148| `ANTHROPIC_API_KEY` | API-ключ, отправляемый в заголовке `X-Api-Key`. Если задан, этот ключ используется вместо вашей подписки Claude Pro, Max, Team или Enterprise, даже если вы вошли в систему. В неинтерактивном режиме (`-p`) ключ используется всегда, если он присутствует. В интерактивном режиме вам будет один раз предложено подтвердить ключ, прежде чем он переопределит вашу подписку. Чтобы вместо этого использовать подписку, выполните `unset ANTHROPIC_API_KEY` |152| `ANTHROPIC_API_KEY` | API-ключ, отправляемый в заголовке `X-Api-Key`. Если он задан, этот ключ используется вместо вашей подписки Claude Pro, Max, Team или Enterprise, даже если вы вошли в систему. В неинтерактивном режиме (`-p`) ключ всегда используется, если он присутствует. В интерактивном режиме вам один раз будет предложено подтвердить ключ, прежде чем он переопределит вашу подписку. Чтобы вместо этого использовать подписку, выполните `unset ANTHROPIC_API_KEY` |

149| `ANTHROPIC_AUTH_TOKEN` | Пользовательское значение для заголовка `Authorization` (к заданному здесь значению будет добавлен префикс `Bearer `) |153| `ANTHROPIC_AUTH_TOKEN` | Пользовательское значение для заголовка `Authorization` (к заданному здесь значению будет добавлен префикс `Bearer `) |

150| `ANTHROPIC_AWS_API_KEY` | API-ключ рабочего пространства для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), созданный в AWS Console. Отправляется как `x-api-key` и имеет приоритет над AWS SigV4 |154| `ANTHROPIC_AWS_API_KEY` | API-ключ рабочего пространства для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), созданный в AWS Console. Отправляется как `x-api-key` и имеет приоритет над AWS SigV4 |

151| `ANTHROPIC_AWS_BASE_URL` | Переопределяет URL эндпоинта [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Используйте для пользовательских регионов или при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway). По умолчанию `https://aws-external-anthropic.{region}.api.aws`. Claude Code определяет регион [с тем же приоритетом, что и в Amazon Bedrock](/docs/ru/amazon-bedrock#3-configure-claude-code) |155| `ANTHROPIC_AWS_BASE_URL` | Переопределяет URL эндпоинта [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Используйте для пользовательских регионов или при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway). По умолчанию `https://aws-external-anthropic.{region}.api.aws`. Claude Code определяет регион с [тем же приоритетом, что и в Amazon Bedrock](/docs/ru/amazon-bedrock#3-configure-claude-code) |

152| `ANTHROPIC_AWS_WORKSPACE_ID` | Обязательна для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Отправляется в каждом запросе в заголовке `anthropic-workspace-id` |156| `ANTHROPIC_AWS_WORKSPACE_ID` | Обязательна для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Отправляется в каждом запросе в заголовке `anthropic-workspace-id` |

153| `ANTHROPIC_BASE_URL` | Переопределяет эндпоинт API для маршрутизации запросов через прокси или шлюз. Если задан хост, не принадлежащий Anthropic, [MCP tool search](/docs/ru/mcp#scale-with-mcp-tool-search) по умолчанию отключён. Установите `ENABLE_TOOL_SEARCH=true`, если ваш прокси пересылает блоки `tool_reference`. Начиная с v2.1.196, [Remote Control](/docs/ru/remote-control#requirements) отключается, когда эта переменная указывает на хост, отличный от `api.anthropic.com`, — так же, как в Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |157| `ANTHROPIC_BASE_URL` | Переопределяет эндпоинт API для маршрутизации запросов через прокси или шлюз. Если задан хост, не принадлежащий Anthropic, [MCP tool search](/docs/ru/mcp#scale-with-mcp-tool-search) по умолчанию отключается. Установите `ENABLE_TOOL_SEARCH=true`, если ваш прокси пересылает блоки `tool_reference`. Начиная с v2.1.196, [Remote Control](/docs/ru/remote-control#requirements) отключается, когда эта переменная указывает на хост, отличный от `api.anthropic.com`, что соответствует его поведению в Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |

154| `ANTHROPIC_BEDROCK_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock. Используйте для пользовательских эндпоинтов Amazon Bedrock или при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway). См. [Amazon Bedrock](/docs/ru/amazon-bedrock) |158| `ANTHROPIC_BEDROCK_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock. Используйте для пользовательских эндпоинтов Amazon Bedrock или при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway). См. [Amazon Bedrock](/docs/ru/amazon-bedrock) |

155| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock Mantle. См. [Эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) |159| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределяет URL эндпоинта Amazon Bedrock Mantle. См. [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) |

156| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Префикс профиля межрегионального инференса (`us`, `eu`, `apac`, `jp`, `au` или `global`), который Claude Code пробует первым вместо префикса, выведенного из региона AWS. Игнорируется в регионах AWS GovCloud. Требуется Claude Code v2.1.224 или новее. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#cross-region-inference-profile-prefixes) |160| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Префикс профиля межрегионального инференса (`us`, `eu`, `apac`, `jp`, `au` или `global`), который Claude Code пробует первым вместо префикса, выведенного из региона AWS. Игнорируется в регионах AWS GovCloud. Требуется Claude Code v2.1.224 или новее. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#cross-region-inference-profile-prefixes) |

157| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Уровень обслуживания](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex` или `priority`). Отправляется в заголовке `X-Amzn-Bedrock-Service-Tier`. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#service-tiers) |161| `ANTHROPIC_BEDROCK_SERVICE_TIER` | [Уровень обслуживания](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) Amazon Bedrock (`default`, `flex` или `priority`). Отправляется в заголовке `X-Amzn-Bedrock-Service-Tier`. См. [Amazon Bedrock](/docs/ru/amazon-bedrock#service-tiers) |

158| `ANTHROPIC_BETAS` | Разделённый запятыми список дополнительных значений заголовка `anthropic-beta` для включения в запросы API. Claude Code уже отправляет необходимые ему beta-заголовки; используйте эту переменную, чтобы подключить [бета-функцию Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) до того, как Claude Code добавит её встроенную поддержку. В отличие от [флага `--betas`](/docs/ru/cli-reference#cli-flags), который требует аутентификации по API-ключу, эта переменная работает со всеми методами аутентификации, включая подписку Claude.ai |162| `ANTHROPIC_BETAS` | Список дополнительных значений заголовка `anthropic-beta` через запятую для включения в запросы API. Claude Code уже отправляет нужные ему бета-заголовки; используйте эту переменную, чтобы подключить [бета-функцию Anthropic API](https://platform.claude.com/docs/en/api/beta-headers) до того, как Claude Code добавит её встроенную поддержку. В отличие от [флага `--betas`](/docs/ru/cli-reference#cli-flags), который требует аутентификации по API-ключу, эта переменная работает со всеми методами аутентификации, включая подписку Claude.ai |

159| `ANTHROPIC_CUSTOM_HEADERS` | Пользовательские заголовки для добавления к запросам (формат `Name: Value`, несколько заголовков разделяются переводом строки). Если имя или значение содержит символ, который не может передаваться в HTTP-заголовке, например фигурную кавычку или пробел нулевой ширины, запрос завершается ошибкой, указывающей позицию этой пары. Требуется Claude Code v2.1.227 или новее. В разделе [Invalid request header value](/docs/ru/errors#invalid-request-header-value) перечислены точный набор символов и место, где выполняется проверка. Значение, задающее заголовок учётных данных, организации или тенанта, маршрутизации или поведения API, например `Authorization` или `Host`, считается [настройкой, требующей подтверждения](/docs/ru/server-managed-settings#environment-variables-and-the-approval-dialog), когда его доставляют серверные управляемые настройки. В настройках проекта или локальных настройках такое значение подчиняется [правилам применения значений `env`](/docs/ru/settings-reference#when-claude-code-applies-env-values) |163| `ANTHROPIC_CUSTOM_HEADERS` | Пользовательские заголовки для добавления к запросам (формат `Name: Value`, для нескольких заголовков — через перевод строки). Если имя или значение содержит символ, который не может передаваться в HTTP-заголовке, например фигурную кавычку или пробел нулевой ширины, запрос завершается ошибкой, указывающей позицию пары. Требуется Claude Code v2.1.227 или новее. В разделе [Invalid request header value](/docs/ru/errors#invalid-request-header-value) перечислен точный набор символов и указано, где выполняется проверка. Значение, задающее заголовок учётных данных, организации или тенанта, маршрутизации или поведения API, например `Authorization` или `Host`, считается [настройкой, требующей подтверждения](/docs/ru/server-managed-settings#environment-variables-and-the-approval-dialog), когда его доставляют настройки, управляемые сервером. Из настроек проекта или локальных настроек такое значение подчиняется [правилам применения значений `env`](/docs/ru/settings-reference#when-claude-code-applies-env-values) |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID модели, добавляемой как пользовательский пункт в меню выбора `/model`. Используйте, чтобы сделать нестандартную модель или модель конкретного шлюза доступной для выбора без замены встроенных псевдонимов. См. [Настройка модели](/docs/ru/model-config#add-a-custom-model-option) |164| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID модели, добавляемой как пользовательский пункт в селектор `/model`. Используйте, чтобы сделать нестандартную модель или модель конкретного шлюза доступной для выбора без замены встроенных псевдонимов. См. [Конфигурация модели](/docs/ru/model-config#add-a-custom-model-option) |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Отображаемое описание пользовательского пункта модели в меню выбора `/model`. Если не задано, по умолчанию используется `Custom model (<model-id>)` |165| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Отображаемое описание пользовательского пункта модели в селекторе `/model`. Если не задано, по умолчанию `Custom model (<model-id>)` |

162| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Отображаемое имя пользовательского пункта модели в меню выбора `/model`. Если не задано, пункт показывает название модели, если Claude Code [распознаёт ID](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), и ID модели в противном случае |166| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Отображаемое имя пользовательского пункта модели в селекторе `/model`. Если не задано, пункт показывает название модели, если Claude Code [распознаёт ID](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), а в противном случае — ID модели |

163| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Разделённый запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых пользовательской моделью, например `effort,thinking`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых пользовательской моделью, через запятую, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID модели, в который разрешается псевдоним `fable`, а также ID, который Claude Code распознаёт как модель Fable для [автоматического переключения на резервную модель](/docs/ru/model-config#automatic-model-fallback) у сторонних провайдеров. См. [Настройка модели](/docs/ru/model-config#environment-variables) |168| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID модели, в который разрешается псевдоним `fable`, а также ID, который Claude Code распознаёт как модель Fable для [автоматического переключения на резервную модель](/docs/ru/model-config#automatic-model-fallback) у сторонних провайдеров. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Fable в меню выбора `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Fable model`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Fable в селекторе `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Fable model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Отображаемое имя закреплённой модели Fable в меню выбора `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, и сам закреплённый ID в противном случае. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |170| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Отображаемое имя закреплённой модели Fable в селекторе `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — закреплённый ID. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

167| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Разделённый запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Fable, например `effort,thinking`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |171| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Fable, через запятую, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID модели, в который разрешается псевдоним `haiku`; также используется для [фоновых функций](/docs/ru/costs#background-token-usage). См. [Настройка модели](/docs/ru/model-config#environment-variables) |172| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID модели, в который разрешается псевдоним `haiku`; также используется для [фоновых функций](/docs/ru/costs#background-token-usage). См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Haiku в меню выбора `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Haiku model`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Haiku в селекторе `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Haiku model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Отображаемое имя закреплённой модели Haiku в меню выбора `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, и сам закреплённый ID в противном случае. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Отображаемое имя закреплённой модели Haiku в селекторе `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — закреплённый ID. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

171| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Разделённый запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Haiku, например `effort,thinking`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |175| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Haiku, через запятую, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

172| `ANTHROPIC_DEFAULT_MODEL` | Модель, с которой по умолчанию запускаются новые сессии. Требуется Claude Code v2.1.236 или новее. См. [Задать модель по умолчанию для новых сессий](/docs/ru/model-config#set-a-default-model-for-new-sessions) |176| `ANTHROPIC_DEFAULT_MODEL` | Модель, с которой по умолчанию начинаются новые сессии. Требуется Claude Code v2.1.236 или новее. См. [Задание модели по умолчанию для новых сессий](/docs/ru/model-config#set-a-default-model-for-new-sessions) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID модели, в который разрешается псевдоним `opus` и который `opusplan` использует, пока активен режим планирования. См. [Настройка модели](/docs/ru/model-config#environment-variables) |177| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID модели, в который разрешается псевдоним `opus` и который `opusplan` использует, пока активен режим планирования. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Opus в меню выбора `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Opus model`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Opus в селекторе `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Opus model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Отображаемое имя закреплённой модели Opus в меню выбора `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, и сам закреплённый ID в противном случае. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |179| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Отображаемое имя закреплённой модели Opus в селекторе `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — закреплённый ID. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

176| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Разделённый запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Opus, например `effort,thinking`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |180| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Opus, через запятую, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID модели, в который разрешается псевдоним `sonnet` и который `opusplan` использует, когда режим планирования не активен. См. [Настройка модели](/docs/ru/model-config#environment-variables) |181| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID модели, в который разрешается псевдоним `sonnet` и который `opusplan` использует, когда режим планирования не активен. См. [Конфигурация модели](/docs/ru/model-config#environment-variables) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Sonnet в меню выбора `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Sonnet model`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |182| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Отображаемое описание закреплённой модели Sonnet в селекторе `/model`. Если не задано, в строке отображается описание по умолчанию, начинающееся с `Custom Sonnet model`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Отображаемое имя закреплённой модели Sonnet в меню выбора `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, и сам закреплённый ID в противном случае. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |183| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Отображаемое имя закреплённой модели Sonnet в селекторе `/model`. Если не задано, в строке отображается название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — закреплённый ID. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

180| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Разделённый запятыми список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Sonnet, например `effort,thinking`. См. [Настройка модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |184| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Список [возможностей](/docs/ru/model-config#customize-pinned-model-display-and-capabilities), поддерживаемых закреплённой моделью Sonnet, через запятую, например `effort,thinking`. См. [Конфигурация модели](/docs/ru/model-config#customize-pinned-model-display-and-capabilities) |

181| `ANTHROPIC_FEDERATION_RULE_ID` | ID правила федерации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Если задать её вместе с `ANTHROPIC_ORGANIZATION_ID`, Claude Code выбирает учётные данные федерации, которые имеют более высокий приоритет, чем учётные данные `/login`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |185| `ANTHROPIC_FEDERATION_RULE_ID` | ID правила федерации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Если задать её вместе с `ANTHROPIC_ORGANIZATION_ID`, Claude Code выбирает федеративные учётные данные, которые имеют приоритет над учётными данными `/login`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |

182| `ANTHROPIC_FOUNDRY_API_KEY` | API-ключ для аутентификации в Microsoft Foundry (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |186| `ANTHROPIC_FOUNDRY_API_KEY` | API-ключ для аутентификации в Microsoft Foundry (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer-токен для аутентификации в Microsoft Foundry, например токен доступа Microsoft Entra. Claude Code отправляет его в заголовке `Authorization: Bearer`. Имеет приоритет над `ANTHROPIC_FOUNDRY_API_KEY` и над цепочкой учётных данных Azure по умолчанию. См. [Microsoft Foundry](/docs/ru/microsoft-foundry). Требуется Claude Code v2.1.203 или новее |187| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Bearer-токен для аутентификации в Microsoft Foundry, например токен доступа Microsoft Entra. Claude Code отправляет его в заголовке `Authorization: Bearer`. Имеет приоритет над `ANTHROPIC_FOUNDRY_API_KEY` и над цепочкой учётных данных Azure по умолчанию. См. [Microsoft Foundry](/docs/ru/microsoft-foundry). Требуется Claude Code v2.1.203 или новее |

184| `ANTHROPIC_FOUNDRY_BASE_URL` | Полный базовый URL ресурса Microsoft Foundry (например, `https://my-resource.services.ai.azure.com/anthropic`). Альтернатива `ANTHROPIC_FOUNDRY_RESOURCE` (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |188| `ANTHROPIC_FOUNDRY_BASE_URL` | Полный базовый URL ресурса Microsoft Foundry (например, `https://my-resource.services.ai.azure.com/anthropic`). Альтернатива `ANTHROPIC_FOUNDRY_RESOURCE` (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |

185| `ANTHROPIC_FOUNDRY_RESOURCE` | Имя ресурса Microsoft Foundry (например, `my-resource`). Claude Code [отклоняет URL или имя хоста](/docs/ru/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Обязательна, если не задана `ANTHROPIC_FOUNDRY_BASE_URL` (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |189| `ANTHROPIC_FOUNDRY_RESOURCE` | Имя ресурса Microsoft Foundry (например, `my-resource`). Claude Code [отклоняет URL или имя хоста](/docs/ru/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name). Обязательна, если не задана `ANTHROPIC_FOUNDRY_BASE_URL` (см. [Microsoft Foundry](/docs/ru/microsoft-foundry)) |

186| `ANTHROPIC_MODEL` | Имя используемой настройки модели (см. [Настройка модели](/docs/ru/model-config#environment-variables)) |190| `ANTHROPIC_MODEL` | Имя используемой настройки модели (см. [Конфигурация модели](/docs/ru/model-config#environment-variables)) |

187| `ANTHROPIC_ORGANIZATION_ID` | ID организации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Задайте её вместе с `ANTHROPIC_FEDERATION_RULE_ID`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |191| `ANTHROPIC_ORGANIZATION_ID` | ID организации для [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Задавайте вместе с `ANTHROPIC_FEDERATION_RULE_ID`. См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |

188| `ANTHROPIC_PROFILE` | Имя профиля Anthropic для аутентификации, например созданного командой [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) или при [входе в аккаунт Console без API-ключа](/docs/ru/authentication#sign-in-without-an-api-key). См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |192| `ANTHROPIC_PROFILE` | Имя профиля Anthropic для аутентификации, например созданного командой [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) или при [входе в аккаунт Console без API-ключа](/docs/ru/authentication#sign-in-without-an-api-key). См. [приоритет аутентификации](/docs/ru/authentication#authentication-precedence) |

189| `ANTHROPIC_SMALL_FAST_MODEL` | \[УСТАРЕЛО] Имя [модели класса Haiku для фоновых задач](/docs/ru/costs) |193| `ANTHROPIC_SMALL_FAST_MODEL` | \[УСТАРЕЛА] Имя [модели класса Haiku для фоновых задач](/docs/ru/costs) |

190| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Переопределяет регион AWS для модели класса Haiku при использовании Amazon Bedrock или Amazon Bedrock Mantle. В Amazon Bedrock действует, только если также задана `ANTHROPIC_DEFAULT_HAIKU_MODEL` или устаревшая `ANTHROPIC_SMALL_FAST_MODEL`, поскольку в противном случае Amazon Bedrock выполняет фоновые задачи на [модели Sonnet по умолчанию или основной модели](/docs/ru/amazon-bedrock#4-pin-model-versions) в регионе сессии |194| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Переопределяет регион AWS для модели класса Haiku при использовании Amazon Bedrock или Amazon Bedrock Mantle. В Amazon Bedrock действует только тогда, когда также задана `ANTHROPIC_DEFAULT_HAIKU_MODEL` или устаревшая `ANTHROPIC_SMALL_FAST_MODEL`, поскольку в остальных случаях Amazon Bedrock выполняет фоновые задачи на [модели Sonnet по умолчанию или основной модели](/docs/ru/amazon-bedrock#4-pin-model-versions) в регионе сессии |

191| `ANTHROPIC_VERTEX_BASE_URL` | Переопределяет URL эндпоинта Google Cloud's Agent Platform. Используйте для пользовательских эндпоинтов Google Cloud's Agent Platform или при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway). См. [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |195| `ANTHROPIC_VERTEX_BASE_URL` | Переопределяет URL эндпоинта Google Cloud's Agent Platform. Используйте для пользовательских эндпоинтов Google Cloud's Agent Platform или при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway). См. [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |

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

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

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

195| `API_TIMEOUT_MS` | Таймаут для запросов API в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Увеличьте его, если запросы завершаются по таймауту в медленных сетях или при маршрутизации через прокси. Значения выше максимума вызывают переполнение базового таймера и приводят к немедленному сбою запросов |199| `API_TIMEOUT_MS` | Таймаут запросов API в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Увеличьте его, если запросы завершаются по таймауту в медленных сетях или при маршрутизации через прокси. Значения выше максимума переполняют базовый таймер и приводят к немедленному сбою запросов |

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

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

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

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

200| `BETA_TRACING_ENDPOINT` | Эндпоинт OTLP/HTTP для [подробной бета-трассировки](/docs/ru/monitoring-usage#traces-beta): при `ENABLE_BETA_TRACING_DETAILED=1` логи и трассировки отправляются туда, а не в настроенные экспортёры. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |204| `BETA_TRACING_ENDPOINT` | Эндпоинт OTLP/HTTP для [детальной бета-трассировки](/docs/ru/monitoring-usage#traces-beta): при `ENABLE_BETA_TRACING_DETAILED=1` логи и трассировки отправляются туда, а не в настроенные экспортеры. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

201| `CCR_FORCE_BUNDLE` | Установите `1`, чтобы [`claude --cloud`](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) принудительно упаковывал и загружал ваш локальный репозиторий вместо клонирования из удалённого репозитория |205| `CCR_FORCE_BUNDLE` | Установите `1`, чтобы [`claude --cloud`](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) принудительно упаковывал и загружал ваш локальный репозиторий вместо клонирования из удалённого |

202| `CLAUDECODE` | Устанавливается в `1` в подпроцессах, которые запускает Claude Code (инструменты Bash и PowerShell, сессии tmux, команды [хуков](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline), подпроцессы stdio [MCP-серверов](/docs/ru/mcp)). Расширения IDE также задают её в своих встроенных терминалах. Используйте, чтобы определить, выполняется ли скрипт внутри подпроцесса, запущенного Claude Code. Чтобы проверить, был ли текущий процесс запущен непосредственно вызовом инструмента или хуком, а не внутри stdio MCP-сервера, запущенного Claude Code, используйте вместо этого `CLAUDE_CODE_CHILD_SESSION` |206| `CLAUDECODE` | Устанавливается в `1` в подпроцессах, которые запускает Claude Code (инструменты Bash и PowerShell, сессии tmux, команды [хуков](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline), подпроцессы stdio [MCP-серверов](/docs/ru/mcp)). Расширения IDE также задают её в своих встроенных терминалах. Используйте, чтобы определить, что скрипт выполняется внутри подпроцесса, запущенного Claude Code. Чтобы проверить, был ли текущий процесс запущен непосредственно вызовом инструмента или хуком, а не внутри stdio MCP-сервера, запущенного Claude Code, используйте вместо этого `CLAUDE_CODE_CHILD_SESSION` |

203| `CLAUDE_AFK_COUNTDOWN_MS` | За сколько миллисекунд до автопродолжения на экране появляется обратный отсчёт в неотвеченном диалоговом окне [`AskUserQuestion`](/docs/ru/tools-reference). По умолчанию `20000` (20 секунд), но не больше таймаута автопродолжения. Не действует, если автопродолжение не включено; см. настройку [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout) и `CLAUDE_AFK_TIMEOUT_MS`. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). Требуется Claude Code v2.1.198 или новее |207| `CLAUDE_AFK_COUNTDOWN_MS` | За сколько миллисекунд до автоматического продолжения на экране появляется обратный отсчёт в диалоговом окне [`AskUserQuestion`](/docs/ru/tools-reference), оставшемся без ответа. По умолчанию `20000` (20 секунд), ограничено таймаутом автоматического продолжения. Не действует, если автоматическое продолжение не включено; см. настройку [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout) и `CLAUDE_AFK_TIMEOUT_MS`. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). Требуется Claude Code v2.1.198 или новее |

204| `CLAUDE_AFK_TIMEOUT_MS` | Через сколько миллисекунд бездействия неотвеченное диалоговое окно [`AskUserQuestion`](/docs/ru/tools-reference) автоматически продолжает работу без вас. Автопродолжение по умолчанию отключено; включите его с помощью настройки [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout). Эта переменная — переопределение для демонстраций и автоматических тестов: если она задана, она имеет приоритет над этой настройкой и включает автопродолжение, даже если настройка не задана или равна `never`. Значение `0` не отключает таймаут, а сразу закрывает диалоговое окно. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). До v2.1.200 автопродолжение было включено по умолчанию с таймаутом `60000` (60 секунд). Требуется Claude Code v2.1.198 или новее |208| `CLAUDE_AFK_TIMEOUT_MS` | Сколько миллисекунд простоя должно пройти, прежде чем диалоговое окно [`AskUserQuestion`](/docs/ru/tools-reference), оставшееся без ответа, автоматически продолжит работу без вас. Автоматическое продолжение по умолчанию отключено; включите его настройкой [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout). Эта переменная — переопределение для демонстраций и автоматических тестов: если она задана, она имеет приоритет над этой настройкой и включает автоматическое продолжение, даже когда настройка не задана или равна `never`. Значение `0` не отключает таймаут, а сразу закрывает диалоговое окно. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). До v2.1.200 автоматическое продолжение было включено по умолчанию с таймаутом `60000` (60 секунд). Требуется Claude Code v2.1.198 или новее |

205| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите `1`, чтобы отключить все встроенные типы [субагентов](/docs/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которым нужен чистый лист. Это также удаляет `general-purpose` — субагента, которого Claude Code запускает, когда в вызове инструмента Agent не указан `subagent_type`. Такой вызов в этом случае завершается ошибкой [`subagent_type is required`](/docs/ru/errors#subagent-type-is-required) |209| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите `1`, чтобы отключить все встроенные типы [субагентов](/docs/ru/sub-agents), такие как Explore и Plan. Действует только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которым нужен чистый лист. Также удаляется `general-purpose` — субагент, которого Claude Code запускает, когда в вызове инструмента Agent не указан `subagent_type`. Такой вызов тогда завершается ошибкой [`subagent_type is required`](/docs/ru/errors#subagent-type-is-required) |

206| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите `1`, чтобы не добавлять префикс `mcp__<server>__` к именам инструментов MCP-серверов, созданных через SDK. Инструменты используют свои исходные имена. Только для использования SDK |210| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Установите `1`, чтобы не добавлять префикс `mcp__<server>__` к именам инструментов MCP-серверов, созданных через SDK. Инструменты используют свои исходные имена. Только для использования SDK |

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

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

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

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

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

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

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

214| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах для сторожевого таймера простоя потоковой передачи на уровне байтов; если задан, имеет приоритет над `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для этого сторожевого таймера и не меняет сторожевой таймер на уровне событий. Claude Code ограничивает значение этой переменной диапазоном от 10 секунд до 30 минут. Требуется Claude Code v2.1.210 или новее |218| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах для байтового сторожевого механизма простоя потоковой передачи; если задана, имеет приоритет над `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для этого механизма и не изменяет сторожевой механизм уровня событий. Claude Code ограничивает значение этой переменной диапазоном от 10 секунд до 30 минут. Требуется Claude Code v2.1.210 или новее |

215| `CLAUDE_CLIENT_PRESENCE_FILE` | Путь к файлу, который внешний инструмент, например обработчик блокировки экрана, создаёт при разблокировке экрана и удаляет при его блокировке. Пока файл существует, Claude Code пропускает [мобильные push-уведомления Remote Control](/docs/ru/remote-control#mobile-push-notifications), поэтому вы не получаете уведомления, пока активно пользуетесь компьютером. Если файл отсутствует или недоступен для чтения, уведомления отправляются как обычно. Claude Code проверяет файл один раз при каждом событии, вызывающем push-уведомление, а не опрашивает его постоянно. Требуется Claude Code v2.1.181 или новее |219| `CLAUDE_CLIENT_PRESENCE_FILE` | Путь к файлу, который внешний инструмент, например обработчик блокировки экрана, создаёт при разблокировке экрана и удаляет при блокировке. Пока файл существует, Claude Code пропускает [мобильные push-уведомления Remote Control](/docs/ru/remote-control#mobile-push-notifications), чтобы вы не получали их, пока активно пользуетесь компьютером. Если файл отсутствует или недоступен для чтения, уведомления отправляются как обычно. Claude Code проверяет файл один раз при каждом событии, вызывающем push-уведомление, а не опрашивает его постоянно. Требуется Claude Code v2.1.181 или новее |

216| `CLAUDE_CODE_ACCESSIBILITY` | Установите `1`, чтобы оставить видимым нативный курсор терминала и отключить индикатор курсора в виде инвертированного текста. Позволяет экранным лупам, таким как macOS Zoom, отслеживать положение курсора |220| `CLAUDE_CODE_ACCESSIBILITY` | Установите `1`, чтобы оставить видимым нативный курсор терминала и отключить индикатор курсора с инвертированным текстом. Позволяет экранным лупам, например macOS Zoom, отслеживать положение курсора |

217| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Установите `1`, чтобы загружать файлы памяти из каталогов, указанных через `--add-dir`. Загружает `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md`. По умолчанию из дополнительных каталогов файлы памяти не загружаются |221| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Установите `1`, чтобы загружать файлы памяти из каталогов, указанных с помощью `--add-dir`. Загружаются `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` и `CLAUDE.local.md`. По умолчанию дополнительные каталоги не загружают файлы памяти |

218| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Установите `1`, чтобы в [полноэкранной отрисовке](/docs/ru/fullscreen) перерисовывать весь экран в каждом кадре вместо отправки инкрементальных обновлений. Используйте, если в полноэкранном режиме отображаются устаревшие или смещённые фрагменты текста. Claude Code включает это автоматически для фоновых сессий и [представления агентов](/docs/ru/agent-view) в Windows |222| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Установите `1`, чтобы в [полноэкранной отрисовке](/docs/ru/fullscreen) перерисовывать весь экран в каждом кадре вместо отправки инкрементных обновлений. Используйте, если в полноэкранном режиме отображаются устаревшие или смещённые фрагменты текста. Claude Code включает это автоматически для фоновых сессий и [agent view](/docs/ru/agent-view) в Windows |

219| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Установите `1`, чтобы отправлять параметр [effort](/docs/ru/model-config#adjust-effort-level) с каждым запросом, даже если Claude Code не распознаёт ID модели как поддерживающий effort. Используйте при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway) или стороннего провайдера, который предоставляет модели под пользовательскими идентификаторами. Модели, отклоняющие параметр effort на уровне API, включая модели Claude 3, Sonnet 4.0 и 4.5, Opus 4.0 и 4.1, а также Haiku 4.5, по-прежнему исключаются, чтобы запросы не завершались ошибкой |223| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Установите `1`, чтобы отправлять параметр [effort](/docs/ru/model-config#adjust-effort-level) в каждом запросе, даже если Claude Code не распознаёт ID модели как поддерживающий effort. Используйте при маршрутизации через [LLM-шлюз](/docs/ru/llm-gateway) или стороннего провайдера, который обслуживает модели под пользовательскими идентификаторами. Модели, отклоняющие параметр effort на уровне API, включая модели Claude 3, Sonnet 4.0 и 4.5, Opus 4.0 и 4.1, а также Haiku 4.5, по-прежнему исключаются, чтобы запросы не завершались сбоем |

220| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, с которым следует обновлять учётные данные (при использовании [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper)) |224| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Интервал в миллисекундах, с которым следует обновлять учётные данные (при использовании [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper)) |

221| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Установите `0`, чтобы Claude Code не открывал браузер автоматически при публикации нового [артефакта](/docs/ru/artifacts#create-an-artifact) |225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Установите `0`, чтобы Claude Code не открывал браузер автоматически при публикации нового [артефакта](/docs/ru/artifacts#create-an-artifact) |

222| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Установите `0`, чтобы Claude не читал [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact) и не отвечал на них. Не действует, если `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [отключила артефакты](/docs/ru/artifacts#availability). Требуется Claude Code v2.1.221 или новее |226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Установите `0`, чтобы Claude не читал [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact) и не отвечал на них. Не действует, если `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` [отключила артефакты](/docs/ru/artifacts#availability). Требуется Claude Code v2.1.221 или новее |

223| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Установите `0`, чтобы Claude не [отвечал самостоятельно на отправленные ему комментарии](/docs/ru/artifacts#let-claude-reply-to-comments-on-its-own). Требуется Claude Code v2.1.228 или новее |227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Установите `0`, чтобы Claude [не отвечал самостоятельно на адресованные ему комментарии](/docs/ru/artifacts#let-claude-reply-to-comments-on-its-own). Требуется Claude Code v2.1.228 или новее |

224| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите `0`, чтобы исключить из начала системного промпта [блок атрибуции](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block), содержащий версию клиента и отпечаток промпта. Кэширование при прямом подключении к Anthropic API в любом случае не затрагивается. В некоторых конфигурациях с прямым подключением Claude Code сохраняет этот блок в запросах классификатора [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), даже если задано `0`. В разделе [Блок атрибуции в системном промпте](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block) проверьте, на какие подключения и учётные данные это распространяется. До v2.1.181 блок включал уникальный для каждого запроса токен при пользовательских базовых URL и подключениях к Microsoft Foundry, поэтому в этих версиях устанавливайте `0`, если ваш LLM-шлюз кэширует по телу запроса или пересылает запросы стороннему провайдеру, либо если вы подключаетесь к Microsoft Foundry напрямую |228| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите `0`, чтобы не включать в начало системного промпта [блок атрибуции](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block), содержащий версию клиента и отпечаток промпта. На кэширование при прямом подключении к Anthropic API это в любом случае не влияет. В некоторых конфигурациях с прямым подключением Claude Code сохраняет блок в запросах классификатора [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), даже если вы установили `0`. В разделе [Блок атрибуции системного промпта](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block) проверьте, каких подключений и учётных данных это касается. До v2.1.181 блок включал токен для каждого запроса при пользовательских базовых URL и подключениях Microsoft Foundry, поэтому в этих версиях устанавливайте `0`, если ваш LLM-шлюз кэширует по телу запроса или пересылает запросы стороннему провайдеру, либо если вы подключаетесь к Microsoft Foundry напрямую |

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

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

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

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

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

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

231| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Установите `0`, чтобы неинтерактивная сессия сообщала своему хосту о статусе простоя в конце каждого хода, даже пока ещё выполняется фоновая работа. По умолчанию сессия продолжает сообщать статус выполнения после окончания хода, пока активна фоновая работа, например фоновый агент или запуск [рабочего процесса](/docs/ru/workflows). Это не позволяет хосту, отслеживающему статус, например списку удалённых сессий, объявить посреди работы, что Claude ждёт вашего ввода. Фоновые shell-команды, например dev-сервер, не удерживают статус выполнения. Статус выполнения по умолчанию и отказ от него через `0` требуют Claude Code v2.1.269 или новее; в более ранних версиях установите `1`, чтобы удерживать статус выполнения |235| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Установите `0`, чтобы неинтерактивная сессия сообщала своему хосту статус простоя в конце каждого хода, даже если фоновая работа ещё выполняется. По умолчанию сессия продолжает сообщать статус выполнения после окончания хода, пока активна фоновая работа, например фоновый агент или запуск [рабочего процесса](/docs/ru/workflows). Благодаря этому хост, отслеживающий статус, например список удалённых сессий, не объявляет посреди работы, что Claude ожидает вашего ввода. Фоновые shell-команды, например dev-сервер, не удерживают статус выполнения. Статус выполнения по умолчанию и отказ от него через `0` требуют Claude Code v2.1.269 или новее; в более ранних версиях установите `1`, чтобы удерживать статус выполнения |

232| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Задаётся автоматически в подпроцессах инструмента Bash и [команд хуков](/docs/ru/hooks), пока у сессии есть активное подключение [Remote Control](/docs/ru/remote-control), и удаляется при завершении подключения. Значение — ID сессии в форме `session_`, тот же идентификатор, что отображается в URL сессии `claude.ai/code`, поэтому скрипт может сослаться на сессию, которая его запустила. Требуется Claude Code v2.1.199 или новее. В [облачных сессиях](/docs/ru/claude-code-on-the-web) используйте вместо этого `CLAUDE_CODE_REMOTE_SESSION_ID` |236| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Задаётся автоматически в подпроцессах инструмента Bash и [команд хуков](/docs/ru/hooks), пока у сессии есть активное подключение [Remote Control](/docs/ru/remote-control), и удаляется по завершении подключения. Значение — ID сессии в формате `session_`, тот же идентификатор, что отображается в URL сессии `claude.ai/code`, поэтому скрипт может сослаться на сессию, которая его запустила. Требуется Claude Code v2.1.199 или новее. В [облачных сессиях](/docs/ru/claude-code-on-the-web) вместо этого читайте `CLAUDE_CODE_REMOTE_SESSION_ID` |

233| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Установите `0`, чтобы Claude Code считывал байт `0x08`, также записываемый как `^H`, как обычный Backspace, или `1`, чтобы считывать его как Ctrl+Backspace. Любое из этих значений заменяет поведение платформы по умолчанию. По умолчанию Claude Code считывает его как Ctrl+Backspace в Windows, кроме случаев, когда `TERM_PROGRAM` равно `mintty` или `TERM` равно `cygwin`, и как обычный Backspace в macOS и Linux. Установите `0` в терминале Windows, где [Backspace удаляет целое слово](/docs/ru/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |237| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Установите `0`, чтобы Claude Code читал байт `0x08`, также записываемый как `^H`, как обычный Backspace, или `1`, чтобы читать его как Ctrl+Backspace. Любое из значений заменяет поведение платформы по умолчанию. По умолчанию Claude Code читает его как Ctrl+Backspace в Windows, кроме случаев, когда `TERM_PROGRAM` равна `mintty` или `TERM` равна `cygwin`, и как обычный Backspace в macOS и Linux. Установите `0` в терминале Windows, где [Backspace удаляет целое слово](/docs/ru/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

234| `CLAUDE_CODE_CERT_STORE` | Разделённый запятыми список источников сертификатов CA для TLS-подключений. `bundled` — набор CA Mozilla, поставляемый с Claude Code. `system` — хранилище доверенных сертификатов операционной системы, которое считывается только в средах выполнения с `tls.getCACertificates`: в нативном бинарном файле или в Node 22.15 и новее для установок через npm. См. [Хранилище сертификатов CA](/docs/ru/network-config#ca-certificate-store). По умолчанию `bundled,system` |238| `CLAUDE_CODE_CERT_STORE` | Список источников сертификатов CA для TLS-подключений через запятую. `bundled` — набор CA от Mozilla, поставляемый с Claude Code. `system` — хранилище доверенных сертификатов операционной системы, читается только в средах выполнения с `tls.getCACertificates`: в нативном бинарном файле или в Node 22.15 и новее для установок через npm. См. [Хранилище сертификатов CA](/docs/ru/network-config#ca-certificate-store). По умолчанию `bundled,system` |

235| `CLAUDE_CODE_CHILD_SESSION` | Устанавливается в `1` в подпроцессах, которые Claude Code запускает через инструменты Bash, PowerShell и Monitor, в командах [хуков](/docs/ru/hooks) и командах [строки состояния](/docs/ru/statusline). Не задаётся для подпроцессов stdio [MCP-серверов](/docs/ru/mcp), которые работают долго и продолжают работать после завершения запустившей их сессии. В отличие от `CLAUDECODE`, её задаёт только сам Claude Code при запуске подпроцесса, а не расширения IDE, поэтому она надёжно отличает вложенную сессию от `claude` верхнего уровня, запущенного во встроенном терминале IDE. Вложенный интерактивный TUI `claude`, запущенный таким образом, автоматически исключается из `--resume`, `--continue`, истории по стрелке вверх и списка `claude agents`. Неинтерактивные сессии `claude -p` по-прежнему сохраняются. Установите `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, чтобы отменить это исключение. Требуется Claude Code v2.1.172 или новее |239| `CLAUDE_CODE_CHILD_SESSION` | Устанавливается в `1` в подпроцессах, которые Claude Code запускает через инструменты Bash, PowerShell и Monitor, команды [хуков](/docs/ru/hooks) и команды [строки состояния](/docs/ru/statusline). Не задаётся для подпроцессов stdio [MCP-серверов](/docs/ru/mcp), которые работают долго и переживают сессию, запустившую их. В отличие от `CLAUDECODE`, её задаёт только сам Claude Code при запуске подпроцесса, а не расширения IDE, поэтому она надёжно отличает вложенную сессию от `claude` верхнего уровня, запущенного во встроенном терминале IDE. Вложенный интерактивный TUI `claude`, запущенный таким образом, автоматически исключается из `--resume`, `--continue`, истории по стрелке вверх и списка `claude agents`. Неинтерактивные сессии `claude -p` по-прежнему сохраняются. Установите `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`, чтобы отменить это исключение. Требуется Claude Code v2.1.172 или новее |

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

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

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

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

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

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

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

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

244| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Установите `1`, чтобы Claude Code не объединял блоки `env` [управляемых настроек](/docs/ru/managed-settings#precedence-within-the-managed-tier) по ключам из разных административных источников, так что применяется только весь блок `env` источника с наивысшим приоритетом, как до v2.1.223. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.223 или новее |248| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Установите `1`, чтобы Claude Code не объединял блоки `env` [управляемых настроек](/docs/ru/managed-settings#precedence-within-the-managed-tier) по ключам из разных административных источников, и применялся только весь блок `env` источника с наивысшим приоритетом, как до v2.1.223. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.223 или новее |

245| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Установите `1`, чтобы отключить [инструмент advisor](/docs/ru/advisor). Команда `/advisor` становится недоступной, любая настроенная `advisorModel` игнорируется, а флаг `--advisor` принимается, но ни на что не влияет, поэтому существующие скрипты, передающие его, продолжают работать без ошибок |249| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Установите `1`, чтобы отключить [инструмент advisor](/docs/ru/advisor). Команда `/advisor` становится недоступной, любая настроенная `advisorModel` игнорируется, а флаг `--advisor` принимается, но ни на что не влияет, поэтому существующие скрипты, которые его передают, продолжают работать без ошибок |

246| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Установите `1`, чтобы отключить [фоновых агентов и представление агентов](/docs/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор, запускаемый по требованию. Эквивалентно настройке [`disableAgentView`](/docs/ru/settings-reference#disableagentview) |250| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Установите `1`, чтобы отключить [фоновых агентов и agent view](/docs/ru/agent-view): `claude agents`, `--bg`, `/background` и супервизор, запускаемый по требованию. Эквивалентно настройке [`disableAgentView`](/docs/ru/settings-reference#disableagentview) |

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

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

249| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как обычный текст, а не разворачиваются в содержимое файла. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |253| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как обычный текст, а не разворачиваются в содержимое файла. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

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

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

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

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

254| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Установите `1`, чтобы пропустить проверку того, что потоковый ответ [Amazon Bedrock](/docs/ru/amazon-bedrock) имеет content-type `application/vnd.amazon.eventstream`. Без этой переменной, когда ответ имеет другой content-type, Claude Code завершает запрос ошибкой с указанием этого типа, что означает, что [шлюз или прокси преобразует ответ](/docs/ru/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Вместо установки этой переменной настройте шлюз так, чтобы он пересылал заголовок `Content-Type` и тело без изменений. Требуется Claude Code v2.1.208 или новее |258| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Установите `1`, чтобы пропустить проверку того, что потоковый ответ [Amazon Bedrock](/docs/ru/amazon-bedrock) имеет content-type `application/vnd.amazon.eventstream`. Без этой переменной, если ответ имеет другой content-type, Claude Code завершает запрос ошибкой с указанием этого типа, что означает, что [шлюз или прокси преобразует ответ](/docs/ru/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Вместо установки этой переменной настройте шлюз так, чтобы он пересылал заголовок `Content-Type` и тело без изменений. Требуется Claude Code v2.1.208 или новее |

255| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Установите `1`, чтобы выполняющиеся фоновые shell-команды, динамические рабочие процессы и, начиная с v2.1.198, фоновые субагенты [фоновой сессии](/docs/ru/agent-view) останавливались, когда [супервизор](/docs/ru/agent-view#the-supervisor-process) останавливает, перезапускает или обновляет процесс этой сессии, а не передавались следующему процессу сессии. Влияет только на эту передачу: перевод сессии в фон с помощью `←` или [`/background`](/docs/ru/agent-view#from-inside-a-session) по-прежнему переносит незавершённую работу, а `CLAUDE_DISABLE_ADOPT` отключает и то, и другое. Требуется Claude Code v2.1.196 или новее |259| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Установите `1`, чтобы останавливать выполняющиеся фоновые shell-команды, динамические рабочие процессы и, начиная с v2.1.198, фоновых субагентов [фоновой сессии](/docs/ru/agent-view), когда [супервизор](/docs/ru/agent-view#the-supervisor-process) останавливает, перезапускает или обновляет процесс этой сессии, вместо передачи их следующему процессу сессии. Влияет только на эту передачу: перевод сессии в фон с помощью `←` или [`/background`](/docs/ru/agent-view#from-inside-a-session) по-прежнему переносит выполняющуюся работу, а `CLAUDE_DISABLE_ADOPT` отключает и то, и другое. Требуется Claude Code v2.1.196 или новее |

256| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Установите `1`, чтобы Claude Code не завершал [фоновые shell-команды](/docs/ru/interactive-mode#background-bash-commands) при нехватке памяти. По умолчанию в macOS и Linux Claude Code завершает фоновые оболочки, когда операционная система сообщает о критической нехватке памяти, а сессия простаивает 30 минут без выполняющегося хода или субагента. В Windows нет сигнала о нехватке памяти, поэтому там эта переменная ни на что не влияет. Требуется Claude Code v2.1.193 или новее |260| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Установите `1`, чтобы Claude Code не завершал [фоновые shell-команды](/docs/ru/interactive-mode#background-bash-commands) при нехватке памяти. По умолчанию в macOS и Linux Claude Code завершает фоновые оболочки, когда операционная система сообщает о критической нехватке памяти, а сессия простаивает 30 минут без выполняющегося хода или субагента. В Windows нет сигнала о нехватке памяти, поэтому там эта переменная ни на что не влияет. Требуется Claude Code v2.1.193 или новее |

257| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите `1`, чтобы отключить [скиллы](/docs/ru/skills) и рабочие процессы, входящие в состав Claude Code: встроенные скиллы и рабочие процессы полностью удаляются, а встроенные команды, такие как `/init`, по-прежнему можно ввести, но они скрыты от модели. `/doctor`, как и встроенные команды, по-прежнему можно ввести; чтобы скрыть её, используйте `DISABLE_DOCTOR_COMMAND`. Скиллы из плагинов, `.claude/skills/` и `.claude/commands/` не затрагиваются. Эквивалентно настройке [`disableBundledSkills`](/docs/ru/settings-reference#disablebundledskills) |261| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите `1`, чтобы отключить [скиллы](/docs/ru/skills) и рабочие процессы, входящие в состав Claude Code: встроенные скиллы и рабочие процессы полностью удаляются, а встроенные команды, такие как `/init`, по-прежнему можно ввести, но они скрыты от модели. `/doctor` по-прежнему можно ввести, как и встроенные команды; чтобы скрыть её, используйте `DISABLE_DOCTOR_COMMAND`. Скиллы из плагинов, `.claude/skills/` и `.claude/commands/` не затрагиваются. Эквивалентно настройке [`disableBundledSkills`](/docs/ru/settings-reference#disablebundledskills) |

258| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Установите `1`, чтобы оставить браузерные инструменты [Claude in Chrome](/docs/ru/chrome) доступными, но исключить раздел о Chrome из системного промпта и [встроенный скилл](/docs/ru/skills#bundled-skills) `/claude-in-chrome`. Предназначено для хостов, которые встраивают Claude Code и предоставляют собственные указания по работе с браузером. Требуется Claude Code v2.1.257 или новее |262| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Установите `1`, чтобы оставить доступными браузерные инструменты [Claude in Chrome](/docs/ru/chrome), но исключить раздел Chrome из системного промпта и [встроенный скилл](/docs/ru/skills#bundled-skills) `/claude-in-chrome`. Для хостов, которые встраивают Claude Code и предоставляют собственные инструкции для браузера. Требуется Claude Code v2.1.257 или новее |

259| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите `1`, чтобы запретить загрузку в контекст любых файлов памяти CLAUDE.md, включая пользовательские и проектные файлы, а также файлы автоматической памяти |263| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Установите `1`, чтобы не загружать в контекст никакие файлы памяти CLAUDE.md, включая пользовательские, проектные файлы и файлы автоматической памяти |

260| `CLAUDE_CODE_DISABLE_CRON` | Установите `1`, чтобы отключить [запланированные задачи](/docs/ru/scheduled-tasks). Скилл `/loop` и инструменты cron становятся недоступными, а все уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются посреди сессии |264| `CLAUDE_CODE_DISABLE_CRON` | Установите `1`, чтобы отключить [запланированные задачи](/docs/ru/scheduled-tasks). Скилл `/loop` и инструменты cron становятся недоступными, а все уже запланированные задачи перестают срабатывать, включая задачи, которые уже выполняются посреди сессии |

261| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Установите `1`, чтобы отключить ограничение времени для запросов подтверждения [удаления критических путей](/docs/ru/permission-modes#critical-paths). Тогда в режиме `auto` Claude Code отправляет такие удаления классификатору, а в режиме `bypassPermissions` запрос ждёт вашего ответа. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.281 или новее |265| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | Установите `1`, чтобы отключить ограничение времени для запросов подтверждения [удаления критических путей](/docs/ru/permission-modes#critical-paths). Тогда в режиме `auto` Claude Code отправляет такие удаления классификатору, а в режиме `bypassPermissions` запрос ждёт вашего ответа. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.281 или новее |

262| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите `1`, чтобы удалять из запросов API предварительные заголовки `anthropic-beta`, связанные с ними поля тела запроса и бета-поля схем инструментов, такие как `defer_loading` и `eager_input_streaming`. Используйте, когда прокси-шлюз отклоняет запросы с ошибкой `Unexpected value(s)` для заголовка `anthropic-beta` или с ошибкой `Extra inputs are not permitted`. В разделе [Отключение предварительных возможностей](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) перечислено, что удаляет эта переменная, включая [MCP tool search](/docs/ru/mcp#scale-with-mcp-tool-search), и что Claude Code продолжает отправлять |266| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите `1`, чтобы удалять из запросов API предварительные заголовки запроса `anthropic-beta`, связанные с ними поля тела и бета-поля схемы инструментов, такие как `defer_loading` и `eager_input_streaming`. Используйте, когда прокси-шлюз отклоняет запросы с ошибкой `Unexpected value(s)` для заголовка `anthropic-beta` или с ошибкой `Extra inputs are not permitted`. В разделе [Отключение предварительных возможностей](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) перечислено, что удаляет переменная, включая [MCP tool search](/docs/ru/mcp#scale-with-mcp-tool-search), и что Claude Code продолжает отправлять |

263| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Установите `1`, чтобы отключить встроенных [субагентов Explore и Plan](/docs/ru/sub-agents#built-in-subagents). Вместо этого Claude исследует код своими инструментами поиска или субагентом общего назначения, а [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) читает файлы напрямую, а не запускает агентов Explore и Plan. Пользовательские субагенты с именами `Explore` или `Plan` не затрагиваются. Чтобы удалить все встроенные типы субагентов в Agent SDK или неинтерактивном режиме, используйте вместо этого `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Требуется Claude Code v2.1.198 или новее |267| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Установите `1`, чтобы отключить встроенных [субагентов Explore и Plan](/docs/ru/sub-agents#built-in-subagents). Вместо них Claude исследует код с помощью своих инструментов поиска или субагента общего назначения, а [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) читает файлы напрямую, не запуская агентов Explore и Plan. Пользовательские субагенты с именами `Explore` или `Plan` не затрагиваются. Чтобы удалить все встроенные типы субагентов в Agent SDK или неинтерактивном режиме, используйте вместо этого `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`. Требуется Claude Code v2.1.198 или новее |

264| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите `1`, чтобы отключить [быстрый режим](/docs/ru/fast-mode) |268| `CLAUDE_CODE_DISABLE_FAST_MODE` | Установите `1`, чтобы отключить [быстрый режим](/docs/ru/fast-mode) |

265| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите `1`, чтобы отключить опросы о качестве сессии «How is Claude doing?». Опросы также отключены, если задана `DISABLE_TELEMETRY`, `DO_NOT_TRACK` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, если только `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` не включает их обратно. Чтобы задать частоту выборки вместо полного отключения, используйте настройку [`feedbackSurveyRate`](/docs/ru/settings-reference#feedbacksurveyrate). См. [Опросы о качестве сессий](/docs/ru/data-usage#session-quality-surveys) |269| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Установите `1`, чтобы отключить опросы о качестве сессии «How is Claude doing?». Опросы также отключаются, если задана `DISABLE_TELEMETRY`, `DO_NOT_TRACK` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, если только `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` не включает их снова. Чтобы задать частоту выборки вместо полного отключения, используйте настройку [`feedbackSurveyRate`](/docs/ru/settings-reference#feedbacksurveyrate). См. [Опросы о качестве сессии](/docs/ru/data-usage#session-quality-surveys) |

266| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите `1`, чтобы отключить [чекпоинты](/docs/ru/checkpointing) файлов. Команда `/rewind` не сможет восстанавливать изменения кода. Переопределяет настройку [`fileCheckpointingEnabled`](/docs/ru/settings-reference#filecheckpointingenabled) |270| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите `1`, чтобы отключить [чекпоинты](/docs/ru/checkpointing) файлов. Команда `/rewind` не сможет восстанавливать изменения кода. Переопределяет настройку [`fileCheckpointingEnabled`](/docs/ru/settings-reference#filecheckpointingenabled) |

267| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите `1`, чтобы удалить из контекста Claude встроенные инструкции по рабочему процессу коммитов и PR, а также снимок статуса git. Полезно, если вы используете собственные скиллы для работы с git. Если задана, имеет приоритет над настройкой [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions) |271| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите `1`, чтобы удалить из контекста Claude встроенные инструкции по рабочему процессу коммитов и PR, а также снимок статуса git. Полезно, если вы используете собственные скиллы для рабочего процесса git. Если задана, имеет приоритет над настройкой [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions) |

268| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Установите `1`, чтобы Claude Code не анализировал скрипты, передаваемые оболочке через `-c`, например `bash -c 'rm -rf ~'`, на предмет удаления [критических путей](/docs/ru/permission-modes#removals-inside-nested-commands-and-inline-scripts). Claude Code по-прежнему проверяет цели в виде переменных оболочки и позиционных параметров в этих скриптах, а остальные проверки критических путей продолжают выполняться. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.288 или новее |272| `CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT` | Установите `1`, чтобы Claude Code не анализировал скрипты, передаваемые оболочке через `-c`, например `bash -c 'rm -rf ~'`, на предмет удаления [критических путей](/docs/ru/permission-modes#removals-inside-nested-commands-and-inline-scripts). Claude Code по-прежнему проверяет цели в виде переменных оболочки и позиционных параметров в таких скриптах, а остальные проверки критических путей продолжают работать. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.288 или новее |

269| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите `1`, чтобы предотвратить автоматическое сопоставление Opus 4.0 и 4.1 с текущей версией Opus в Anthropic API. Используйте, если вы намеренно хотите закрепить более старую модель. Сопоставление не выполняется в Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |273| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите `1`, чтобы предотвратить автоматическое переназначение Opus 4.0 и 4.1 на текущую версию Opus в Anthropic API. Используйте, если вы намеренно хотите закрепить более старую модель. Переназначение не выполняется в Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |

270| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Установите `1`, чтобы Claude Code в [Amazon Bedrock](/docs/ru/amazon-bedrock#when-a-model-is-disabled-mid-session) и [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai#when-a-model-is-disabled-mid-session) не переключался на более старую модель, когда ваш аккаунт посреди сессии теряет доступ к модели сессии; вместо этого отклонённый запрос сразу завершается ошибкой. Настроенная вами [цепочка резервных моделей](/docs/ru/model-config#fallback-model-chains) по-прежнему выполняет переключение при таком отказе, а [проверки модели при запуске](/docs/ru/amazon-bedrock#startup-model-checks) по-прежнему используют резервный вариант при запуске. Требуется Claude Code v2.1.285 или новее |274| `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` | Установите `1`, чтобы Claude Code в [Amazon Bedrock](/docs/ru/amazon-bedrock#when-a-model-is-disabled-mid-session) и [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai#when-a-model-is-disabled-mid-session) не переключался на более старую модель, когда ваш аккаунт теряет доступ к модели сессии посреди сессии; вместо этого отклонённый запрос сразу завершается сбоем. Настроенная вами [цепочка резервных моделей](/docs/ru/model-config#fallback-model-chains) по-прежнему переключается при таком отказе, а [проверки модели при запуске](/docs/ru/amazon-bedrock#startup-model-checks) по-прежнему переключаются на резервный вариант при запуске. Требуется Claude Code v2.1.285 или новее |

271| `CLAUDE_CODE_DISABLE_MOUSE` | Установите `1`, чтобы отключить отслеживание мыши в [полноэкранной отрисовке](/docs/ru/fullscreen). Прокрутка с клавиатуры с помощью `PgUp` и `PgDn` по-прежнему работает. Используйте, чтобы сохранить нативное копирование при выделении в терминале |275| `CLAUDE_CODE_DISABLE_MOUSE` | Установите `1`, чтобы отключить отслеживание мыши в [полноэкранной отрисовке](/docs/ru/fullscreen). Прокрутка с клавиатуры с помощью `PgUp` и `PgDn` по-прежнему работает. Используйте, чтобы сохранить нативное копирование при выделении в терминале |

272| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Установите `1`, чтобы отключить обработку щелчков, перетаскивания и наведения в [полноэкранной отрисовке](/docs/ru/fullscreen), сохранив прокрутку колесом мыши. Используйте, если хотите, чтобы прокрутка колесом работала внутри Claude Code, но не хотите, чтобы щелчки перемещали курсор, разворачивали вывод инструментов или открывали ссылки. Если заданы обе переменные, `CLAUDE_CODE_DISABLE_MOUSE` имеет приоритет. Требуется Claude Code v2.1.195 или новее |276| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Установите `1`, чтобы отключить обработку щелчков, перетаскивания и наведения в [полноэкранной отрисовке](/docs/ru/fullscreen), сохранив прокрутку колёсиком мыши. Используйте, если хотите, чтобы прокрутка колёсиком работала в Claude Code, но не хотите, чтобы щелчки перемещали курсор, разворачивали вывод инструментов или открывали ссылки. Если заданы обе переменные, приоритет имеет `CLAUDE_CODE_DISABLE_MOUSE`. Требуется Claude Code v2.1.195 или новее |

273| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Установите `1`, чтобы Claude Code не перечитывал [клиентский сертификат и ключ mTLS](/docs/ru/network-config#mtls-authentication), когда запрос API завершается ошибкой на уровне подключения, например сбросом подключения или ошибкой TLS-рукопожатия. Когда перезагрузка отключена, Claude Code загружает обновлённые файлы только при следующем применении настроек или при следующем запуске. Требуется Claude Code v2.1.232 или новее |277| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Установите `1`, чтобы Claude Code не перечитывал [клиентский сертификат и ключ mTLS](/docs/ru/network-config#mtls-authentication), когда запрос API завершается ошибкой уровня подключения, например сбросом подключения или ошибкой TLS-рукопожатия. При отключённой перезагрузке Claude Code загружает обновлённые файлы только при следующем применении настроек или при следующем запуске. Требуется Claude Code v2.1.232 или новее |

274| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Задайте любое непустое значение, например `1`, чтобы отключить несущественный сетевой трафик: автообновления, телеметрию, отчёты об ошибках, команду `/feedback`, [отзывы, составленные Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), примечания к выпуску, проверки [значка статуса PR и MR](/docs/ru/interactive-mode#pr-review-status) и проверки доступности, такие как проверка [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Она также останавливает [фоновые запуски источников `command` плагинов](/docs/ru/plugins/loading#when-a-command-source-re-runs), которые являются локальными командами, а не сетевым трафиком, поскольку они могут запускать установку зависимостей. **Значение `0` или `false` тоже отключает этот трафик**, в отличие от большинства переменных включения/отключения; чтобы снова разрешить его, удалите переменную. Также отключает получение флагов функций, из-за чего [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, которым требуется получение флагов функций](#features-that-need-feature-flag-fetching), становятся недоступны. Автоматическая установка официального маркетплейса плагинов этим не охватывается; отключите её с помощью `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Не влияет на [обнаружение моделей шлюза](/docs/ru/llm-gateway-connect#add-gateway-models-to-the-model-picker), которое включается отдельно |278| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Установите любое непустое значение, например `1`, чтобы отключить несущественный сетевой трафик: автообновления, телеметрию, отчёты об ошибках, команду `/feedback`, [отзывы, составленные Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), заметки о выпуске, проверки [значка статуса PR и MR](/docs/ru/interactive-mode#pr-review-status) и проверки доступности, такие как проверка [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Также останавливает [фоновые запуски источников `command` плагинов](/docs/ru/plugins/loading#when-a-command-source-re-runs), которые являются локальными командами, а не сетевым трафиком, поскольку они могут запускать установку зависимостей. **Значение `0` или `false` по-прежнему отключает этот трафик**, в отличие от большинства переменных включения и отключения; чтобы снова разрешить его, удалите переменную. Также отключает получение флагов функций, из-за чего [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, которым требуется получение флагов функций](#features-that-need-feature-flag-fetching), становятся недоступными. Автоматическая установка официального маркетплейса плагинов не затрагивается; отключите её с помощью `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Не влияет на [обнаружение моделей шлюза](/docs/ru/llm-gateway-connect#add-gateway-models-to-the-model-picker), которое включается отдельно |

275| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Установите `1`, чтобы отключить резервный вариант без потоковой передачи, когда потоковый запрос завершается сбоем посреди потока. Вместо этого ошибки потоковой передачи передаются на уровень повторных попыток. Полезно, когда из-за прокси или шлюза резервный вариант приводит к повторному выполнению инструментов |279| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Установите `1`, чтобы отключить резервный непотоковый вариант, когда потоковый запрос завершается сбоем посреди потока. Вместо этого ошибки потоковой передачи передаются на уровень повторных попыток. Полезно, когда из-за прокси или шлюза резервный вариант приводит к повторному выполнению инструментов |

276| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Установите `1`, чтобы инструмент `PushNotification` отправлял уведомление на рабочем столе, даже когда вы печатаете в терминале или терминал находится в фокусе. По умолчанию инструмент пропускает и уведомление на рабочем столе, и [мобильное push-уведомление](/docs/ru/remote-control#mobile-push-notifications), когда обнаруживает недавнюю активность клавиатуры или фокус терминала. Эта переменная отключает только эту локальную проверку, поэтому сервер по-прежнему может подавить мобильное push-уведомление, если обнаружит, что вы активны. Требуется Claude Code v2.1.193 или новее |280| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Установите `1`, чтобы инструмент `PushNotification` отправлял уведомление на рабочий стол, даже когда вы печатаете в терминале или он находится в фокусе. По умолчанию инструмент пропускает и уведомление на рабочий стол, и [мобильное push-уведомление](/docs/ru/remote-control#mobile-push-notifications), если обнаруживает недавнюю активность клавиатуры или фокус на терминале. Эта переменная отключает только эту локальную проверку, поэтому сервер всё равно может подавить мобильное push-уведомление, если обнаружит, что вы активны. Требуется Claude Code v2.1.193 или новее |

277| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите `1`, чтобы отключить автоматическую регистрацию официального маркетплейса плагинов. Claude Code считывает переменную непосредственно перед регистрацией маркетплейса, обычно при первом интерактивном запуске на компьютере. Если в этот момент переменная задана, Claude Code навсегда пропускает регистрацию. Последующее удаление переменной не отменяет этот пропуск. Выполните `claude plugin marketplace add anthropics/claude-plugins-official`, чтобы зарегистрировать маркетплейс в любое время |281| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите `1`, чтобы отключить автоматическую регистрацию официального маркетплейса плагинов. Claude Code читает переменную непосредственно перед регистрацией маркетплейса, обычно при первом интерактивном запуске на компьютере. Если в этот момент переменная задана, Claude Code навсегда пропускает регистрацию. Последующее удаление переменной не отменяет пропуск. Выполните `claude plugin marketplace add anthropics/claude-plugins-official`, чтобы зарегистрировать маркетплейс в любое время |

278| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Установите `1`, чтобы Claude Code не запускал ваши [хуки `Notification` для неотвеченных запросов разрешений](/docs/ru/hooks#notification) в сессиях, где Claude Code отправляет такие запросы в обратный вызов `canUseTool` Agent SDK — именно так Claude Desktop и расширение VS Code размещают Claude Code. Не действует в терминальных сессиях. Требуется Claude Code v2.1.233 или новее |282| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Установите `1`, чтобы Claude Code не запускал ваши [хуки `Notification` для запросов разрешения, оставшихся без ответа](/docs/ru/hooks#notification), в сессиях, где Claude Code отправляет их в обратный вызов `canUseTool` в Agent SDK, — именно так Claude Desktop и расширение VS Code размещают Claude Code. Не действует в терминальных сессиях. Требуется Claude Code v2.1.233 или новее |

279| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Установите `1`, чтобы пропустить загрузку скиллов из общесистемного каталога управляемых скиллов. Полезно для сессий в контейнерах или CI, которые не должны загружать скиллы, предоставленные оператором |283| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Установите `1`, чтобы не загружать скиллы из общесистемного каталога управляемых скиллов. Полезно для сессий в контейнерах или CI, которые не должны загружать скиллы, предоставленные оператором |

280| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Установите `1`, чтобы отключить проверку [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool), которая запрещает встроенные команды `cmd` `rd`, `rmdir`, `del` и `erase` для [системного пути](/docs/ru/permission-modes#remove-item-in-powershell), например корня диска или вашего домашнего каталога. Claude Code игнорирует эту переменную в блоке `env` файла настроек. Требуется Claude Code v2.1.283 или новее |284| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | Установите `1`, чтобы отключить проверку [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool), которая запрещает встроенные команды `cmd` `rd`, `rmdir`, `del` и `erase` для [системного пути](/docs/ru/permission-modes#remove-item-in-powershell), например корня диска или вашего домашнего каталога. Claude Code игнорирует эту переменную в блоке `env` файла настроек. Требуется Claude Code v2.1.283 или новее |

281| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Установите `1`, чтобы отключить [автоматическое переключение модели, когда классификатор безопасности помечает запрос](/docs/ru/model-config#automatic-model-fallback), — поведение, которым управляет настройка [`switchModelsOnFlag`](/docs/ru/settings-reference#switchmodelsonflag) |285| `CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK` | Установите `1`, чтобы отключить [автоматическое переключение модели, когда классификатор безопасности помечает запрос](/docs/ru/model-config#automatic-model-fallback), — поведение, которым управляет настройка [`switchModelsOnFlag`](/docs/ru/settings-reference#switchmodelsonflag) |

282| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Установите `1`, чтобы Claude Code не отправлял поле структурированного вывода `output_config.format` и связанное с ним значение `anthropic-beta`, — для [LLM-шлюза](/docs/ru/llm-gateway-protocol#feature-pass-through), вышестоящий сервис которого их отклоняет. Остальные предварительные возможности, которые отключает [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities), остаются включёнными. Требуется Claude Code v2.1.288 или новее |286| `CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS` | Установите `1`, чтобы Claude Code не отправлял поле структурированного вывода `output_config.format` и связанное с ним значение `anthropic-beta`, для [LLM-шлюза](/docs/ru/llm-gateway-protocol#feature-pass-through), вышестоящий сервер которого их отклоняет. При этом остаются включёнными другие предварительные возможности, которые отключает [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities). Требуется Claude Code v2.1.288 или новее |

283| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Установите `1`, чтобы отключить проверку [критических путей](/docs/ru/permission-modes#critical-paths) для рекурсивного `rm`, цель которого целиком является выводом подстановки команды, например `rm -rf "$(pwd)"`. Остальные проверки критических путей продолжают выполняться. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.281 или новее |287| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | Установите `1`, чтобы отключить проверку [критических путей](/docs/ru/permission-modes#critical-paths) для рекурсивного `rm`, цель которого целиком является результатом подстановки команды, например `rm -rf "$(pwd)"`. Остальные проверки критических путей продолжают работать. Задайте её в окружении, из которого запускается Claude Code, поскольку Claude Code игнорирует копию, доставленную через блок `env` настроек. Требуется Claude Code v2.1.281 или новее |

284| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите `1`, чтобы отключить автоматическое обновление заголовка терминала на основе контекста диалога. Это также отменяет фоновый запрос к небольшой быстрой модели, который [генерирует название сессии](/docs/ru/sessions#name-your-sessions) |288| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите `1`, чтобы отключить автоматическое обновление заголовка терминала на основе контекста диалога. Также пропускается фоновый запрос к небольшой быстрой модели, который [генерирует название сессии](/docs/ru/sessions#name-your-sessions) |

285| `CLAUDE_CODE_DISABLE_THINKING` | Установите `1`, чтобы полностью исключить параметр `thinking` из запросов API. Это вариант совместимости для прокси и шлюзов, которые отклоняют этот параметр. В моделях, которые используют мышление по умолчанию, исключение параметра означает, что модель всё равно может размышлять. Чтобы явно отключить [расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) в Anthropic API, используйте вместо этого `MAX_THINKING_TOKENS=0`. Ни одна из этих переменных не отключает мышление в Opus 5.5, Sonnet 5.5, Haiku 5.5 или моделях Fable, в которых мышление отключить нельзя. У [сторонних провайдеров](/docs/ru/third-party-integrations) `MAX_THINKING_TOKENS=0` также исключает параметр, поэтому там обе переменные ведут себя одинаково |289| `CLAUDE_CODE_DISABLE_THINKING` | Установите `1`, чтобы полностью исключить параметр `thinking` из запросов API. Это опция совместимости для прокси и шлюзов, которые отклоняют этот параметр. В моделях, которые размышляют по умолчанию, отсутствие параметра означает, что модель всё равно может размышлять. Чтобы явно отключить [расширенное мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) в Anthropic API, используйте вместо этого `MAX_THINKING_TOKENS=0`. Ни одна из переменных не отключает мышление в Opus 5.5, Sonnet 5.5, Haiku 5.5 или моделях Fable, в которых мышление нельзя отключить. У [сторонних провайдеров](/docs/ru/third-party-integrations) `MAX_THINKING_TOKENS=0` также исключает параметр, поэтому там обе переменные ведут себя одинаково |

286| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Установите `1`, чтобы пропускать упреждающее [автосжатие](/docs/ru/costs#reduce-token-usage), когда Claude Code не распознаёт ID модели, например псевдоним [LLM-шлюза](/docs/ru/llm-gateway). Без этой переменной Claude Code выполняет сжатие контекста исходя из контекстного окна, которое он предполагает для этого ID. Вместо этого предполагаемое окно можно скорректировать с помощью `CLAUDE_CODE_MAX_CONTEXT_TOKENS`; о том, когда применяется каждая из переменных, см. [Корректировка окна для ID модели шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Требуется Claude Code v2.1.223 или новее |290| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Установите `1`, чтобы пропускать упреждающее [автосжатие](/docs/ru/costs#reduce-token-usage), когда Claude Code не распознаёт ID модели, например псевдоним [LLM-шлюза](/docs/ru/llm-gateway). Без этой переменной Claude Code выполняет сжатие контекста по контекстному окну, которое он предполагает для этого ID. Вместо этого предполагаемое окно можно скорректировать с помощью `CLAUDE_CODE_MAX_CONTEXT_TOKENS`; о том, когда применяется каждая переменная, см. [Корректировка окна для ID модели шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Требуется Claude Code v2.1.223 или новее |

287| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Установите `1`, чтобы отключить виртуальную прокрутку в [полноэкранной отрисовке](/docs/ru/fullscreen) и отрисовывать каждое сообщение в транскрипте. Используйте, если при прокрутке в полноэкранном режиме на месте сообщений отображаются пустые области |291| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Установите `1`, чтобы отключить виртуальную прокрутку в [полноэкранной отрисовке](/docs/ru/fullscreen) и отрисовывать каждое сообщение транскрипта. Используйте, если при прокрутке в полноэкранном режиме на месте сообщений отображаются пустые области |

288| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Установите `1`, чтобы отключить инструмент [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior). Инструмент [WebSearch](/docs/ru/tools-reference#websearch-tool-behavior) остаётся доступным. Требуется Claude Code v2.1.285 или новее |292| `CLAUDE_CODE_DISABLE_WEB_FETCH` | Установите `1`, чтобы отключить инструмент [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior). Инструмент [WebSearch](/docs/ru/tools-reference#websearch-tool-behavior) остаётся доступным. Требуется Claude Code v2.1.285 или новее |

289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Установите `1`, чтобы запускать команды [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool) в Windows напрямую, а не через загрузчик `cmd.exe`. По умолчанию загрузчик позволяет команде PowerShell, [выполняющейся в фоне](/docs/ru/tools-reference#background-commands), [перейти в следующий процесс сессии](/docs/ru/agent-view#the-supervisor-process), например когда вы [переводите сессию в фон](/docs/ru/agent-view#from-inside-a-session). Если задать эту переменную, фоновая команда PowerShell останавливается при завершении процесса сессии. Команды Bash не затрагиваются. Требуется Claude Code v2.1.269 или новее |293| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Установите `1`, чтобы запускать команды [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool) в Windows напрямую, а не через загрузчик `cmd.exe`. По умолчанию загрузчик позволяет команде PowerShell, [выполняющейся в фоне](/docs/ru/tools-reference#background-commands), [переходить в следующий процесс сессии](/docs/ru/agent-view#the-supervisor-process), например когда вы [переводите сессию в фон](/docs/ru/agent-view#from-inside-a-session). Если задать переменную, фоновая команда PowerShell останавливается при завершении процесса сессии. Команды Bash не затрагиваются. Требуется Claude Code v2.1.269 или новее |

290| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите `1`, чтобы отключить [рабочие процессы](/docs/ru/workflows#turn-workflows-off). Эквивалентно настройке [`disableWorkflows`](/docs/ru/settings-reference#disableworkflows) |294| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите `1`, чтобы отключить [рабочие процессы](/docs/ru/workflows#turn-workflows-off). Эквивалентно настройке [`disableWorkflows`](/docs/ru/settings-reference#disableworkflows) |

291| `CLAUDE_CODE_EFFORT_LEVEL` | Задаёт уровень effort для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto`, чтобы использовать значение модели по умолчанию. Доступные уровни зависят от модели. Имеет приоритет над `--effort`, `/effort` и настройками `modelSettings` и `effortLevel`. Ограничение [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) по-прежнему применяется. См. [Настройка уровня effort](/docs/ru/model-config#adjust-effort-level) |295| `CLAUDE_CODE_EFFORT_LEVEL` | Задаёт уровень effort для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения модели по умолчанию. Доступные уровни зависят от модели. Имеет приоритет над `--effort`, `/effort` и настройками `modelSettings` и `effortLevel`. Ограничение [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) по-прежнему применяется. См. [Настройка уровня effort](/docs/ru/model-config#adjust-effort-level) |

292| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Установите значение `1`, чтобы добавлять в поток сообщений сообщения [`session_state_changed`](/docs/ru/agent-sdk/typescript#sdksessionstatechangedmessage), которые содержат состояние сессии. Требуется либо [Agent SDK](/docs/ru/agent-sdk/overview), либо `--print`, `--output-format stream-json` и `--verbose` |296| `CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS` | Установите `1`, чтобы добавлять в поток сообщений сообщения [`session_state_changed`](/docs/ru/agent-sdk/typescript#sdksessionstatechangedmessage), содержащие состояние сессии. Требуется либо [Agent SDK](/docs/ru/agent-sdk/overview), либо `--print`, `--output-format stream-json` и `--verbose` |

293| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Принимается для совместимости со старыми версиями и ни на что не влияет. Авторежим доступен по умолчанию у каждого провайдера, включая Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессии [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом. В версиях с v2.1.158 по v2.1.206 значение `1` требовалось, чтобы сделать [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) доступным у этих провайдеров |297| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Принимается для совместимости со старыми версиями и ни на что не влияет. Авторежим доступен по умолчанию у всех провайдеров, включая Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессии [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом. В версиях с v2.1.158 по v2.1.206 установка значения `1` требовалась, чтобы сделать [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) доступным у этих провайдеров |

294| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Переопределяет доступность [резюме сессии](/docs/ru/interactive-mode#session-recap). Установите `0`, чтобы принудительно отключить резюме независимо от переключателя в `/config`. Установите `1`, чтобы принудительно включить резюме, когда [`awaySummaryEnabled`](/docs/ru/settings-reference#awaysummaryenabled) имеет значение `false`. Имеет приоритет над настройкой и переключателем в `/config` |298| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Переопределяет доступность [сводки сессии](/docs/ru/interactive-mode#session-recap). Установите `0`, чтобы принудительно отключить сводки независимо от переключателя в `/config`. Установите `1`, чтобы принудительно включить сводки, когда [`awaySummaryEnabled`](/docs/ru/settings-reference#awaysummaryenabled) имеет значение `false`. Имеет приоритет над настройкой и переключателем в `/config` |

295| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Установите `1`, чтобы обновлять состояние плагинов на границах ходов в [неинтерактивном режиме](/docs/ru/headless) после завершения фоновой установки. По умолчанию отключено, поскольку обновление меняет системный промпт посреди сессии, что делает недействительным [кэширование промптов](/docs/ru/prompt-caching) для этого хода |299| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Установите `1`, чтобы обновлять состояние плагинов на границах ходов в [неинтерактивном режиме](/docs/ru/headless) после завершения фоновой установки. По умолчанию отключено, поскольку обновление изменяет системный промпт посреди сессии, что делает недействительным [кэширование промптов](/docs/ru/prompt-caching) для этого хода |

296| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите `1`, чтобы направлять опрос о качестве сессии «How is Claude doing?» в ваш собственный [коллектор OpenTelemetry](/docs/ru/monitoring-usage), когда второстепенный трафик в Anthropic заблокирован. Оценки опроса отправляются только в виде событий OTEL в настроенный вами коллектор. В этом режиме никакие данные опроса не отправляются в Anthropic. Действует, когда задана `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, а в остальных случаях ни на что не влияет. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика организации в отношении отзывов о продукте имеют приоритет |300| `CLAUDE_CODE_ENABLE_CFC` | Установите `1`, чтобы запускать сессию CLI с включённой [интеграцией с Chrome](/docs/ru/chrome), или `0`, чтобы запускать с отключённой. Имеет приоритет над настройкой [`claudeInChromeDefaultEnabled`](/docs/ru/settings-reference#claudeinchromedefaultenabled). Флаги `--chrome` и `--no-chrome` имеют приоритет над обоими. Claude Code [игнорирует `1` в настройках проекта и локальных настройках](/docs/ru/chrome#project-settings-can’t-turn-on-chrome) |

297| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Определяет, передаются ли входные данные вызовов инструментов потоком от API по мере того, как Claude их генерирует. Если это отключено, большие входные данные инструмента, например запись длинного файла, поступают только после того, как Claude закончит их генерировать, что может выглядеть как зависание. По умолчанию включено в Anthropic API. В Amazon Bedrock и Google Cloud's Agent Platform включается для отдельных моделей, если развёрнутый контейнер это поддерживает. Установите `0`, чтобы отказаться. Установите `1`, чтобы принудительно включить при маршрутизации через прокси с помощью `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. По умолчанию отключено в Microsoft Foundry и при подключениях через [шлюз](/docs/ru/llm-gateway) |301| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите `1`, чтобы направлять опрос о качестве сессии "How is Claude doing?" в ваш собственный [коллектор OpenTelemetry](/docs/ru/monitoring-usage), когда второстепенный трафик к Anthropic заблокирован. Оценки опроса отправляются только как события OTEL в настроенный вами коллектор. В этом режиме никакие данные опроса не отправляются в Anthropic. Применяется, когда задана `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, и в остальных случаях ни на что не влияет. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика организации в отношении отзывов о продукте имеют приоритет |

298| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите `1`, чтобы заполнять список выбора `/model` из эндпоинта `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на Anthropic-совместимый шлюз, такой как LiteLLM, Kong или внутренний прокси. По умолчанию отключено, поскольку иначе шлюзы с общим API-ключом показывали бы каждому пользователю все модели, к которым есть доступ у ключа. Обнаруженные модели по-прежнему фильтруются списком разрешённых моделей [`availableModels`](/docs/ru/settings-reference#availablemodels), который получает сессия; передавайте этот список через [MDM или файл управляемых настроек](/docs/ru/managed-settings#delivery-mechanisms), поскольку [доставка настроек с сервера недоступна в конфигурациях со шлюзом](/docs/ru/server-managed-settings#platform-availability) |302| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет тем, передаются ли входные данные вызовов инструментов потоком из API по мере их генерации Claude. Если это отключено, большие входные данные инструмента, например длинная запись в файл, поступают только после того, как Claude закончит их генерировать, из-за чего может казаться, что процесс завис. По умолчанию включено в Anthropic API. В Amazon Bedrock и Google Cloud's Agent Platform включается для каждой модели отдельно, если развёрнутый контейнер это поддерживает. Установите `0`, чтобы отказаться. Установите `1`, чтобы принудительно включить при маршрутизации через прокси с помощью `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. По умолчанию отключено в Microsoft Foundry и при подключениях через [шлюз](/docs/ru/llm-gateway) |

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

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

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

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

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

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

304| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Время в миллисекундах, которое нужно подождать после того, как цикл запросов перешёл в состояние простоя, перед автоматическим завершением. Полезно для автоматизированных рабочих процессов и скриптов, использующих режим SDK |309| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Время ожидания в миллисекундах после перехода цикла запросов в состояние простоя перед автоматическим завершением. Полезно для автоматизированных рабочих процессов и скриптов, использующих режим SDK |

305| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите `1`, чтобы включить [команды агентов](/docs/ru/agent-teams). Команды агентов экспериментальны и по умолчанию отключены |310| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Установите `1`, чтобы включить [команды агентов](/docs/ru/agent-teams). Команды агентов являются экспериментальными и по умолчанию отключены |

306| `CLAUDE_CODE_EXTRA_BODY` | JSON-объект, который объединяется с верхним уровнем тела каждого API-запроса. Полезно для передачи специфичных для провайдера параметров, которые Claude Code не предоставляет напрямую. Значение, экспортированное в вашей оболочке, также применяется к [фоновым сессиям](/docs/ru/agent-view), которые вы запускаете с помощью `claude agents` или `--bg`. До v2.1.206 фоновые сессии игнорировали значение, экспортированное в оболочке, и использовали ту копию, которую унаследовал фоновый процесс-супервизор |311| `CLAUDE_CODE_EXTRA_BODY` | JSON-объект, объединяемый с верхним уровнем тела каждого запроса к API. Полезно для передачи специфичных для провайдера параметров, которые Claude Code не предоставляет напрямую. Значение, экспортированное в вашей оболочке, также применяется к [фоновым сессиям](/docs/ru/agent-view), которые вы запускаете с помощью `claude agents` или `--bg`. До v2.1.206 фоновые сессии игнорировали значение, экспортированное в оболочке, и использовали ту копию, которую унаследовал фоновый процесс-супервизор |

307| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределяет лимит токенов по умолчанию для чтения файлов. Полезно, когда нужно прочитать большие файлы целиком |312| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Переопределяет лимит токенов по умолчанию для чтения файлов. Полезно, когда нужно прочитать файлы большего размера целиком |

308| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Установите `1`, чтобы принудительно включить сохранение транскриптов, истории промптов и регистрацию в `claude agents`, даже когда этот `claude` был запущен изнутри другой сессии Claude Code. Используйте, когда унаследованное значение `CLAUDE_CODE_CHILD_SESSION`, например из сессии `screen` или фонового загрузчика, впервые запущенного инструментом Bash Claude Code, приводит к тому, что настоящая сессия верхнего уровня ошибочно классифицируется как вложенная. Начиная с v2.1.178 Claude Code автоматически распознаёт случай с tmux и игнорирует унаследованный маркер, поэтому для tmux эта переменная больше не нужна. Также учитывается в v2.1.169 и более ранних версиях; не действует в v2.1.170 и v2.1.171, где было удалено обнаружение вложенных сессий, которое она переопределяет |313| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Установите `1`, чтобы принудительно включить сохранение транскриптов, истории промптов и регистрацию в `claude agents`, даже если этот `claude` был запущен изнутри другой сессии Claude Code. Используйте, когда унаследованное значение `CLAUDE_CODE_CHILD_SESSION`, например из сессии `screen` или фонового загрузчика, впервые запущенного инструментом Bash в Claude Code, приводит к тому, что настоящая сессия верхнего уровня ошибочно классифицируется как вложенная. Начиная с v2.1.178 Claude Code автоматически распознаёт случай с tmux и игнорирует унаследованный маркер, поэтому для tmux эта переменная больше не нужна. Также учитывается в v2.1.169 и более ранних версиях; не действует в v2.1.170 и v2.1.171, где было удалено обнаружение вложенных сессий, которое она переопределяет |

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

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

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

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

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

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

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

316| `CLAUDE_CODE_GIT_BASH_PATH` | Только для Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но отсутствует в PATH. Если путь не существует или файл не называется `bash.exe`, `sh.exe`, `bash` или `sh`, Claude Code игнорирует переменную и автоматически определяет Git Bash так, как если бы она не была задана, записывая в лог предупреждение, видимое с `--debug`. До v2.1.219 Claude Code завершал работу при запуске, если путь не существовал, и использовал любой существующий файл в качестве оболочки, не проверяя, что это bash или sh. См. [Настройка в Windows](/docs/ru/setup#set-up-on-windows) |321| `CLAUDE_CODE_GIT_BASH_PATH` | Только для Windows: путь к исполняемому файлу Git Bash (`bash.exe`). Используйте, когда Git Bash установлен, но отсутствует в PATH. Если путь не существует или файл называется не `bash.exe`, `sh.exe`, `bash` или `sh`, Claude Code игнорирует переменную и автоматически определяет Git Bash так, как если бы она не была задана, записывая в лог предупреждение, видимое с `--debug`. До v2.1.219 Claude Code завершался при запуске, если путь не существовал, и использовал любой существующий файл в качестве оболочки, не проверяя, что это bash или sh. См. [Настройка в Windows](/docs/ru/setup#set-up-on-windows) |

317| `CLAUDE_CODE_GLOB_HIDDEN` | Установите `false`, чтобы исключать dot-файлы из результатов, когда Claude вызывает [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior). По умолчанию они включены. Не влияет на автодополнение файлов через `@`, `ls`, Grep или Read |322| `CLAUDE_CODE_GLOB_HIDDEN` | Установите `false`, чтобы исключать dot-файлы из результатов, когда Claude вызывает [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior). По умолчанию они включаются. Не влияет на автодополнение файлов через `@`, `ls`, Grep или Read |

318| `CLAUDE_CODE_GLOB_NO_IGNORE` | Установите `false`, чтобы [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior) учитывал шаблоны `.gitignore`. По умолчанию Glob возвращает все подходящие файлы, включая игнорируемые через gitignore. Не влияет на автодополнение файлов через `@`, для которого есть собственная [настройка `respectGitignore`](/docs/ru/settings-reference#respectgitignore) |323| `CLAUDE_CODE_GLOB_NO_IGNORE` | Установите `false`, чтобы [инструмент Glob](/docs/ru/tools-reference#glob-tool-behavior) учитывал шаблоны `.gitignore`. По умолчанию Glob возвращает все подходящие файлы, включая игнорируемые git. Не влияет на автодополнение файлов через `@`, у которого есть собственная [настройка `respectGitignore`](/docs/ru/settings-reference#respectgitignore) |

319| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Таймаут в секундах для поиска файлов инструментом Glob. По умолчанию 20 секунд на большинстве платформ и 60 секунд в WSL |324| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Таймаут в секундах для обнаружения файлов инструментом Glob. По умолчанию 20 секунд на большинстве платформ и 60 секунд в WSL |

320| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Сколько минут фоновая работа может удерживать активную цель в ожидании, прежде чем Claude Code [попросит Claude проверить её](/docs/ru/goal#background-work-defers-evaluation). По умолчанию `30`. Установите `0`, чтобы отключить проверки. Укажите целое число минут цифрами, не более `10080`, что составляет одну неделю. Любое другое значение Claude Code считает незаданным и использует значение по умолчанию. Требуется Claude Code v2.1.234 или новее |325| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Сколько минут фоновая работа может удерживать активную цель в ожидании, прежде чем Claude Code [попросит Claude проверить её](/docs/ru/goal#background-work-defers-evaluation). По умолчанию `30`. Установите `0`, чтобы отключить проверки. Укажите целое число минут цифрами, не более `10080`, то есть одной недели. Любое другое значение Claude Code считает незаданным и использует значение по умолчанию. Требуется Claude Code v2.1.234 или новее |

321| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Установите `0`, чтобы отключить gzip-сжатие тел запросов к Claude API, запросов телеметрии и запросов публикации [артефактов](/docs/ru/artifacts), отправляемых на `api.anthropic.com`. По умолчанию Claude Code сжимает большие тела запросов при прямых подключениях и пропускает сжатие, когда вы отправляете запросы через прокси, настраиваете клиентский сертификат или задаёте `NODE_EXTRA_CA_CERTS`. Используйте `0`, если [прокси с инспекцией TLS](/docs/ru/network-config#ca-certificate-store), который Claude Code не может обнаружить, неправильно обрабатывает сжатые запросы |326| `CLAUDE_CODE_GZIP_REQUEST_BODIES` | Установите `0`, чтобы отключить gzip-сжатие тел запросов Claude API, телеметрии и публикации [артефактов](/docs/ru/artifacts), отправляемых на `api.anthropic.com`. По умолчанию Claude Code сжимает большие тела запросов при прямых подключениях и пропускает сжатие, когда вы отправляете запросы через прокси, настраиваете клиентский сертификат или задаёте `NODE_EXTRA_CA_CERTS`. Используйте `0`, если [прокси с инспекцией TLS](/docs/ru/network-config#ca-certificate-store), который Claude Code не может обнаружить, неправильно обрабатывает сжатые запросы |

322| `CLAUDE_CODE_HIDE_CWD` | Установите `1`, чтобы скрыть рабочий каталог в логотипе при запуске. Полезно при демонстрации экрана или записи, когда путь раскрывает имя пользователя ОС |327| `CLAUDE_CODE_HIDE_CWD` | Установите `1`, чтобы скрыть рабочий каталог в логотипе при запуске. Полезно при демонстрации экрана или записях, где путь раскрывает ваше имя пользователя ОС |

323| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Переопределяет адрес хоста, используемый для подключения к расширению IDE. По умолчанию Claude Code автоматически определяет правильный адрес, включая маршрутизацию из WSL в Windows |328| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | Переопределяет адрес хоста, используемый для подключения к расширению IDE. По умолчанию Claude Code автоматически определяет правильный адрес, включая маршрутизацию из WSL в Windows |

324| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Установите `1`, чтобы пропустить автоматическую установку расширений IDE. Эквивалентно значению `false` для [`autoInstallIdeExtension`](/docs/ru/settings-reference#autoinstallideextension) |329| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Установите `1`, чтобы пропустить автоматическую установку расширений IDE. Эквивалентно присвоению [`autoInstallIdeExtension`](/docs/ru/settings-reference#autoinstallideextension) значения `false` |

325| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Установите `1`, чтобы пропустить проверку записей lock-файла IDE при подключении. Используйте, когда автоподключение не может найти вашу IDE, хотя она запущена |330| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Установите `1`, чтобы пропустить проверку записей lock-файла IDE при подключении. Используйте, когда автоподключение не находит вашу IDE, хотя она запущена |

326| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Сколько [субагентов](/docs/ru/sub-agents#concurrent-subagent-limit) может одновременно выполняться в одной сессии, прежде чем инструмент Agent откажется запускать ещё одного (по умолчанию: 20). Принимает положительное целое число, записанное цифрами; всё остальное игнорируется, поэтому переменная может изменить ограничение, но не отключить его. Требуется Claude Code v2.1.217 или новее |331| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Сколько [субагентов](/docs/ru/sub-agents#concurrent-subagent-limit) может выполняться в одной сессии, прежде чем инструмент Agent откажется запускать ещё одного (по умолчанию: 20). Принимает положительное целое число, записанное цифрами; всё остальное игнорируется, поэтому переменная может изменить ограничение, но не отключить его. Требуется Claude Code v2.1.217 или новее |

327| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Переопределяет размер контекстного окна, который Claude Code предполагает для активной модели. Начиная с v2.1.193 способ применения зависит от того, как Claude Code разрешает ID модели; см. [Исправление окна для шлюза или пользовательского ID модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Используйте, когда маршрутизируете запросы через `ANTHROPIC_BASE_URL` к модели, контекстное окно которой не совпадает со встроенным размером для её имени |332| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Переопределяет размер контекстного окна, который Claude Code предполагает для активной модели. Начиная с v2.1.193 то, как оно применяется, зависит от того, как Claude Code определяет ID модели; см. [Исправление окна для шлюза или пользовательского ID модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id). Используйте это при маршрутизации через `ANTHROPIC_BASE_URL` к модели, контекстное окно которой не совпадает со встроенным размером для её имени |

328| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Максимальная длина в символах каждого описания инструмента MCP и инструкций каждого MCP-сервера, которые Claude Code отправляет модели (по умолчанию: 2048). Claude Code [обрезает более длинный текст](/docs/ru/mcp#for-mcp-server-authors). Принимает положительное целое число, записанное цифрами. Всё остальное игнорируется, и применяется значение по умолчанию. Требуется Claude Code v2.1.280 или новее |333| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Максимальная длина в символах каждого описания инструмента MCP и инструкций каждого MCP-сервера, которые Claude Code отправляет модели (по умолчанию: 2048). Claude Code [обрезает более длинный текст](/docs/ru/mcp#for-mcp-server-authors). Принимает положительное целое число, записанное цифрами. Всё остальное игнорируется, и применяется значение по умолчанию. Требуется Claude Code v2.1.280 или новее |

329| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Задаёт максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и пределы зависят от модели; см. [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code снижает значение, превышающее предел модели, до этого предела. Для ID модели, который Claude Code не может сопоставить с известной ему моделью, значение по умолчанию — 32000, а предел — 128000. Увеличение этого значения уменьшает эффективное контекстное окно, доступное до срабатывания [автосжатия](/docs/ru/costs#reduce-token-usage) |334| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Задаёт максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и верхние пределы зависят от модели; см. [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code снижает значение, превышающее предел модели, до этого предела. Для ID модели, который Claude Code не может сопоставить с известной ему моделью, значение по умолчанию — 32000, а предел — 128000. Увеличение этого значения уменьшает эффективное контекстное окно, доступное до срабатывания [автосжатия](/docs/ru/costs#reduce-token-usage) |

330| `CLAUDE_CODE_MAX_RETRIES` | Переопределяет количество повторных попыток для неудачных API-запросов (по умолчанию: 10). Начиная с v2.1.186 ограничено значением 15; начиная с v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и снимает это ограничение. Для автономных сессий, которым нужно переждать более длительные сбои, вместо этого задайте `CLAUDE_CODE_RETRY_WATCHDOG` |335| `CLAUDE_CODE_MAX_RETRIES` | Переопределяет количество повторных попыток для неудачных запросов к API (по умолчанию: 10). Начиная с v2.1.186 ограничено значением 15; начиная с v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и снимает ограничение. Для автономных сессий, которым нужно пережидать более длительные сбои, вместо этого задайте `CLAUDE_CODE_RETRY_WATCHDOG` |

331| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Удалена в v2.1.224 и теперь ни на что не влияет. Ранее ограничивала общее количество [субагентов](/docs/ru/sub-agents), которых Claude мог запустить с помощью инструмента Agent за одну сессию (по умолчанию: 200); запуск сверх ограничения завершался ошибкой `Subagent spawn limit reached`. [Ограничение на одновременно работающих субагентов](/docs/ru/sub-agents#concurrent-subagent-limit) и [ограничение глубины](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) по-прежнему действуют |336| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Удалена в v2.1.224 и теперь ни на что не влияет. Ранее ограничивала общее количество [субагентов](/docs/ru/sub-agents), которых Claude мог запустить с помощью инструмента Agent за одну сессию (по умолчанию: 200); запуск сверх ограничения завершался ошибкой `Subagent spawn limit reached`. [Ограничение на количество одновременных субагентов](/docs/ru/sub-agents#concurrent-subagent-limit) и [ограничение глубины](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) по-прежнему действуют |

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

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

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

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

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

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

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

339| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Таймаут простоя в миллисекундах для вызовов инструментов MCP. Когда MCP-сервер stdio, HTTP, SSE, WebSocket или [коннектор claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) не отправляет ни ответа, ни уведомления о ходе выполнения в течение этого времени, вызов инструмента прерывается с ошибкой вместо ожидания общего `MCP_TOOL_TIMEOUT`. Переопределяет значения по умолчанию для каждого транспорта: 300000 (5 минут) для сетевых серверов и 1800000 (30 минут) для stdio-серверов. Установите `0`, чтобы отключить проверку простоя. Значения меньше 1000 повышаются до одной секунды, а само значение ограничено действующим `MCP_TOOL_TIMEOUT`. Заданный для отдельного сервера в `.mcp.json` `timeout` не менее 1000 повышает окно простоя этого сервера как минимум до значения `timeout`. Не применяется к серверам IDE и внутрипроцессным серверам SDK. Требуется Claude Code v2.1.187 или новее. До v2.1.203 stdio-серверы не подпадали под таймаут простоя |344| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Таймаут простоя в миллисекундах для вызовов инструментов MCP. Когда MCP-сервер stdio, HTTP, SSE, WebSocket или [коннектор claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) в течение этого времени не отправляет ни ответа, ни уведомления о прогрессе, вызов инструмента прерывается с ошибкой вместо ожидания общего `MCP_TOOL_TIMEOUT`. Переопределяет значения по умолчанию для каждого транспорта: 300000 (5 минут) для сетевых серверов и 1800000 (30 минут) для серверов stdio. Установите `0`, чтобы отключить проверку простоя. Значения меньше 1000 повышаются до одной секунды, а значение ограничивается действующим `MCP_TOOL_TIMEOUT`. Заданный для сервера `timeout` в `.mcp.json` не менее 1000 повышает окно простоя этого сервера как минимум до значения `timeout`. Не применяется к серверам IDE и внутрипроцессным серверам SDK. Требуется Claude Code v2.1.187 или новее. До v2.1.203 на серверы stdio таймаут простоя не распространялся |

340| `CLAUDE_CODE_MESSAGING_SOCKET` | Задаётся Claude Code, а не вами: в сессиях, которые привязывают [входящий сокет](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует путь к этому сокету для хуков и команд Bash при привязке сокета. В сессии, которая запускается с включённым обменом сообщениями, Claude Code привязывает сокет до запуска любого хука. Другие сессии на машине доставляют сообщения по этому пути. Каждая сессия экспортирует собственный сокет, а не унаследованный от родительской, и поступающие на него сообщения проходят через [контроль входящих сообщений](/docs/ru/cross-session-messaging#control-inbound-messages) сессии. Блоки `env` в настройках не могут её задать. Требуется Claude Code v2.1.224 или новее |345| `CLAUDE_CODE_MESSAGING_SOCKET` | Задаётся Claude Code, а не вами: в сессиях, которые привязывают [сокет входящих сообщений](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует путь этого сокета в хуки и команды Bash при привязке сокета. В сессии, которая запускается с включённым обменом сообщениями, Claude Code привязывает сокет до запуска любого хука. Другие сессии на компьютере доставляют сообщения по этому пути. Каждая сессия экспортирует собственный сокет, а не унаследованный от родительской, и поступающие на него сообщения проходят через [средства контроля входящих сообщений](/docs/ru/cross-session-messaging#control-inbound-messages) сессии. Блоки `env` в настройках не могут её задать. Требуется Claude Code v2.1.224 или новее |

341| `CLAUDE_CODE_MESSAGING_TOKEN` | Задаётся Claude Code, а не вами: в сессиях, которые привязывают [входящий сокет](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует этот токен сессии для хуков и команд Bash вместе с `CLAUDE_CODE_MESSAGING_SOCKET`. Скрипт, отправляющий данные в сокет, может отправить `{"type":"auth","token":"<token>"}` первой строкой, чтобы подтвердить, что он принадлежит сессии. В нативной Windows Claude Code требует эту строку и закрывает любое соединение, которое не начинается с действительной строки. [Правила для собственных дочерних процессов](/docs/ru/cross-session-messaging#the-sessions-inbox-socket) определяют, когда Claude Code проверяет токен. Каждая сессия экспортирует собственный токен, а не унаследованный от родительской сессии. Блоки `env` в настройках не могут его задать. Требуется Claude Code v2.1.228 или новее |346| `CLAUDE_CODE_MESSAGING_TOKEN` | Задаётся Claude Code, а не вами: в сессиях, которые привязывают [сокет входящих сообщений](/docs/ru/cross-session-messaging#the-sessions-inbox-socket), Claude Code экспортирует этот токен сессии в хуки и команды Bash вместе с `CLAUDE_CODE_MESSAGING_SOCKET`. Скрипт, отправляющий данные в сокет, может передать `{"type":"auth","token":"<token>"}` первой строкой, чтобы подтвердить, что он принадлежит сессии. В нативной Windows Claude Code требует эту строку и закрывает любое соединение, которое не начинается с действительной строки. [Правила для собственных дочерних процессов](/docs/ru/cross-session-messaging#the-sessions-inbox-socket) определяют, когда Claude Code проверяет токен. Каждая сессия экспортирует собственный токен, никогда не унаследованный от родительской сессии. Блоки `env` в настройках не могут его задать. Требуется Claude Code v2.1.228 или новее |

342| `CLAUDE_CODE_NATIVE_CURSOR` | Установите `1`, чтобы показывать собственный курсор терминала в позиции ввода вместо рисуемого блока. Курсор учитывает настройки мигания, формы и фокуса терминала. Значение `0` воспринимается так же, как незаданная переменная, поэтому оно не возвращает рисуемый блок в сессии, где собственный курсор терминала уже включён |347| `CLAUDE_CODE_NATIVE_CURSOR` | Установите `1`, чтобы показывать собственный курсор терминала в позиции ввода вместо нарисованного блока. Курсор учитывает настройки мигания, формы и фокуса терминала. Значение `0` воспринимается так же, как незаданная переменная, поэтому оно не возвращает нарисованный блок в сессии, где собственный курсор терминала уже включён |

343| `CLAUDE_CODE_NEW_INIT` | Установите `1`, чтобы `/init` запускал интерактивную процедуру настройки. Процедура спрашивает, какие файлы сгенерировать, включая CLAUDE.md, скиллы и хуки, прежде чем исследовать кодовую базу и записать их. Без этой переменной `/init` генерирует CLAUDE.md автоматически, без вопросов |348| `CLAUDE_CODE_NEW_INIT` | Установите `1`, чтобы `/init` запускал интерактивный процесс настройки. Он спрашивает, какие файлы создать, включая CLAUDE.md, скиллы и хуки, прежде чем исследовать кодовую базу и записать их. Без этой переменной `/init` создаёт CLAUDE.md автоматически, ни о чём не спрашивая |

344| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Установите `1`, чтобы записывать вывод терминала через второй неблокирующий файловый дескриптор, чтобы терминал, который перестал читать, например приостановленная панель tmux в режиме control mode или зависшее SSH-соединение, не мог заморозить Claude Code посреди сессии. Применяется в macOS, Linux и WSL, когда stdout является терминалом. Требуется Claude Code v2.1.261 или новее |349| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Установите `1`, чтобы записывать вывод в терминал через второй неблокирующий файловый дескриптор, чтобы терминал, который перестал читать, например приостановленная панель tmux в режиме control mode или зависшее SSH-соединение, не мог заморозить Claude Code посреди сессии. Применяется в macOS, Linux и WSL, когда stdout является терминалом. Требуется Claude Code v2.1.261 или новее |

345| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Ограничивает, сколько раз Claude Code повторно отправляет [непотоковый запрос](/docs/ru/errors#streaming-response-ended-before-any-complete-data-was-received), завершившийся по таймауту. При `0` запрос завершается неудачей при первом же таймауте. О самом таймауте см. [Настройка повторных попыток](/docs/ru/errors#tune-retry-behavior). Требуется Claude Code v2.1.285 или новее |350| `CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES` | Ограничивает, сколько раз Claude Code повторно отправляет [непотоковый запрос](/docs/ru/errors#streaming-response-ended-before-any-complete-data-was-received), превысивший таймаут. При `0` запрос завершается ошибкой при первом же таймауте. Сведения о таймауте см. в разделе [Настройка поведения повторных попыток](/docs/ru/errors#tune-retry-behavior). Требуется Claude Code v2.1.285 или новее |

346| `CLAUDE_CODE_NO_FLICKER` | Установите `1`, чтобы включить [полноэкранный рендеринг](/docs/ru/fullscreen) — research preview, который уменьшает мерцание и сохраняет стабильное потребление памяти в длинных диалогах. Переопределяет настройку [`tui`](/docs/ru/settings-reference#tui); также можно переключиться командой `/tui fullscreen` |351| `CLAUDE_CODE_NO_FLICKER` | Установите `1`, чтобы включить [полноэкранный рендеринг](/docs/ru/fullscreen) — research preview, который уменьшает мерцание и сохраняет стабильное потребление памяти в длинных диалогах. Переопределяет настройку [`tui`](/docs/ru/settings-reference#tui); переключиться также можно с помощью `/tui fullscreen` |

347| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Токен обновления OAuth для аутентификации Claude.ai. Если задан, `claude auth login` обменивает этот токен напрямую вместо открытия браузера. Требует `CLAUDE_CODE_OAUTH_SCOPES`. Полезно для предоставления аутентификации в автоматизированных средах |352| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Токен обновления OAuth для аутентификации Claude.ai. Если задан, `claude auth login` обменивает этот токен напрямую вместо открытия браузера. Требует `CLAUDE_CODE_OAUTH_SCOPES`. Полезно для подготовки аутентификации в автоматизированных средах |

348| `CLAUDE_CODE_OAUTH_SCOPES` | Разделённые пробелами scope OAuth, с которыми был выдан токен обновления, например `"user:profile user:inference user:sessions:claude_code"`. Обязательна, если задана `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |353| `CLAUDE_CODE_OAUTH_SCOPES` | Разделённые пробелами scope OAuth, с которыми был выдан токен обновления, например `"user:profile user:inference user:sessions:claude_code"`. Обязательна, если задана `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |

349| `CLAUDE_CODE_OAUTH_TOKEN` | Токен доступа OAuth для аутентификации claude.ai. Альтернатива `/login` для SDK и автоматизированных сред. Имеет приоритет над учётными данными, хранящимися в связке ключей. Сгенерируйте его с помощью [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). Если вы не выполните [`/login`](/docs/ru/authentication#authentication-precedence), Claude Code использует заданный вами токен в течение всей сессии. Чтобы заменить истёкший токен, сгенерируйте новый и перезапустите Claude Code |354| `CLAUDE_CODE_OAUTH_TOKEN` | Токен доступа OAuth для аутентификации claude.ai. Альтернатива `/login` для SDK и автоматизированных сред. Имеет приоритет над учётными данными, хранящимися в связке ключей. Создайте его с помощью [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). Если вы не выполните [`/login`](/docs/ru/authentication#authentication-precedence), Claude Code использует заданный вами токен на протяжении всей сессии. Чтобы заменить истёкший токен, создайте новый и перезапустите Claude Code |

350| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Удалена в v2.1.160 и теперь ни на что не влияет. Ранее закрепляла [быстрый режим](/docs/ru/fast-mode) за Claude Opus 4.6 вместо текущей модели по умолчанию. Opus 4.6 больше не поддерживает быстрый режим |355| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Удалена в v2.1.160 и теперь ни на что не влияет. Ранее закрепляла [быстрый режим](/docs/ru/fast-mode) за Claude Opus 4.6 вместо текущей модели по умолчанию. Opus 4.6 больше не поддерживает быстрый режим |

351| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Максимальная длина атрибутов OpenTelemetry, содержащих контент (ответы модели, содержимое инструментов, системные промпты, необработанные тела API), включая маркер обрезки, в кодовых единицах UTF-16 (по умолчанию: 61440, т. е. 60 КБ). Увеличивайте её, только если ваш бэкенд телеметрии принимает значения атрибутов больше 64 КБ, или уменьшайте, чтобы сократить объём телеметрии. Требуется Claude Code v2.1.214 или новее. См. [Мониторинг](/docs/ru/monitoring-usage) |356| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Максимальная длина атрибутов OpenTelemetry, содержащих контент (ответы модели, содержимое инструментов, системные промпты, необработанные тела API), включая маркер обрезки, в кодовых единицах UTF-16 (по умолчанию: 61440, т. е. 60 КБ). Увеличивайте её, только если ваш бэкенд телеметрии принимает значения атрибутов больше 64 КБ, или уменьшайте, чтобы сократить объём телеметрии. Требуется Claude Code v2.1.214 или новее. См. [Мониторинг](/docs/ru/monitoring-usage) |

352| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Установите `1`, чтобы записывать диагностические ошибки экспортёра OpenTelemetry в stderr. По умолчанию эти ошибки появляются только с `--debug`, поэтому неправильно настроенный экспортёр, например при конфликте портов Prometheus, иначе завершается с ошибкой незаметно. Требуется Claude Code v2.1.179 или новее. См. [Мониторинг](/docs/ru/monitoring-usage) |357| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Установите `1`, чтобы записывать диагностические ошибки экспортёра OpenTelemetry в stderr. По умолчанию эти ошибки появляются только с `--debug`, поэтому неправильно настроенный экспортёр, например при конфликте портов Prometheus, иначе даёт сбой незаметно. Требуется Claude Code v2.1.179 или новее. См. [Мониторинг](/docs/ru/monitoring-usage) |

353| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Таймаут в миллисекундах для сброса ожидающих спанов OpenTelemetry (по умолчанию: 5000). См. [Мониторинг](/docs/ru/monitoring-usage) |358| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Таймаут в миллисекундах для сброса ожидающих спанов OpenTelemetry (по умолчанию: 5000). См. [Мониторинг](/docs/ru/monitoring-usage) |

354| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers) |359| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал обновления динамических заголовков OpenTelemetry в миллисекундах (по умолчанию: 1740000 / 29 минут). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers) |

355| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Таймаут в миллисекундах на завершение работы экспортёра OpenTelemetry при выключении (по умолчанию: 2000). Увеличьте, если метрики теряются при выходе. См. [Мониторинг](/docs/ru/monitoring-usage) |360| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Таймаут в миллисекундах для завершения работы экспортёра OpenTelemetry при выключении (по умолчанию: 2000). Увеличьте, если метрики теряются при выходе. См. [Мониторинг](/docs/ru/monitoring-usage) |

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

357| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Установите `1`, чтобы Claude Code запускал команду обновления вашего менеджера пакетов в фоне, когда доступна новая версия. Применяется к установкам через Homebrew и WinGet. Другие менеджеры пакетов по-прежнему показывают команду обновления, не запуская её. См. [Автоматические обновления](/docs/ru/setup#auto-updates) |362| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Установите `1`, чтобы Claude Code запускал команду обновления вашего менеджера пакетов в фоне, когда доступна новая версия. Применяется к установкам через Homebrew и WinGet. Другие менеджеры пакетов по-прежнему показывают команду обновления, не запуская её. См. [Автоматические обновления](/docs/ru/setup#auto-updates) |

358| `CLAUDE_CODE_PERFORCE_MODE` | Установите `1`, чтобы включить защиту от записи с учётом Perforce. Если задано, Edit, Write и NotebookEdit завершаются ошибкой с подсказкой `p4 edit <file>`, если у целевого файла нет бита записи для владельца, который Perforce снимает у синхронизированных файлов, пока `p4 edit` не откроет их. Это не позволяет Claude Code обходить отслеживание изменений Perforce |363| `CLAUDE_CODE_PERFORCE_MODE` | Установите `1`, чтобы включить защиту от записи с учётом Perforce. Если задано, Edit, Write и NotebookEdit завершаются с ошибкой и подсказкой `p4 edit <file>`, если у целевого файла отсутствует бит записи для владельца, который Perforce снимает у синхронизированных файлов, пока `p4 edit` не откроет их. Это не позволяет Claude Code обходить отслеживание изменений Perforce |

359| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Переопределяет корневой каталог плагинов. Несмотря на название, задаёт родительский каталог, а не сам кэш: маркетплейсы и кэш плагинов находятся в подкаталогах по этому пути. По умолчанию `~/.claude/plugins` |364| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Переопределяет корневой каталог плагинов. Несмотря на название, задаёт родительский каталог, а не сам кэш: маркетплейсы и кэш плагинов находятся в подкаталогах по этому пути. По умолчанию `~/.claude/plugins` |

360| `CLAUDE_CODE_PLUGIN_DIRS` | Каталоги плагинов, загружаемые для сессии; каждый загружается так же, как его загрузил бы флаг [`--plugin-dir`](/docs/ru/plugins/cli-reference#flags-that-load-a-plugin-for-one-session). Разделяйте несколько путей символом `:` в Unix или `;` в Windows. Указывайте каждый путь как абсолютный или начинайте его с `~`, поскольку Claude Code пропускает относительные пути. Требуется Claude Code v2.1.280 или новее. См. [Загрузка плагина для одной сессии](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session) |365| `CLAUDE_CODE_PLUGIN_DIRS` | Каталоги плагинов для загрузки в сессии; каждый загружается так же, как его загружает флаг [`--plugin-dir`](/docs/ru/plugins/cli-reference#flags-that-load-a-plugin-for-one-session). Разделяйте несколько путей символом `:` в Unix или `;` в Windows. Указывайте каждый путь как абсолютный или начинайте его с `~`, поскольку Claude Code пропускает относительные пути. Требуется Claude Code v2.1.280 или новее. См. [Загрузка плагина для одной сессии](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session) |

361| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Определяет, перезагружает ли Claude Code [мод](/docs/ru/plugins/mods/overview) при изменении его файлов. Перезагрузка применяется к моду, загружаемому из каталога с помощью `--plugin-dir`, и по умолчанию включена в интерактивных сессиях. Установите `1`, чтобы включить её также в неинтерактивных сессиях, или `0`, чтобы отключить во всех сессиях. Требуется Claude Code v2.1.287 или новее. См. [настройки и переменные окружения модов](/docs/ru/plugins/mods/reference#settings-and-environment-variables) |366| `CLAUDE_CODE_PLUGIN_DIR_WATCH` | Управляет тем, перезагружает ли Claude Code [мод](/docs/ru/plugins/mods/overview) при изменении его файлов. Перезагрузка применяется к моду, который вы загружаете из каталога с помощью `--plugin-dir`, и по умолчанию включена в интерактивных сессиях. Установите `1`, чтобы включить её также в неинтерактивных сессиях, или `0`, чтобы отключить во всех сессиях. Требуется Claude Code v2.1.287 или новее. См. [настройки и переменные окружения модов](/docs/ru/plugins/mods/reference#settings-and-environment-variables) |

362| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Таймаут в миллисекундах для клонирования или обновления маркетплейса плагинов (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых подключений. См. [Истёк таймаут клонирования Git](/docs/ru/plugins/troubleshooting#git-clone-timed-out-after-120s) |367| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Таймаут в миллисекундах для клонирования или обновления маркетплейса плагинов (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых подключений. См. [Git clone timed out](/docs/ru/plugins/troubleshooting#git-clone-timed-out-after-120s) |

363| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Установите `1`, чтобы пропустить попытку повторного клонирования и продолжить использовать существующую копию маркетплейса, когда при обновлении маркетплейса не удаётся подключиться к удалённому репозиторию или пройти аутентификацию. Полезно в офлайн- или изолированных средах, где повторное клонирование завершилось бы неудачей по той же причине. См. [Обновления маркетплейса не выполняются в офлайн-средах](/docs/ru/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |368| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Установите `1`, чтобы пропустить попытку повторного клонирования и продолжить использовать существующую копию маркетплейса, когда при его обновлении не удаётся связаться с удалённым репозиторием или пройти аутентификацию. Полезно в офлайн- или изолированных средах, где повторное клонирование завершилось бы тем же сбоем. См. [Обновления маркетплейса не выполняются в офлайн-средах](/docs/ru/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

364| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Установите `1`, чтобы клонировать источники в сокращённой форме GitHub `owner/repo` по HTTPS вместо SSH. Применяется к установке и обновлению плагинов, а также к `/plugin marketplace add` и `update`. Полезно в раннерах CI, контейнерах и любых средах без настроенного SSH-ключа для `github.com` |369| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Установите `1`, чтобы клонировать источники в сокращённой форме GitHub `owner/repo` по HTTPS вместо SSH. Применяется к установке и обновлению плагинов, а также к `/plugin marketplace add` и `update`. Полезно в CI-раннерах, контейнерах и любых средах без настроенного SSH-ключа для `github.com` |

365| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Путь к одному или нескольким начальным каталогам плагинов только для чтения, разделённым `:` в Unix или `;` в Windows. Используйте, чтобы включить предварительно заполненный каталог плагинов в образ контейнера. Claude Code регистрирует маркетплейсы из этих каталогов при запуске и использует заранее кэшированные плагины без повторного клонирования. См. [Предварительное заполнение плагинов для контейнеров](/docs/ru/plugins/org#seed-containers-and-ci) |370| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Путь к одному или нескольким каталогам начальных плагинов только для чтения, разделённым `:` в Unix или `;` в Windows. Используйте, чтобы включить заранее заполненный каталог плагинов в образ контейнера. Claude Code регистрирует маркетплейсы из этих каталогов при запуске и использует предварительно кэшированные плагины без повторного клонирования. См. [Предварительное заполнение плагинов для контейнеров](/docs/ru/plugins/org#seed-containers-and-ci) |

366| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Установите `1`, чтобы Claude Code не передавал `-ExecutionPolicy Bypass` при запуске PowerShell для вызовов инструментов, хуков и команд строки состояния, а вместо этого соблюдал действующую политику выполнения машины. По умолчанию Claude Code обходит политику выполнения на уровне процесса, чтобы скрипты `.ps1` и импорт модулей работали в установках Windows с политикой Restricted по умолчанию. Обход на уровне процесса никогда не переопределяет `MachinePolicy` или `UserPolicy` групповой политики, независимо от этой настройки |371| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Установите `1`, чтобы Claude Code не передавал `-ExecutionPolicy Bypass` при запуске PowerShell для вызовов инструментов, хуков и команд строки состояния, а вместо этого учитывал действующую политику выполнения компьютера. По умолчанию Claude Code обходит политику выполнения на уровне процесса, чтобы скрипты `.ps1` и импорт модулей работали в установках Windows с политикой Restricted по умолчанию. Обход на уровне процесса никогда не переопределяет групповую политику `MachinePolicy` или `UserPolicy`, независимо от этой настройки |

367| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Верхний предел в миллисекундах для ожидания в простое фоновой работы, такой как субагенты и рабочие процессы, после последнего хода в [неинтерактивном режиме](/docs/ru/headless#background-tasks-at-exit) с флагом `-p`. Отсчёт ожидания в простое начинается заново каждый раз, когда Claude делает ход для обработки фонового результата. По умолчанию: `600000`, или 10 минут. Когда ожидание в простое достигает предела, Claude Code перестаёт ждать оставшиеся фоновые задачи. Выполняющаяся фоновая команда, запущенная основным диалогом, удерживает выполнение открытым и после этого предела. Установите `0`, чтобы ждать бесконечно. Требуется Claude Code v2.1.182 или новее |372| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Верхний предел в миллисекундах для ожидания в простое фоновой работы, например субагентов и рабочих процессов, после последнего хода в [неинтерактивном режиме](/docs/ru/headless#background-tasks-at-exit) с флагом `-p`. Ожидание в простое начинается заново каждый раз, когда Claude выполняет ход для обработки фонового результата. По умолчанию: `600000`, или 10 минут. Когда ожидание в простое достигает предела, Claude Code перестаёт ждать оставшиеся фоновые задачи. Выполняющаяся фоновая команда, запущенная основным диалогом, удерживает выполнение и после этого предела. Установите `0`, чтобы ждать бесконечно. Требуется Claude Code v2.1.182 или новее |

368| `CLAUDE_CODE_PROCESS_WRAPPER` | Запускает процессы, которые Claude Code стартует из собственного исполняемого файла, например фоновую службу, в которой размещаются сессии [agent view](/docs/ru/agent-view), через корпоративный загрузчик, заданный как префикс argv, например `/opt/corp/launcher`. Задайте её в блоке `env` пользовательских или [управляемых настроек](/docs/ru/managed-settings), а не как экспорт оболочки, чтобы отсоединённая фоновая служба её унаследовала; настройки проекта и локальные настройки не могут её задать. Эквивалентна [настройке `processWrapper`](/docs/ru/settings-reference#processwrapper), которая требует Claude Code v2.1.210 или новее; эта переменная имеет приоритет, если заданы обе. Расширение VS Code настраивает собственный загрузчик отдельно через свою настройку `claudeProcessWrapper`. Игнорируется в Windows. Формат значения, то, что охватывает загрузчик, и требования, которым он должен соответствовать, описаны в разделе [Запуск Claude Code через корпоративный загрузчик](/docs/ru/corporate-launcher). Требуется Claude Code v2.1.208 или новее |373| `CLAUDE_CODE_PROCESS_WRAPPER` | Запускает процессы, которые Claude Code запускает из собственного бинарного файла, например фоновую службу, в которой работают сессии [agent view](/docs/ru/agent-view), через корпоративный загрузчик, заданный как префикс argv, например `/opt/corp/launcher`. Задайте её в блоке `env` пользовательских или [управляемых настроек](/docs/ru/managed-settings), а не как экспорт в оболочке, чтобы её унаследовала отсоединённая фоновая служба; настройки проекта и локальные настройки не могут её задать. Эквивалентна [настройке `processWrapper`](/docs/ru/settings-reference#processwrapper), для которой требуется Claude Code v2.1.210 или новее; эта переменная имеет приоритет, если заданы обе. Расширение VS Code настраивает собственный загрузчик отдельно через свою настройку `claudeProcessWrapper`. Игнорируется в Windows. См. [Запуск Claude Code через корпоративный загрузчик](/docs/ru/corporate-launcher), где описаны формат значения, то, что охватывает загрузчик, и требования, которым он должен соответствовать. Требуется Claude Code v2.1.208 или новее |

369| `CLAUDE_CODE_PROJECT_DIR_NAME` | Задайте вместе с `CLAUDE_CONFIG_DIR`, чтобы выбрать имя каталога в `projects/`, в котором Claude Code хранит транскрипты и автоматическую память этой сессии, вместо имени, производного от пути рабочего каталога. Например, запуск Claude Code командой `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` сохраняет их в `/srv/tenant-a/projects/work/`. Claude Code игнорирует эту переменную, если `CLAUDE_CONFIG_DIR` не задана, и читает её только из окружения, из которого вы запускаете `claude`, но никогда из [блока `env` файла настроек](#in-settings-files). См. [Самостоятельное именование каталога проекта](/docs/ru/sessions#name-the-project-directory-yourself). Требуется Claude Code v2.1.234 или новее |374| `CLAUDE_CODE_PROJECT_DIR_NAME` | Задайте вместе с `CLAUDE_CONFIG_DIR`, чтобы выбрать имя каталога в `projects/`, в котором Claude Code хранит транскрипты и автоматическую память этой сессии, вместо имени, производного от пути рабочего каталога. Например, при запуске Claude Code с `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` они хранятся в `/srv/tenant-a/projects/work/`. Claude Code игнорирует эту переменную, если `CLAUDE_CONFIG_DIR` не задана, и считывает её только из окружения, в котором вы запускаете `claude`, но никогда из [блока `env` файла настроек](#in-settings-files). См. [Самостоятельное именование каталога проекта](/docs/ru/sessions#name-the-project-directory-yourself). Требуется Claude Code v2.1.234 или новее |

370| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Установите `5m` или `1h` — единственные значения, которые принимает Claude Code, — чтобы выбрать [TTL кэша промптов](/docs/ru/prompt-caching#cache-lifetime) для основного диалога: ваших интерактивных ходов, ходов `-p` и SDK, а также вспомогательных процессов, выполняющихся вместе с ними. Имеет приоритет над настройкой `promptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, а `FORCE_PROMPT_CACHING_5M` переопределяет её. API тарифицирует запись в кэш на 1 час по более высокой ставке. Требуется Claude Code v2.1.242 или новее |375| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Установите `5m` или `1h` — единственные значения, которые принимает Claude Code, — чтобы выбрать [TTL кэша промптов](/docs/ru/prompt-caching#cache-lifetime) для основного диалога: ваших интерактивных ходов, ходов `-p` и SDK, а также вспомогательных процессов, выполняющихся вместе с ними. Имеет приоритет над настройкой `promptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, а `FORCE_PROMPT_CACHING_5M` переопределяет её. API тарифицирует запись в кэш на 1 час по более высокой ставке. Требуется Claude Code v2.1.242 или новее |

371| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Установите `1`, чтобы передавать контекст трассировки W3C, когда `ANTHROPIC_BASE_URL` указывает на пользовательский прокси. Передача охватывает заголовок `traceparent` в запросах к модели и к HTTP MCP-серверам, а также переменную окружения `TRACEPARENT` для подпроцессов Bash, PowerShell и хуков. По умолчанию передача включена только при прямом подключении к Anthropic API. Добавлена в v2.1.152. См. [Трассировки (бета)](/docs/ru/monitoring-usage#traces-beta) |376| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Установите `1`, чтобы передавать контекст трассировки W3C, когда `ANTHROPIC_BASE_URL` указывает на пользовательский прокси. Передача охватывает заголовок `traceparent` в запросах к модели и HTTP MCP, а также переменную окружения `TRACEPARENT` для подпроцессов Bash, PowerShell и хуков. По умолчанию передача включена только при прямом подключении к Anthropic API. Добавлено в v2.1.152. См. [Трассировки (бета)](/docs/ru/monitoring-usage#traces-beta) |

372| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Задаётся хост-платформами, которые встраивают Claude Code и управляют маршрутизацией к провайдеру моделей от его имени. Если задана, Claude Code игнорирует в файлах настроек переменные выбора провайдера, эндпоинта и аутентификации, такие как `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` и `ANTHROPIC_API_KEY`, чтобы пользовательские настройки не могли переопределить маршрутизацию хоста. Claude Code также игнорирует ключи выбора модели, такие как `model`, `fallbackModel` и `modelOverrides`, в [управляемых настройках](/docs/ru/managed-settings), из какого бы управляемого источника они ни поступали, чтобы конфигурация модели хоста имела приоритет над устаревшей управляемой привязкой модели. Claude Code также игнорирует переменные выбора модели, такие как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`, в управляемом блоке `env`; список разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) в управляемых настройках по-прежнему применяется, если хост не предоставляет собственный. Claude Code также пропускает автоматический отказ от телеметрии, который он иначе применяет для сторонних провайдеров, таких как Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry, поэтому телеметрия подчиняется стандартному отказу через `DISABLE_TELEMETRY`. См. [Поведение по умолчанию для разных провайдеров API](/docs/ru/data-usage#default-behaviors-by-api-provider) |377| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Задаётся хост-платформами, которые встраивают Claude Code и управляют маршрутизацией к провайдеру моделей от его имени. Если задана, Claude Code игнорирует переменные выбора провайдера, эндпоинта и аутентификации, такие как `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` и `ANTHROPIC_API_KEY`, в файлах настроек, поэтому пользовательские настройки не могут переопределить маршрутизацию хоста. Claude Code также игнорирует ключи выбора модели, такие как `model`, `fallbackModel` и `modelOverrides`, в [управляемых настройках](/docs/ru/managed-settings), независимо от того, какой управляемый источник их доставляет, поэтому конфигурация моделей хоста имеет приоритет над устаревшим закреплением модели в управляемых настройках. Claude Code также игнорирует переменные выбора модели, такие как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`, в управляемом блоке `env`; список разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) в управляемых настройках по-прежнему применяется, если хост не предоставляет собственный. Claude Code также пропускает автоматический отказ от телеметрии, который иначе применяется у сторонних провайдеров, таких как Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform и Microsoft Foundry, поэтому телеметрия подчиняется стандартному отказу через `DISABLE_TELEMETRY`. См. [Поведение по умолчанию в зависимости от провайдера API](/docs/ru/data-usage#default-behaviors-by-api-provider) |

373| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите `1`, чтобы разрешить прокси выполнять DNS-разрешение вместо вызывающей стороны. Включается явно для сред, где разрешение имён хостов должен выполнять прокси |378| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите `1`, чтобы разрешить прокси выполнять DNS-разрешение вместо вызывающей стороны. Включается по желанию для сред, где разрешение имён хостов должен выполнять прокси |

374| `CLAUDE_CODE_REMOTE` | Автоматически принимает значение `true`, когда Claude Code работает как [облачная сессия](/docs/ru/claude-code-on-the-web). Считывайте её из хука или скрипта настройки, чтобы определить, находитесь ли вы в облачной сессии |379| `CLAUDE_CODE_REMOTE` | Автоматически устанавливается в `true`, когда Claude Code работает как [облачная сессия](/docs/ru/claude-code-on-the-web). Считывайте её из хука или скрипта настройки, чтобы определить, находитесь ли вы в облачной сессии |

375| `CLAUDE_CODE_REMOTE_SESSION_ID` | Автоматически задаётся в [облачных сессиях](/docs/ru/claude-code-on-the-web) равной ID текущей сессии. Считывайте её, чтобы сформировать ссылку обратно на транскрипт сессии. См. [Ссылка из вывода обратно на сессию](/docs/ru/cloud-environments#link-output-back-to-the-session) |380| `CLAUDE_CODE_REMOTE_SESSION_ID` | В [облачных сессиях](/docs/ru/claude-code-on-the-web) автоматически устанавливается в ID текущей сессии. Считывайте её, чтобы сформировать ссылку на транскрипт сессии. См. [Ссылка из вывода на сессию](/docs/ru/cloud-environments#link-output-back-to-the-session) |

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

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

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

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

380| `CLAUDE_CODE_RETRY_WATCHDOG` | Установите `1` для автономных сессий, таких как обвязки для оценки, задания CI или удалённые воркеры. Бесконечно повторяет попытки при ошибках нехватки мощности `429` и `529` вместо завершения с ошибкой после `CLAUDE_CODE_MAX_RETRIES` попыток. Claude Code сразу завершается с ошибкой, когда запрос со стандартной скоростью получает `429`, сообщающий о лимите расходов или исчерпании кредитов использования, даже если это [лимит расходов шлюза](/docs/ru/errors#spend-limit-reached), который сбрасывается по расписанию. До v2.1.239 watchdog повторял такие попытки бесконечно. Для запросов в быстром режиме см. [Обработка ограничений частоты запросов](/docs/ru/fast-mode#handle-rate-limits). Watchdog увеличивает паузу между попытками до 5 минут или до момента сброса лимита, если ответ содержит время сброса ограничения частоты запросов, поэтому сессия, достигшая лимита использования, пережидает оставшееся окно. В v2.1.199 и новее он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, таймауты и разорванные соединения, до 300, что составляет примерно три часа отсрочки, и снимает ограничение в 15 для `CLAUDE_CODE_MAX_RETRIES`, если вы задали эту переменную явно. Требуется Claude Code v2.1.186 или новее |385| `CLAUDE_CODE_RETRY_WATCHDOG` | Установите `1` для автономных сессий, таких как обвязки для оценки, задания CI или удалённые обработчики. Бесконечно повторяет попытки при ошибках нехватки мощности `429` и `529` вместо сбоя после `CLAUDE_CODE_MAX_RETRIES` попыток. Claude Code сразу завершается с ошибкой, когда запрос со стандартной скоростью получает `429`, сообщающий о лимите расходов или исчерпании кредитов использования, даже если это [ограничение расходов шлюза](/docs/ru/errors#spend-limit-reached), которое сбрасывается по расписанию. До v2.1.239 watchdog бесконечно повторял такие запросы. Для запросов в быстром режиме см. [Обработка ограничений частоты запросов](/docs/ru/fast-mode#handle-rate-limits). Watchdog увеличивает паузу между попытками до 5 минут или до сброса лимита, если ответ содержит время сброса ограничения частоты запросов, поэтому сессия, достигшая лимита использования, пережидает оставшееся окно. В v2.1.199 и новее он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, таймауты и разрывы соединения, до 300, что соответствует примерно трём часам ожидания, и снимает ограничение в 15 для `CLAUDE_CODE_MAX_RETRIES`, если вы задали эту переменную явно. Требуется Claude Code v2.1.186 или новее |

381| `CLAUDE_CODE_SAFE_MODE` | Установите `1`, чтобы запуститься в безопасном режиме: CLAUDE.md, скиллы, плагины, хуки, MCP-серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и предложения файлов, LSP-серверы и автоматическая память не загружаются — это нужно для устранения неполадок в сломанной конфигурации. Политика управляемых настроек по-прежнему применяется, включая настроенные политикой хуки, строку состояния и команды предложения файлов; управляемые плагины, управляемые скиллы, управляемый CLAUDE.md и настроенные политикой MCP-серверы — нет. Эквивалентно передаче [`--safe-mode`](/docs/ru/cli-reference#cli-flags). Непосредственно запущенные дочерние процессы наследуют эту переменную |386| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Максимальное время в миллисекундах, которое каждый запрос к API тратит на пережидание ошибок `429` и `529`, когда задана `CLAUDE_CODE_RETRY_WATCHDOG`. По истечении этого времени следующая такая ошибка завершает запрос. Укажите положительное целое число цифрами, например `1800000` для 30 минут. Если переменная не задана, ожидание не ограничено. Требуется Claude Code v2.1.295 или новее |

382| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-объект, ограничивающий, сколько раз определённые скрипты могут вызываться за сессию, когда задана `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — подстроки, сопоставляемые с текстом команды; значения — целочисленные лимиты вызовов. Например, `{"deploy.sh": 2}` позволяет вызвать `deploy.sh` не более двух раз. Сопоставление выполняется по подстроке, поэтому уловки с раскрытием в оболочке вроде `./scripts/deploy.sh $(evil)` по-прежнему учитываются в лимите. Разветвление во время выполнения через `xargs` или `find -exec` не обнаруживается; это мера эшелонированной защиты |387| `CLAUDE_CODE_SAFE_MODE` | Установите `1`, чтобы запуститься в безопасном режиме: CLAUDE.md, скиллы, плагины, хуки, MCP-серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и подсказок файлов, LSP-серверы и автоматическая память не загружаются — для устранения неполадок в сломанной конфигурации. Политика управляемых настроек по-прежнему применяется, включая хуки, строку состояния и команды подсказок файлов, настроенные политикой; управляемые плагины, управляемые скиллы, управляемый CLAUDE.md и MCP-серверы, настроенные политикой, — нет. Эквивалентно передаче [`--safe-mode`](/docs/ru/cli-reference#cli-flags). Непосредственно запущенные дочерние процессы наследуют эту переменную |

383| `CLAUDE_CODE_SCROLL_SPEED` | Задаёт множитель прокрутки колесом мыши в [полноэкранном рендеринге](/docs/ru/fullscreen#mouse-wheel-scrolling). Принимает любое положительное значение до 20, включая дробные значения меньше 1, например `0.5`, чтобы замедлить ускоренную прокрутку тачпадом и колесом в терминалах, которые уже усиливают события колеса. Установите `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на щелчок без усиления. Игнорируется в терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |388| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-объект, ограничивающий, сколько раз определённые скрипты могут вызываться за сессию, когда задана `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — подстроки, сопоставляемые с текстом команды; значения — целочисленные лимиты вызовов. Например, `{"deploy.sh": 2}` позволяет вызвать `deploy.sh` не более двух раз. Сопоставление основано на подстроках, поэтому уловки с раскрытием в оболочке, такие как `./scripts/deploy.sh $(evil)`, всё равно учитываются в лимите. Размножение вызовов во время выполнения через `xargs` или `find -exec` не обнаруживается; это дополнительный уровень эшелонированной защиты |

384| `CLAUDE_CODE_SEND_FEEDBACK` | Установите `0`, чтобы отключить [отзывы, составленные Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), для сессии. Установите `1`, чтобы включить их там, где у вашей учётной записи уже есть доступ; сама переменная не может предоставить доступ, а другие переключатели, отключающие отзывы, такие как `DISABLE_FEEDBACK_COMMAND` и значение `off` настройки [`feedbackDrafts`](/docs/ru/settings-reference#feedbackdrafts), по-прежнему действуют |389| `CLAUDE_CODE_SCROLL_SPEED` | Задаёт множитель прокрутки колесом мыши в [полноэкранном рендеринге](/docs/ru/fullscreen#mouse-wheel-scrolling). Принимает любое положительное значение до 20, включая дробные значения меньше 1, например `0.5`, чтобы замедлить ускоренную прокрутку трекпадом и колесом в терминалах, которые уже усиливают события колеса. Установите `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на щелчок без усиления. Игнорируется в терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |

385| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределяет бюджет времени в миллисекундах для хуков [SessionEnd](/docs/ru/hooks#sessionend). Значение также служит таймаутом для каждого хука, который не задаёт собственный `timeout`. Применяется при выходе из сессии, `/clear` и переключении сессий через интерактивную `/resume`. По умолчанию бюджет составляет 1,5 секунды и автоматически повышается до наибольшего `timeout` отдельного хука, настроенного в файлах настроек, но не более 60 секунд. Таймауты хуков, предоставляемых плагинами, не повышают бюджет |390| `CLAUDE_CODE_SEND_FEEDBACK` | Установите `0`, чтобы отключить [отзывы, составляемые Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), для сессии. Установите `1`, чтобы включить их там, где у вашей учётной записи уже есть доступ; сама переменная не может предоставить доступ, а другие переключатели, отключающие отзывы, такие как `DISABLE_FEEDBACK_COMMAND` и значение `off` настройки [`feedbackDrafts`](/docs/ru/settings-reference#feedbackdrafts), по-прежнему действуют |

386| `CLAUDE_CODE_SESSION_ID` | Автоматически задаётся равной ID текущей сессии в подпроцессах инструментов Bash и PowerShell, подпроцессах [команд хуков](/docs/ru/hooks) и подпроцессах stdio [MCP-серверов](/docs/ru/mcp). Для Bash, PowerShell и хуков совпадает с полем `session_id` во входных данных JSON хука и обновляется при `/clear`. Подпроцесс MCP-сервера сохраняет ID, с которым был запущен. При `--resume <session-id>` он получает ID возобновлённой сессии, как хуки и Bash. При `--continue` или `--resume` без явного ID он может вместо этого получить исходный ID запуска. Используйте для сопоставления скриптов и внешних инструментов с сессией Claude Code, которая их запустила |391| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределяет бюджет времени в миллисекундах для хуков [SessionEnd](/docs/ru/hooks#sessionend). Значение также служит таймаутом для каждого хука, который не задаёт собственный `timeout`. Применяется при выходе из сессии, `/clear` и переключении сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды и автоматически повышается до наибольшего `timeout` хука, настроенного в файлах настроек, вплоть до 60 секунд. Таймауты хуков, предоставленных плагинами, не повышают бюджет |

387| `CLAUDE_CODE_SHELL` | Задаёт оболочку, которую Claude Code использует для выполнения команд инструмента Bash. Принимает путь к исполняемому файлу `bash` или `zsh`, например `/opt/homebrew/bin/bash`. Другие оболочки, такие как `fish`, не поддерживаются. Если значение не является рабочим путём к `bash` или `zsh`, Claude Code игнорирует его и переходит к автоматическому определению. Автоматическое определение использует ваш `$SHELL`, если он указывает на `bash` или `zsh`, а иначе выбирает первый рабочий `zsh`, затем `bash`, найденный в `PATH` и стандартных местах установки |392| `CLAUDE_CODE_SESSION_ID` | Автоматически устанавливается в ID текущей сессии в подпроцессах инструментов Bash и PowerShell, подпроцессах [команд хуков](/docs/ru/hooks) и подпроцессах stdio [MCP-серверов](/docs/ru/mcp). Для Bash, PowerShell и хуков совпадает с полем `session_id` во входных данных JSON хука и обновляется при `/clear`. Подпроцесс MCP-сервера сохраняет ID, с которым был запущен. При `--resume <session-id>` он получает ID возобновлённой сессии, совпадающий с хуками и Bash. При `--continue` или `--resume` без явного ID он может вместо этого получить исходный ID запуска. Используйте для сопоставления скриптов и внешних инструментов с сессией Claude Code, которая их запустила |

388| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды, оборачивающий shell-команды, которые запускает Claude Code: вызовы инструмента Bash, команды [хуков](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline) и команды запуска stdio [MCP-серверов](/docs/ru/mcp). Хуки PowerShell и хуки в exec-форме запускаются без префикса. Полезно для логирования или аудита. Если задать просто путь к исполняемому файлу, например `/path/to/logger.sh`, каждая команда запускается как `/path/to/logger.sh '<command>'`. Обёртка получает командную строку в `$1` как один аргумент, заключённый в кавычки оболочки, поэтому обёртка должна повторно вычислить `$1` с помощью оболочки, например `exec bash -c "$1"`. Если трактовать `$1` просто как путь к исполняемому файлу, это ломает stdio MCP-серверы, которые передают аргументы, например `npx -y <package>`. Для вызовов инструмента Bash `$1` содержит полный вызов оболочки, который собирает Claude Code, включая настройку окружения, а не только команду, которую выполнил Claude |393| `CLAUDE_CODE_SHELL` | Задаёт оболочку, которую Claude Code использует для выполнения команд инструмента Bash. Принимает путь к исполняемому файлу `bash` или `zsh`, например `/opt/homebrew/bin/bash`. Другие оболочки, такие как `fish`, не поддерживаются. Если значение не является работающим путём к `bash` или `zsh`, Claude Code игнорирует его и переходит к автоматическому определению. При автоматическом определении используется ваш `$SHELL`, если он указывает на `bash` или `zsh`; в противном случае выбирается первый работающий `zsh`, а затем `bash`, найденный в `PATH` и стандартных местах установки |

389| `CLAUDE_CODE_SIMPLE` | Установите `1`, чтобы работать с минимальным системным промптом и только инструментами Bash, чтения файлов и редактирования файлов. Инструменты MCP из `--mcp-config` по-прежнему доступны. Отключает автоматическое обнаружение хуков, скиллов, пользовательских команд, субагентов, установленных плагинов, MCP-серверов, автоматической памяти и CLAUDE.md. Скиллы в каталоге, переданном с помощью `--add-dir`, по-прежнему загружаются. Токены OAuth и учётные данные из связки ключей не считываются, поэтому аутентификация Anthropic должна осуществляться через `ANTHROPIC_API_KEY` или `apiKeyHelper` в `--settings`. Эквивалентно передаче [`--bare`](/docs/ru/headless#start-faster-with-bare-mode) |394| `CLAUDE_CODE_SHELL_PREFIX` | Префикс команды, оборачивающий shell-команды, которые запускает Claude Code: вызовы инструмента Bash, команды [хуков](/docs/ru/hooks), команды [строки состояния](/docs/ru/statusline) и команды запуска stdio [MCP-серверов](/docs/ru/mcp). Хуки PowerShell и хуки в exec-форме выполняются без префикса. Полезно для логирования или аудита. Если задать путь к исполняемому файлу без аргументов, например `/path/to/logger.sh`, каждая команда выполняется как `/path/to/logger.sh '<command>'`. Обёртка получает командную строку как один аргумент в кавычках оболочки в `$1`, поэтому обёртка должна повторно вычислить `$1` с помощью оболочки, например `exec bash -c "$1"`. Если обрабатывать `$1` как путь к исполняемому файлу, перестают работать stdio MCP-серверы, которые передают аргументы, например `npx -y <package>`. Для вызовов инструмента Bash `$1` содержит полный вызов оболочки, который собирает Claude Code, включая настройку окружения, а не только команду, которую выполнил Claude |

390| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Выбор между полным системным промптом Claude Code и более коротким, с сокращёнными описаниями инструментов. Если переменная не задана, Haiku 4.5, Sonnet 5, Opus 4.7 и более ранние модели этих семейств по умолчанию используют полный промпт, а более новые модели — короткий. Установите `1`, чтобы использовать короткий промпт на любой модели. Установите `0`, `false`, `no` или `off`, чтобы использовать полный промпт на любой модели, даже если эксперимент или конфигурация сервера иначе выбрали бы короткий. Оба промпта сохраняют полный набор инструментов, хуки, MCP-серверы и обнаружение CLAUDE.md |395| `CLAUDE_CODE_SIMPLE` | Установите `1`, чтобы работать с минимальным системным промптом и только инструментами Bash, чтения файлов и редактирования файлов. Инструменты MCP из `--mcp-config` по-прежнему доступны. Отключает автоматическое обнаружение хуков, скиллов, пользовательских команд, субагентов, установленных плагинов, MCP-серверов, автоматической памяти и CLAUDE.md. Скиллы в каталоге, переданном через `--add-dir`, по-прежнему загружаются. Токены OAuth и учётные данные из связки ключей не считываются, поэтому аутентификация Anthropic должна обеспечиваться через `ANTHROPIC_API_KEY` или `apiKeyHelper` в `--settings`. Эквивалентно передаче [`--bare`](/docs/ru/headless#start-faster-with-bare-mode) |

396| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Выбор между полным системным промптом Claude Code и более коротким с сокращёнными описаниями инструментов. Если переменная не задана, Haiku 4.5, Sonnet 5, Opus 4.7 и более ранние модели этих семейств по умолчанию используют полный промпт, а более новые модели — короткий. Установите `1`, чтобы использовать короткий промпт на любой модели. Установите `0`, `false`, `no` или `off`, чтобы использовать полный промпт на любой модели, даже если эксперимент или конфигурация сервера иначе выбрали бы короткий. С любым промптом сохраняются полный набор инструментов, хуки, MCP-серверы и обнаружение CLAUDE.md |

391| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Пропускает аутентификацию на стороне клиента для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) — для шлюзов, которые сами подписывают запросы |397| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Пропускает аутентификацию на стороне клиента для [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) — для шлюзов, которые сами подписывают запросы |

392| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Установите `1`, чтобы отключить внутрипроцессный кэш учётных данных, полученных из цепочки поставщиков учётных данных AWS по умолчанию, чтобы Claude Code разрешал цепочку при каждом API-запросе. При отключённом кэше профиль на основе SSO запрашивает учётные данные у IAM Identity Center при каждом запросе. См. [кэширование учётных данных и таймаут их получения](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout). Требуется Claude Code v2.1.207 или новее |398| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Установите `1`, чтобы отключить внутрипроцессный кэш учётных данных, полученных из цепочки поставщиков учётных данных AWS по умолчанию, чтобы Claude Code проходил по цепочке при каждом запросе к API. При отключённом кэше профиль на основе SSO запрашивает учётные данные у IAM Identity Center при каждом запросе. См. [кэширование учётных данных и таймаут их получения](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout). Требуется Claude Code v2.1.207 или новее |

393| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Пропускает аутентификацию AWS для Amazon Bedrock (например, при использовании LLM-шлюза) |399| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Пропускает аутентификацию AWS для Amazon Bedrock (например, при использовании LLM-шлюза) |

394| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Установите `1`, чтобы считать неудачную проверку доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) признаком доступности — для сетей, которые блокируют прямой запрос этой проверки к `api.anthropic.com`. Claude Code по-прежнему учитывает ответ «disabled by your organization» |400| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Установите `1`, чтобы считать неудавшуюся проверку доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) успешной — для сетей, которые блокируют прямой запрос проверки к `api.anthropic.com`. Claude Code по-прежнему учитывает ответ «disabled by your organization» |

395| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Установите `1`, чтобы пропустить проверку доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) на стороне клиента — для прокси, которые перехватывают запрос этой проверки, а не отклоняют его. API по-прежнему отклоняет запросы в быстром режиме, если в вашей организации быстрый режим отключён |401| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Установите `1`, чтобы пропустить проверку доступности [быстрого режима](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) на стороне клиента — для прокси, которые перехватывают запрос проверки, а не отклоняют его. API по-прежнему отклоняет запросы в быстром режиме, если в вашей организации быстрый режим отключён |

396| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Пропускает аутентификацию Azure для Microsoft Foundry — для прокси или шлюза, который подставляет собственный заголовок `Authorization`. Claude Code отправляет запросы без учётных данных Azure и сохраняет заголовок `Authorization`, который вы предоставляете, например через `ANTHROPIC_CUSTOM_HEADERS`. Игнорируется, если задана `ANTHROPIC_FOUNDRY_API_KEY` или `ANTHROPIC_FOUNDRY_AUTH_TOKEN`. До v2.1.203 из-за этой переменной клиент Microsoft Foundry не мог отправлять запросы, если не был также задан API-ключ |402| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Пропускает аутентификацию Azure для Microsoft Foundry — для прокси или шлюза, который добавляет собственный заголовок `Authorization`. Claude Code отправляет запросы без учётных данных Azure и сохраняет заголовок `Authorization`, который вы передаёте, например через `ANTHROPIC_CUSTOM_HEADERS`. Игнорируется, если задана `ANTHROPIC_FOUNDRY_API_KEY` или `ANTHROPIC_FOUNDRY_AUTH_TOKEN`. До v2.1.203 эта переменная приводила к тому, что клиент Microsoft Foundry не мог отправлять запросы, если не был также задан API-ключ |

397| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Пропускает аутентификацию AWS для Amazon Bedrock Mantle (например, при использовании LLM-шлюза) |403| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Пропускает аутентификацию AWS для Amazon Bedrock Mantle (например, при использовании LLM-шлюза) |

398| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | [Проверки моделей при запуске](/docs/ru/amazon-bedrock#startup-model-checks) в [Amazon Bedrock](/docs/ru/amazon-bedrock) и [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) запоминают на этой машине, какие модели ваша учётная запись не может вызывать, на срок до суток. Установите `1`, чтобы отключить это запоминание. Требуется Claude Code v2.1.285 или новее |404| `CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY` | [Проверки моделей при запуске](/docs/ru/amazon-bedrock#startup-model-checks) в [Amazon Bedrock](/docs/ru/amazon-bedrock) и [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) запоминают на этом компьютере, какие модели ваша учётная запись не может вызывать, на срок до одного дня. Установите `1`, чтобы отключить это запоминание. Требуется Claude Code v2.1.285 или новее |

399| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Установите `1`, чтобы не записывать историю промптов и транскрипты сессий на диск. Сессии, запущенные с этой переменной, не отображаются в `--resume`, `--continue` и истории по стрелке вверх. Полезно для временных сессий, управляемых скриптами |405| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Установите `1`, чтобы не записывать историю промптов и транскрипты сессий на диск. Сессии, запущенные с этой переменной, не отображаются в `--resume`, `--continue` и истории по стрелке вверх. Полезно для временных сессий, выполняемых скриптами |

400| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропускает аутентификацию Google для Google Cloud's Agent Platform (например, при использовании LLM-шлюза) |406| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропускает аутентификацию Google для Google Cloud's Agent Platform (например, при использовании LLM-шлюза) |

401| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Установите `1`, чтобы сессия, запущенная с `--output-format stream-json`, записывала [сообщение с результатом, указывающее, почему Claude Code отказался запускаться](/docs/ru/agent-sdk/typescript#startup_failure_reason), для сбоев при запуске, которые иначе заканчиваются только выводом в stderr. Требуется Claude Code v2.1.274 или новее |407| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Установите `1`, чтобы сессия, запущенная с `--output-format stream-json`, записывала [сообщение с результатом, указывающее, почему Claude Code отказался запускаться](/docs/ru/agent-sdk/typescript#startup_failure_reason), при сбоях запуска, которые иначе завершаются только выводом в stderr. Требуется Claude Code v2.1.274 или новее |

402| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Максимальное количество раз подряд, когда хук [Stop](/docs/ru/hooks#stop) или [SubagentStop](/docs/ru/hooks#subagentstop) может блокировать завершение хода, прежде чем Claude Code переопределит его и всё равно завершит ход (по умолчанию: 8). Установите `0`, чтобы снять ограничение. Увеличьте значение, если вашему хуку действительно требуется больше итераций для завершения |408| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Максимальное количество последовательных раз, когда хук [Stop](/docs/ru/hooks#stop) или [SubagentStop](/docs/ru/hooks#subagentstop) может блокировать завершение хода, прежде чем Claude Code переопределит его и всё равно завершит ход (по умолчанию: 8). Установите `0`, чтобы отключить ограничение. Увеличьте значение, если вашему хуку обоснованно требуется больше итераций для завершения |

403| `CLAUDE_CODE_SUBAGENT_MODEL` | Модель по умолчанию для [субагентов](/docs/ru/sub-agents#choose-a-model), участников [команды агентов](/docs/ru/agent-teams#specify-teammates-and-models) и агентов [рабочих процессов](/docs/ru/workflows), которым модель не назначена иным способом. Принимает псевдоним, например `haiku`, или полное имя модели. Два источника имеют приоритет над ней: модель, которую Claude передаёт при запуске агента, и поле `model` в определении агента, включая `inherit`. Чтобы это изменить, задайте [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ru/sub-agents#run-every-subagent-on-one-model). Полный порядок см. в разделе [Выбор модели](/docs/ru/sub-agents#choose-a-model). Значение `inherit` равнозначно отсутствию значения. До v2.1.251 эта переменная переопределяла как модель, указанную при вызове, так и поле `model` в определении |409| `CLAUDE_CODE_SUBAGENT_MODEL` | Модель по умолчанию для [субагентов](/docs/ru/sub-agents#choose-a-model), участников [команды агентов](/docs/ru/agent-teams#specify-teammates-and-models) и агентов [рабочих процессов](/docs/ru/workflows), которым модель не назначена другим способом. Принимает псевдоним, например `haiku`, или полное имя модели. Два источника имеют приоритет над ней: модель, которую Claude передаёт при запуске агента, и поле `model` в определении агента, включая `inherit`. Чтобы изменить это, задайте [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ru/sub-agents#run-every-subagent-on-one-model). Полный порядок см. в разделе [Выбор модели](/docs/ru/sub-agents#choose-a-model). Значение `inherit` равнозначно незаданной переменной. До v2.1.251 эта переменная переопределяла как модель, переданную при вызове, так и поле `model` в определении |

404| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Установите `1`, чтобы принудительно назначить одну модель субагентам, участникам команды и агентам рабочих процессов. Какая это модель, описано в разделе [Запуск всех субагентов на одной модели](/docs/ru/sub-agents#run-every-subagent-on-one-model). Требуется Claude Code v2.1.257 или новее |410| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Установите `1`, чтобы принудительно назначить одну модель субагентам, участникам команды и агентам рабочих процессов. Какая это модель, описано в разделе [Запуск всех субагентов на одной модели](/docs/ru/sub-agents#run-every-subagent-on-one-model). Требуется Claude Code v2.1.257 или новее |

405| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Установите `5m` или `1h` — единственные значения, которые принимает Claude Code, — чтобы выбрать [TTL кэша промптов](/docs/ru/prompt-caching#cache-lifetime) для запросов вне основного диалога, таких как [субагенты](/docs/ru/sub-agents), рабочие процессы и фоновая работа. Имеет приоритет над настройкой `subagentPromptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, а `FORCE_PROMPT_CACHING_5M` переопределяет её. API тарифицирует запись в кэш на 1 час по более высокой ставке. Требуется Claude Code v2.1.242 или новее |411| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Установите `5m` или `1h` — единственные значения, которые принимает Claude Code, — чтобы выбрать [TTL кэша промптов](/docs/ru/prompt-caching#cache-lifetime) для запросов вне основного диалога, таких как [субагенты](/docs/ru/sub-agents), рабочие процессы и фоновая работа. Имеет приоритет над настройкой `subagentPromptCacheTtl` и над `ENABLE_PROMPT_CACHING_1H`, а `FORCE_PROMPT_CACHING_5M` переопределяет её. API тарифицирует запись в кэш на 1 час по более высокой ставке. Требуется Claude Code v2.1.242 или новее |

406| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите `1`, чтобы удалять учётные данные из окружений подпроцессов, которые запускает Claude Code, таких как команды Bash, хуки и stdio MCP-серверы. Очистка распознаёт учётные данные по имени переменной или по её значению и оставляет на месте токены GitHub и настройки прокси. См. [Что удаляет очистка окружения подпроцессов](#what-the-subprocess-environment-scrub-removes). `claude-code-action` задаёт её автоматически, когда настроен `allowed_non_write_users` |412| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите `1`, чтобы удалять учётные данные из окружения подпроцессов, которые запускает Claude Code, таких как команды Bash, хуки и stdio MCP-серверы. Очистка распознаёт учётные данные по имени переменной или по её значению и оставляет токены GitHub и настройки прокси. См. [Что удаляет очистка окружения подпроцессов](#what-the-subprocess-environment-scrub-removes). `claude-code-action` задаёт эту переменную автоматически, когда настроен `allowed_non_write_users` |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите `1` в неинтерактивном режиме (флаг `-p`), чтобы дождаться завершения установки плагинов перед первым запросом. Без этого плагины устанавливаются в фоне и могут быть недоступны на первом ходе. Используйте вместе с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |413| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Установите `1` в неинтерактивном режиме (флаг `-p`), чтобы дождаться завершения установки плагинов перед первым запросом. Без этого плагины устанавливаются в фоне и могут быть недоступны на первом ходу. Используйте вместе с `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`, чтобы ограничить ожидание |

408| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для синхронной установки плагинов. При его превышении Claude Code продолжает работу без плагинов и записывает ошибку в лог. Значения по умолчанию нет: без этой переменной синхронная установка ожидает завершения |414| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для синхронной установки плагинов. При превышении Claude Code продолжает работу без плагинов и записывает ошибку в лог. Значения по умолчанию нет: без этой переменной синхронная установка ждёт до завершения |

409| `CLAUDE_CODE_SYNC_SKILLS` | Установите `1` в неинтерактивном режиме с флагом `-p`, чтобы Claude Code в этом запуске загружал скиллы, включённые для вашей учётной записи claude.ai, и ожидал их списка, не дольше `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, прежде чем выполнить первый запрос. Требует аутентификации claude.ai. Терминальные сессии, в которых вы входите с учётной записью claude.ai, [синхронизируют эти скиллы](/docs/ru/skills#where-synced-skills-load) без этой переменной, поэтому задавайте её, только когда запуску `-p` нужны ваши текущие скиллы уже при первом запросе |415| `CLAUDE_CODE_SYNC_SKILLS` | Установите `1` в неинтерактивном режиме с флагом `-p`, чтобы Claude Code загрузил скиллы, включённые для вашей учётной записи claude.ai, в этом запуске и дождался их списка, вплоть до `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, прежде чем выполнить первый запрос. Требуется аутентификация claude.ai. Сессии в терминале, в которых вы входите с учётной записью claude.ai, [синхронизируют эти скиллы](/docs/ru/skills#where-synced-skills-load) без этой переменной, поэтому задавайте её, только когда запуску `-p` нужны ваши актуальные скиллы уже при первом запросе |

410| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для повторной синхронизации скиллов, которая выполняется посреди сессии, когда приложение на основе [Agent SDK](/docs/ru/agent-sdk/typescript#query-object) перезагружает скиллы (по умолчанию: 30000). При превышении перезагрузка продолжается с уже полученными скиллами, а оставшиеся загрузки завершаются в фоне |416| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Таймаут в миллисекундах для повторной синхронизации скиллов, которая выполняется посреди сессии, когда приложение на основе [Agent SDK](/docs/ru/agent-sdk/typescript#query-object) перезагружает скиллы (по умолчанию: 30000). При превышении перезагрузка продолжается с теми скиллами, которые уже поступили, а остальные загрузки завершаются в фоне |

411| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Таймаут в миллисекундах, в течение которого первый запрос ожидает исходный список скиллов, когда задана `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 5000). При превышении первый запрос выполняется с уже полученными скиллами. Загрузки в любом случае завершаются в фоне, и Claude дожидается загрузки скилла, когда вызывает этот скилл |417| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Таймаут в миллисекундах, в течение которого первый запрос ожидает исходный список скиллов, когда задана `CLAUDE_CODE_SYNC_SKILLS` (по умолчанию: 5000). При превышении первый запрос выполняется с теми скиллами, которые уже поступили. В любом случае загрузки завершаются в фоне, а Claude дожидается загрузки скилла, когда вызывает этот скилл |

412| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают настройке вашего терминала. Чтобы также отключить подсветку в блоках кода и предпросмотрах файлов, используйте настройку [`syntaxHighlightingDisabled`](/docs/ru/settings-reference#syntaxhighlightingdisabled) |418| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Установите `false`, чтобы отключить подсветку синтаксиса в выводе diff. Полезно, когда цвета мешают настройке вашего терминала. Чтобы также отключить подсветку в блоках кода и предпросмотре файлов, используйте настройку [`syntaxHighlightingDisabled`](/docs/ru/settings-reference#syntaxhighlightingdisabled) |

413| `CLAUDE_CODE_TASK_LIST_ID` | Общий список задач для нескольких сессий. Задайте один и тот же ID в нескольких экземплярах Claude Code, чтобы координировать работу над общим списком задач, в [сессиях, где есть инструменты Task](/docs/ru/tools-reference#task-tool-availability). См. [Список задач](/docs/ru/interactive-mode#task-list) |419| `CLAUDE_CODE_TASK_LIST_ID` | Общий список задач для нескольких сессий. Задайте один и тот же ID в нескольких экземплярах Claude Code, чтобы координировать работу над общим списком задач в [сессиях, где есть инструменты Task](/docs/ru/tools-reference#task-tool-availability). См. [Список задач](/docs/ru/interactive-mode#task-list) |

414| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Переопределяет в миллисекундах, сколько неинтерактивная сессия ожидает при выходе, пока её [команда агентов](/docs/ru/agent-teams) завершит работу. Принимает значения от 1000 до 60000; значение вне диапазона игнорируется, и применяется значение по умолчанию 10000. Требуется Claude Code v2.1.206 или новее |420| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Переопределяет в миллисекундах, сколько неинтерактивная сессия ждёт при выходе, пока её [команда агентов](/docs/ru/agent-teams) завершит остановку. Принимает значения от 1000 до 60000; значение вне диапазона игнорируется, и применяется значение по умолчанию 10000. Требуется Claude Code v2.1.206 или новее |

415| `CLAUDE_CODE_TMPDIR` | Переопределяет временный каталог, используемый для внутренних временных файлов. Claude Code добавляет к этому пути `/claude-{uid}/` в Unix или `/claude/` в Windows. По умолчанию: `/tmp` в macOS, `os.tmpdir()` в Linux и Windows. В macOS и Linux подпроцессы Bash, [изолированные в песочнице](/docs/ru/sandboxing), получают короткий резервный `$TMPDIR` в системном каталоге по умолчанию, если ваше переопределение — длинный путь, поскольку некоторые инструменты дают сбой при слишком длинных временных путях. Команды Bash без песочницы наследуют `$TMPDIR` вашей оболочки, если он задан. В нативной Windows, когда ваша оболочка не задаёт `$TMPDIR`, команда Bash, ссылающаяся на `$TMPDIR`, получает ваше переопределение или `%TEMP%`, если вы его не задали. Собственные временные файлы Claude Code всегда используют ваше переопределение. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |421| `CLAUDE_CODE_TMPDIR` | Переопределяет временный каталог, используемый для внутренних временных файлов. Claude Code добавляет к этому пути `/claude-{uid}/` в Unix или `/claude/` в Windows. По умолчанию: `/tmp` в macOS, `os.tmpdir()` в Linux и Windows. В macOS и Linux [изолированные в песочнице](/docs/ru/sandboxing) подпроцессы Bash получают короткий резервный `$TMPDIR` в системном каталоге по умолчанию, если ваше переопределение — длинный путь, поскольку некоторые инструменты дают сбой при слишком длинных путях к временным файлам. Команды Bash вне песочницы наследуют `$TMPDIR` вашей оболочки, если он задан. В нативной Windows, когда ваша оболочка не задаёт `$TMPDIR`, команда Bash, ссылающаяся на `$TMPDIR`, получает ваше переопределение или `%TEMP%`, если вы его не задали. Собственные временные файлы Claude Code всегда используют ваше переопределение. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

416| `CLAUDE_CODE_TMUX_TRUECOLOR` | Установите любое непустое значение, например `1`, чтобы разрешить 24-битный вывод truecolor внутри tmux. **Значение `0` или `false` по-прежнему разрешает truecolor**, в отличие от большинства переменных включения/отключения; удалите переменную, чтобы вернуть ограничение в 256 цветов. По умолчанию Claude Code ограничивает вывод 256 цветами, когда задан `$TMUX`, поскольку tmux не пропускает escape-последовательности truecolor, если не настроен на это. Задайте её после добавления `set -ga terminal-overrides ',*:Tc'` в ваш `~/.tmux.conf`. Другие настройки tmux см. в разделе [Настройка терминала](/docs/ru/terminal-config) |422| `CLAUDE_CODE_TMUX_TRUECOLOR` | Задайте любое непустое значение, например `1`, чтобы разрешить 24-битный вывод truecolor внутри tmux. **Значение `0` или `false` всё равно разрешает truecolor**, в отличие от большинства переменных включения/отключения; удалите переменную, чтобы восстановить ограничение в 256 цветов. По умолчанию Claude Code ограничивается 256 цветами, когда задан `$TMUX`, поскольку tmux не пропускает escape-последовательности truecolor, если не настроен соответствующим образом. Задайте эту переменную после добавления `set -ga terminal-overrides ',*:Tc'` в ваш `~/.tmux.conf`. Другие настройки tmux см. в разделе [Настройка терминала](/docs/ru/terminal-config) |

417| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | В Linux и WSL задайте список через запятую видов процессов, которые Claude Code [исключает из ограничения памяти инструментов](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), например `mcp` или `lsp`. Установите `none`, чтобы ограничивать все виды, или `all-new`, чтобы ограничивать только команды инструментов Bash, PowerShell и Monitor. Claude Code сохраняет ограничение для команд инструментов Bash, PowerShell и Monitor независимо от того, что вы перечислите. Требуется Claude Code v2.1.246 или новее |423| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | В Linux и WSL задайте разделённый запятыми список видов процессов, которые Claude Code [исключает из ограничения памяти инструментов](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), например `mcp` или `lsp`. Задайте `none`, чтобы ограничивать все виды, или `all-new`, чтобы ограничивать только команды инструментов Bash, PowerShell и Monitor. Claude Code оставляет команды инструментов Bash, PowerShell и Monitor под ограничением, что бы вы ни перечислили. Требуется Claude Code v2.1.246 или новее |

418| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | В Linux и WSL задайте размер, например `4G`, чтобы [ограничить память, которую могут использовать команды инструментов Bash и PowerShell](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), а в v2.1.246 и новее — и команды инструмента Monitor. Запишите размер цифрами: без суффикса для количества байтов или с суффиксом `K`, `M`, `G` или `T`. Установите `0` или `off`, чтобы отключить ограничение. После того как первый процесс, запущенный Claude Code, включил или отключил ограничение, изменённое значение вступает в силу при следующем запуске `claude`. Требуется Claude Code v2.1.233 или новее |424| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | В Linux и WSL задайте размер, например `4G`, чтобы [ограничить память, которую могут использовать команды инструментов Bash и PowerShell](/docs/ru/tools-reference#memory-limit-on-linux-and-wsl), а также команды инструмента Monitor в v2.1.246 и новее. Записывайте размер цифрами: без суффикса — в байтах, или с суффиксом `K`, `M`, `G` или `T`. Задайте `0` или `off`, чтобы отключить ограничение. После того как первый процесс, запущенный Claude Code, включил или отключил ограничение, изменённое значение вступает в силу при следующем запуске `claude`. Требуется Claude Code v2.1.233 или новее |

419| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Установите `1`, чтобы ограничить рост [файла транскрипта](/docs/ru/sessions#where-transcripts-are-stored) длительной сессии `-p` или Agent SDK. После каждого сжатия контекста, как только файл превышает 5 МБ, Claude Code удаляет историю, предшествующую этому сжатию. При возобновлении сессии восстанавливается тот же диалог, независимо от того, был ли файл обрезан. Задайте её в окружении, из которого вы запускаете Claude Code, поскольку блок `env` в настройках не может её включить. Требуется Claude Code v2.1.287 или новее |425| `CLAUDE_CODE_TRANSCRIPT_LOCAL_GC` | Установите `1`, чтобы ограничить рост [файла транскрипта](/docs/ru/sessions#where-transcripts-are-stored) длительной сессии `-p` или Agent SDK. После каждого сжатия контекста, если файл больше 5 МБ, Claude Code удаляет историю, предшествующую этому сжатию. Возобновление сессии восстанавливает тот же диалог независимо от того, был ли файл обрезан. Задайте её в окружении, из которого вы запускаете Claude Code, поскольку блок `env` в настройках не может её включить. Требуется Claude Code v2.1.287 или новее |

420| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Крайний срок в миллисекундах, по истечении которого Claude Code отменяет диалоговое окно, переданное удалённому клиенту, такому как хост [Remote Control](/docs/ru/remote-control) или SDK, либо диалоговое окно подтверждения для [удерживаемого межсессионного сообщения](/docs/ru/cross-session-messaging#control-inbound-messages); запросы разрешений и вопросы `AskUserQuestion` используют собственные механизмы и не регулируются ею. В Claude Code v2.1.236 и новее она также ограничивает появляющийся посреди сессии [запрос согласия на использование кредитов для Fable](/docs/ru/model-config#fable-and-usage-credits) в сессии, которая может работать без присмотра. В разделах [Контроль входящих сообщений](/docs/ru/cross-session-messaging#control-inbound-messages) и [Неинтерактивные сессии](/docs/ru/cross-session-messaging#non-interactive-sessions) описаны полные правила истечения срока удерживаемых сообщений, включая случаи, когда крайний срок не применяется. Переопределяет настройку [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry). `0` или отрицательное значение отключает крайний срок. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |426| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Крайний срок в миллисекундах, по истечении которого Claude Code отменяет диалоговое окно, пересылаемое удалённому клиенту, например [Remote Control](/docs/ru/remote-control) или хосту SDK, либо диалоговое окно подтверждения для [задержанного межсессионного сообщения](/docs/ru/cross-session-messaging#control-inbound-messages); запросы разрешений и вопросы `AskUserQuestion` используют собственные механизмы и этой переменной не регулируются. В Claude Code v2.1.236 или новее она также ограничивает запрос согласия на [кредиты использования Fable](/docs/ru/model-config#fable-and-usage-credits), появляющийся посреди сессии, которая может выполняться без присмотра. Полные правила истечения срока задержанных сообщений, включая случаи, когда крайний срок не применяется, описаны в разделах [Управление входящими сообщениями](/docs/ru/cross-session-messaging#control-inbound-messages) и [Неинтерактивные сессии](/docs/ru/cross-session-messaging#non-interactive-sessions). Переопределяет настройку [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry). `0` или отрицательное значение отключает крайний срок. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

421| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Использовать [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) |427| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Использовать [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) |

422| `CLAUDE_CODE_USE_BEDROCK` | Использовать [Amazon Bedrock](/docs/ru/amazon-bedrock) |428| `CLAUDE_CODE_USE_BEDROCK` | Использовать [Amazon Bedrock](/docs/ru/amazon-bedrock) |

423| `CLAUDE_CODE_USE_FOUNDRY` | Использовать [Microsoft Foundry](/docs/ru/microsoft-foundry) |429| `CLAUDE_CODE_USE_FOUNDRY` | Использовать [Microsoft Foundry](/docs/ru/microsoft-foundry) |

424| `CLAUDE_CODE_USE_MANTLE` | Использовать [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock |430| `CLAUDE_CODE_USE_MANTLE` | Использовать [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock |

425| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Установите значение `1`, чтобы обнаруживать пользовательские команды, субагентов и стили вывода с помощью файловых API Node.js вместо ripgrep. Задайте эту переменную, если встроенный бинарный файл ripgrep недоступен или заблокирован в вашей среде. Не влияет на инструменты Grep и поиска файлов |431| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Установите значение `1`, чтобы обнаруживать пользовательские команды, субагентов и стили вывода с помощью файловых API Node.js вместо ripgrep. Используйте, если встроенный бинарный файл ripgrep недоступен или заблокирован в вашей среде. Не влияет на инструменты Grep и поиска файлов |

426| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Управляет инструментом PowerShell. В Windows без Git Bash инструмент включается автоматически; установите `0`, чтобы отключить его. В Windows с установленным Git Bash инструмент по умолчанию включён для учётных записей claude.ai и Console; установите `1`, чтобы включить его в сессиях Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, или `0`, чтобы выключить его. В Linux, macOS и WSL установите `1`, чтобы включить его; для этого требуется `pwsh` в вашем `PATH`. Когда инструмент включён в Windows, Claude может выполнять команды PowerShell нативно, а не через Git Bash. См. [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) |432| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Управляет инструментом PowerShell. В Windows без Git Bash инструмент включается автоматически; установите `0`, чтобы отключить его. В Windows с установленным Git Bash инструмент по умолчанию включён для учётных записей claude.ai и Console; установите `1`, чтобы включить его в сессиях Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, или `0`, чтобы отключить. В Linux, macOS и WSL установите `1`, чтобы включить его; для этого требуется `pwsh` в `PATH`. Когда инструмент включён в Windows, Claude может выполнять команды PowerShell напрямую, а не через Git Bash. См. [Инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) |

427| `CLAUDE_CODE_USE_VERTEX` | Использовать [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |433| `CLAUDE_CODE_USE_VERTEX` | Использовать [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) |

428| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Количество миллисекунд, в течение которых [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) хранит в кэше ответ для каждого загруженного URL. По умолчанию `900000`, то есть 15 минут. Принимает только цифры; `0`, десятичное число или любое другое написание оставляет значение по умолчанию. Claude Code считывает значение один раз при запуске, поэтому изменение в блоке `env` настроек применяется при следующем запуске `claude`. Требуется Claude Code v2.1.233 или новее |434| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Задаёт количество миллисекунд, в течение которых [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) хранит в кэше ответ для каждого загруженного URL. По умолчанию `900000`, то есть 15 минут. Принимаются только цифры; `0`, десятичная дробь или любая другая запись оставляет значение по умолчанию. Claude Code считывает значение один раз при запуске, поэтому изменение в блоке `env` настроек вступает в силу при следующем запуске `claude`. Требуется Claude Code v2.1.233 или новее |

429| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Верхняя граница в миллисекундах для времени, в течение которого [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) ожидает загрузки страницы, включая все перенаправления, по которым он переходит. Загрузка, не завершившаяся к этому времени, завершается ошибкой превышения дедлайна. По умолчанию `300000`, то есть пять минут. Установите `0`, чтобы снять ограничение. Принимает только цифры; десятичное число или любое другое написание оставляет значение по умолчанию. Требуется Claude Code v2.1.268 или новее |435| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Верхний предел в миллисекундах для времени ожидания [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior) при загрузке страницы, включая все перенаправления, по которым он переходит. Загрузка, не завершившаяся к этому моменту, завершается ошибкой крайнего срока. По умолчанию `300000`, то есть пять минут. Установите `0`, чтобы снять ограничение. Принимаются только цифры; десятичная дробь или любая другая запись оставляет значение по умолчанию. Требуется Claude Code v2.1.268 или новее |

430| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Скорость восполнения [лимита WebSearch](/docs/ru/tools-reference#session-search-limit) сессии, в вызовах в час. По умолчанию `100` в интерактивной сессии терминала. В [неинтерактивной](/docs/ru/headless) сессии по умолчанию `0`, что отключает восполнение. Принимает только цифры; любое другое написание считается незаданным значением. Требуется Claude Code v2.1.290 или новее |436| `CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR` | Скорость пополнения [лимита WebSearch](/docs/ru/tools-reference#session-search-limit) сессии в вызовах в час. По умолчанию `100` в интерактивной сессии терминала. В [неинтерактивной](/docs/ru/headless) сессии значение по умолчанию — `0`, что отключает пополнение. Принимаются только цифры; любая другая запись считается незаданной. Требуется Claude Code v2.1.290 или новее |

431| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Когда `CLAUDE_AUTO_BACKGROUND_TASKS` установлена в `1`, задаёт, сколько Claude Code ждёт перед каждым напоминанием Claude проверить [фоновых субагентов](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), которые всё ещё работают. Принимает одно или несколько разделённых запятыми значений ожидания в целых секундах от `1` до `86400`, например `600` или `600,1800,3600`. Каждое значение — время ожидания перед следующим напоминанием, а последнее значение повторяется. Принимает только цифры; любое другое значение или написание считается незаданным. Если не задано, напоминаний нет. Требуется Claude Code v2.1.283 или новее |437| `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` | Когда `CLAUDE_AUTO_BACKGROUND_TASKS` установлена в `1`, задаёт, сколько Claude Code ждёт перед каждым напоминанием Claude проверить [фоновых субагентов](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), которые всё ещё выполняются. Принимает одно или несколько разделённых запятыми значений ожидания в целых секундах от `1` до `86400`, например `600` или `600,1800,3600`. Каждое значение — это время ожидания перед следующим напоминанием, а последнее значение повторяется. Принимаются только цифры; любое другое значение или запись считается незаданной. Если не задана, напоминаний нет. Требуется Claude Code v2.1.283 или новее |

432| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Сколько агентов одновременно выполняет один запуск [workflow](/docs/ru/workflows), от `1` до `256`. По умолчанию запуск выполняет до 16 агентов одновременно, меньше, если Claude Code доступно меньше CPU; вызовы `agent()` в очереди ждут свободного слота. Транскрипт каждого работающего агента хранится в оперативной памяти Claude Code, поэтому более высокие значения увеличивают потребление памяти. Принимает только цифры; значения вне диапазона и другие написания оставляют значение по умолчанию. Требуется Claude Code v2.1.269 или новее |438| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Сколько агентов одновременно выполняет один запуск [рабочего процесса](/docs/ru/workflows), от `1` до `256`. По умолчанию запуск выполняет до 16 агентов одновременно, меньше, если Claude Code доступно меньше процессоров; вызовы `agent()` в очереди ждут освобождения слота. Транскрипт каждого выполняющегося агента хранится в памяти Claude Code, поэтому более высокие значения увеличивают потребление оперативной памяти. Принимаются только цифры; значения вне диапазона и другие записи оставляют значение по умолчанию. Требуется Claude Code v2.1.269 или новее |

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

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

435| `CLAUDE_DISABLE_ADOPT` | Установите `1`, чтобы останавливать выполняемую фоновую работу, а не переносить её, когда вы переводите сессию в фоновый режим нажатием `←` или командой [`/background`](/docs/ru/agent-view#from-inside-a-session). Claude Code просит подтвердить перевод в фоновый режим, а затем останавливает задачи, которые иначе были бы перенесены. Требуется Claude Code v2.1.195 или новее |441| `CLAUDE_DISABLE_ADOPT` | Установите значение `1`, чтобы останавливать выполняющуюся фоновую работу вместо её переноса, когда вы переводите сессию в фон нажатием `←` или командой [`/background`](/docs/ru/agent-view#from-inside-a-session). Claude Code просит подтвердить перевод в фон, а затем останавливает задачи, которые иначе были бы перенесены. Требуется Claude Code v2.1.195 или новее |

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

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

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

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

440| `CLAUDE_ENV_FILE` | Путь к shell-скрипту, содержимое которого Claude Code выполняет перед каждой командой Bash в том же процессе оболочки, так что экспортируемые в файле переменные видны команде. Используйте, чтобы сохранять активацию virtualenv или conda между командами. Также заполняется динамически хуками [SessionStart](/docs/ru/hooks#persist-environment-variables), [Setup](/docs/ru/hooks#setup), [CwdChanged](/docs/ru/hooks#cwdchanged) и [FileChanged](/docs/ru/hooks#filechanged) |446| `CLAUDE_ENV_FILE` | Путь к shell-скрипту, содержимое которого Claude Code выполняет перед каждой командой Bash в том же процессе оболочки, чтобы экспорты из файла были видны команде. Используйте для сохранения активации virtualenv или conda между командами. Также заполняется динамически хуками [SessionStart](/docs/ru/hooks#persist-environment-variables), [Setup](/docs/ru/hooks#setup), [CwdChanged](/docs/ru/hooks#cwdchanged) и [FileChanged](/docs/ru/hooks#filechanged) |

441| `CLAUDE_JOB_DIR` | Задаётся Claude Code в каждой [фоновой сессии](/docs/ru/agent-view) равной каталогу `~/.claude/jobs/<id>` этой сессии. Shell-команды, выполняемые сессией, наследуют её. Записывайте временные файлы в [`$CLAUDE_JOB_DIR/tmp`](/docs/ru/agent-view#where-state-is-stored). Вызовы `Write` и `Edit` от Claude в этом каталоге не запрашивают разрешение, а каталог удаляется при удалении сессии |447| `CLAUDE_JOB_DIR` | Устанавливается Claude Code в каждой [фоновой сессии](/docs/ru/agent-view) в каталог `~/.claude/jobs/<id>` этой сессии. Её наследуют shell-команды, которые выполняет сессия. Записывайте временные файлы в [`$CLAUDE_JOB_DIR/tmp`](/docs/ru/agent-view#where-state-is-stored). Вызовы `Write` и `Edit` от Claude в этом каталоге не запрашивают разрешения, а каталог удаляется при удалении сессии |

442| `CLAUDE_PID` | Claude Code записывает в неё идентификатор собственного процесса в порождаемых им подпроцессах: командах инструментов Bash и PowerShell и командах хуков. В Linux shell-интеграция инструмента Bash использует её, чтобы отклонить шаблон `pkill`, который совпал бы с самим процессом Claude Code; см. [справочник по ошибкам](/docs/ru/errors#pkill-pattern-matches-the-claude-code-process). Считывайте её в собственных скриптах, чтобы намеренно идентифицировать родительский процесс Claude Code или отправить ему сигнал. Требуется Claude Code v2.1.214 или новее |448| `CLAUDE_PID` | Claude Code устанавливает эту переменную в идентификатор собственного процесса в порождаемых им подпроцессах: командах инструментов Bash и PowerShell и командах хуков. В Linux интеграция с оболочкой инструмента Bash использует её, чтобы отклонять шаблон `pkill`, который совпал бы с самим процессом Claude Code; см. [справочник по ошибкам](/docs/ru/errors#pkill-pattern-matches-the-claude-code-process). Считывайте её в собственных скриптах, чтобы намеренно идентифицировать родительский процесс Claude Code или отправлять ему сигналы. Требуется Claude Code v2.1.214 или новее |

443| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Префикс для автоматически генерируемых имён сессий [Remote Control](/docs/ru/remote-control), когда явное имя не указано. По умолчанию — имя хоста вашего компьютера, что даёт имена вида `myhost-graceful-unicorn`. Флаг CLI `--remote-control-session-name-prefix` задаёт то же значение для одного вызова |449| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Префикс для автоматически генерируемых имён сессий [Remote Control](/docs/ru/remote-control), когда явное имя не указано. По умолчанию — имя хоста вашего компьютера, что даёт имена вида `myhost-graceful-unicorn`. Флаг CLI `--remote-control-session-name-prefix` задаёт то же значение для одного запуска |

444| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Дедлайн в миллисекундах для первого байта ответа потокового запроса на соединениях, где действует [дедлайн первого байта](/docs/ru/network-config#streaming-idle-watchdogs). О том, как Claude Code ограничивает это значение, какое дополнительное время добавляет для больших тел запросов и как выбирает дедлайн, если переменная не задана, см. [No response from API](/docs/ru/errors#no-response-from-api). Требуется Claude Code v2.1.242 или новее |450| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Крайний срок в миллисекундах для первого байта ответа на потоковый запрос на соединениях, где действует [крайний срок первого байта](/docs/ru/network-config#streaming-idle-watchdogs). О том, как Claude Code ограничивает это значение, какое дополнительное время добавляет для больших тел запросов и как выбирает крайний срок, если переменная не задана, см. [No response from API](/docs/ru/errors#no-response-from-api). Требуется Claude Code v2.1.242 или новее |

445| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах, по истечении которого сторожевые таймеры простоя потоковой передачи уровня событий и уровня байтов закрывают зависшее соединение. Если вы задаёте эту переменную явно, минимум составляет `300000` (5 минут); меньшие значения молча повышаются до минимума, чтобы учитывать паузы расширенного мышления и буферизацию прокси, а байтовый сторожевой таймер ограничивает значение 30 минутами. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` имеет приоритет над этой переменной для байтового сторожевого таймера. О значениях по умолчанию для каждого сторожевого таймера см. [Сторожевые таймеры простоя потоковой передачи](/docs/ru/network-config#streaming-idle-watchdogs) |451| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Таймаут в миллисекундах, по истечении которого сторожевые таймеры простоя потоковой передачи на уровне событий и байтов закрывают зависшее соединение. Если вы задаёте эту переменную явно, минимум составляет `300000` (5 минут); более низкие значения без предупреждения повышаются до минимума, чтобы учесть длительные паузы расширенного мышления и буферизацию прокси, а сторожевой таймер уровня байтов ограничивает значение 30 минутами. Для сторожевого таймера уровня байтов `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` имеет приоритет над этой переменной. Значения по умолчанию для каждого сторожевого таймера см. в разделе [Сторожевые таймеры простоя потоковой передачи](/docs/ru/network-config#streaming-idle-watchdogs) |

446| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Удалена в v2.1.260 и теперь ни на что не влияет. Ранее ограничивала время выполнения [фоновой shell-команды](/docs/ru/interactive-mode#background-bash-commands), запущенной [субагентом](/docs/ru/sub-agents), в миллисекундах, со значением по умолчанию 60 минут. См. [правила времени жизни фоновых команд](/docs/ru/tools-reference#background-commands) |452| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Удалена в v2.1.260 и теперь ни на что не влияет. Ранее ограничивала в миллисекундах время выполнения [фоновой shell-команды](/docs/ru/interactive-mode#background-bash-commands), запущенной [субагентом](/docs/ru/sub-agents), со значением по умолчанию 60 минут. См. [правила времени жизни фоновых команд](/docs/ru/tools-reference#background-commands) |

447| `DEBUG` | Установите `1`, чтобы включить режим отладки, что эквивалентно запуску с [`--debug`](/docs/ru/cli-reference#cli-flags). Логи отладки записываются в `~/.claude/debug/<session-id>.txt` или по пути, заданному `CLAUDE_CODE_DEBUG_LOGS_DIR`. Режим отладки включают только истинные значения `1`, `true`, `yes` и `on`, поэтому шаблоны пространств имён вроде `DEBUG=express:*`, заданные для других инструментов, его не активируют |453| `DEBUG` | Установите значение `1`, чтобы включить режим отладки, что эквивалентно запуску с [`--debug`](/docs/ru/cli-reference#cli-flags). Логи отладки записываются в `~/.claude/debug/<session-id>.txt` или по пути, заданному `CLAUDE_CODE_DEBUG_LOGS_DIR`. Режим отладки включают только истинные значения `1`, `true`, `yes` и `on`, поэтому шаблоны пространств имён вроде `DEBUG=express:*`, заданные для других инструментов, его не активируют |

448| `DISABLE_AUTOUPDATER` | Установите `1`, чтобы отключить автоматические фоновые обновления. Ручная команда `claude update` продолжает работать. Используйте `DISABLE_UPDATES`, чтобы заблокировать и то и другое |454| `DISABLE_AUTOUPDATER` | Установите значение `1`, чтобы отключить автоматические фоновые обновления. Ручная команда `claude update` продолжает работать. Используйте `DISABLE_UPDATES`, чтобы заблокировать и то, и другое |

449| `DISABLE_AUTO_COMPACT` | Установите `1`, чтобы отключить автоматическое сжатие контекста при приближении к лимиту контекста. Ручная команда `/compact` остаётся доступной. Используйте, если хотите явно контролировать, когда происходит сжатие. Переопределяет настройку [`autoCompactEnabled`](/docs/ru/settings-reference#autocompactenabled) |455| `DISABLE_AUTO_COMPACT` | Установите значение `1`, чтобы отключить автоматическое сжатие контекста при приближении к лимиту контекста. Ручная команда `/compact` остаётся доступной. Используйте, когда хотите явно контролировать момент сжатия. Переопределяет настройку [`autoCompactEnabled`](/docs/ru/settings-reference#autocompactenabled) |

450| `DISABLE_COMPACT` | Установите `1`, чтобы отключить любое сжатие контекста: и автоматическое сжатие, и ручную команду `/compact` |456| `DISABLE_COMPACT` | Установите значение `1`, чтобы отключить любое сжатие контекста: и автоматическое, и ручную команду `/compact` |

451| `DISABLE_COST_WARNINGS` | Установите `1`, чтобы отключить предупреждения о стоимости |457| `DISABLE_COST_WARNINGS` | Установите значение `1`, чтобы отключить предупреждения о стоимости |

452| `DISABLE_DOCTOR_COMMAND` | Установите `1`, чтобы скрыть скилл проверки настройки [`/doctor`](/docs/ru/commands#all-commands) и его псевдоним `/checkup`. Полезно для управляемых развёртываний, где пользователи не должны запускать диагностику настройки из сессии. Не влияет на команду терминала `claude doctor`. До v2.1.205 эта переменная скрывала команду экрана диагностики `/doctor` |458| `DISABLE_DOCTOR_COMMAND` | Установите значение `1`, чтобы скрыть скилл проверки установки [`/doctor`](/docs/ru/commands#all-commands) и его псевдоним `/checkup`. Полезно для управляемых развёртываний, где пользователи не должны запускать диагностику установки из сессии. Не влияет на команду терминала `claude doctor`. До v2.1.205 эта переменная скрывала команду экрана диагностики `/doctor` |

453| `DISABLE_ERROR_REPORTING` | Установите любое непустое значение, например `1`, чтобы отказаться от отправки отчётов об ошибках. **Значение `0` или `false` также означает отказ**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы снова включить отправку отчётов об ошибках |459| `DISABLE_ERROR_REPORTING` | Установите любое непустое значение, например `1`, чтобы отказаться от отправки отчётов об ошибках. **Значение `0` или `false` также означает отказ**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы снова включить отчёты об ошибках |

454| `DISABLE_EXTRA_USAGE_COMMAND` | Установите `1`, чтобы скрыть команду `/usage-credits`, которая позволяет пользователям приобретать дополнительное использование сверх ограничений частоты запросов |460| `DISABLE_EXTRA_USAGE_COMMAND` | Установите значение `1`, чтобы скрыть команду `/usage-credits`, которая позволяет пользователям приобретать дополнительное использование сверх ограничений частоты запросов |

455| `DISABLE_FEEDBACK_COMMAND` | Установите `1`, чтобы отключить команду `/feedback` и [отзывы, составляемые Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior). Также отключает `/bug` и `/share`, которые отправляют отчёты тем же путём; до v2.1.212 они были псевдонимами `/feedback`, поэтому команда отключалась под любым именем. Также принимается старое имя `DISABLE_BUG_COMMAND` |461| `DISABLE_FEEDBACK_COMMAND` | Установите значение `1`, чтобы отключить команду `/feedback` и [отзывы, составленные Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior). Также отключает `/bug` и `/share`, которые отправляют отчёты тем же путём; до v2.1.212 они были псевдонимами `/feedback`, поэтому команда отключалась под любым именем. Также принимается старое имя `DISABLE_BUG_COMMAND` |

456| `DISABLE_GROWTHBOOK` | Установите `1` или `true`, чтобы отключить получение флагов функций GrowthBook и использовать значения по умолчанию из кода для каждого флага. Это делает недоступными [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, которым требуется получение флагов функций](#features-that-need-feature-flag-fetching). Значение `0` или `false` оставляет получение включённым. Логирование событий телеметрии остаётся включённым, если не задана также `DISABLE_TELEMETRY` |462| `DISABLE_GROWTHBOOK` | Установите значение `1` или `true`, чтобы отключить получение флагов функций GrowthBook и использовать значения по умолчанию из кода для всех флагов. Это делает недоступными [Remote Control](/docs/ru/remote-control#requirements) и другие [функции, которым требуется получение флагов функций](#features-that-need-feature-flag-fetching). Значение `0` или `false` оставляет получение включённым. Логирование событий телеметрии остаётся включённым, если не задана также `DISABLE_TELEMETRY` |

457| `DISABLE_INSTALLATION_CHECKS` | Установите `1`, чтобы отключить предупреждения об установке. Используйте только при ручном управлении расположением установки, так как это может скрыть проблемы со стандартными установками |463| `DISABLE_INSTALLATION_CHECKS` | Установите значение `1`, чтобы отключить предупреждения об установке. Используйте только при ручном управлении расположением установки, так как это может скрыть проблемы стандартных установок |

458| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Установите `1`, чтобы скрыть команду `/install-github-app`. Она уже скрыта при использовании сторонних провайдеров (Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry) |464| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Установите значение `1`, чтобы скрыть команду `/install-github-app`. Уже скрыта при использовании сторонних провайдеров (Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry) |

459| `DISABLE_INTERLEAVED_THINKING` | Установите `1`, чтобы не отправлять бета-заголовок interleaved-thinking. Полезно, если ваш LLM-шлюз или провайдер не поддерживает [чередующееся мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |465| `DISABLE_INTERLEAVED_THINKING` | Установите значение `1`, чтобы не отправлять бета-заголовок interleaved-thinking. Полезно, когда ваш LLM-шлюз или провайдер не поддерживает [чередующееся мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

460| `DISABLE_LOGIN_COMMAND` | Установите `1`, чтобы скрыть команду `/login`. Полезно, когда аутентификация выполняется внешним способом через API-ключи или `apiKeyHelper` |466| `DISABLE_LOGIN_COMMAND` | Установите значение `1`, чтобы скрыть команду `/login`. Полезно, когда аутентификация выполняется внешне через API-ключи или `apiKeyHelper` |

461| `DISABLE_LOGOUT_COMMAND` | Установите `1`, чтобы скрыть команду `/logout` |467| `DISABLE_LOGOUT_COMMAND` | Установите значение `1`, чтобы скрыть команду `/logout` |

462| `DISABLE_PROMPT_CACHING` | Установите `1`, чтобы отключить [кэширование промптов](/docs/ru/prompt-caching#disable-prompt-caching) для всех моделей (имеет приоритет над настройками для отдельных моделей) |468| `DISABLE_PROMPT_CACHING` | Установите значение `1`, чтобы отключить [кэширование промптов](/docs/ru/prompt-caching#disable-prompt-caching) для всех моделей (имеет приоритет над настройками для отдельных моделей) |

463| `DISABLE_PROMPT_CACHING_FABLE` | Установите `1`, чтобы отключить кэширование промптов для моделей Fable |469| `DISABLE_PROMPT_CACHING_FABLE` | Установите значение `1`, чтобы отключить кэширование промптов для моделей Fable |

464| `DISABLE_PROMPT_CACHING_HAIKU` | Установите `1`, чтобы отключить кэширование промптов для [модели Haiku по умолчанию](/docs/ru/prompt-caching#disable-prompt-caching), где бы она ни работала |470| `DISABLE_PROMPT_CACHING_HAIKU` | Установите значение `1`, чтобы отключить кэширование промптов для [модели Haiku по умолчанию](/docs/ru/prompt-caching#disable-prompt-caching), где бы она ни работала |

465| `DISABLE_PROMPT_CACHING_OPUS` | Установите `1`, чтобы отключить кэширование промптов для [модели Opus по умолчанию](/docs/ru/prompt-caching#disable-prompt-caching) |471| `DISABLE_PROMPT_CACHING_OPUS` | Установите значение `1`, чтобы отключить кэширование промптов для [модели Opus по умолчанию](/docs/ru/prompt-caching#disable-prompt-caching) |

466| `DISABLE_PROMPT_CACHING_SONNET` | Установите `1`, чтобы отключить кэширование промптов для [модели Sonnet по умолчанию](/docs/ru/prompt-caching#disable-prompt-caching) |472| `DISABLE_PROMPT_CACHING_SONNET` | Установите значение `1`, чтобы отключить кэширование промптов для [модели Sonnet по умолчанию](/docs/ru/prompt-caching#disable-prompt-caching) |

467| `DISABLE_TELEMETRY` | Установите любое непустое значение, например `1`, чтобы отказаться от телеметрии. **Значение `0` или `false` также означает отказ**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы снова включить телеметрию. События телеметрии не содержат пользовательских данных, таких как код, пути к файлам или команды Bash. Также отключает [получение флагов функций](#features-that-need-feature-flag-fetching). См. [Отключение телеметрии для вашей организации](/docs/ru/managed-settings#turn-telemetry-off-for-your-organization) |473| `DISABLE_TELEMETRY` | Установите любое непустое значение, например `1`, чтобы отказаться от телеметрии. **Значение `0` или `false` также означает отказ**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы снова включить телеметрию. События телеметрии не содержат пользовательских данных, таких как код, пути к файлам или команды Bash. Также отключает [получение флагов функций](#features-that-need-feature-flag-fetching). См. [Отключение телеметрии для вашей организации](/docs/ru/managed-settings#turn-telemetry-off-for-your-organization) |

468| `DISABLE_UPDATES` | Установите `1`, чтобы заблокировать все обновления, включая ручные `claude update` и `claude install`. Строже, чем `DISABLE_AUTOUPDATER`. Используйте при распространении Claude Code через собственные каналы, когда пользователи не должны обновляться самостоятельно |474| `DISABLE_UPDATES` | Установите значение `1`, чтобы заблокировать все обновления, включая ручные `claude update` и `claude install`. Строже, чем `DISABLE_AUTOUPDATER`. Используйте, когда распространяете Claude Code через собственные каналы и пользователи не должны обновляться самостоятельно |

469| `DISABLE_UPGRADE_COMMAND` | Установите `1`, чтобы скрыть команду `/upgrade` |475| `DISABLE_UPGRADE_COMMAND` | Установите значение `1`, чтобы скрыть команду `/upgrade` |

470| `DO_NOT_TRACK` | Установите `1`, чтобы отказаться от телеметрии, с тем же эффектом, что и `DISABLE_TELEMETRY`, в том числе в отношении [получения флагов функций](#features-that-need-feature-flag-fetching). Claude Code считывает эту переменную как стандартное логическое значение, поэтому `0` оставляет телеметрию включённой, и учитывает её как межинструментальное соглашение, признаваемое многими CLI для разработчиков |476| `DO_NOT_TRACK` | Установите значение `1`, чтобы отказаться от телеметрии, с тем же эффектом, что и `DISABLE_TELEMETRY`, включая влияние на [получение флагов функций](#features-that-need-feature-flag-fetching). Claude Code считывает эту переменную как стандартное логическое значение, поэтому `0` оставляет телеметрию включённой, и учитывает её как общепринятое соглашение, распознаваемое многими CLI для разработчиков |

471| `ENABLE_BETA_TRACING_DETAILED` | Установите `1` и задайте в `BETA_TRACING_ENDPOINT` эндпоинт вашего коллектора OTLP/HTTP, чтобы включить [подробную бета-трассировку](/docs/ru/monitoring-usage#traces-beta), которая добавляет атрибуты спанов с содержимым и спан `claude_code.hook`. Для интерактивных сессий CLI также требуется, чтобы ваша организация была в списке разрешённых для бета-версии. Обе переменные игнорируются в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |477| `ENABLE_BETA_TRACING_DETAILED` | Установите значение `1` и задайте в `BETA_TRACING_ENDPOINT` эндпоинт вашего коллектора OTLP/HTTP, чтобы включить [детальную бета-трассировку](/docs/ru/monitoring-usage#traces-beta), которая добавляет атрибуты спанов с содержимым и спан `claude_code.hook`. Для интерактивных сессий CLI также требуется, чтобы ваша организация была в списке разрешённых для бета-версии. Обе переменные игнорируются в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) |

472| `ENABLE_CLAUDEAI_MCP_SERVERS` | Установите `false`, чтобы Claude Code не получал [MCP-серверы claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai). Включено по умолчанию для пользователей, выполнивших вход. Чтобы отключить для проекта или организации, используйте вместо этого настройку [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) |478| `ENABLE_CLAUDEAI_MCP_SERVERS` | Установите значение `false`, чтобы Claude Code не получал [MCP-серверы claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai). По умолчанию включено для вошедших пользователей. Чтобы отключить для отдельного проекта или организации, используйте вместо этого настройку [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) |

473| `ENABLE_PROMPT_CACHING_1H` | Установите `1`, чтобы запрашивать 1-часовой [TTL кэша промптов](/docs/ru/prompt-caching#cache-lifetime) вместо 5 минут по умолчанию. Предназначено для пользователей API-ключей, [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Пользователи подписки в пределах включённого использования автоматически получают 1-часовой TTL в [основном диалоге](/docs/ru/prompt-caching#which-ttl-each-request-gets). Пользователи подписки, расходующие [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), могут задать её, чтобы сохранить 1-часовой TTL. Запись в 1-часовой кэш тарифицируется по более высокой ставке. Чтобы выбирать TTL для каждой группы запросов, используйте вместо этого `CLAUDE_CODE_PROMPT_CACHE_TTL` и `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, которые имеют приоритет над этой переменной |479| `ENABLE_PROMPT_CACHING_1H` | Установите значение `1`, чтобы запрашивать [TTL кэша промптов](/docs/ru/prompt-caching#cache-lifetime) в 1 час вместо стандартных 5 минут. Предназначено для пользователей API-ключей, [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). Пользователи подписки в пределах включённого использования получают TTL в 1 час автоматически в [основном диалоге](/docs/ru/prompt-caching#which-ttl-each-request-gets). Пользователи подписки, расходующие [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), могут задать её, чтобы сохранить TTL в 1 час. Запись в кэш с TTL в 1 час тарифицируется по более высокой ставке. Чтобы выбирать TTL для каждой группы запросов, используйте `CLAUDE_CODE_PROMPT_CACHE_TTL` и `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, которые имеют приоритет над этой переменной |

474| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устарела. Используйте вместо неё `ENABLE_PROMPT_CACHING_1H` |480| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Устаревшая. Используйте вместо неё `ENABLE_PROMPT_CACHING_1H` |

475| `ENABLE_TOOL_SEARCH` | Управляет [MCP Tool Search](/docs/ru/mcp#scale-with-mcp-tool-search). Если не задано, Claude Code по умолчанию откладывает загрузку всех инструментов MCP. При этом он всё равно загружает их заранее на моделях Google Cloud's Agent Platform, предшествующих поколению Claude 4.5, в развёртывании Microsoft Foundry, размещённом в Azure, и когда `ANTHROPIC_BASE_URL` указывает на сторонний хост. `true` всегда откладывает загрузку и отправляет бета-заголовок, за исключением тех же моделей Agent Platform и развёртываний Microsoft Foundry; запросы завершаются ошибкой на прокси, которые не поддерживают `tool_reference`. `auto` загружает инструменты заранее, когда их определения умещаются в 10% контекста. `auto:N` задаёт пользовательский порог, например `auto:5` для 5%. `false` загружает все инструменты заранее. Значение, заданное вами, игнорируется, если задана `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`. До v2.1.221 Claude Code отключал поиск инструментов для всех моделей в Google Cloud's Agent Platform, если вы не устанавливали эту переменную в `true` |481| `ENABLE_TOOL_SEARCH` | Управляет [поиском инструментов MCP](/docs/ru/mcp#scale-with-mcp-tool-search). Если переменная не задана, Claude Code по умолчанию откладывает загрузку всех инструментов MCP. Однако он по-прежнему загружает их сразу на моделях Google Cloud's Agent Platform, предшествующих поколению Claude 4.5, в развёртывании Microsoft Foundry, размещённом в Azure, и когда `ANTHROPIC_BASE_URL` указывает на хост, не принадлежащий Anthropic. `true` всегда откладывает загрузку и отправляет бета-заголовок, кроме тех же моделей Agent Platform и развёртываний Microsoft Foundry; запросы завершаются ошибкой на прокси, которые не поддерживают `tool_reference`. `auto` загружает сразу, если определения инструментов занимают не более 10% контекста. `auto:N` задаёт собственный порог, например `auto:5` для 5%. `false` загружает все инструменты сразу. Заданное вами значение игнорируется, если установлена `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`. До v2.1.221 Claude Code отключал поиск инструментов для всех моделей в Google Cloud's Agent Platform, если вы не задавали этой переменной значение `true` |

476| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите любое непустое значение, например `1`, чтобы Claude Code прекращал повторные попытки при повторяющихся ошибках перегрузки для любой модели, когда резервная модель не настроена. **Значение `0` или `false` также включает это поведение**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы восстановить поведение повторных попыток по умолчанию. Без неё Claude Code прекращает повторные попытки таким образом для моделей, которые он распознаёт как модели Opus, Fable или Mythos, при аутентификации с API-ключом или через [стороннего провайдера](/docs/ru/third-party-integrations), а не с подпиской Claude. В Claude Code v2.1.160 или новее Claude Code переключается на настроенную [цепочку резервных моделей](/docs/ru/model-config#fallback-model-chains) при повторяющихся ошибках перегрузки для любой основной модели, поэтому эта переменная не влияет на переключение на резервную модель |482| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Установите любое непустое значение, например `1`, чтобы Claude Code прекращал повторные попытки при повторяющихся ошибках перегрузки для любой модели, если резервная модель не настроена. **Значение `0` или `false` также включает это поведение**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы восстановить поведение повторных попыток по умолчанию. Без неё Claude Code прекращает повторные попытки таким образом для моделей, которые он распознаёт как модели Opus, Fable или Mythos, когда вы проходите аутентификацию с API-ключом или через [стороннего провайдера](/docs/ru/third-party-integrations), а не с подпиской Claude. В Claude Code v2.1.160 или новее Claude Code при повторяющихся ошибках перегрузки для любой основной модели переключается на настроенную вами [цепочку резервных моделей](/docs/ru/model-config#fallback-model-chains), поэтому эта переменная не влияет на переключение на резервную модель |

477| `FORCE_AUTOUPDATE_PLUGINS` | Установите `1`, чтобы принудительно автоматически обновлять плагины, даже когда основной механизм автообновления отключён через `DISABLE_AUTOUPDATER` |483| `FORCE_AUTOUPDATE_PLUGINS` | Установите значение `1`, чтобы принудительно автоматически обновлять плагины, даже если основной механизм автообновления отключён через `DISABLE_AUTOUPDATER` |

478| `FORCE_HYPERLINK` | Установите `1`, чтобы включить кликабельные гиперссылки OSC 8, когда ваш терминал их поддерживает, но не определяется автоматически, или `0`, чтобы отключить их. Если не задано, Claude Code включает гиперссылки, только когда обнаруживает их поддержку терминалом. Claude Code разбирает это значение как число, а не как логическое значение, поэтому значения вроде `false`, `no` или `off` включают гиперссылки, а не отключают их. [Значок PR или merge request](/docs/ru/interactive-mode#pr-review-status) в нижней строке отображается как гиперссылка, даже когда Claude Code не может обнаружить поддержку терминалом, например при работе по SSH. Установите `0`, чтобы отображать значок как обычный текст |484| `FORCE_HYPERLINK` | Установите значение `1`, чтобы включить кликабельные гиперссылки OSC 8, когда ваш терминал их поддерживает, но это не определяется автоматически, или `0`, чтобы отключить их. Если переменная не задана, Claude Code включает гиперссылки, только когда обнаруживает поддержку терминалом. Claude Code разбирает это значение как число, а не логическое значение, поэтому значения вроде `false`, `no` или `off` включают гиперссылки, а не отключают их. [Значок PR или merge request](/docs/ru/interactive-mode#pr-review-status) в нижней строке отображается как гиперссылка, даже когда Claude Code не может обнаружить поддержку терминалом, например через SSH. Установите `0`, чтобы отображать значок как обычный текст |

479| `FORCE_PROMPT_CACHING_5M` | Установите `1`, чтобы принудительно использовать 5-минутный TTL кэша промптов, даже когда иначе применялся бы 1-часовой TTL. Переопределяет `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, а также настройки `promptCacheTtl` и `subagentPromptCacheTtl` |485| `FORCE_PROMPT_CACHING_5M` | Установите значение `1`, чтобы принудительно использовать TTL кэша промптов в 5 минут, даже если иначе применялся бы TTL в 1 час. Переопределяет `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, а также настройки `promptCacheTtl` и `subagentPromptCacheTtl` |

480| `HTTP_PROXY` | Задаёт HTTP прокси-сервер для сетевых соединений |486| `HTTP_PROXY` | Указать HTTP-прокси-сервер для сетевых соединений |

481| `HTTPS_PROXY` | Задаёт HTTPS прокси-сервер для сетевых соединений |487| `HTTPS_PROXY` | Указать HTTPS-прокси-сервер для сетевых соединений |

482| `IS_DEMO` | Установите любое непустое значение, например `1`, чтобы включить демонстрационный режим: он скрывает ваш email и название организации из заголовка и вывода `/status` и пропускает онбординг. **Значение `0` или `false` также включает демонстрационный режим**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы выключить его. Полезно при трансляции или записи сессии |488| `IS_DEMO` | Установите любое непустое значение, например `1`, чтобы включить демонстрационный режим: скрывает ваш адрес электронной почты и название организации в заголовке и выводе `/status`, а также пропускает онбординг. **Значение `0` или `false` также включает демонстрационный режим**, в отличие от большинства переменных включения/выключения; удалите переменную, чтобы отключить его. Полезно при трансляции или записи сессии |

483| `MAX_MCP_OUTPUT_TOKENS` | Максимальное количество токенов, допустимое в ответах инструментов MCP (по умолчанию: 25000). Claude Code выводит предупреждение, когда вывод превышает 10 000 токенов. Инструменты, объявляющие [`anthropic/maxResultSizeChars`](/docs/ru/mcp#raise-the-limit-for-a-specific-tool), вместо этого используют этот лимит символов для текстового содержимого, но на изображения от таких инструментов по-прежнему распространяется эта переменная. Успешный текстовый результат длиннее 50 000 символов от инструмента без этой аннотации [сохраняется в файл](/docs/ru/mcp#mcp-output-limits-and-warnings) независимо от этой переменной |489| `MAX_MCP_OUTPUT_TOKENS` | Максимальное количество токенов, разрешённое в ответах инструментов MCP (по умолчанию: 25000). Claude Code показывает предупреждение, когда вывод превышает 10 000 токенов. Инструменты, объявляющие [`anthropic/maxResultSizeChars`](/docs/ru/mcp#raise-the-limit-for-a-specific-tool), используют вместо этого указанный лимит символов для текстового содержимого, но на изображения от этих инструментов по-прежнему распространяется эта переменная. Успешный текстовый результат длиннее 50 000 символов от инструмента без этой аннотации [сохраняется в файл](/docs/ru/mcp#mcp-output-limits-and-warnings) независимо от этой переменной |

484| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток, которое Claude Code допускает, когда ответ модели не проходит проверку по [`--json-schema`](/docs/ru/cli-reference#cli-flags) в неинтерактивном режиме с флагом `-p`; после такого количества неудачных попыток без корректного вывода запуск завершается ошибкой. То же ограничение действует, когда структурированный вывод субагента [workflow](/docs/ru/workflows) не проходит проверку. По умолчанию 5: первая попытка плюс четыре повторные попытки |490| `MAX_STRUCTURED_OUTPUT_RETRIES` | Количество попыток, которое Claude Code допускает, когда ответ модели не проходит валидацию по [`--json-schema`](/docs/ru/cli-reference#cli-flags) в неинтерактивном режиме с флагом `-p`; после стольких неудачных попыток без корректного вывода запуск завершается ошибкой. То же ограничение применяется, когда структурированный вывод субагента [рабочего процесса](/docs/ru/workflows) не проходит валидацию. По умолчанию 5: первая попытка плюс четыре повторные |

485| `MAX_THINKING_TOKENS` | Фиксированный бюджет токенов для [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code ограничивает его значением на один токен меньше максимального количества выходных токенов запроса и не менее 1024. Как задаётся этот лимит, см. `CLAUDE_CODE_MAX_OUTPUT_TOKENS`. Если не задано и мышление включено, модели с [адаптивными рассуждениями](/docs/ru/model-config#adjust-effort-level) сами выбирают глубину мышления, а другие модели используют ограничение. Установите `0`, чтобы отключить мышление в Anthropic API, кроме Opus 5.5, Sonnet 5.5, Haiku 5.5 и моделей Fable, у которых мышление нельзя отключить. У [сторонних провайдеров](/docs/ru/third-party-integrations) `0` вместо этого опускает параметр `thinking`. При отключённом мышлении в Anthropic API Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как ему известно, [не принимают такое сочетание](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), например Opus 5. Для положительного значения Claude Code игнорирует само число на моделях с адаптивными рассуждениями, кроме случаев, когда `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` отключает адаптивные рассуждения |491| `MAX_THINKING_TOKENS` | Фиксированный бюджет токенов для [расширенного мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code ограничивает его значением на один токен меньше максимального количества выходных токенов запроса и не менее 1 024. О том, как задаётся этот лимит, см. `CLAUDE_CODE_MAX_OUTPUT_TOKENS`. Если переменная не задана и мышление включено, модели с [адаптивным рассуждением](/docs/ru/model-config#adjust-effort-level) сами выбирают глубину мышления, а другие модели используют ограничение. Установите `0`, чтобы отключить мышление в Anthropic API, кроме Opus 5.5, Sonnet 5.5, Haiku 5.5 и моделей Fable, у которых мышление отключить нельзя. У [сторонних провайдеров](/docs/ru/third-party-integrations) `0` вместо этого опускает параметр `thinking`. При отключённом мышлении в Anthropic API Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как ему известно, [не принимают такое сочетание](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), например Opus 5. При положительном значении Claude Code игнорирует само число на моделях с адаптивным рассуждением, кроме случая, когда `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` отключает адаптивное рассуждение |

486| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP-серверов, которым требуются [предварительно настроенные учётные данные](/docs/ru/mcp#use-pre-configured-oauth-credentials). Позволяет избежать интерактивного запроса при добавлении сервера с `--client-secret` |492| `MCP_CLIENT_SECRET` | Секрет клиента OAuth для MCP-серверов, которым требуются [предварительно настроенные учётные данные](/docs/ru/mcp#use-pre-configured-oauth-credentials). Позволяет избежать интерактивного запроса при добавлении сервера с `--client-secret` |

487| `MCP_CONNECTION_NONBLOCKING` | Определяет, ожидает ли запуск подключения MCP-серверов перед первым запросом. По умолчанию запуск MCP неблокирующий: серверы подключаются в фоне, а их инструменты становятся доступны по мере завершения подключения. Установите `0`, чтобы Claude Code ожидал подключения серверов перед первым запросом. Серверы, настроенные с [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral), всё равно заставляют запуск ждать, за исключением случаев, когда они обслуживаются из [кэша обнаружения](/docs/ru/mcp#server-status-detail), поскольку их инструменты должны присутствовать при построении первого промпта. В неинтерактивном режиме (`-p`) без `--input-format stream-json` Claude Code также ожидает ещё не подключившиеся серверы перед первым ходом независимо от этой переменной. Если вы явно передаёте [`--mcp-config`](/docs/ru/cli-reference#cli-flags), ожидание имеет более длительный дедлайн; исключение для кэшированных серверов см. в описании этого флага |493| `MCP_CONNECTION_NONBLOCKING` | Определяет, ждёт ли запуск подключения MCP-серверов перед первым запросом. По умолчанию запуск MCP неблокирующий: серверы подключаются в фоне, а их инструменты становятся доступны по мере завершения подключения. Установите `0`, чтобы Claude Code ждал подключения серверов перед первым запросом. Серверы, настроенные с [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral), всё равно заставляют запуск ждать, кроме случаев, когда они обслуживаются из [кэша обнаружения](/docs/ru/mcp#server-status-detail), поскольку их инструменты должны присутствовать при формировании первого промпта. В неинтерактивном режиме (`-p`) без `--input-format stream-json` Claude Code также ждёт ещё не подключившиеся серверы перед первым ходом независимо от этой переменной. Если вы явно передаёте [`--mcp-config`](/docs/ru/cli-reference#cli-flags), у ожидания более длительный крайний срок; об исключении для кэшированных серверов см. описание этого флага |

488| `MCP_CONNECT_TIMEOUT_MS` | Сколько миллисекунд блокирующий запуск MCP ожидает пакет подключений, прежде чем зафиксировать снимок списка инструментов (по умолчанию: 5000). Применяется при `MCP_CONNECTION_NONBLOCKING=0` или для серверов, помеченных [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral). Серверы, ещё не подключившиеся к дедлайну, продолжают подключаться в фоне. Отличается от `MCP_TIMEOUT`, которая ограничивает отдельную попытку подключения сервера |494| `MCP_CONNECT_TIMEOUT_MS` | Сколько миллисекунд блокирующий запуск MCP ждёт пакет подключений, прежде чем зафиксировать список инструментов (по умолчанию: 5000). Применяется при `MCP_CONNECTION_NONBLOCKING=0` или для серверов, помеченных [`alwaysLoad: true`](/docs/ru/mcp#exempt-a-server-from-deferral). Серверы, ещё не подключившиеся к крайнему сроку, продолжают подключаться в фоне. Отличается от `MCP_TIMEOUT`, который ограничивает отдельную попытку подключения сервера |

489| `MCP_DISCOVERY_CACHE` | Включает или отключает [кэш обнаружения MCP](/docs/ru/mcp#server-status-detail). При включённом кэше удалённый HTTP- или SSE-сервер, который вы уже использовали, может показывать [статус `cached`](/docs/ru/mcp#server-status-detail), и Claude Code подключает его при первом вызове инструмента, а не при запуске. По умолчанию кэш выключен, если только постепенное развёртывание не включило его для вашей учётной записи. Установите `1`, чтобы включить его, или `0`, чтобы оставить его выключенным, даже если развёртывание включило его. До v2.1.238 кэш был включён по умолчанию. Статус `cached` требует Claude Code v2.1.221 или новее |495| `MCP_DISCOVERY_CACHE` | Включает или отключает [кэш обнаружения MCP](/docs/ru/mcp#server-status-detail). При включённом кэше удалённый HTTP- или SSE-сервер, который вы использовали ранее, может отображать [статус `cached`](/docs/ru/mcp#server-status-detail), и Claude Code подключает его при первом вызове инструмента, а не при запуске. Кэш по умолчанию отключён, если только постепенное развёртывание не включило его для вашей учётной записи. Установите `1`, чтобы включить его, или `0`, чтобы оставить отключённым, даже если развёртывание его включило. До v2.1.238 кэш был включён по умолчанию. Для статуса `cached` требуется Claude Code v2.1.221 или новее |

490| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Максимальный возраст записи [кэша обнаружения](/docs/ru/mcp#server-status-detail) в секундах (по умолчанию: 14400, то есть 4 часа). Если при запуске запись оказывается старше этого значения, Claude Code отбрасывает её и подключает сервер при запуске, как при выключенном кэше. Claude Code ограничивает значение 7 днями. До v2.1.238 значение по умолчанию было 86400, то есть 24 часа, и Claude Code не ограничивал значение |496| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Максимальный возраст записи [кэша обнаружения](/docs/ru/mcp#server-status-detail) в секундах (по умолчанию: 14400, или 4 часа). При запуске, когда запись старше этого значения, Claude Code отбрасывает её и подключает сервер при запуске, как при отключённом кэше. Claude Code ограничивает значение 7 днями. До v2.1.238 значение по умолчанию было 86400, или 24 часа, и Claude Code не ограничивал значение |

491| `MCP_DISCOVERY_CACHE_STRIKES` | Если при запуске запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) оказывается старше `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code обновляет её в фоне. Эта переменная задаёт, сколько обновлений подряд могут завершиться неудачей, прежде чем Claude Code отбросит запись и вместо этого подключит сервер при следующем запуске (по умолчанию: 1). Увеличьте её, если ваше сетевое соединение периодически обрывается, чтобы одно неудачное обновление не приводило к отбрасыванию записи. Требуется Claude Code v2.1.238 или новее |497| `MCP_DISCOVERY_CACHE_STRIKES` | При запуске, когда запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) старше `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code обновляет её в фоне. Эта переменная задаёт, сколько обновлений подряд могут завершиться неудачей, прежде чем Claude Code отбросит запись и вместо этого подключит сервер при следующем запуске (по умолчанию: 1). Увеличьте значение, если ваше сетевое соединение иногда обрывается, чтобы одно неудачное обновление не приводило к удалению записи. Требуется Claude Code v2.1.238 или новее |

492| `MCP_DISCOVERY_CACHE_TTL_S` | Количество секунд, в течение которых Claude Code использует запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) без её обновления (по умолчанию: 900). Если при запуске запись оказывается старше этого значения, Claude Code всё равно использует её, но обновляет в фоне. Когда запись становится старше `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code вместо этого отбрасывает её. Claude Code ограничивает значение величиной `MCP_DISCOVERY_CACHE_MAX_STALE_S`, которая по умолчанию составляет 4 часа. До v2.1.238 Claude Code не ограничивал значение |498| `MCP_DISCOVERY_CACHE_TTL_S` | Количество секунд, в течение которых Claude Code использует запись [кэша обнаружения](/docs/ru/mcp#server-status-detail) без обновления (по умолчанию: 900). При запуске, когда запись старше этого значения, Claude Code всё ещё использует её, но обновляет в фоне. Когда запись становится старше `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code вместо этого отбрасывает её. Claude Code ограничивает значение величиной `MCP_DISCOVERY_CACHE_MAX_STALE_S`, которая по умолчанию составляет 4 часа. До v2.1.238 Claude Code не ограничивал значение |

493| `MCP_OAUTH_CALLBACK_PORT` | Фиксированный порт для обратного вызова перенаправления OAuth; альтернатива `--callback-port` при добавлении MCP-сервера с [предварительно настроенными учётными данными](/docs/ru/mcp#use-pre-configured-oauth-credentials) |499| `MCP_OAUTH_CALLBACK_PORT` | Фиксированный порт для обратного вызова перенаправления OAuth, как альтернатива `--callback-port` при добавлении MCP-сервера с [предварительно настроенными учётными данными](/docs/ru/mcp#use-pre-configured-oauth-credentials) |

494| `MCP_PROTOCOL_NEGOTIATION` | Только в [среде выполнения клиента MCP v2](/docs/ru/mcp#mcp-client-runtimes): определяет, проверяет ли Claude Code поддержку серверами ревизии протокола MCP 2026-07-28. Установите `auto`, чтобы проверять HTTP-серверы, коннекторы claude.ai и stdio-серверы, или `legacy`, чтобы не проверять ни один из них. Если переменная не задана, Claude Code проверяет серверы, описанные в разделе [Среды выполнения клиента MCP](/docs/ru/mcp#mcp-client-runtimes). Любое другое значение игнорируется с предупреждением в логе отладки. Требуется Claude Code v2.1.221 или новее |500| `MCP_PROTOCOL_NEGOTIATION` | Только в [среде выполнения клиента MCP v2](/docs/ru/mcp#mcp-client-runtimes): определяет, проверяет ли Claude Code поддержку серверами ревизии протокола MCP 2026-07-28. Установите `auto`, чтобы проверять HTTP-серверы, коннекторы claude.ai и stdio-серверы, или `legacy`, чтобы не проверять ни один. Если переменная не задана, Claude Code проверяет серверы, описанные в разделе [Среды выполнения клиента MCP](/docs/ru/mcp#mcp-client-runtimes). Любое другое значение игнорируется с предупреждением в логе отладки. Требуется Claude Code v2.1.221 или новее |

495| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удалённых MCP-серверов (HTTP/SSE), подключаемых параллельно при запуске (по умолчанию: 20) |501| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество удалённых MCP-серверов (HTTP/SSE), подключаемых параллельно при запуске (по умолчанию: 20) |

496| `MCP_SDK_GENERATION` | Закрепляет, с помощью какой [среды выполнения клиента MCP](/docs/ru/mcp#mcp-client-runtimes) этот процесс подключается к MCP-серверам: `v1`, построенной на MCP TypeScript SDK 1.x, или `v2`, построенной на [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Без этой переменной Claude Code использует v2, начиная с версий, перечисленных в том разделе. В Claude Code v2.1.221 или новее среда выполнения v2 проверяет издателя (issuer), которого сервер OAuth MCP возвращает в ответе на авторизацию, и, если он не совпадает, завершает вход ошибкой, начинающейся с `Issuer mismatch in authorization response`. Среда выполнения v1 такую проверку не выполняет. Если задать нераспознанное значение, Claude Code игнорирует его и записывает предупреждение в лог отладки. Claude Code считывает значение один раз за процесс. Требуется Claude Code v2.1.218 или новее |502| `MCP_SDK_GENERATION` | Закрепить [среду выполнения клиента MCP](/docs/ru/mcp#mcp-client-runtimes), с помощью которой этот процесс подключается к MCP-серверам: `v1`, построенную на MCP TypeScript SDK 1.x, или `v2`, построенную на [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Без этой переменной Claude Code использует v2, начиная с версий, перечисленных в том разделе. В Claude Code v2.1.221 или новее среда выполнения v2 проверяет издателя, которого сервер MCP OAuth возвращает в ответе авторизации, и при несовпадении завершает вход с ошибкой, начинающейся с `Issuer mismatch in authorization response`. Среда выполнения v1 эту проверку не выполняет. Если вы зададите нераспознанное значение, Claude Code проигнорирует его и запишет предупреждение в лог отладки. Claude Code считывает значение один раз за процесс. Требуется Claude Code v2.1.218 или новее |

497| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP-серверов (stdio), подключаемых параллельно при запуске (по умолчанию: 3) |503| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Максимальное количество локальных MCP-серверов (stdio), подключаемых параллельно при запуске (по умолчанию: 3) |

498| `MCP_TIMEOUT` | Таймаут в миллисекундах для запуска MCP-сервера (по умолчанию: 30000, то есть 30 секунд) |504| `MCP_TIMEOUT` | Таймаут в миллисекундах для запуска MCP-сервера (по умолчанию: 30000, или 30 секунд) |

499| `MCP_TOOL_TIMEOUT` | Таймаут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, около 28 часов). Для HTTP-, SSE-сервера или сервера коннектора claude.ai каждый запрос также по умолчанию завершается по таймауту через 60 секунд; установите эту переменную или параметр `timeout` для сервера больше 60000, чтобы повысить этот лимит на запрос. Меньшее значение всё равно сокращает общий таймаут выполнения инструмента, но оставляет лимит на запрос равным 60 секундам. У серверов stdio и WebSocket нет таймера на запрос. Поле `timeout` для конкретного сервера в `.mcp.json` переопределяет эту переменную для этого сервера. Значение `timeout` для сервера не менее 1000 также задаёт минимальное окно простоя для вызовов инструментов этого сервера, поэтому `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` никогда не прерывает их раньше; этот нижний предел требует Claude Code v2.1.203 или новее. Для переменной окружения значения ниже 1000 повышаются до одной секунды; для поля сервера значения ниже 1000 игнорируются |505| `MCP_TOOL_TIMEOUT` | Таймаут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, около 28 часов). Для HTTP-, SSE-сервера или коннектора claude.ai каждый запрос также по умолчанию завершается по таймауту через 60 секунд; задайте этой переменной или параметру `timeout` отдельного сервера значение больше 60000, чтобы увеличить этот лимит на запрос. Меньшее значение по-прежнему сокращает общий таймаут выполнения инструмента, но оставляет лимит на запрос равным 60 секундам. У stdio- и WebSocket-серверов нет таймера на запрос. Поле `timeout` отдельного сервера в `.mcp.json` переопределяет это значение для данного сервера. Значение `timeout` отдельного сервера не менее 1000 также задаёт минимальное окно простоя для вызовов инструментов этого сервера, поэтому `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` никогда не прерывает их раньше; для этого нижнего порога требуется Claude Code v2.1.203 или новее. Для переменной окружения значения ниже 1000 повышаются до одной секунды; для поля отдельного сервера значения ниже 1000 игнорируются |

500| `NO_PROXY` | Список доменов и IP-адресов, запросы к которым отправляются напрямую в обход прокси |506| `NO_PROXY` | Список доменов и IP-адресов, запросы к которым отправляются напрямую, в обход прокси |

501| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Стандартное ограничение OpenTelemetry SDK на длину значения атрибута. Claude Code ограничивает атрибуты телеметрии с содержимым меньшим из этого значения и `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, чтобы маркер усечения оставался в пределах лимита SDK. Claude Code так же считывает варианты `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` и `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`, и наименьшее заданное значение применяется ко всем сигналам. Требуется Claude Code v2.1.214 или новее. См. [Мониторинг](/docs/ru/monitoring-usage#common-configuration-variables) |507| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Стандартное ограничение OpenTelemetry SDK на длину значения атрибута. Claude Code ограничивает атрибуты телеметрии с содержимым меньшим из этого значения и `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, чтобы маркер усечения оставался в пределах ограничения SDK. Claude Code так же считывает варианты `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` и `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT`, и наименьшее заданное значение применяется ко всем сигналам. Требуется Claude Code v2.1.214 или новее. См. [Мониторинг](/docs/ru/monitoring-usage#common-configuration-variables) |

502| `OTEL_LOG_ASSISTANT_RESPONSES` | Установите `1`, чтобы включать текст ответа модели в события лога OpenTelemetry `assistant_response`. Если не задано, Claude Code использует вместо этого значение `OTEL_LOG_USER_PROMPTS`. Установите `0`, чтобы ответы оставались скрытыми, даже когда задана `OTEL_LOG_USER_PROMPTS`. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). Требуется Claude Code v2.1.193 или новее. См. [Мониторинг](/docs/ru/monitoring-usage#assistant-response-event) |508| `OTEL_LOG_ASSISTANT_RESPONSES` | Установите значение `1`, чтобы включать текст ответа модели в события лога OpenTelemetry `assistant_response`. Если переменная не задана, Claude Code использует вместо неё значение `OTEL_LOG_USER_PROMPTS`. Установите `0`, чтобы ответы оставались скрытыми, даже если задана `OTEL_LOG_USER_PROMPTS`. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). Требуется Claude Code v2.1.193 или новее. См. [Мониторинг](/docs/ru/monitoring-usage#assistant-response-event) |

503| `OTEL_LOG_MANAGED_SETTINGS` | Установите `1`, чтобы добавлять управляемые настройки со скрытыми конфиденциальными значениями и дайджест SHA-256 настроек до скрытия в события лога OpenTelemetry `managed_settings_resolved`. По умолчанию отключено. Задайте её в оболочке, пользовательских настройках или управляемых настройках; значение в настройках проекта или локальных настройках её не включает. Требуется Claude Code v2.1.274 или новее. См. [Мониторинг](/docs/ru/monitoring-usage#managed-settings-resolved-event) |509| `OTEL_LOG_MANAGED_SETTINGS` | Установите значение `1`, чтобы добавлять в события лога OpenTelemetry `managed_settings_resolved` управляемые настройки со скрытыми данными и дайджест SHA-256 настроек до скрытия. По умолчанию отключено. Задайте её в оболочке, пользовательских настройках или управляемых настройках; значение в настройках проекта или локальных настройках её не включает. Требуется Claude Code v2.1.274 или новее. См. [Мониторинг](/docs/ru/monitoring-usage#managed-settings-resolved-event) |

504| `OTEL_LOG_RAW_API_BODIES` | Выводит JSON запросов и ответов Anthropic Messages API в виде событий лога `api_request_body` / `api_response_body`. Установите `1` для встроенных тел, усечённых до лимита содержимого, или `file:<dir>`, чтобы записывать неусечённые тела на диск и вместо этого выводить путь `body_ref`. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` настраивает лимит содержимого, по умолчанию 60 КБ. По умолчанию отключено; тела включают всю историю диалога. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). См. [Мониторинг](/docs/ru/monitoring-usage#api-request-body-event) |510| `OTEL_LOG_RAW_API_BODIES` | Отправлять JSON запросов и ответов Anthropic Messages API в виде событий лога `api_request_body` / `api_response_body`. Установите `1` для встроенных тел, усечённых по лимиту содержимого, или `file:<dir>`, чтобы записывать неусечённые тела на диск и отправлять вместо них путь `body_ref`. Лимит содержимого настраивается через `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, по умолчанию 60 КБ. По умолчанию отключено; тела включают всю историю диалога. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). См. [Мониторинг](/docs/ru/monitoring-usage#api-request-body-event) |

505| `OTEL_LOG_TOOL_CONTENT` | Установите `1`, чтобы включать содержимое инструментов в событие спана OpenTelemetry `tool.output`. Атрибуты спанов передают содержимое инструментов согласно [собственным условиям](/docs/ru/monitoring-usage#new-context-gates). Требуется [трассировка](/docs/ru/monitoring-usage#traces-beta). По умолчанию отключено для защиты конфиденциальных данных. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений выключения, описанных в том разделе. См. [Мониторинг](/docs/ru/monitoring-usage#tool-output-span-event) |511| `OTEL_LOG_TOOL_CONTENT` | Установите значение `1`, чтобы включать содержимое инструментов в событие спана OpenTelemetry `tool.output`. Атрибуты спанов передают содержимое инструментов с учётом [собственных ограничений](/docs/ru/monitoring-usage#new-context-gates). Требуется [трассировка](/docs/ru/monitoring-usage#traces-beta). По умолчанию отключено для защиты конфиденциальных данных. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений отключения, описанных в том разделе. См. [Мониторинг](/docs/ru/monitoring-usage#tool-output-span-event) |

506| `OTEL_LOG_TOOL_DETAILS` | Установите `1`, чтобы включать входные аргументы инструментов; имена MCP-серверов; имена workflow, созданных пользователем; необработанные строки ошибок при сбоях инструментов; `category` отказа в событиях `api_refusal`; реальные имена агентов, скиллов, плагинов и MCP-серверов в [метриках стоимости и токенов](/docs/ru/monitoring-usage#cost-counter); и другие сведения об инструментах в метриках, трассировках и логах OpenTelemetry. По умолчанию отключено для защиты персональных данных (PII). Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений выключения, описанных в том разделе. См. [Мониторинг](/docs/ru/monitoring-usage) |512| `OTEL_LOG_TOOL_DETAILS` | Установите значение `1`, чтобы включать в метрики, трассировки и логи OpenTelemetry аргументы ввода инструментов; имена MCP-серверов; имена рабочих процессов, созданных пользователями; необработанные строки ошибок при сбоях инструментов; `category` отказа в событиях `api_refusal`; реальные имена агентов, скиллов, плагинов и MCP-серверов в [метриках стоимости и токенов](/docs/ru/monitoring-usage#cost-counter); и другие сведения об инструментах. По умолчанию отключено для защиты персональных данных. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений отключения, описанных в том разделе. См. [Мониторинг](/docs/ru/monitoring-usage) |

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

508| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Установите `false`, чтобы исключить UUID учётной записи из атрибутов метрик (по умолчанию: включён). См. [Мониторинг](/docs/ru/monitoring-usage) |514| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Установите значение `false`, чтобы исключить UUID учётной записи из атрибутов метрик (по умолчанию: включён). См. [Мониторинг](/docs/ru/monitoring-usage) |

509| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Установите `true`, чтобы включить точку входа сессии в атрибуты метрик (по умолчанию: исключена). Добавлено в v2.1.152. См. [Мониторинг](/docs/ru/monitoring-usage) |515| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Установите значение `true`, чтобы включить точку входа сессии в атрибуты метрик (по умолчанию: исключена). Добавлено в v2.1.152. См. [Мониторинг](/docs/ru/monitoring-usage) |

510| `OTEL_METRICS_INCLUDE_REPOSITORY` | Установите `true`, чтобы помечать метрики и события OpenTelemetry атрибутами `vcs.*`, идентифицирующими репозиторий сессии (по умолчанию: исключены). Требуется Claude Code v2.1.269 или новее. См. [Атрибуты репозитория](/docs/ru/monitoring-usage#repository-attributes) |516| `OTEL_METRICS_INCLUDE_REPOSITORY` | Установите значение `true`, чтобы помечать метрики и события OpenTelemetry атрибутами `vcs.*`, идентифицирующими репозиторий сессии (по умолчанию: исключены). Требуется Claude Code v2.1.269 или новее. См. [Атрибуты репозитория](/docs/ru/monitoring-usage#repository-attributes) |

511| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Начиная с v2.1.161 Claude Code добавляет ключи `OTEL_RESOURCE_ATTRIBUTES` к меткам точек данных метрик. Установите `false`, чтобы исключить их (по умолчанию: включены). См. [Мониторинг](/docs/ru/monitoring-usage#multi-team-organization-support) |517| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | Начиная с v2.1.161, Claude Code добавляет ключи `OTEL_RESOURCE_ATTRIBUTES` к меткам точек данных метрик. Установите значение `false`, чтобы исключить их (по умолчанию: включены). См. [Мониторинг](/docs/ru/monitoring-usage#multi-team-organization-support) |

512| `OTEL_METRICS_INCLUDE_SESSION_ID` | Установите `false`, чтобы исключить идентификатор сессии из атрибутов метрик (по умолчанию: включён). См. [Мониторинг](/docs/ru/monitoring-usage) |518| `OTEL_METRICS_INCLUDE_SESSION_ID` | Установите значение `false`, чтобы исключить идентификатор сессии из атрибутов метрик (по умолчанию: включён). См. [Мониторинг](/docs/ru/monitoring-usage) |

513| `OTEL_METRICS_INCLUDE_VERSION` | Установите `true`, чтобы включить версию Claude Code в атрибуты метрик (по умолчанию: исключена). См. [Мониторинг](/docs/ru/monitoring-usage) |519| `OTEL_METRICS_INCLUDE_VERSION` | Установите значение `true`, чтобы включить версию Claude Code в атрибуты метрик (по умолчанию: исключена). См. [Мониторинг](/docs/ru/monitoring-usage) |

514| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Переопределяет бюджет символов для метаданных скиллов, показываемых [инструменту Skill](/docs/ru/skills#control-who-invokes-a-skill). Бюджет динамически масштабируется как 1% контекстного окна, с резервным значением 8000 символов. Устаревшее имя сохранено для обратной совместимости |520| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Переопределить бюджет символов для метаданных скиллов, показываемых [инструменту Skill](/docs/ru/skills#control-who-invokes-a-skill). Бюджет динамически масштабируется как 1% контекстного окна, с резервным значением 8 000 символов. Устаревшее имя сохранено для обратной совместимости |

515| `TASK_MAX_OUTPUT_LENGTH` | Удалена в v2.1.277 и теперь ни на что не влияет, вместе с инструментом `TaskOutput`, размер вывода которого она задавала. Ранее задавала максимальное количество символов вывода [фоновой задачи](/docs/ru/tools-reference#background-commands), которое сохранял инструмент `TaskOutput`. Теперь Claude читает файл вывода фоновой задачи с помощью `Read` |521| `TASK_MAX_OUTPUT_LENGTH` | Удалена в v2.1.277 вместе с инструментом `TaskOutput`, размер вывода которого она задавала, и теперь ни на что не влияет. Ранее задавала максимальное количество символов вывода [фоновой задачи](/docs/ru/tools-reference#background-commands), которое сохранял инструмент `TaskOutput`. Теперь Claude читает файл вывода фоновой задачи с помощью `Read` |

516| `USE_BUILTIN_RIPGREP` | Установите `0`, чтобы использовать установленный в системе `rg` вместо `rg`, входящего в состав Claude Code |522| `USE_BUILTIN_RIPGREP` | Установите значение `0`, чтобы использовать установленный в системе `rg` вместо `rg`, входящего в состав Claude Code |

517| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Переопределяет регион для Claude 3.5 Haiku при использовании Google Cloud's Agent Platform |523| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Переопределить регион для Claude 3.5 Haiku при использовании Google Cloud's Agent Platform |

518| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Переопределяет регион для Claude 3.5 Sonnet при использовании Google Cloud's Agent Platform |524| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Переопределить регион для Claude 3.5 Sonnet при использовании Google Cloud's Agent Platform |

519| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Переопределяет регион для Claude 3.7 Sonnet при использовании Google Cloud's Agent Platform |525| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Переопределить регион для Claude 3.7 Sonnet при использовании Google Cloud's Agent Platform |

520| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Переопределяет регион для Claude 4.0 Opus при использовании Google Cloud's Agent Platform |526| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Переопределить регион для Claude 4.0 Opus при использовании Google Cloud's Agent Platform |

521| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Переопределяет регион для Claude 4.0 Sonnet при использовании Google Cloud's Agent Platform |527| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Переопределить регион для Claude 4.0 Sonnet при использовании Google Cloud's Agent Platform |

522| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Переопределяет регион для Claude 4.1 Opus при использовании Google Cloud's Agent Platform |528| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Переопределить регион для Claude 4.1 Opus при использовании Google Cloud's Agent Platform |

523| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Переопределяет регион для Claude Opus 4.5 при использовании Google Cloud's Agent Platform |529| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Переопределить регион для Claude Opus 4.5 при использовании Google Cloud's Agent Platform |

524| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Переопределяет регион для Claude Sonnet 4.5 при использовании Google Cloud's Agent Platform |530| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Переопределить регион для Claude Sonnet 4.5 при использовании Google Cloud's Agent Platform |

525| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Переопределяет регион для Claude Opus 4.6 при использовании Google Cloud's Agent Platform |531| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Переопределить регион для Claude Opus 4.6 при использовании Google Cloud's Agent Platform |

526| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Переопределяет регион для Claude Sonnet 4.6 при использовании Google Cloud's Agent Platform |532| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Переопределить регион для Claude Sonnet 4.6 при использовании Google Cloud's Agent Platform |

527| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Переопределяет регион для Claude Opus 4.7 при использовании Google Cloud's Agent Platform |533| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Переопределить регион для Claude Opus 4.7 при использовании Google Cloud's Agent Platform |

528| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Переопределяет регион для Claude Opus 4.8 при использовании Google Cloud's Agent Platform |534| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Переопределить регион для Claude Opus 4.8 при использовании Google Cloud's Agent Platform |

529| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Переопределяет регион для Claude Opus 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.280 |535| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Переопределить регион для Claude Opus 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.280 |

530| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Переопределяет регион для Claude Sonnet 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.284 |536| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Переопределить регион для Claude Sonnet 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.284 |

531| `VERTEX_REGION_CLAUDE_5_OPUS` | Переопределяет регион для Claude Opus 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.219 |537| `VERTEX_REGION_CLAUDE_5_OPUS` | Переопределить регион для Claude Opus 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.219 |

532| `VERTEX_REGION_CLAUDE_5_SONNET` | Переопределяет регион для Claude Sonnet 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.197 |538| `VERTEX_REGION_CLAUDE_5_SONNET` | Переопределить регион для Claude Sonnet 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.197 |

533| `VERTEX_REGION_CLAUDE_FABLE_5` | Переопределяет регион для Claude Fable 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.170 |539| `VERTEX_REGION_CLAUDE_FABLE_5` | Переопределить регион для Claude Fable 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.170 |

534| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Переопределяет регион для Claude Fable 5.1 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.257 |540| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Переопределить регион для Claude Fable 5.1 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.257 |

535| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Переопределяет регион для Claude Haiku 4.5 при использовании Google Cloud's Agent Platform |541| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Переопределить регион для Claude Haiku 4.5 при использовании Google Cloud's Agent Platform |

536| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Переопределяет регион для Claude Haiku 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.293 |542| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Переопределить регион для Claude Haiku 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.293 |

537 543 

538Также поддерживаются стандартные переменные экспортёра OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` и варианты для отдельных сигналов). Подробности настройки см. в разделе [Мониторинг](/docs/ru/monitoring-usage).544Также поддерживаются стандартные переменные экспортёра OpenTelemetry (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` и варианты для отдельных сигналов). Подробности конфигурации см. в разделе [Мониторинг](/docs/ru/monitoring-usage).

539 545 

540Задавайте `CLAUDE_CODE_ENABLE_TELEMETRY` и переменные OpenTelemetry, которые включают экспорт, выбирают его назначение или захватывают содержимое, в оболочке, пользовательских настройках или управляемых настройках. Claude Code [игнорирует их в настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений выключения, описанных в том разделе. `OTEL_RESOURCE_ATTRIBUTES` и переменные интервала, таймаута и сжатия экспорта, такие как `OTEL_METRIC_EXPORT_INTERVAL`, по-прежнему применяются из настроек проекта и локальных настроек.546Задавайте `CLAUDE_CODE_ENABLE_TELEMETRY` и переменные OpenTelemetry, которые включают экспорт, выбирают его место назначения или захватывают содержимое, в оболочке, пользовательских настройках или управляемых настройках. Claude Code [игнорирует их в настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений отключения, описанных в том разделе. `OTEL_RESOURCE_ATTRIBUTES` и переменные интервала экспорта, таймаута и сжатия, такие как `OTEL_METRIC_EXPORT_INTERVAL`, по-прежнему применяются из настроек проекта и локальных настроек.

541 547 

542<h2 id="what-the-subprocess-environment-scrub-removes">548<h2 id="what-the-subprocess-environment-scrub-removes">

543 Что удаляет очистка окружения подпроцессов549 Что удаляет очистка окружения подпроцессов


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

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

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

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

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

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

596* Добиться того, чтобы Claude [воспринимал большие вставки как вставленный, а не набранный текст](/docs/ru/terminal-config#how-claude-treats-pasted-text); содержимое за заполнителем `[Pasted text #N]` поступает к Claude без пометки601* Добиться того, чтобы Claude [воспринимал большие вставки как вставленный, а не набранный текст](/docs/ru/terminal-config#how-claude-treats-pasted-text); содержимое за заполнителем `[Pasted text #N]` поступает к Claude без пометки

errors.md +11 −56

Details

4 4 

5# Справочник по ошибкам5# Справочник по ошибкам

6 6 

7> Найдите сообщения об ошибках Claude Code с объяснением их значения и способов исправления.7> Найдите сообщения об ошибках времени выполнения Claude Code с объяснением их значения и способов исправления.

8 8 

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

10 10 


189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |189| `<model> has safety measures that flagged this message for a cybersecurity topic` | [Request errors](#safety-measures-flagged-a-cybersecurity-topic) |

190| `` Details: `[reasoning_extraction]` `` | [Request errors](#safeguards-flagged-a-request-for-claudes-reasoning) |190| `` Details: `[reasoning_extraction]` `` | [Request errors](#safeguards-flagged-a-request-for-claudes-reasoning) |

191| `API Error: Output blocked by content filtering policy` | [Request errors](#output-blocked-by-content-filtering-policy) |191| `API Error: Output blocked by content filtering policy` | [Request errors](#output-blocked-by-content-filtering-policy) |

192| `Installation was killed before it could finish (exit code 137)` | [Installation errors](#installation-was-killed-before-it-could-finish) |192| `Installation was killed before it could finish (exit code 137)` | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#installation-was-killed-before-it-could-finish) |

193| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |193| `The connection dropped while downloading the update` | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

194| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |194| `Download timed out: exceeded the total deadline` | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

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

196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) |196| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) |

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


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

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

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

264| `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name) |

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

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

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


269| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |270| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |

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

271| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |272| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

273| `does not load (...), so Claude Code ignores the whole file` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

272| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |274| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

273| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |275| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |

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


279| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin errors](#plugin-was-not-uninstalled) |281| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Plugin errors](#plugin-was-not-uninstalled) |

280| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) |282| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) |

281| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |283| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

284| `Plugin directory does not exist: <path>` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#plugin-directory-does-not-exist) |

282| `Error: No such tool available: <tool name>` | [Tool errors](#no-such-tool-available) |285| `Error: No such tool available: <tool name>` | [Tool errors](#no-such-tool-available) |

283| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |286| `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) |

284| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |287| `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) |


386* Ошибка сервера или ответ о перегрузке, который приходит после того, как Claude завершил размышления, но до того, как он начал какой-либо текст или вызов инструмента. В этот момент Claude Code повторяет попытку при ошибке сервера до двух раз. До v2.1.284 Claude Code в этот момент завершал ход с ошибкой.389* Ошибка сервера или ответ о перегрузке, который приходит после того, как Claude завершил размышления, но до того, как он начал какой-либо текст или вызов инструмента. В этот момент Claude Code повторяет попытку при ошибке сервера до двух раз. До v2.1.284 Claude Code в этот момент завершал ход с ошибкой.

387* Разорванные соединения. Когда соединение разрывается в середине запроса до того, как Claude завершит какую-либо часть своего ответа, включая его размышления, Claude Code повторно отправляет запрос с той же задержкой и ход продолжается, даже если некоторый текст уже начал передаваться потоком. Когда оно разрывается после того, как Claude завершил размышления, но до того, как он начал какой-либо текст или вызов инструмента, Claude Code вместо этого повторно отправляет запрос до двух раз в быстрой последовательности и завершает ход с `Connection lost before a response was produced`, если соединение продолжает разрываться в этот момент.390* Разорванные соединения. Когда соединение разрывается в середине запроса до того, как Claude завершит какую-либо часть своего ответа, включая его размышления, Claude Code повторно отправляет запрос с той же задержкой и ход продолжается, даже если некоторый текст уже начал передаваться потоком. Когда оно разрывается после того, как Claude завершил размышления, но до того, как он начал какой-либо текст или вызов инструмента, Claude Code вместо этого повторно отправляет запрос до двух раз в быстрой последовательности и завершает ход с `Connection lost before a response was produced`, если соединение продолжает разрываться в этот момент.

388* Соединение, которое, как обнаружил Claude Code, было разорвано тем, что ваш компьютер перешёл в режим сна в середине запроса. Claude Code считает это разорванным соединением в соответствии с приведёнными выше правилами; как только метка повторной попытки назовёт конкретную причину, она будет читаться как `Connection lost while your computer was asleep`, и если ход завершается после того, как Claude завершил размышления, но до любого текста или вызова инструмента, сообщение читается как `Your computer went to sleep before a response was produced`.391* Соединение, которое, как обнаружил Claude Code, было разорвано тем, что ваш компьютер перешёл в режим сна в середине запроса. Claude Code считает это разорванным соединением в соответствии с приведёнными выше правилами; как только метка повторной попытки назовёт конкретную причину, она будет читаться как `Connection lost while your computer was asleep`, и если ход завершается после того, как Claude завершил размышления, но до любого текста или вызова инструмента, сообщение читается как `Your computer went to sleep before a response was produced`.

389* Застопорившийся поток ответа, когда заголовки ответа прибыли, но ни одна часть ответа Claude не прибыла, или когда Claude завершил размышления, но не начал какой-либо текст или вызов инструмента: Claude Code прерывает застопорившееся соединение и повторно отправляет запрос максимум один раз, вне бюджета из 10 попыток выше. Если ответ застопорится во второй раз после того, как Claude завершил размышления, но до любого текста или вызова инструмента, Claude Code завершает ход с `The response stalled before a response was produced`.392* Застопорившийся поток ответа, когда заголовки ответа прибыли, но ни одна часть ответа Claude не прибыла, или когда Claude завершил размышления, но не начал какой-либо текст или вызов инструмента: Claude Code прерывает застопорившееся соединение и повторно отправляет запрос в потоковом режиме максимум один раз. Если ответ застопорится во второй раз после того, как Claude завершил размышления, но до любого текста или вызова инструмента, Claude Code завершает ход с `The response stalled before a response was produced`.

390* Потоковый запрос, на который API никогда не отвечает заголовками ответа, на соединении, где [действует дедлайн первого байта](/docs/ru/network-config#streaming-idle-watchdogs): Claude Code прерывает его по истечении дедлайна и повторно отправляет его максимум один раз за запрос модели, в пределах бюджета повторных попыток, затем завершает ход с [No response from API](#no-response-from-api), если эта попытка также остаётся без ответа. На других соединениях запрос ждёт `API_TIMEOUT_MS`. Когда вы устанавливаете `CLAUDE_CODE_RETRY_WATCHDOG`, ограничение на одну повторную попытку не применяется.393* Потоковый запрос, на который API никогда не отвечает заголовками ответа, на соединении, где [действует дедлайн первого байта](/docs/ru/network-config#streaming-idle-watchdogs): Claude Code прерывает его по истечении дедлайна и повторно отправляет его максимум один раз за запрос модели, в пределах бюджета повторных попыток, затем завершает ход с [No response from API](#no-response-from-api), если эта попытка также остаётся без ответа. На других соединениях запрос ждёт `API_TIMEOUT_MS`. Когда вы устанавливаете `CLAUDE_CODE_RETRY_WATCHDOG`, ограничение на одну повторную попытку не применяется.

391* Потоковый ответ, который выходной фильтр содержимого API останавливает до того, как Claude либо завершил размышления, либо начал какой-либо текст или вызов инструмента. Claude Code повторно отправляет запрос один раз, в пределах бюджета повторных попыток, и показывает [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy), если фильтр останавливает и второй ответ.394* Потоковый ответ, который выходной фильтр содержимого API останавливает до того, как Claude либо завершил размышления, либо начал какой-либо текст или вызов инструмента. Claude Code повторно отправляет запрос один раз, в пределах бюджета повторных попыток, и показывает [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy), если фильтр останавливает и второй ответ.

392* Временные дроссели 429, но не `429` лимита расходов шлюза, который не является дросселем; см. [Spend limit reached](#spend-limit-reached).395* Временные дроссели 429, но не `429` лимита расходов шлюза, который не является дросселем; см. [Spend limit reached](#spend-limit-reached).


2910* Переформулируйте последнее сообщение или выберите другой подход2913* Переформулируйте последнее сообщение или выберите другой подход

2911* Чтобы вернуться к чекпоинту до хода, вызвавшего блокировку, дважды нажмите Esc или выполните `/rewind`. См. раздел [Чекпоинты](/docs/ru/checkpointing)2914* Чтобы вернуться к чекпоинту до хода, вызвавшего блокировку, дважды нажмите Esc или выполните `/rewind`. См. раздел [Чекпоинты](/docs/ru/checkpointing)

2912 2915 

2913<h2 id="installation-errors">

2914 Ошибки установки

2915</h2>

2916 

2917Эти ошибки появляются при установке или обновлении Claude Code из [скрипта установки](/docs/ru/setup#install-claude-code), `claude install` или `claude update`. Для проблем с `command not found`, PATH, разрешениями и TLS во время установки см. [Устранение неполадок установки и входа](/docs/ru/troubleshoot-install).

2918 

2919<h3 id="installation-was-killed-before-it-could-finish">

2920 Установка была прервана до завершения

2921</h3>

2922 

2923Скрипт установки сообщает, когда этап `claude install` завершается сигналом. На Linux код выхода 137 означает, что процесс получил SIGKILL, а на хосте с низким объёмом памяти это обычно означает, что ядро активировало средство защиты от нехватки памяти (OOM killer). Скрипт выводит это объяснение и завершается с кодом 137:

2924 

2925```text theme={null}

2926Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

2927Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

2928```

2929 

2930Для любого другого фатального сигнала и для кода выхода 137 на macOS скрипт выводит `Installation was killed before it could finish (exit code <N>)` с фактическим кодом выхода и опускает объяснение о нехватке памяти. Сообщение поступает из скрипта установки, который используют macOS и Linux, и он также охватывает установки внутри WSL; встроенные скрипты установки Windows никогда его не выводят. До версии 2.1.200 скрипт завершался только с простой строкой `Killed` оболочки.

2931 

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

2933 

2934* Остановите другие процессы, чтобы освободить память, затем повторно запустите установщик

2935* Добавьте пространство подкачки или перейдите на экземпляр большего размера. См. [Установка прервана на серверах Linux с низким объёмом памяти](/docs/ru/troubleshoot-install#install-killed-on-low-memory-linux-servers) для команд файла подкачки.

2936 

2937<h3 id="the-connection-dropped-while-downloading-the-update">

2938 Соединение разорвалось при загрузке обновления

2939</h3>

2940 

2941Соединение с сервером загрузки закрылось, пока `claude install` или `claude update` загружал двоичный файл Claude Code, и повторные попытки не восстановили соединение. Claude Code повторяет загрузку, когда соединение разрывается, передача зависает или загруженный файл не проходит проверку контрольной суммы, всего до трёх попыток. Завершённая ошибка HTTP, такая как 404, не повторяется, потому что сервер уже ответил. До версии 2.1.202 одно разорванное соединение немедленно приводило к сбою загрузки с простой ошибкой `aborted` вместо повторной попытки.

2942 

2943```text theme={null}

2944The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

2945```

2946 

2947Текст в скобках указывает, какая попытка не удалась и какая была базовая ошибка сети. `claude update` предваряет сообщение с `Error: Failed to install native update` на stderr.

2948 

2949Загрузка, которая остаётся подключённой, но не завершается в течение 10 минут, завершается с ошибкой `Download timed out: exceeded the total deadline`. Claude Code не повторяет загрузку с истекшим временем ожидания, потому что соединение, которое слишком медленно для завершения в течение установленного срока, не завершится при немедленной повторной попытке. Приведённые ниже шаги применяются к обоим сообщениям.

2950 

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

2952 

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

2954 

2955* Запустите `claude update` снова. На в остальном здоровой сети загрузка обычно успешна при следующем запуске. Для сообщения об истечении времени ожидания запустите его снова из более быстрой или менее ограниченной сети.

2956* Если ваша сеть требует прокси, установите `HTTPS_PROXY` перед запуском установщика или `claude update`. См. [Проверка подключения к сети](/docs/ru/troubleshoot-install#check-network-connectivity).

2957* Если корпоративный прокси продолжает закрывать передачу, попросите вашу команду сети разрешить полную загрузку с `downloads.claude.ai`. См. [Требования к доступу в сеть](/docs/ru/network-config#network-access-requirements).

2958* Запустите `claude doctor` из вашей оболочки для диагностики установки

2959 

2960<h2 id="command-line-errors">2916<h2 id="command-line-errors">

2961 Ошибки командной строки2917 Ошибки командной строки

2962</h2>2918</h2>


4064 Marketplace is already added from a different source4020 Marketplace is already added from a different source

4065</h3>4021</h3>

4066 4022 

4067Вы подтвердили добавление маркетплейса через [`/plugin install <plugin> --marketplace <source>`](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command), и каталог, который Claude Code получил из этого источника, называет себя так же, как маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.4023Вы указали новый источник маркетплейса с помощью [`--marketplace <source>` в команде установки](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command) — в сессии или из вашей оболочки. Каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.

4068 4024 

4069```text theme={null}4025```text theme={null}

4070Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.4026Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.


4817 У этой сессии нет сохранённого транскрипта4773 У этой сессии нет сохранённого транскрипта

4818</h3>4774</h3>

4819 4775 

4820Вы подключились к остановленной [фоновой сессии](/docs/ru/agent-view), которая была переведена в фон из другого диалога с помощью `←` или `/background` и остановлена до завершения первого ответа. Пока первый ответ не завершён, диалог существует только в сессии, из которой он был переведён в фон, поэтому `claude attach` отказывается запускать остановленную сессию, а не начинает пустой диалог под тем же ID сессии. Сообщение заканчивается командой `claude respawn` для этой сессии:4776Вы подключились к сессии, которую [перевели в фон](/docs/ru/agent-view#from-inside-a-session) с помощью `←` или `/background` и которая остановилась до того, как выполнила собственный ход. Claude Code не смог найти диалог, из которого вы её перевели, поэтому сессии нечего возобновлять. Сообщение заканчивается командой `claude respawn` для этой сессии:

4821 4777 

4822```text theme={null}4778```text theme={null}

4823This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4779This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.


4827 4783 

4828**Что делать:**4784**Что делать:**

4829 4785 

4830* Диалог, из которого вы перевели сессию в фон, не пострадал: возобновите его с помощью [`claude --resume`](/docs/ru/sessions) или продолжайте работать в нём4786* Чтобы запустить остановленную сессию заново, выполните `claude respawn <id>` с ID из сообщения или дважды нажмите `Enter` на её строке в представлении агента

4831* Чтобы всё же запустить остановленную сессию заново, выполните `claude respawn <id>` с ID из сообщения или дважды нажмите `Enter` на её строке в представлении агента

4832* Если сессия завершила ответ, а вы всё равно видите этот отказ в версии до 2.1.214, нечитаемая папка в `~/.claude/projects` могла привести к тому, что при сканировании транскриптов сохранённый диалог был пропущен; обновитесь до версии 2.1.214 или новее, которая допускает нечитаемые папки при сканировании4787* Если сессия завершила ответ, а вы всё равно видите этот отказ в версии до 2.1.214, нечитаемая папка в `~/.claude/projects` могла привести к тому, что при сканировании транскриптов сохранённый диалог был пропущен; обновитесь до версии 2.1.214 или новее, которая допускает нечитаемые папки при сканировании

4833 4788 

4834<h3 id="this-session-is-running-in-another-terminal">4789<h3 id="this-session-is-running-in-another-terminal">

glossary.md +2 −2

Details

465 465 

466Команда, `/teleport`, которая вытягивает облачный сеанс Claude Code в ваш локальный терминал. Claude получает ветку, загружает историю разговора и возобновляет с последнего состояния облачного сеанса. Обратное направление — `--cloud`, которое отправляет локальную задачу для запуска в облаке.466Команда, `/teleport`, которая вытягивает облачный сеанс Claude Code в ваш локальный терминал. Claude получает ветку, загружает историю разговора и возобновляет с последнего состояния облачного сеанса. Обратное направление — `--cloud`, которое отправляет локальную задачу для запуска в облаке.

467 467 

468Подробнее: [From cloud to terminal](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal)468Подробнее: [Продолжение облачной сессии в терминале](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal)

469 469 

470<h3 id="tool">470<h3 id="tool">

471 Tool471 Tool


511 Worktree isolation511 Worktree isolation

512</h3>512</h3>

513 513 

514Режим изоляции, который запускает Claude в отдельном git worktree в `.claude/worktrees/`, включаемый флагом `-w` или `isolation: worktree` в конфигурации subagent. Изменения остаются на отдельной ветке в отдельном каталоге, поэтому параллельные агенты не перезаписывают файлы друг друга.514Режим изоляции, который запускает Claude в отдельном git worktree в `.claude/worktrees/`, включаемый флагом `-w` или `isolation: worktree` в конфигурации субагента. Изменения остаются на отдельной ветке в отдельном каталоге, поэтому каждый из параллельных агентов редактирует собственную копию файлов.

515 515 

516Подробнее: [Запуск параллельных сеансов с git worktrees](/docs/ru/worktrees)516Подробнее: [Запуск параллельных сеансов с git worktrees](/docs/ru/worktrees)

517 517 

goal.md +1 −1

Details

127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"127claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

128```128```

129 129 

130При выводе текста по умолчанию ничего не выводится до завершения выполнения, поэтому цель, которая работает много ходов, может выглядеть зависшей. Добавьте `--output-format stream-json --verbose`, чтобы выводить каждое сообщение по мере выполнения цикла.130При текстовом выводе по умолчанию финальный ответ Claude выводится только по завершении цикла, поэтому цель, которая работает много ходов, может выглядеть зависшей. Добавьте `--output-format stream-json --verbose`, чтобы выводить каждое сообщение по мере выполнения цикла.

131 131 

132Прервите процесс с помощью Ctrl+C, чтобы остановить неинтерактивную цель до выполнения условия.132Прервите процесс с помощью Ctrl+C, чтобы остановить неинтерактивную цель до выполнения условия.

133 133 

headless.md +15 −13

Details

22 22 

23Добавьте флаг `-p` (или `--print`) к любой команде `claude` для запуска её в неинтерактивном режиме. Не все [параметры CLI](/docs/ru/cli-reference) работают с `-p`. Claude Code отклоняет `--bg` и отклоняет `--cloud` с описанием задачи с ошибкой, указывающей на конфликт; `--cloud` с ID сессии и `-p` вместо этого [ставит сообщение в очередь в эту облачную сессию](/docs/ru/claude-code-on-the-web#send-follow-ups-from-the-cli) и выходит. Параметры, которые вы часто будете использовать с `-p`, включают:23Добавьте флаг `-p` (или `--print`) к любой команде `claude` для запуска её в неинтерактивном режиме. Не все [параметры CLI](/docs/ru/cli-reference) работают с `-p`. Claude Code отклоняет `--bg` и отклоняет `--cloud` с описанием задачи с ошибкой, указывающей на конфликт; `--cloud` с ID сессии и `-p` вместо этого [ставит сообщение в очередь в эту облачную сессию](/docs/ru/claude-code-on-the-web#send-follow-ups-from-the-cli) и выходит. Параметры, которые вы часто будете использовать с `-p`, включают:

24 24 

25* `--continue` для [продолжения разговоров](#continue-conversations)25* `--continue` для [продолжения диалогов](#continue-conversations)

26* `--allowedTools` для [автоматического одобрения инструментов](#auto-approve-tools)26* `--allowedTools` для [автоматического подтверждения инструментов](#auto-approve-tools)

27* `--output-format` для [структурированного вывода](#get-structured-output)27* `--output-format` для [структурированного вывода](#get-structured-output)

28 28 

29Этот пример задаёт Claude вопрос о вашей кодовой базе и выводит ответ:29Этот пример задаёт Claude вопрос о вашей кодовой базе и выводит ответ:


38 Начните быстрее с режима bare38 Начните быстрее с режима bare

39</h3>39</h3>

40 40 

41Добавьте `--bare` для сокращения времени запуска путём пропуска автоматического обнаружения hooks, skills, пользовательских команд, [подагентов](/docs/ru/sub-agents), установленных plugins, MCP серверов, автоматической памяти и CLAUDE.md. Без этого `claude -p` загружает тот же [контекст](/docs/ru/how-claude-code-works#the-context-window), что и интерактивная сессия, включая всё, что настроено в рабочем каталоге или `~/.claude`.41Добавьте `--bare` для сокращения времени запуска путём пропуска автоматического обнаружения хуков, скиллов, пользовательских команд, [субагентов](/docs/ru/sub-agents), установленных плагинов, MCP-серверов, автоматической памяти и CLAUDE.md. Без этого `claude -p` загружает тот же [контекст](/docs/ru/how-claude-code-works#the-context-window), что и интерактивная сессия, включая всё, что настроено в рабочем каталоге или `~/.claude`.

42 42 

43Режим bare полезен для CI и скриптов, где вам нужен одинаковый результат на каждой машине. Hook в `~/.claude` коллеги или MCP сервер в `.mcp.json` проекта не будут запущены, потому что режим bare никогда их не читает. Каталог, который вы указываете с помощью `--add-dir`, является частичным исключением: режим bare загружает skills из его папки `.claude/skills/`, но всё ещё пропускает его папки `.claude/commands/` и `.claude/agents/`. [Skills из дополнительных каталогов](/docs/ru/skills#skills-from-additional-directories) охватывает то, что загружается и что не загружается.43Режим bare полезен для CI и скриптов, где вам нужен одинаковый результат на каждой машине. Хук в `~/.claude` коллеги или MCP-сервер в `.mcp.json` проекта не будут запущены, потому что режим bare никогда их не читает. Каталог, который вы указываете с помощью `--add-dir`, является частичным исключением: режим bare загружает скиллы из его папки `.claude/skills/`, но всё ещё пропускает его папки `.claude/commands/` и `.claude/agents/`. [Скиллы из дополнительных каталогов](/docs/ru/skills#skills-from-additional-directories) охватывает то, что загружается и что не загружается.

44 44 

45Без `--bare` сессия `-p` запускает hooks в `.claude/settings.json` проекта и подключает серверы в его `.mcp.json`, даже в папке, которой вы никогда не доверяли. Сессия `-p` не показывает диалог доверия рабочей области и не показывает запрос одобрения для каждого сервера. [Что запускается перед тем, как вы доверите папку](/docs/ru/permissions#what-runs-before-you-trust-a-folder) охватывает каждый вид содержимого репозитория под `-p` и как его избежать.45Без `--bare` сессия `-p` запускает хуки в `.claude/settings.json` проекта и подключает серверы в его `.mcp.json`, даже в папке, которой вы никогда не доверяли. Сессия `-p` не показывает диалоговое окно доверия рабочему пространству и не показывает запрос подтверждения для каждого сервера. [Что запускается перед тем, как вы доверите папку](/docs/ru/permissions#what-runs-before-you-trust-a-folder) охватывает каждый вид содержимого репозитория под `-p` и как его избежать.

46 46 

47Этот пример запускает одноразовую задачу суммирования в режиме bare и предварительно одобряет инструмент Read, чтобы вызов завершился без запроса разрешения. Установите `ANTHROPIC_API_KEY` перед запуском, потому что режим bare не использует вашу подписку:47Этот пример запускает одноразовую задачу суммирования в режиме bare и предварительно одобряет инструмент Read, чтобы вызов завершился без запроса разрешения. Установите `ANTHROPIC_API_KEY` перед запуском, потому что режим bare не использует вашу подписку:

48 48 


56 56 

57| Для загрузки | Используйте |57| Для загрузки | Используйте |

58| - | - |58| - | - |

59| Дополнения системного запроса | `--append-system-prompt`, `--append-system-prompt-file` |59| Дополнения системного промпта | `--append-system-prompt`, `--append-system-prompt-file` |

60| Параметры | `--settings <file-or-json>` |60| Настройки | `--settings <file-or-json>` |

61| MCP серверы | `--mcp-config <file-or-json>` |61| MCP-серверы | `--mcp-config <file-or-json>` |

62| [Пользовательские агенты](/docs/ru/sub-agents#choose-the-subagent-scope) | `--agents <file-or-json>` |62| [Пользовательские агенты](/docs/ru/sub-agents#choose-the-subagent-scope) | `--agents <file-or-json>` |

63| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |63| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |

64 64 


84 84 

85Запуск ожидает фоновую работу, такую как фоновые команды, субагенты и рабочие процессы, наблюдения Monitor и ожидающие пробуждения `/loop`:85Запуск ожидает фоновую работу, такую как фоновые команды, субагенты и рабочие процессы, наблюдения Monitor и ожидающие пробуждения `/loop`:

86 86 

87* **[Фоновые команды](/docs/ru/tools-reference#background-commands)**: для команды, запущенной основным диалогом, например сервера разработки или сборки с отслеживанием, запуск ждёт, пока команда не завершится или не достигнет своего [ограничения по времени](/docs/ru/tools-reference#time-limit-for-background-commands). Затем Claude делает ещё один ход с полученным результатом, и результат этого хода становится последним результатом запуска — именно его выводят форматы `text` и `json`. Пока команда выполняется, 10-минутный лимит не завершает ожидание.87* **[Фоновые команды](/docs/ru/tools-reference#background-commands)**: для команды, запущенной основным диалогом, например сервера разработки или сборки с отслеживанием, запуск ждёт, пока команда не завершится или не достигнет своего [ограничения по времени](/docs/ru/tools-reference#time-limit-for-background-commands). Затем Claude делает ещё один ход с полученным результатом. Пока команда выполняется, 10-минутный лимит не завершает ожидание.

88* **Фоновые [субагенты](/docs/ru/sub-agents) и рабочие процессы**: запуск остаётся открытым до завершения этой работы, потому что её результат является частью окончательного вывода.88* **Фоновые [субагенты](/docs/ru/sub-agents) и рабочие процессы**: запуск остаётся открытым до завершения этой работы, потому что её результат является частью окончательного вывода.

89* **Наблюдения [Monitor](/docs/ru/tools-reference#monitor-tool)**: запуск ждёт, пока не истечёт время наблюдения или пока 10-минутный лимит не завершит ожидание, в зависимости от того, что произойдёт раньше. Пока запуск ждёт, Claude продолжает отвечать на то, что сообщает наблюдение. По умолчанию наблюдение истекает через пять минут после того, как Claude его запустит.89* **Наблюдения [Monitor](/docs/ru/tools-reference#monitor-tool)**: запуск ждёт, пока не истечёт время наблюдения или пока 10-минутный лимит не завершит ожидание, в зависимости от того, что произойдёт раньше. Пока запуск ждёт, Claude продолжает отвечать на то, что сообщает наблюдение. По умолчанию наблюдение истекает через пять минут после того, как Claude его запустит.

90* **Ожидающие пробуждения**: в запуске, промпт которого вы передали как текст, а не с помощью `--input-format stream-json`, если Claude запланировал [пробуждение `/loop` в собственном темпе](/docs/ru/scheduled-tasks#let-claude-choose-the-interval), запуск ждёт срабатывания каждого пробуждения и выполняет его итерацию, пока [цикл не завершится](/docs/ru/scheduled-tasks#stop-a-loop), даже после 10-минутного лимита.90* **Ожидающие пробуждения**: в запуске, промпт которого вы передали как текст, а не с помощью `--input-format stream-json`, если Claude запланировал [пробуждение `/loop` в собственном темпе](/docs/ru/scheduled-tasks#let-claude-choose-the-interval), запуск ждёт срабатывания каждого пробуждения и выполняет его итерацию, пока [цикл не завершится](/docs/ru/scheduled-tasks#stop-a-loop), даже после 10-минутного лимита.

91 91 

92Если запуск достигает своего лимита [`--max-budget-usd`](/docs/ru/cli-reference#cli-flags), Claude Code останавливает оставшуюся фоновую работу вместо того, чтобы ждать.92Если запуск достигает своего лимита [`--max-budget-usd`](/docs/ru/cli-reference#cli-flags), Claude Code останавливает оставшуюся фоновую работу вместо того, чтобы ждать.

93 93 

94Когда фоновая работа запускает ещё один ход, запуск выводит результат каждого хода при выводе по умолчанию `text` и результат последнего хода при выводе `json`. До v2.1.295 запуск и при выводе `text` выводил только результат последнего хода.

95 

94<h3 id="stop-a-run-with-sigterm">96<h3 id="stop-a-run-with-sigterm">

95 Остановите запуск с помощью SIGTERM97 Остановите запуск с помощью SIGTERM

96</h3>98</h3>

97 99 

98Если вы остановите запуск `claude -p` с помощью SIGTERM, например с помощью `kill` или от супервизора процесса, Claude Code выходит с кодом 143. Claude Code оставляет ход, который был в процессе, незавершённым и не записывает для него результат. Чтобы вместо этого завершить ход, отправьте SIGINT или вызовите `interrupt()` Agent SDK перед остановкой процесса.100Если вы остановите запуск `claude -p` с помощью SIGTERM, например с помощью `kill` или от супервизора процесса, Claude Code выходит с кодом 143. Claude Code оставляет ход, который был в процессе, незавершённым и не записывает для него результат. Чтобы вместо этого завершить ход, отправьте SIGINT или вызовите `interrupt()` Agent SDK перед остановкой процесса.

99 101 

100При SIGTERM Claude Code завершает дерево процессов любой команды Bash, которая всё ещё выполняется. Claude Code затем запускает [`SessionEnd` hooks](/docs/ru/hooks#sessionend) и выходит. При выходе Claude Code не запускает новый вызов инструмента, не отправляет новый запрос модели и не запускает никакой hook, кроме `SessionEnd`. Если запуск был в середине команды или ожидал ответа на запрос разрешения, когда пришёл сигнал, Claude Code обрабатывает этот шаг следующим образом:102При SIGTERM Claude Code завершает дерево процессов любой команды Bash, которая всё ещё выполняется. Claude Code затем запускает [хуки `SessionEnd`](/docs/ru/hooks#sessionend) и выходит. При выходе Claude Code не запускает новый вызов инструмента, не отправляет новый запрос модели и не запускает никакой хук, кроме `SessionEnd`. Если запуск был в середине команды или ожидал ответа на запрос разрешения, когда пришёл сигнал, Claude Code обрабатывает этот шаг следующим образом:

101 103 

102* **Выполнение команды**: Claude Code записывает команду как убитую в сессии.104* **Выполнение команды**: Claude Code записывает команду как убитую в сессии.

103* **Ожидание ответа на запрос разрешения**: если вы отправите SIGTERM процессу, Claude Code оставляет запрос без ответа. Если ваша программа закрывает сессию через Agent SDK, SDK завершает ввод Claude Code перед отправкой любого сигнала, и Claude Code отменяет запрос, как только ввод завершается.105* **Ожидание ответа на запрос разрешения**: если вы отправите SIGTERM процессу, Claude Code оставляет запрос без ответа. Если ваша программа закрывает сессию через Agent SDK, SDK завершает ввод Claude Code перед отправкой любого сигнала, и Claude Code отменяет запрос, как только ввод завершается.

104 106 

105Когда вы [возобновляете сессию](#continue-conversations), Claude Code оставляет прерванный ход как есть, и ваш следующий запрос ведёт разговор. Чтобы Claude Code продолжил прерванный ход при возобновлении вместо этого, установите [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/ru/env-vars).107Когда вы [возобновляете сессию](#continue-conversations), Claude Code оставляет прерванный ход как есть, и ваш следующий промпт ведёт диалог. Чтобы Claude Code продолжил прерванный ход при возобновлении вместо этого, установите [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/ru/env-vars).

106 108 

107<h3 id="if-the-working-directory-is-deleted">109<h3 id="if-the-working-directory-is-deleted">

108 Если рабочий каталог удалён110 Если рабочий каталог удалён


262| `type` | `"system"` | тип сообщения |264| `type` | `"system"` | тип сообщения |

263| `subtype` | `"api_retry"` | идентифицирует это как событие повторной попытки |265| `subtype` | `"api_retry"` | идентифицирует это как событие повторной попытки |

264| `attempt` | целое число | номер текущей попытки, начиная с 1 |266| `attempt` | целое число | номер текущей попытки, начиная с 1 |

265| `max_retries` | целое число | всего повторных попыток, разрешённых для причины этого сбоя, что может быть меньше, чем бюджет на уровне сеанса |267| `max_retries` | целое число | общее число повторных попыток, разрешённых для причины этого сбоя |

266| `retry_delay_ms` | целое число | миллисекунды до следующей попытки |268| `retry_delay_ms` | целое число | миллисекунды до следующей попытки |

267| `error_status` | целое число или null | код состояния HTTP неудачной попытки, или `null`, когда попытка не получила HTTP ответ от API |269| `error_status` | целое число или null | код состояния HTTP неудачной попытки, или `null`, когда попытка не получила HTTP ответ от API |

268| `no_response` | объект, опционально | присутствует только когда неудачная попытка получила [отсутствие заголовков ответа вовремя](/docs/ru/errors#no-response-from-api). `waited_ms` — это время ожидания этой попытки, а `retry_wait_ms` — это время ожидания повторной попытки. В этих событиях `max_retries` отражает одну повторную попытку, которую обычно получает эта причина, а не бюджет на уровне сеанса. Требует Claude Code версии 2.1.261 или позже |270| `no_response` | объект, опционально | присутствует только когда неудачная попытка [не получила заголовки ответа вовремя](/docs/ru/errors#no-response-from-api). `waited_ms` — это время ожидания этой попытки, а `retry_wait_ms` — время ожидания повторной попытки. Требует Claude Code версии 2.1.261 или позже |

269| `error` | строка | категория ошибки: `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` или `unknown` |271| `error` | строка | категория ошибки: `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `rate_limit`, `overloaded`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error` или `unknown` |

270| `uuid` | строка | уникальный идентификатор события |272| `uuid` | строка | уникальный идентификатор события |

271| `session_id` | строка | сеанс, к которому принадлежит событие |273| `session_id` | строка | сеанс, к которому принадлежит событие |

hipaa-setup.md +3 −0

Details

139}139}

140```140```

141 141 

142Более полный `managed-settings.json` с изоляцией в песочнице, списком разрешённых сетевых адресов, защитой учётных данных и хранением локальных данных см. в файлах `settings-hipaa.json` и `README-hipaa.md` в [репозитории примеров настроек](https://github.com/anthropics/claude-code/tree/main/examples/settings).

143 

142<h4 id="what-each-key-does">144<h4 id="what-each-key-does">

143 Что делает каждый ключ145 Что делает каждый ключ

144</h4>146</h4>


306 308 

307* [Настройка Cowork (local mode) для организации с HIPAA-конфигурацией](https://claude.com/docs/cowork/hipaa-setup)309* [Настройка Cowork (local mode) для организации с HIPAA-конфигурацией](https://claude.com/docs/cowork/hipaa-setup)

308* [Развёртывание управляемых настроек](/docs/ru/managed-settings)310* [Развёртывание управляемых настроек](/docs/ru/managed-settings)

311* [Пример настроек для HIPAA](https://github.com/anthropics/claude-code/tree/main/examples/settings)

309* [Корпоративная сетевая конфигурация](/docs/ru/network-config)312* [Корпоративная сетевая конфигурация](/docs/ru/network-config)

310* [Нулевое хранение данных](/docs/ru/zero-data-retention)313* [Нулевое хранение данных](/docs/ru/zero-data-retention)

311* [Юридические вопросы и соответствие требованиям](/docs/ru/legal-and-compliance)314* [Юридические вопросы и соответствие требованиям](/docs/ru/legal-and-compliance)

hooks.md +124 −35

Details

476| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |476| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |

477| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Hook stderr или stdout, если stderr пусто, показывается Claude как [системное напоминание](/docs/ru/glossary#system-reminder) чтобы он мог реагировать на долгоживущий фоновый сбой |477| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Hook stderr или stdout, если stderr пусто, показывается Claude как [системное напоминание](/docs/ru/glossary#system-reminder) чтобы он мог реагировать на долгоживущий фоновый сбой |

478| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` или `"powershell"`. По умолчанию `"bash"`, или `"powershell"` на Windows когда Git Bash не установлен. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |478| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` или `"powershell"`. По умолчанию `"bash"`, или `"powershell"` на Windows когда Git Bash не установлен. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |

479| `onFailure` | нет | Что происходит с действием при сбое хука: `"continue"` (по умолчанию) или `"block"`. См. [Блокировка действия при сбое хука](#block-the-action-when-a-hook-fails). Требует Claude Code v2.1.295 или новее |

479 480 

480<a id="exec-form-and-shell-form" />481<a id="exec-form-and-shell-form" />

481 482 


533| `url` | да | URL для отправки POST запроса |534| `url` | да | URL для отправки POST запроса |

534| `headers` | нет | Дополнительные HTTP заголовки как пары ключ-значение. Значения поддерживают интерполяцию переменных окружения с использованием синтаксиса `$VAR_NAME` или `${VAR_NAME}`. Разрешены только переменные, указанные в `allowedEnvVars` |535| `headers` | нет | Дополнительные HTTP заголовки как пары ключ-значение. Значения поддерживают интерполяцию переменных окружения с использованием синтаксиса `$VAR_NAME` или `${VAR_NAME}`. Разрешены только переменные, указанные в `allowedEnvVars` |

535| `allowedEnvVars` | нет | Список имён переменных окружения, которые могут быть интерполированы в значения заголовков. Ссылки на неуказанные переменные заменяются пустыми строками. Требуется для любой интерполяции переменных окружения |536| `allowedEnvVars` | нет | Список имён переменных окружения, которые могут быть интерполированы в значения заголовков. Ссылки на неуказанные переменные заменяются пустыми строками. Требуется для любой интерполяции переменных окружения |

537| `onFailure` | нет | Что происходит с действием при сбое хука: `"continue"` (по умолчанию) или `"block"`. См. [Блокировка действия при сбое хука](#block-the-action-when-a-hook-fails). Требует Claude Code v2.1.295 или новее |

536 538 

537Claude Code отправляет [JSON входные данные](#hook-input-and-output) hook как тело POST запроса с `Content-Type: application/json`. Тело ответа использует тот же [JSON формат выхода](#json-output), что и command hooks.539Claude Code отправляет [JSON входные данные](#hook-input-and-output) hook как тело POST запроса с `Content-Type: application/json`. Тело ответа использует тот же [JSON формат выхода](#json-output), что и command hooks.

538 540 


821 Вывод через код выхода823 Вывод через код выхода

822</h3>824</h3>

823 825 

824Код выхода вашей команды хука сообщает Claude Code, следует ли продолжить действие, заблокировать его или проигнорировать. Код выхода не действует сам по себе. Claude Code читает [поля вывода JSON](#json-output) из stdout при любом коде выхода, а не только при 0, и для событий, использующих стандартную модель решений, разобранный объект, прошедший проверку схемы, вступает в силу наряду с кодом. Блокировка при выходе с кодом 2 — единственный результат, который JSON не может переопределить.826Код выхода вашего хука сообщает Claude Code, следует ли продолжить действие, вызвавшее хук, например вызов инструмента или промпт. Завершившийся запуск имеет один из трёх результатов:

825 827 

826Исключения для отдельных событий описаны в двух таблицах: [Поведение кода выхода 2 для каждого события](#exit-code-2-behavior-per-event) показывает, что делают коды выхода для каждого события, а [Управление решениями](#decision-control) — какие поля решений учитывает каждое событие. Универсальные поля, такие как `systemMessage`, работают для большинства событий и перечислены в таблице [Вывод JSON](#json-output).828* **Успех**: ваш хук завершается с кодом 0. Claude Code применяет все поля [вывода JSON](#json-output), которые вывел ваш хук, и действие выполняется, если эти поля не блокируют и не отклоняют его.

829* **Блокирующая ошибка**: ваш хук завершается с кодом 2. Для [событий, которые могут блокировать](#exit-code-2-behavior-per-event), Claude Code останавливает действие.

830* **Неблокирующая ошибка**: ваш хук завершается с любым другим кодом или завершается сбоем иным образом, например не запускается или выводит некорректный JSON. Действие выполняется, а для таких событий, как `PreToolUse`, в транскрипте отображается уведомление `<hook name> hook error`. Если вы хотите, чтобы хук, завершившийся сбоем, блокировал действие, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

831 

832То, что ваш хук выводит в stdout, может изменить результат. Например, если хук `PreToolUse` завершается с кодом 1, но выводит JSON, прошедший проверку, запуск считается успешным, и происходящее определяют поля JSON. Чтобы узнать результат вашего хука для такого события, как `PreToolUse`, найдите в первом столбце то, что он вывел в stdout, а в верхней строке — его код выхода:

833 

834| Stdout | Выход с кодом 0 | Выход с кодом 2 | Любой другой код выхода |

835| :- | :- | :- | :- |

836| Объект JSON, прошедший [проверку схемы](#json-output) | Успех. Поля применяются | Блокирующая ошибка. Claude Code всё равно читает поля, но они не могут переопределить блокировку | Успех. Claude Code игнорирует код выхода, и результат определяют только поля. При [`onFailure: "block"`](#block-the-action-when-a-hook-fails) это считается сбоем |

837| JSON, который [не удаётся разобрать](#exit-code-0) или который не прошёл проверку схемы | Неблокирующая ошибка. Уведомление содержит сообщение о разборе или проверке | Блокирующая ошибка. Причиной служит ваш stderr | Неблокирующая ошибка. Уведомление содержит сообщение о разборе или проверке |

838| [Обычный текст](#exit-code-0) или ничего | Успех | Блокирующая ошибка. Причиной служит ваш stderr | Неблокирующая ошибка. Уведомление содержит первую строку вашего stderr |

839 

840У некоторых событий собственные правила:

841 

842* **`WorktreeCreate`**: любой ненулевой код выхода приводит к ошибке создания worktree, что бы ни содержал ваш JSON.

843* **`WorktreeRemove`**: любой ненулевой код выхода приводит к ошибке удаления worktree, если каталог после этого всё ещё существует.

844* **`Stop`, `SubagentStop`, `TaskCompleted` и хук `UserPromptSubmit` плагина**: если ваш хук завершается с кодом 2, ничего не выводит в stdout, а его stderr сообщает об отсутствии файла, например `No such file or directory`, Claude Code обрабатывает запуск как неблокирующую ошибку.

845* **`Elicitation` и `ElicitationResult`**: Claude Code применяет ваш `hookSpecificOutput`, когда хук завершается с кодом 0, и игнорирует его при любом другом коде выхода.

846* **События, отбрасывающие вывод хука, такие как `StopFailure`**: Claude Code игнорирует ваш JSON при любом коде выхода, за исключением полей с побочными эффектами, таких как `terminalSequence`, которые всё равно срабатывают.

847 

848Чтобы узнать, что делает код выхода 2 для вашего события, смотрите [Поведение кода выхода 2 для каждого события](#exit-code-2-behavior-per-event). Чтобы узнать, какие поля решений оно учитывает, смотрите [Управление решениями](#decision-control).

827 849 

828<h4 id="exit-code-0">850<h4 id="exit-code-0">

829 Код выхода 0851 Код выхода 0


835 857 

836Читает ли Claude Code ваш stdout как [вывод JSON](#json-output) или как обычный текст, зависит от того, с чего он начинается и чем заканчивается, без учёта окружающих пробельных символов:858Читает ли Claude Code ваш stdout как [вывод JSON](#json-output) или как обычный текст, зависит от того, с чего он начинается и чем заканчивается, без учёта окружающих пробельных символов:

837 859 

838* **Начинается с `{` и заканчивается `}`**: Claude Code разбирает его как JSON. Если вывод состоит из двух или более строк, каждая из которых по отдельности разбирается как JSON, и ни одна строка не является объектом [вывода JSON](#json-output), задающим какое-либо поле, Claude Code обрабатывает весь вывод как обычный текст. Если одна из этих строк задаёт поле, весь вывод считается ошибкой разбора, описанной ниже.860* **Начинается с `{` и заканчивается `}`**: Claude Code разбирает его как JSON. Если вывод состоит из двух или более строк, каждая из которых по отдельности разбирается как JSON, и ни одна строка не является объектом [вывода JSON](#json-output), задающим какое-либо поле, Claude Code обрабатывает весь вывод как обычный текст. Если одна из этих строк задаёт поле, весь вывод считается ошибкой разбора.

839* **Начинается с `{`, но не заканчивается `}`**: Claude Code обрабатывает его как обычный текст.861* **Начинается с `{`, но не заканчивается `}`**: Claude Code обрабатывает его как обычный текст.

840* **Начинается с чего-либо другого**: Claude Code обрабатывает его как обычный текст, включая массив JSON или строку JSON в кавычках.862* **Начинается с чего-либо другого**: Claude Code обрабатывает его как обычный текст, включая массив JSON или строку JSON в кавычках.

841 863 

842Для событий, использующих стандартную модель решений, выход с кодом 0 с разобранным объектом, не прошедшим проверку схемы, является неблокирующей ошибкой: действие продолжается, а в транскрипте отображается уведомление `<hook name> hook error` с сообщением о проверке. То же самое происходит при любом коде выхода, кроме 2, тогда как [выход с кодом 2 по-прежнему блокирует](#exit-code-2).864Если Claude Code пытается разобрать ваш stdout как JSON и не может или разобранный объект не проходит [проверку схемы](#json-output), запуск считается [неблокирующей ошибкой](#exit-code-output). Уведомление `<hook name> hook error` содержит сообщение о разборе или проверке. Для событий, которые добавляют обычный текст из stdout как контекст, Claude Code не добавляет stdout, который ему не удалось разобрать.

843 

844Для событий, использующих стандартную модель решений, если Claude Code пытается разобрать ваш stdout как JSON и не может, он сообщает о неблокирующей ошибке при любом коде выхода, кроме 2. В транскрипте отображается уведомление `<hook name> hook error` с сообщением о разборе. Для событий, которые добавляют обычный текст из stdout как контекст, Claude Code не добавляет этот текст. До версии v2.1.248 Claude Code обрабатывал такой stdout как обычный текст.

845 865 

846Stderr хука, завершившегося с кодом 0, попадает только в отладочный лог, никогда не в транскрипт, и Claude его никогда не видит. Чтобы прочитать его самостоятельно, включите [отладочное логирование](#debug-hooks). Чтобы передать предупреждение Claude из хука `PostToolUse` или `PostToolUseFailure`, вместо этого выйдите с кодом 2, чтобы [Claude увидел stderr](#exit-code-2-behavior-per-event), хотя инструмент уже выполнился.866Claude никогда не видит stderr хука, завершившегося с кодом 0. Чтобы прочитать его самостоятельно для таких событий, как `PreToolUse`, включите [отладочное логирование](#debug-hooks). Чтобы передать предупреждение Claude из хука `PostToolUse` или `PostToolUseFailure`, вместо этого выйдите с кодом 2, чтобы [Claude увидел stderr](#exit-code-2-behavior-per-event), хотя инструмент уже выполнился.

847 867 

848<h4 id="exit-code-2">868<h4 id="exit-code-2">

849 Код выхода 2869 Код выхода 2

850</h4>870</h4>

851 871 

852Выход с кодом 2 означает блокирующую ошибку. Для [событий, которые могут блокировать](#exit-code-2-behavior-per-event), выход с кодом 2 блокирует независимо от того, выводите ли вы JSON: даже `permissionDecision` со значением `"allow"` в JSON не может его переопределить. Claude Code по-прежнему читает любой корректный [вывод JSON](#json-output) из stdout. Для `Elicitation` и `ElicitationResult` поле `hookSpecificOutput` хука, завершившегося с кодом 2, игнорируется.872Завершитесь с кодом 2, чтобы заблокировать действие. Для [событий, которые могут блокировать](#exit-code-2-behavior-per-event), Claude Code останавливает действие: например, хук `PreToolUse` блокирует вызов инструмента, а хук `UserPromptSubmit` отклоняет промпт.

853 873 

854Сообщением о блокировке служит причина из блокирующего решения в вашем JSON, если оно есть, а в противном случае — текст вашего stderr. Действие блокировки зависит от события: `PreToolUse` блокирует вызов инструмента, `UserPromptSubmit` отклоняет промпт и так далее. В разделе [Поведение кода выхода 2 для каждого события](#exit-code-2-behavior-per-event) перечислен эффект для каждого события, а раздел каждого события указывает, куда попадает сообщение.874Сообщением, сопровождающим блокировку, служит stderr вашего хука. Если ваш хук также вывел JSON с блокирующим решением, Claude Code вместо этого использует причину из этого решения.

855 875 

856Хук, который завершается с кодом 2 и при этом выводит JSON, не прошедший проверку схемы [вывода JSON](#json-output), всё равно блокирует: Claude Code использует stderr как причину блокировки и записывает ошибку проверки в отладочный лог. До версии v2.1.214 Claude Code обрабатывал такое сочетание как неблокирующую ошибку, и действие продолжалось.876Выход с кодом 2 блокирует, даже если ваш хук выводит JSON:

877 

878* **JSON, прошедший проверку схемы**: Claude Code по-прежнему читает поля [вывода JSON](#json-output), но они не могут переопределить блокировку. Даже `permissionDecision` со значением `"allow"` не пропускает действие. Для `Elicitation` и `ElicitationResult` поле `hookSpecificOutput` хука, завершившегося с кодом 2, игнорируется.

879* **JSON, не прошедший проверку схемы**: хук всё равно блокирует. Claude Code использует ваш stderr как причину блокировки и записывает ошибку проверки в отладочный лог.

857 880 

858Этот скрипт блокирует команды `rm`, завершаясь с кодом 2, и оставляет все остальные команды обычному процессу разрешений:881Этот скрипт блокирует команды `rm`, завершаясь с кодом 2, и оставляет все остальные команды обычному процессу разрешений:

859 882 


871exit 0 # No decision: the normal permission flow applies894exit 0 # No decision: the normal permission flow applies

872```895```

873 896 

897Если этот скрипт зарегистрирован как хук `PreToolUse` для `Bash`, команда, начинающаяся с `rm`, блокируется, а Claude получает stderr хука как ошибку инструмента с префиксом из имени события, имени инструмента и команды хука:

898 

899```text theme={null}

900PreToolUse:Bash hook error: [${CLAUDE_PROJECT_DIR}/.claude/hooks/no-rm.sh]: Blocked: rm commands are not allowed

901```

902 

874<h4 id="other-exit-codes">903<h4 id="other-exit-codes">

875 Другие коды выхода904 Другие коды выхода

876</h4>905</h4>

877 906 

878Любой другой код выхода сам по себе не блокирует для большинства событий хуков. Что произойдёт, зависит от вашего stdout:907Если ваш хук завершается с кодом, отличным от 0 или 2, и выводит в stdout обычный текст или ничего, запуск считается [неблокирующей ошибкой](#exit-code-output). В транскрипте отображается уведомление `<hook name> hook error` с `Failed with non-blocking status code:` и первой строкой stderr вашего хука. Например, если хук `PreToolUse` для `Bash` выводит `something broke` в stderr и завершается с кодом 1, уведомление `PreToolUse:Bash hook error` содержит такую строку:

879 908 

880* При разобранном объекте, прошедшем проверку схемы, для событий, использующих стандартную модель решений, Claude Code игнорирует код выхода, и результат определяет только JSON:909```text theme={null}

881 * Учитывается каждое поле, которое поддерживает событие, включая `permissionDecision`, `additionalContext`, `updatedInput` и `systemMessage`, и хук не считается ошибкой.910Failed with non-blocking status code: something broke

882 * В разделе [Управление решениями](#decision-control) перечислены поля решений для каждого события; универсальные поля, такие как `systemMessage`, описаны в таблице [Вывод JSON](#json-output).911```

883* При разобранном объекте, не прошедшем проверку схемы, для событий, использующих стандартную модель решений, это та же неблокирующая ошибка, что и [при выходе с кодом 0](#exit-code-0): действие продолжается, а уведомление `<hook name> hook error` содержит сообщение о проверке.

884* При stdout, который Claude Code [пытается разобрать как JSON](#exit-code-0) и не может, Claude Code сообщает о той же неблокирующей ошибке, что и при выходе с кодом 0, для событий, использующих стандартную модель решений. Действие продолжается, а уведомление содержит сообщение о разборе.

885* При stdout, который Claude Code [обрабатывает как обычный текст](#exit-code-0), или при пустом stdout это неблокирующая ошибка для большинства событий хуков: действие продолжается, а в транскрипте отображается уведомление `<hook name> hook error`, за которым следует первая строка stderr с префиксом `Failed with non-blocking status code:`. Чтобы получить полный stderr, включите [отладочное логирование](#debug-hooks).

886 912 

887События вне стандартной модели решений сохраняют собственные строки в [таблице по событиям](#exit-code-2-behavior-per-event): `WorktreeCreate` прерывает создание при любом ненулевом коде выхода независимо от того, что содержит ваш JSON, а события, полностью отбрасывающие вывод хука, такие как `StopFailure`, игнорируют ваш JSON при любом коде выхода, за исключением полей с побочными эффектами, таких как `terminalSequence`, которые всё равно срабатывают.913Чтобы получить полный stderr, а не только его первую строку, включите [отладочное логирование](#debug-hooks).

888 914 

889Хук, который не удаётся запустить, попадает в ту же категорию неблокирующих ошибок. Если путь к скрипту не существует или файл не является исполняемым, оболочка завершается с кодом вроде 127, и вы видите то же уведомление с сообщением интерпретатора, например `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Для большинства событий хуков действие продолжается. Настраивая хук для политики, следите за этим уведомлением при его первом запуске: опечатка в пути в `settings.json` незаметно отключает проверку.915Хук, который не удаётся запустить, тоже считается неблокирующей ошибкой. В форме оболочки, если путь к скрипту не существует или файл не является исполняемым, оболочка завершается с кодом вроде 127, и уведомление содержит сообщение интерпретатора, например `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Настраивая хук для политики, следите за этим уведомлением при его первом запуске, потому что опечатка в пути в `settings.json` означает, что хук никогда не выполнится. Чтобы вместо этого блокировать действие, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

890 916 

891<Warning>917<Warning>

892 Для большинства событий хуков код выхода 2 — единственный код выхода, который блокирует сам по себе. Без корректного JSON в stdout Claude Code обрабатывает код выхода 1 как неблокирующую ошибку и продолжает действие, хотя 1 — общепринятый код ошибки в Unix. Если ваш хук предназначен для соблюдения политики, используйте `exit 2`. События worktree отличаются: любой ненулевой код выхода из `WorktreeCreate` прерывает создание worktree, а любой ненулевой код выхода из `WorktreeRemove` приводит к ошибке удаления worktree, если каталог после этого всё ещё существует.918 Без корректного JSON в stdout Claude Code обрабатывает код выхода 1 как неблокирующую ошибку, хотя 1 — общепринятый код ошибки в Unix. Если ваш хук предназначен для соблюдения политики, используйте `exit 2`.

893</Warning>919</Warning>

894 920 

895<h4 id="timeouts">921<h4 id="timeouts">


900 926 

901Для [`PreModelSwitch`](#premodelswitch) хук, отменённый по таймауту, блокирует переключение модели. Для `PreToolUse` два семейства хуков ведут себя по-разному:927Для [`PreModelSwitch`](#premodelswitch) хук, отменённый по таймауту, блокирует переключение модели. Для `PreToolUse` два семейства хуков ведут себя по-разному:

902 928 

903* Хук `command`, `http` или `mcp_tool`, превысивший таймаут, не блокирует вызов инструмента. Вызов продолжается через обычный [процесс разрешений](/docs/ru/permissions), поэтому не рассчитывайте, что зависший хук сработает как защитный барьер.929* Хук `command`, `http` или `mcp_tool`, превысивший таймаут, не блокирует вызов инструмента. Вызов продолжается через обычный [процесс разрешений](/docs/ru/permissions), поэтому не рассчитывайте, что зависший хук сработает как защитный барьер. Чтобы блокировать вызов при превышении таймаута хуком `command` или `http`, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

904* [Callback-хук Agent SDK](/docs/ru/agent-sdk/hooks), превысивший свой таймаут, [блокирует вызов инструмента](#pretooluse).930* [Callback-хук Agent SDK](/docs/ru/agent-sdk/hooks), превысивший свой таймаут, [блокирует вызов инструмента](#pretooluse).

905 931 

932<h4 id="block-the-action-when-a-hook-fails">

933 Блокировка действия при сбое хука

934</h4>

935 

936Для большинства событий, когда хук завершается сбоем или превышает таймаут, Claude Code всё равно выполняет действие, поэтому хук политики с неверным путём или падающим скриптом пропускает всё. Чтобы вместо этого блокировать действие, установите `"onFailure": "block"` для хука `command` или `http`. Значение по умолчанию — `"continue"`. Требуется Claude Code v2.1.295 или новее.

937 

938Этот хук `PreToolUse` в `.claude/settings.json` запускает скрипт проекта перед каждой командой Bash и блокирует команду, если скрипт завершается сбоем:

939 

940```json theme={null}

941{

942 "hooks": {

943 "PreToolUse": [

944 {

945 "matcher": "Bash",

946 "hooks": [

947 {

948 "type": "command",

949 "command": "node",

950 "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js"],

951 "onFailure": "block"

952 }

953 ]

954 }

955 ]

956 }

957}

958```

959 

960Чтобы проверить его, не создавайте `check-command.js` и попросите Claude выполнить команду Bash, например `ls`. Claude Code блокирует вызов, и ошибка содержит `failed; blocking because onFailure is "block"`, за которым следует собственный вывод ошибки node, сокращённый здесь до одной строки:

961 

962```text theme={null}

963PreToolUse:Bash hook error: [node ${CLAUDE_PROJECT_DIR}/.claude/hooks/check-command.js]: failed; blocking because onFailure is "block"

964Error: Cannot find module '/path/to/project/.claude/hooks/check-command.js'

965```

966 

967После таймаута сообщение содержит `timed out` вместо `failed`. Без заданного `onFailure` тот же отсутствующий скрипт является неблокирующей ошибкой, и `ls` выполняется.

968 

969Каждый из следующих случаев считается сбоем:

970 

971* **Не удаётся запустить**: командный хук не запускается, например потому что скрипт или исполняемый файл не существует

972* **Код выхода, отличный от 0 или 2**: учитывается для командного хука, даже если он вывел JSON, разрешающий действие, например `permissionDecision: "allow"`. Чтобы вернуть решение в JSON, завершитесь с кодом 0

973* **Ошибка HTTP**: соединение HTTP-хука не удаётся установить, или статус ответа не 2xx

974* **Таймаут**: хук достигает своего [`timeout`](#common-fields)

975* **Некорректный вывод**: вывод JSON [не удаётся разобрать](#exit-code-0) или он не проходит [проверку схемы](#json-output). Для HTTP-хука сбоем также считается тело ответа 2xx, которое не является ни пустым, ни объектом JSON. Обычный текст в stdout командного хука сбоем не считается

976 

977При установленном `"block"` сбой действует так же, как [код выхода 2 для этого события](#exit-code-2-behavior-per-event), за исключением `PermissionRequest`, где он отклоняет запрос. Например, сбой `PreToolUse` блокирует вызов инструмента, а сбой `UserPromptSubmit` блокирует промпт.

978 

979Поле не действует для следующих хуков:

980 

981* **Хуки `Stop`, `SubagentStop`, `TaskCompleted` и `TeammateIdle`**: код выхода 2 для этих событий отправляет Claude продолжать работу, а Claude не может исправить хук, который не запускается

982* **Фоновые командные хуки**: командные хуки, в которых задано [`async` или `asyncRewake`](#run-hooks-in-the-background)

983 

906<h4 id="exit-code-2-behavior-per-event">984<h4 id="exit-code-2-behavior-per-event">

907 Поведение кода выхода 2 для каждого события985 Поведение кода выхода 2 для каждого события

908</h4>986</h4>


960* **Сбой соединения**: неблокирующая ошибка, выполнение продолжается1038* **Сбой соединения**: неблокирующая ошибка, выполнение продолжается

961* **Таймаут**: хук отменяется, как описано в разделе [Таймауты](#timeouts)1039* **Таймаут**: хук отменяется, как описано в разделе [Таймауты](#timeouts)

962 1040 

963В отличие от командных хуков, HTTP-хуки не могут сигнализировать о блокирующей ошибке только через коды состояния. Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с телом JSON, содержащим соответствующие поля решения.1041HTTP-хуки не могут сигнализировать о блокирующей ошибке только через код состояния: статус не 2xx или сбой соединения является [неблокирующей ошибкой](#exit-code-output). Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с телом JSON, содержащим соответствующие поля решения. Чтобы блокировать действие, когда запрос завершается сбоем или возвращает статус не 2xx, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

964 1042 

965<h3 id="json-output">1043<h3 id="json-output">

966 Вывод JSON1044 Вывод JSON


1237 Управление решениями SessionStart1315 Управление решениями SessionStart

1238</h4>1316</h4>

1239 1317 

1240Claude Code добавляет в контекст Claude stdout, который он [обрабатывает как обычный текст](#exit-code-0). Помимо [полей вывода JSON](#json-output), доступных всем хукам, вы можете возвращать следующие поля, специфичные для события:1318Хук SessionStart может добавлять контекст для Claude, задавать первое сообщение пользователя, устанавливать название сессии, отслеживать файлы и перезагружать скиллы. Для каждого из этих действий верните соответствующее поле в дополнение к [полям вывода JSON](#json-output), доступным всем хукам:

1241 1319 

1242| Поле | Описание |1320| Поле | Описание |

1243| :- | :- |1321| :- | :- |

1244| `additionalContext` | Строка, добавляемая в контекст Claude в начале диалога, до первого промпта. О том, как доставляется текст и что в него помещать, см. [Добавление контекста для Claude](#add-context-for-claude) |1322| `additionalContext` | Строка, добавляемая в контекст Claude в начале диалога, до первого промпта. О том, как доставляется текст и что в него помещать, см. [Добавление контекста для Claude](#add-context-for-claude) |

1245| `initialUserMessage` | Строка, используемая как первое пользовательское сообщение сессии. Применяется в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p`, где она становится первым ходом, даже если промпт не передан. Если промпт передан, он следует за ней как следующий ход. В отличие от `additionalContext`, который прикрепляется к существующему ходу, это поле создаёт ход |1323| `initialUserMessage` | Строка, используемая как первое сообщение пользователя в сессии в [неинтерактивном режиме](/docs/ru/headless) с флагом `-p`. Она становится первым ходом, даже если вы не передаёте промпт. Переданный вами промпт следует за ней как следующий ход |

1246| `sessionTitle` | Задаёт название сессии, с тем же эффектом, что и `/rename`. Используйте, чтобы автоматически именовать сессии по папке запуска, ветке git или имени worktree. Применяется, когда `source` равен `"startup"`, `"resume"` или `"fork"`; игнорируется для `"clear"` и `"compact"` |1324| `sessionTitle` | Устанавливает название сессии с тем же эффектом, что и `/rename`. Применяется, когда `source` равно `"startup"`, `"resume"` или `"fork"` |

1247| `watchPaths` | Массив абсолютных путей для отслеживания событий [FileChanged](#filechanged) во время этой сессии |1325| `watchPaths` | Массив абсолютных путей для отслеживания событий [FileChanged](#filechanged) во время этой сессии |

1248| `reloadSkills` | Логическое значение. При `true` Claude Code повторно сканирует каталоги [скиллов](/docs/ru/skills) и команд после завершения хуков SessionStart, чтобы скиллы, установленные хуком, были доступны в той же сессии, начиная с первого промпта |1326| `reloadSkills` | Логическое значение. Если `true`, Claude Code повторно сканирует каталоги [скиллов](/docs/ru/skills) и команд после завершения хуков SessionStart. См. [Перезагрузка скиллов, устанавливаемых хуком](#reload-skills-that-a-hook-installs) |

1327 

1328Этот вывод добавляет контекст и даёт сессии название:

1249 1329 

1250```json theme={null}1330```json theme={null}

1251{1331{


1257}1337}

1258```1338```

1259 1339 

1260Поскольку для этого события обычный stdout и так доходит до Claude, хук, который только загружает контекст, может выводить его прямо в stdout, не формируя JSON. Используйте форму JSON, когда нужно совместить контекст с другими полями, например `sessionTitle`.1340Хук, который только добавляет контекст, может просто вывести его без формирования JSON, поскольку Claude Code добавляет [обычный текстовый stdout](#exit-code-0) хука SessionStart в контекст Claude.

1341 

1342Если хук SessionStart вашего плагина предоставляет `initialUserMessage` или `sessionTitle`, установите плагин до начала сессии. Claude Code игнорирует оба поля от плагина, установка которого завершается после того, как хуки SessionStart уже отработали.

1343 

1344<h4 id="reload-skills-that-a-hook-installs">

1345 Перезагрузка скиллов, устанавливаемых хуком

1346</h4>

1347 

1348Чтобы скиллы, устанавливаемые хуком SessionStart, стали доступны в той же сессии, верните `reloadSkills`. Обнаружение скиллов обычно выполняется до завершения хуков SessionStart, поэтому без этого поля файлы, которые хук записывает в `~/.claude/skills/` или `.claude/skills/`, могут отсутствовать при выполнении первого промпта.

1261 1349 

1262Используйте `reloadSkills`, когда хук SessionStart устанавливает или обновляет скиллы. Обнаружение скиллов обычно выполняется до завершения хуков SessionStart, поэтому файлы, которые хук записывает в `~/.claude/skills/` или `.claude/skills/`, иначе появились бы только в следующей сессии. Этот пример синхронизирует общий репозиторий скиллов и запрашивает повторное сканирование:1350В этом примере синхронизируется общий репозиторий скиллов и запрашивается повторное сканирование:

1263 1351 

1264```bash theme={null}1352```bash theme={null}

1265#!/bin/bash1353#!/bin/bash


1270echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'1358echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "reloadSkills": true}}'

1271```1359```

1272 1360 

1273URL репозитория здесь — заглушка; замените его на собственный репозиторий скиллов. С заглушкой клонирование завершается ошибкой и выводит сообщение `fatal:` в stderr. Stderr хука SessionStart, завершившегося с кодом 0, носит лишь информационный характер, поэтому запрос `reloadSkills` всё равно применяется.1361URL репозитория — это заглушка. Замените его адресом вашего собственного репозитория скиллов.

1274 1362 

1275<h4 id="persist-environment-variables">1363<h4 id="persist-environment-variables">

1276 Сохранение переменных окружения1364 Сохранение переменных окружения


1419 1507 

1420Хуки `UserPromptSubmit` имеют таймаут по умолчанию 30 секунд для типов `command`, `http` и `mcp_tool` — меньше, чем стандартные 600 секунд для этих типов в большинстве других событий. Поскольку этот хук выполняется перед каждым промптом и блокирует обработку моделью до своего завершения, зависший хук останавливает сессию. Если вашему хуку нужно больше времени, задайте поле `timeout` в записи хука.1508Хуки `UserPromptSubmit` имеют таймаут по умолчанию 30 секунд для типов `command`, `http` и `mcp_tool` — меньше, чем стандартные 600 секунд для этих типов в большинстве других событий. Поскольку этот хук выполняется перед каждым промптом и блокирует обработку моделью до своего завершения, зависший хук останавливает сессию. Если вашему хуку нужно больше времени, задайте поле `timeout` в записи хука.

1421 1509 

1422За исключением командного хука, который вы запускаете с [`async: true`](#run-hooks-in-the-background), хук `UserPromptSubmit` типа command, HTTP или MCP tool, достигший таймаута, отменяется, а его вывод, включая `additionalContext`, отбрасывается. Промпт всё равно доходит до Claude, но без этого контекста. В транскрипте отображается уведомление с именем хука, сработавшим таймаутом и сообщением о том, что вывод был отброшен.1510За исключением command-хука, запущенного с [`async: true`](#run-hooks-in-the-background), command-, HTTP- или MCP tool-хук `UserPromptSubmit`, достигший таймаута, отменяется, а его вывод, включая любой `additionalContext`, отбрасывается. Промпт всё равно доходит до Claude, но без этого контекста. Чтобы вместо этого заблокировать промпт, задайте [`onFailure: "block"`](#block-the-action-when-a-hook-fails) для command- или HTTP-хука. В транскрипте отображается уведомление с именем хука, сработавшим таймаутом и сообщением о том, что вывод был отброшен.

1423 1511 

1424[Хук обратного вызова Agent SDK](/docs/ru/agent-sdk/hooks) для `UserPromptSubmit`, достигший таймаута, блокирует промпт с сообщением, в котором названы хук и таймаут, поскольку обратный вызов в этом месте может выступать в роли шлюза политики, который не должен при сбое пропускать всё подряд. Сессия продолжается. До версии v2.1.208 таймаут обратного вызова для этого события завершал ход с ошибкой выполнения.1512[Хук обратного вызова Agent SDK](/docs/ru/agent-sdk/hooks) для `UserPromptSubmit`, достигший таймаута, блокирует промпт с сообщением, в котором названы хук и таймаут, поскольку обратный вызов в этом месте может выступать в роли шлюза политики, который не должен при сбое пропускать всё подряд. Сессия продолжается. До версии v2.1.208 таймаут обратного вызова для этого события завершал ход с ошибкой выполнения.

1425 1513 


1860| :- | :- | :- | :- |1948| :- | :- | :- | :- |

1861| `url` | string | `"https://example.com/api"` | URL, с которого загружается содержимое |1949| `url` | string | `"https://example.com/api"` | URL, с которого загружается содержимое |

1862| `prompt` | string | `"Extract the API endpoints"` | Промпт, применяемый к загруженному содержимому |1950| `prompt` | string | `"Extract the API endpoints"` | Промпт, применяемый к загруженному содержимому |

1951| `offset` | number | `100000` | Необязательное количество символов, пропускаемых от начала страницы. Claude задаёт его, чтобы продолжить чтение длинной страницы. Требуется Claude Code v2.1.290 или новее |

1863 1952 

1864<h5 id="websearch">1953<h5 id="websearch">

1865 WebSearch1954 WebSearch


2112| `message` | Только для `"deny"`: сообщает Claude, почему в разрешении отказано |2201| `message` | Только для `"deny"`: сообщает Claude, почему в разрешении отказано |

2113| `interrupt` | Только для `"deny"`: если `true`, останавливает Claude |2202| `interrupt` | Только для `"deny"`: если `true`, останавливает Claude |

2114 2203 

2115Хук, который завершается с кодом 2 без объекта `decision`, оставляет процесс проверки разрешений без изменений, а его stderr отбрасывается. Предоставить или отклонить запрос может только объект `decision`.2204Хук, завершающийся с кодом 2 без объекта `decision`, оставляет процесс разрешений без изменений, а его stderr отбрасывается. Чтобы предоставить или отклонить запрос, верните объект `decision`.

2116 2205 

2117```json theme={null}2206```json theme={null}

2118{2207{


2678 Управление решениями TaskCreated2767 Управление решениями TaskCreated

2679</h4>2768</h4>

2680 2769 

2681Хук TaskCreated может заблокировать создание двумя способами. В любом случае Claude Code удаляет задачу и возвращает ваше сообщение Claude в качестве ошибки инструмента. Claude Code игнорирует `continue: false` от этого события, и Claude продолжает работу.2770Хук TaskCreated может заблокировать создание с помощью кода выхода 2 или решения в JSON. В обоих случаях Claude Code удаляет задачу и возвращает ваше сообщение Claude как ошибку инструмента. Claude Code игнорирует `continue: false` от этого события, и Claude продолжает работу.

2682 2771 

2683* **Код выхода 2**: Claude Code возвращает текст из stderr в качестве сообщения.2772* **Код выхода 2**: Claude Code возвращает текст из stderr в качестве сообщения.

2684* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code возвращает `reason` в качестве сообщения.2773* **JSON `{"decision": "block", "reason": "..."}`**: Claude Code возвращает `reason` в качестве сообщения.


3561 3650 

3562Claude Code показывает пользователю любое `systemMessage`, возвращённое вашим хуком, независимо от решения, поэтому хук, сообщающий о стоимости, может вернуть `{"systemMessage": "..."}` и завершиться с кодом 0.3651Claude Code показывает пользователю любое `systemMessage`, возвращённое вашим хуком, независимо от решения, поэтому хук, сообщающий о стоимости, может вернуть `{"systemMessage": "..."}` и завершиться с кодом 0.

3563 3652 

3564Хук PreModelSwitch, который не ответил до истечения таймаута, блокирует смену. Для [PreToolUse](#timeouts), напротив, командный хук с истёкшим таймаутом позволяет вызову инструмента продолжиться. Таймаут по умолчанию для этого события — 30 секунд. `PreModelSwitch` запускает только хуки `command`, `http` и `mcp_tool`, поэтому значения по умолчанию для `prompt` и `agent` не применяются.3653Хук PreModelSwitch, который не ответил до истечения таймаута, блокирует переключение. О том, что делает таймаут для других событий, см. [Таймауты](#timeouts). Таймаут по умолчанию для этого события — 30 секунд. `PreModelSwitch` запускает только хуки `command`, `http` и `mcp_tool`, поэтому значения по умолчанию для `prompt` и `agent` не применяются.

3565 3654 

3566Хук, который завершается с кодом, отличным от 0 или 2, и не выводит JSON-решение, не блокирует смену: Claude Code показывает его stderr и применяет смену, как описано в разделе [Другие коды выхода](#other-exit-codes).3655Хук, который завершается с кодом, отличным от 0 или 2, и не выводит JSON-решение, считается неблокирующей ошибкой, как описано в разделе [Другие коды выхода](#other-exit-codes).

3567 3656 

3568<h3 id="postmodelswitch">3657<h3 id="postmodelswitch">

3569 PostModelSwitch3658 PostModelSwitch


4279Асинхронные hooks имеют дополнительные ограничения по сравнению с синхронными hooks:4368Асинхронные hooks имеют дополнительные ограничения по сравнению с синхронными hooks:

4280 4369 

4281* Выход hook доставляется на следующий ход разговора. Если сеанс неактивен, ответ ждёт до следующего взаимодействия пользователя. Исключение: hook `asyncRewake`, который выходит с кодом 2, пробуждает Claude немедленно даже когда сеанс неактивен.4370* Выход hook доставляется на следующий ход разговора. Если сеанс неактивен, ответ ждёт до следующего взаимодействия пользователя. Исключение: hook `asyncRewake`, который выходит с кодом 2, пробуждает Claude немедленно даже когда сеанс неактивен.

4282* Каждое выполнение создаёт отдельный фоновый процесс. Нет дедупликации между несколькими срабатываниями одного и того же асинхронного hook.4371* Каждое выполнение создаёт отдельный фоновый процесс.

4283 4372 

4284<h2 id="security-considerations">4373<h2 id="security-considerations">

4285 Соображения безопасности4374 Соображения безопасности

hooks-guide.md +14 −11

Details

242 242 

243Чтобы протестировать hook, попросите Claude добавить строку с одинарными кавычками в файл JavaScript, затем откройте файл: с параметрами Prettier по умолчанию hook переписывает их на двойные кавычки.243Чтобы протестировать hook, попросите Claude добавить строку с одинарными кавычками в файл JavaScript, затем откройте файл: с параметрами Prettier по умолчанию hook переписывает их на двойные кавычки.

244 244 

245Когда hook успешен, Claude Code ничего не показывает в разговоре. Чтобы подтвердить, что hook запустился, проверьте, что отредактированный файл переформатирован, или см. [Методы отладки](#debug-techniques).245Когда хук выполняется успешно, Claude Code ничего не показывает в диалоге. Чтобы убедиться, что хук запустился, проверьте, что отредактированный файл переформатирован, или см. раздел [Проверка того, что сделал хук](#check-what-a-hook-did).

246 246 

247Чтобы переформатировать определённый файл при любом его изменении, включая когда команда `Bash` переписывает его, используйте hook [FileChanged](/docs/ru/hooks#filechanged) вместо этого.247Чтобы переформатировать определённый файл при любом его изменении, включая когда команда `Bash` переписывает его, используйте hook [FileChanged](/docs/ru/hooks#filechanged) вместо этого.

248 248 


979}979}

980```980```

981 981 

982Конечная точка должна вернуть тело ответа JSON, используя тот же [формат вывода](/docs/ru/hooks#json-output), что и hooks команд. Для блокировки вызова инструмента верните ответ 2xx с соответствующими полями `hookSpecificOutput`. Коды состояния HTTP сами по себе не могут блокировать действия.982Ваш эндпоинт отвечает телом JSON в том же [формате вывода](/docs/ru/hooks#json-output), что и командные хуки, а Claude Code также проверяет код состояния ответа:

983 

984* **Код состояния 2xx**: чтобы заблокировать вызов инструмента, верните в теле ответа соответствующие поля `hookSpecificOutput`.

985* **Любой другой код состояния или сбой запроса**: Claude Code сообщает о [неблокирующей ошибке](/docs/ru/hooks#exit-code-output) и позволяет действию продолжиться. Чтобы сбой эндпоинта блокировал действие, задайте для хука [`onFailure: "block"`](/docs/ru/hooks#block-the-action-when-a-hook-fails).

983 986 

984Значения заголовков поддерживают интерполяцию переменных окружения, используя синтаксис `$VAR_NAME` или `${VAR_NAME}`. Разрешены только переменные, указанные в массиве `allowedEnvVars`; все остальные ссылки `$VAR` остаются пустыми.987Значения заголовков поддерживают интерполяцию переменных окружения, используя синтаксис `$VAR_NAME` или `${VAR_NAME}`. Разрешены только переменные, указанные в массиве `allowedEnvVars`; все остальные ссылки `$VAR` остаются пустыми.

985 988 


1103 1106 

1104Когда ваш hook возвращает `permissionDecision` или `additionalContext` на верхнем уровне вместо внутри `hookSpecificOutput`, JSON всё ещё анализируется, и Claude Code игнорирует неправильно размещённые поля без сообщения об ошибке. Чтобы увидеть, какие поля он игнорировал, запустите Claude Code с `claude --debug` и найдите в [журнале отладки](/docs/ru/hooks#debug-hooks) `Hook JSON output had unrecognized keys`.1107Когда ваш hook возвращает `permissionDecision` или `additionalContext` на верхнем уровне вместо внутри `hookSpecificOutput`, JSON всё ещё анализируется, и Claude Code игнорирует неправильно размещённые поля без сообщения об ошибке. Чтобы увидеть, какие поля он игнорировал, запустите Claude Code с `claude --debug` и найдите в [журнале отладки](/docs/ru/hooks#debug-hooks) `Hook JSON output had unrecognized keys`.

1105 1108 

1106<h3 id="debug-techniques">1109<h3 id="check-what-a-hook-did">

1107 Методы отладки1110 Проверка того, что сделал хук

1108</h3>1111</h3>

1109 1112 

1110Нажмите `Ctrl+O` для открытия представления стенограммы, чтобы проверить результат запуска hook:1113Нажмите `Ctrl+O`, чтобы открыть представление транскрипта, и найдите результат работы хука:

1111 1114 

1112* **Успешный запуск**: вы ничего не видите, если только JSON hook не выводит что-то, например `systemMessage` или обратную связь Stop hook.1115* **Успех**: вы ничего не видите, если только JSON хука не выводит что-либо, например `systemMessage` или обратную связь Stop-хука.

1113 * Чтобы подтвердить, что hook запустился, проверьте его эффект, например переформатированный файл, или включите логирование отладки, как описано ниже, и снова запустите hook1116 * Чтобы убедиться, что хук запустился, проверьте его эффект, например переформатированный файл

1114* **Блокирующая ошибка**: в большинстве событий вы видите обратную связь hook. Когда JSON hook принял блокирующее решение, обратная связь — это причина из этого решения; в противном случае это stderr hook. На нескольких событиях, таких как `ConfigChange` и `Elicitation`, блокировка не выводит сообщение.1117* **Блокирующая ошибка**: для большинства событий вы видите сообщение, сопровождавшее блокировку, например `Blocked: rm commands are not allowed`. Для нескольких событий, таких как `ConfigChange` и `Elicitation`, сообщение не отображается. Откуда берётся сообщение, описано в разделе [Exit code 2](/docs/ru/hooks#exit-code-2).

1115* **Неблокирующая ошибка**: действие продолжилось, и вы видите уведомление `<hook name> hook error` с кратким объяснением, например первая строка stderr с префиксом `Failed with non-blocking status code:`, или сообщение о валидации JSON или анализе.1118* **Неблокирующая ошибка**: вы видите уведомление `<hook name> hook error` с кратким объяснением, например первой строкой stderr после `Failed with non-blocking status code:`, или сообщением о валидации либо разборе JSON. Действие было выполнено.

1116 1119 

1117Какие комбинации кодов выхода и JSON производят каждый результат, включая исключения для каждого события, определены в разделе [Exit code output](/docs/ru/hooks#exit-code-output) справочника.1120Чтобы узнать результат для конкретного кода выхода и stdout, включая исключения для отдельных событий, см. раздел [Exit code output](/docs/ru/hooks#exit-code-output) справочника.

1118 1121 

1119Для полных деталей выполнения, включая какие hooks совпали, их коды выхода, stdout и stderr, прочитайте журнал отладки. Запустите Claude Code с `claude --debug-file /tmp/claude.log` для записи в известный путь, затем `tail -f /tmp/claude.log` в другом терминале. Если вы запустили без этого флага, запустите `/debug` во время сеанса для включения логирования и поиска пути журнала.1122Для получения полных сведений о выполнении, включая коды выхода хуков, stdout и stderr, прочитайте лог отладки. Запустите Claude Code с `claude --debug-file /tmp/claude.log`, чтобы записывать лог по известному пути, затем выполните `tail -f /tmp/claude.log` в другом терминале. Если вы запустили Claude Code без этого флага, выполните `/debug` во время сессии, чтобы включить логирование и узнать путь к логу.

1120 1123 

1121<h2 id="learn-more">1124<h2 id="learn-more">

1122 Узнайте больше1125 Узнайте больше

Details

216| `^` | Первый непустой символ |216| `^` | Первый непустой символ |

217| `gg` | Начало ввода |217| `gg` | Начало ввода |

218| `G` | Начало последней строки |218| `G` | Начало последней строки |

219| `f{char}` | Перейти к следующему вхождению символа |219| `f{char}` | Перейти к следующему вхождению символа в текущей строке |

220| `F{char}` | Перейти к предыдущему вхождению символа |220| `F{char}` | Перейти к предыдущему вхождению символа в текущей строке |

221| `t{char}` | Перейти прямо перед следующим вхождением символа |221| `t{char}` | Перейти прямо перед следующим вхождением символа в текущей строке |

222| `T{char}` | Перейти прямо после предыдущего вхождения символа |222| `T{char}` | Перейти прямо после предыдущего вхождения символа в текущей строке |

223| `;` | Повторить последнее движение f/F/t/T |223| `;` | Повторить последнее движение f/F/t/T |

224| `,` | Повторить последнее движение f/F/t/T в обратном порядке |224| `,` | Повторить последнее движение f/F/t/T в обратном порядке |

225| `/` | Открыть поиск в обратной истории, то же самое, что `Ctrl+R`. Пустое приглашение поиска показывает подсказку: нажмите `Esc`, затем `i`, затем `/`, чтобы открыть меню команд вместо этого |225| `/` | Открыть поиск в обратной истории, то же самое, что `Ctrl+R`. Пустое приглашение поиска показывает подсказку: нажмите `Esc`, затем `i`, затем `/`, чтобы открыть меню команд вместо этого |


239| `dd` | Удалить строку |239| `dd` | Удалить строку |

240| `D` | Удалить до конца строки |240| `D` | Удалить до конца строки |

241| `dw`/`de`/`db` | Удалить слово/до конца/назад |241| `dw`/`de`/`db` | Удалить слово/до конца/назад |

242| `df{char}`/`dt{char}` | Удалить до и включая, или до следующего вхождения символа |242| `df{char}`/`dt{char}` | Удалить до и включая, или до следующего вхождения символа в текущей строке |

243| `dj`/`dk` | Удалить текущую строку и строку ниже или выше |243| `dj`/`dk` | Удалить текущую строку и строку ниже или выше |

244| `dgg`/`dG` | Удалить с текущей строки до первой или последней строки |244| `dgg`/`dG` | Удалить с текущей строки до первой или последней строки |

245| `d0`/`c0`/`y0` | Удалить, изменить или скопировать от курсора к началу строки. Требует Claude Code v2.1.281 или более позднюю версию |245| `d0`/`c0`/`y0` | Удалить, изменить или скопировать от курсора к началу строки. Требует Claude Code v2.1.281 или более позднюю версию |


859* Простая `#123`859* Простая `#123`

860* Вложенный путь GitLab, такой как `group/subgroup/project#123`860* Вложенный путь GitLab, такой как `group/subgroup/project#123`

861* Любая ссылка внутри диапазона кода или блока кода861* Любая ссылка внутри диапазона кода или блока кода

862* Любая ссылка в ответе длиннее примерно 1 000 строк или 100 000 символов

862 863 

863Claude Code создаёт ссылку для хоста репозитория, который он определяет из вашего git remote, а не для репозитория, который называет ссылка:864Claude Code создаёт ссылку для хоста репозитория, который он определяет из вашего git remote, а не для репозитория, который называет ссылка:

864 865 

jetbrains.md +8 −4

Details

55 Использование55 Использование

56</h2>56</h2>

57 57 

58<h3 id="from-your-ide">58<span id="from-your-ide" />

59 Из вашей IDE59 

60<h3 id="run-claude-code-from-your-ide">

61 Запуск Claude Code из вашей IDE

60</h3>62</h3>

61 63 

62Запустите `claude` из встроенного терминала вашей IDE, и все функции интеграции будут активны.64Запустите `claude` из встроенного терминала вашей IDE, и все функции интеграции будут активны.

63 65 

64<h3 id="from-external-terminals">66<span id="from-external-terminals" />

65 Из внешних терминалов67 

68<h3 id="connect-from-an-external-terminal">

69 Подключение из внешнего терминала

66</h3>70</h3>

67 71 

68Используйте команду `/ide` в любом внешнем терминале для подключения Claude Code к вашей JetBrains IDE и активации всех функций:72Используйте команду `/ide` в любом внешнем терминале для подключения Claude Code к вашей JetBrains IDE и активации всех функций:

Details

79 79 

80Начальные шаблоны для Jamf, Iru, Intune и Group Policy находятся в [репозитории примеров MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).80Начальные шаблоны для Jamf, Iru, Intune и Group Policy находятся в [репозитории примеров MDM](https://github.com/anthropics/claude-code/tree/main/examples/mdm).

81 81 

82Если в вашей организации применена [конфигурация HIPAA](/docs/ru/hipaa-setup#deploy-managed-settings), см. `settings-hipaa.json` и `README-hipaa.md` в [репозитории примеров настроек](https://github.com/anthropics/claude-code/tree/main/examples/settings), где приведён более полный `managed-settings.json` с изоляцией в песочнице, списком разрешённых сетевых доменов, защитой учётных данных и локальным хранением данных.

83 

82Для управляемых MCP серверов, которые вы развёртываете вместе с любым из этих через `managed-mcp.json` или предоставляете через ключ [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers), см. [Управляемая конфигурация MCP](/docs/ru/managed-mcp).84Для управляемых MCP серверов, которые вы развёртываете вместе с любым из этих через `managed-mcp.json` или предоставляете через ключ [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers), см. [Управляемая конфигурация MCP](/docs/ru/managed-mcp).

83 85 

84<h3 id="where-and-when-a-policy-applies">86<h3 id="where-and-when-a-policy-applies">

mcp.md +18 −10

Details

181 181 

182Каждый из них — один из входных данных, которые принимают четыре варианта из раздела [Установка MCP-серверов](#installing-mcp-servers). Найдите ниже свой случай, чтобы превратить его в команду, которую принимает Claude Code. Каждая команда записывает конфигурацию в [локальную область действия](#local-scope), если вы не добавите `--scope project` или `--scope user`.182Каждый из них — один из входных данных, которые принимают четыре варианта из раздела [Установка MCP-серверов](#installing-mcp-servers). Найдите ниже свой случай, чтобы превратить его в команду, которую принимает Claude Code. Каждая команда записывает конфигурацию в [локальную область действия](#local-scope), если вы не добавите `--scope project` или `--scope user`.

183 183 

184<h4 id="from-a-url">184<span id="from-a-url" />

185 Из URL185 

186<h4 id="add-a-server-from-a-url">

187 Добавление сервера из URL

186</h4>188</h4>

187 189 

188URL означает, что сервер удалённый. Для эндпоинта `https://` добавьте его с `--transport http` или следуйте [Варианту 2](#option-2-add-a-remote-sse-server), если в инструкциях сказано, что эндпоинт использует SSE. Для эндпоинта `wss://` используйте вместо этого [Вариант 4](#option-4-add-a-remote-websocket-server), так как `--transport` не принимает `ws`:190URL означает, что сервер удалённый. Для эндпоинта `https://` добавьте его с `--transport http` или следуйте [Варианту 2](#option-2-add-a-remote-sse-server), если в инструкциях сказано, что эндпоинт использует SSE. Для эндпоинта `wss://` используйте вместо этого [Вариант 4](#option-4-add-a-remote-websocket-server), так как `--transport` не принимает `ws`:


193 195 

194Если в инструкциях также указан API-ключ или заголовок с токеном, передайте его с `--header`, как показано в [Варианте 1](#option-1-add-a-remote-http-server).196Если в инструкциях также указан API-ключ или заголовок с токеном, передайте его с `--header`, как показано в [Варианте 1](#option-1-add-a-remote-http-server).

195 197 

196<h4 id="from-an-npx-uvx-or-binary-command">198<span id="from-an-npx-uvx-or-binary-command" />

197 Из команды `npx`, `uvx` или двоичного файла199 

200<h4 id="add-a-server-from-an-npx-uvx-or-binary-command">

201 Добавление сервера из команды `npx`, `uvx` или двоичного файла

198</h4>202</h4>

199 203 

200Команда запуска означает, что сервер работает как локальный stdio-процесс. Поместите всю команду после `--`, чтобы Claude Code передал флаги, такие как `-y`, команде, запускающей сервер, а не считал их своими опциями. Передайте все переменные окружения, которые требуют инструкции, с помощью `--env` после имени сервера и перед `--`:204Команда запуска означает, что сервер работает как локальный stdio-процесс. Поместите всю команду после `--`, чтобы Claude Code передал флаги, такие как `-y`, команде, запускающей сервер, а не считал их своими опциями. Передайте все переменные окружения, которые требуют инструкции, с помощью `--env` после имени сервера и перед `--`:


205 209 

206[Вариант 3](#option-3-add-a-local-stdio-server) подробно описывает разделитель `--`.210[Вариант 3](#option-3-add-a-local-stdio-server) подробно описывает разделитель `--`.

207 211 

208<h4 id="from-an-mcpservers-json-block">212<span id="from-an-mcpservers-json-block" />

209 Из блока JSON `mcpServers`213 

214<h4 id="add-a-server-from-an-mcpservers-json-block">

215 Добавление сервера из блока JSON `mcpServers`

210</h4>216</h4>

211 217 

212Блок `mcpServers`, написанный для другого MCP-клиента, например Claude Desktop, использует тот же ключ-обёртку и ту же форму записи, которые читает Claude Code. Передайте `claude mcp add-json` объект внутри `mcpServers`, а не обёртку. Две разновидности записей требуют предварительного исправления:218Блок `mcpServers`, написанный для другого MCP-клиента, например Claude Desktop, использует тот же ключ-обёртку и ту же форму записи, которые читает Claude Code. Передайте `claude mcp add-json` объект внутри `mcpServers`, а не обёртку. Две разновидности записей требуют предварительного исправления:


367 373 

368В v2 Claude Code также:374В v2 Claude Code также:

369 375 

370* Спрашивает HTTP- и stdio-серверы, поддерживают ли они более новую ревизию, и использует её с теми, которые поддерживают. В сессиях, где он получает флаги функций, он также спрашивает серверы коннекторов claude.ai. Ко всем остальным серверам он подключается так же, как v1.376* Спрашивает HTTP-, stdio-серверы и серверы коннекторов claude.ai, поддерживают ли они более новую ревизию, и использует её с теми, которые поддерживают. Ко всем остальным серверам он подключается так же, как v1.

371* Получает уведомления `list_changed` от серверов на более новой ревизии через [поток, который держит открытым](#notification-streams-on-the-v2-runtime).377* Получает уведомления `list_changed` от серверов на более новой ревизии через [поток, который держит открытым](#notification-streams-on-the-v2-runtime).

372* Не регистрирует сервер [канала](#push-messages-with-channels), который подключается на более новой ревизии, потому что эта ревизия не может передавать сообщения канала.378* Не регистрирует сервер [канала](#push-messages-with-channels), который подключается на более новой ревизии, потому что эта ревизия не может передавать сообщения канала.

373* Прерывает [вход через MCP OAuth](#authenticate-with-remote-mcp-servers), если ответ авторизации указывает неожиданного издателя.379* Прерывает [вход через MCP OAuth](#authenticate-with-remote-mcp-servers), если ответ авторизации указывает неожиданного издателя.


891 Аутентификация из командной строки897 Аутентификация из командной строки

892</h3>898</h3>

893 899 

894Команда `claude mcp login <name>` запускает поток OAuth настроенного сервера непосредственно из вашей оболочки, поэтому вам не нужно открывать панель `/mcp` внутри сеанса.900Команда `claude mcp login <name>` запускает поток OAuth настроенного сервера непосредственно из вашей оболочки, поэтому вам не нужно открывать панель `/mcp` внутри сессии. Для коннектора claude.ai следуйте инструкциям из раздела [Повторная авторизация коннектора из оболочки](/docs/ru/remote-control#authorize-a-connector-again-from-your-shell).

895 901 

896```bash theme={null}902```bash theme={null}

897claude mcp login sentry903claude mcp login sentry


1581 Поиск инструментов не поддерживается на Microsoft Foundry [развёртываниях, размещённых на Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), которые отклоняют его на стороне сервера: Claude Code обнаруживает отклонение и загружает инструменты MCP заранее для этого развёртывания. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) не может переопределить это, так как отклонение исходит от самого развёртывания.1587 Поиск инструментов не поддерживается на Microsoft Foundry [развёртываниях, размещённых на Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), которые отклоняют его на стороне сервера: Claude Code обнаруживает отклонение и загружает инструменты MCP заранее для этого развёртывания. [`ENABLE_TOOL_SEARCH`](#configure-tool-search) не может переопределить это, так как отклонение исходит от самого развёртывания.

1582</Note>1588</Note>

1583 1589 

1584<h3 id="for-mcp-server-authors">1590<span id="for-mcp-server-authors" />

1585 Для авторов серверов MCP1591 

1592<h3 id="tool-search-for-mcp-server-authors">

1593 Поиск инструментов для авторов серверов MCP

1586</h3>1594</h3>

1587 1595 

1588Если вы создаёте сервер MCP, поле инструкций сервера становится более полезным при включённом поиске инструментов. Инструкции сервера помогают Claude понять, когда следует искать ваши инструменты, аналогично тому, как работают [скиллы](/docs/ru/skills).1596Если вы создаёте сервер MCP, поле инструкций сервера становится более полезным при включённом поиске инструментов. Инструкции сервера помогают Claude понять, когда следует искать ваши инструменты, аналогично тому, как работают [скиллы](/docs/ru/skills).

Details

599 599 

600В сеансах, подписанных на [шлюз приложений Claude](/docs/ru/claude-apps-gateway) через `/login`, CLI помечает экспорты аутентифицированной идентификацией: `user.id` — это субъект IdP, `user.email` — это адрес электронной почты входа, и `user.groups` содержит членство в группе IdP в виде строки, разделённой запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентификация шлюза применяется последней, поэтому ключи `user.*` и `identity.*`, установленные через `OTEL_RESOURCE_ATTRIBUTES`, игнорируются в сеансах шлюза.600В сеансах, подписанных на [шлюз приложений Claude](/docs/ru/claude-apps-gateway) через `/login`, CLI помечает экспорты аутентифицированной идентификацией: `user.id` — это субъект IdP, `user.email` — это адрес электронной почты входа, и `user.groups` содержит членство в группе IdP в виде строки, разделённой запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентификация шлюза применяется последней, поэтому ключи `user.*` и `identity.*`, установленные через `OTEL_RESOURCE_ATTRIBUTES`, игнорируются в сеансах шлюза.

601 601 

602<Note>

603 События, которые Claude Code записывает в лог до входа разработчика, не содержат идентичность шлюза. Когда Claude Code открывает сессию без входа в шлюз, например после того как [шлюз завершил сеанс входа](/docs/ru/errors#cloud-gateway-session-expired), события запуска, записанные до входа, содержат анонимный `user.id` и не содержат `identity.source`. К ним относятся [`managed_settings_resolved`](#managed-settings-resolved-event), [`plugin_loaded`](#plugin-loaded-event) и [`mcp_server_connection`](#mcp-server-connection-event).

604</Note>

605 

602Для атрибутов идентификации в сеансах Claude Desktop и Cowork, которые подключаются через шлюз, см. [справочник по телеметрии шлюза](/docs/ru/claude-apps-gateway-config#telemetry).606Для атрибутов идентификации в сеансах Claude Desktop и Cowork, которые подключаются через шлюз, см. [справочник по телеметрии шлюза](/docs/ru/claude-apps-gateway-config#telemetry).

603 607 

604События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, так как это вызовет неограниченную кардинальность:608События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, так как это вызовет неограниченную кардинальность:


917* `error`: Сообщение об ошибке921* `error`: Сообщение об ошибке

918* `status_code`: Код состояния HTTP как число. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.922* `status_code`: Код состояния HTTP как число. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.

919* `duration_ms`: Длительность запроса в миллисекундах923* `duration_ms`: Длительность запроса в миллисекундах

920* `attempt`: Общее количество попыток, включая исходный запрос (`1` означает, что повторных попыток не было)924* `attempt`: количество выполненных попыток, включая исходный запрос. Когда счёт начинается заново, описано в разделе [Обнаружение исчерпания повторных попыток](#detect-retry-exhaustion)

921* `request_id`: ID запроса API, например `"req_011..."`, описанный в [Атрибуты корреляции событий](#event-correlation-attributes).925* `request_id`: ID запроса API, например `"req_011..."`, описанный в [Атрибуты корреляции событий](#event-correlation-attributes).

922* `client_request_id`: Созданный клиентом UUID, отправленный как заголовок запроса `x-client-request-id`. Доступен даже при сбое, таком как тайм-аут или ошибка соединения, которые никогда не создали серверный `request_id`; см. таблицу [атрибутов корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требуется Claude Code v2.1.214 или позже926* `client_request_id`: Созданный клиентом UUID, отправленный как заголовок запроса `x-client-request-id`. Доступен даже при сбое, таком как тайм-аут или ошибка соединения, которые никогда не создали серверный `request_id`; см. таблицу [атрибутов корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требуется Claude Code v2.1.214 или позже

923* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим927* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим


1190 1194 

1191Регистрируется, когда Claude Code разрешает упоминание `@` в запросе. Не каждое упоминание выпускает событие: пути раннего выхода, такие как отказы в разрешении, файлы чрезмерного размера, вложения ссылок PDF и сбои перечисления каталогов, возвращаются без логирования.1195Регистрируется, когда Claude Code разрешает упоминание `@` в запросе. Не каждое упоминание выпускает событие: пути раннего выхода, такие как отказы в разрешении, файлы чрезмерного размера, вложения ссылок PDF и сбои перечисления каталогов, возвращаются без логирования.

1192 1196 

1197Каждый раз, когда Claude Code читает промпт, он записывает не более 100 событий с `mention_type`, равным `"agent"`, и 100 — с `"mcp_resource"`. Упоминания сверх любого из этих лимитов по-прежнему разрешаются, но не генерируют событий.

1198 

1193**Имя события**: `claude_code.at_mention`1199**Имя события**: `claude_code.at_mention`

1194 1200 

1195**Атрибуты**:1201**Атрибуты**:


1529 1535 

1530Claude Code повторяет неудачные запросы API внутри и выдает одно событие `claude_code.api_error` только после того, как сдается, поэтому само событие является терминальным сигналом для этого запроса. Промежуточные повторные попытки не логируются как отдельные события.1536Claude Code повторяет неудачные запросы API внутри и выдает одно событие `claude_code.api_error` только после того, как сдается, поэтому само событие является терминальным сигналом для этого запроса. Промежуточные повторные попытки не логируются как отдельные события.

1531 1537 

1532Атрибут `attempt` на событии записывает общее количество попыток. `CLAUDE_CODE_MAX_RETRIES` по умолчанию равен 10 и ограничен 15. Начиная с версии 2.1.199, вы можете установить `CLAUDE_CODE_RETRY_WATCHDOG` для повышения значения по умолчанию и снятия ограничения.1538Атрибут `attempt` на событии записывает количество попыток. `CLAUDE_CODE_MAX_RETRIES` по умолчанию равен 10 и ограничен 15. Начиная с версии 2.1.199, вы можете установить `CLAUDE_CODE_RETRY_WATCHDOG` для повышения значения по умолчанию и снятия ограничения.

1533 1539 

1534Когда запрос исчерпывает все повторные попытки при переходной ошибке, `attempt` равен на один больше, чем это эффективное ограничение: 11 по умолчанию и никогда не более 16, если не установлен watchdog. Более низкое значение указывает на неповторяемую ошибку, такую как ответ `400`, или причину с собственным меньшим бюджетом повторных попыток. Например, Claude Code повторяет сбой при загрузке учетных данных AWS или Google Cloud не более двух раз.1540Когда запрос исчерпывает все повторные попытки при переходной ошибке, `attempt` не более чем на один больше этого эффективного ограничения: 11 по умолчанию.

1541 

1542Более низкое значение тоже может означать, что повторные попытки исчерпаны: `attempt` снова начинается с `1` каждый раз, когда Claude Code повторно отправляет запрос после сбоя потоковой передачи.

1535 1543 

1536Чтобы различить сеанс, который восстановился, от того, который застопорился, сгруппируйте события по `session.id` и проверьте, существует ли более позднее событие `api_request` после ошибки.1544Чтобы различить сеанс, который восстановился, от того, который застопорился, сгруппируйте события по `session.id` и проверьте, существует ли более позднее событие `api_request` после ошибки.

1537 1545 


1700 1708 

1701Выбор вашего бэкенда метрик, логов и трассировок определяет типы анализов, которые вы можете выполнять:1709Выбор вашего бэкенда метрик, логов и трассировок определяет типы анализов, которые вы можете выполнять:

1702 1710 

1703<h3 id="for-metrics">1711<span id="for-metrics" />

1704 Для метрик1712 

1713<h3 id="backends-for-metrics">

1714 Бэкенды для метрик

1705</h3>1715</h3>

1706 1716 

1707* **Базы данных временных рядов**: Расчеты скорости, агрегированные метрики1717* **Базы данных временных рядов**: Расчеты скорости, агрегированные метрики

1708* **Колончатые хранилища**: Сложные запросы, анализ уникальных пользователей1718* **Колончатые хранилища**: Сложные запросы, анализ уникальных пользователей

1709* **Полнофункциональные платформы наблюдаемости**: Продвинутые запросы, визуализация, оповещения1719* **Полнофункциональные платформы наблюдаемости**: Продвинутые запросы, визуализация, оповещения

1710 1720 

1711<h3 id="for-events/logs">1721<span id="for-events/logs" />

1712 Для событий/логов1722 

1723<h3 id="backends-for-events-and-logs">

1724 Бэкенды для событий и логов

1713</h3>1725</h3>

1714 1726 

1715* **Системы агрегации логов**: Полнотекстовый поиск, анализ логов1727* **Системы агрегации логов**: Полнотекстовый поиск, анализ логов

1716* **Колончатые хранилища**: Анализ структурированных событий1728* **Колончатые хранилища**: Анализ структурированных событий

1717* **Полнофункциональные платформы наблюдаемости**: Корреляция между метриками и событиями1729* **Полнофункциональные платформы наблюдаемости**: Корреляция между метриками и событиями

1718 1730 

1719<h3 id="for-traces">1731<span id="for-traces" />

1720 Для трассировок1732 

1733<h3 id="backends-for-traces">

1734 Бэкенды для трассировок

1721</h3>1735</h3>

1722 1736 

1723Выберите бэкенд, поддерживающий хранилище распределенных трассировок и корреляцию span:1737Выберите бэкенд, поддерживающий хранилище распределенных трассировок и корреляцию span:

Details

91| `-y, --yes` | Примите отображаемую команду установки без запроса `Run this command now?`. Игнорируется, когда команда запускается внутри сессии Claude Code, например из инструмента Bash или хука. Требует Claude Code v2.1.229 или позже |91| `-y, --yes` | Примите отображаемую команду установки без запроса `Run this command now?`. Игнорируется, когда команда запускается внутри сессии Claude Code, например из инструмента Bash или хука. Требует Claude Code v2.1.229 или позже |

92| `--accept-command <sha256>` | Примите отображаемую команду установки, чей `sha256` предыдущий запуск [`--json`](#plugin-json-result) сообщил в `shownCommand`, вместо `-y`. Не может быть объединён с `-y`. См. [Принять отображаемую команду установки](#accept-a-displayed-install-command). Требует Claude Code v2.1.271 или позже |92| `--accept-command <sha256>` | Примите отображаемую команду установки, чей `sha256` предыдущий запуск [`--json`](#plugin-json-result) сообщил в `shownCommand`, вместо `-y`. Не может быть объединён с `-y`. См. [Принять отображаемую команду установки](#accept-a-displayed-install-command). Требует Claude Code v2.1.271 или позже |

93| `--json` | Выведите результат как один JSON объект на последней строке stdout вместо читаемого сообщения для использования в скриптах. См. [Формат результата JSON](#plugin-json-result). Требует Claude Code v2.1.268 или позже |93| `--json` | Выведите результат как один JSON объект на последней строке stdout вместо читаемого сообщения для использования в скриптах. См. [Формат результата JSON](#plugin-json-result). Требует Claude Code v2.1.268 или позже |

94| `--marketplace <source>` | Установите `<plugin>`, указанный по его простому имени, из маркетплейса по адресу `<source>`, предварительно добавив маркетплейс, если вы ещё не добавили его. См. [Добавление маркетплейса и установка одной командой](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command). Требует Claude Code v2.1.292 или позже |

94 95 

95Запустите `claude plugin install --help` в вашей оболочке, чтобы увидеть каждую опцию, которую поддерживает ваша версия.96Запустите `claude plugin install --help` в вашей оболочке, чтобы увидеть каждую опцию, которую поддерживает ваша версия.

96 97 

Details

185 185 

186Вы можете загрузить плагин на одну сессию тремя способами: из директории или архива `.zip` на диске с `--plugin-dir`, с URL с `--plugin-url` или из переменной окружения, когда вы не можете добавить флаг. Каждый плагин загружается только на эту сессию, и ничего не записывается в ваши settings для него. Когда вы редактируете файлы плагина во время сессии, запустите `/reload-plugins` для загрузки изменений.186Вы можете загрузить плагин на одну сессию тремя способами: из директории или архива `.zip` на диске с `--plugin-dir`, с URL с `--plugin-url` или из переменной окружения, когда вы не можете добавить флаг. Каждый плагин загружается только на эту сессию, и ничего не записывается в ваши settings для него. Когда вы редактируете файлы плагина во время сессии, запустите `/reload-plugins` для загрузки изменений.

187 187 

188<h4 id="from-a-directory-or-zip">188<span id="from-a-directory-or-zip" />

189 Из директории или `.zip`189 

190<h4 id="load-a-plugin-from-a-directory-or-zip">

191 Загрузите плагин из директории или `.zip`

190</h4>192</h4>

191 193 

192Когда вы запускаете `claude` из вашей оболочки, передайте `--plugin-dir` с корневой директорией плагина или архивом `.zip` её. Повторите флаг для загрузки нескольких плагинов:194Когда вы запускаете `claude` из вашей оболочки, передайте `--plugin-dir` с корневой директорией плагина или архивом `.zip` её. Повторите флаг для загрузки нескольких плагинов:


196```198```

197 199 

198<h4 id="load-a-folder-of-plugins">200<h4 id="load-a-folder-of-plugins">

199 Из папки плагинов201 Загрузите папку плагинов

200</h4>202</h4>

201 203 

202Чтобы загрузить несколько плагинов из одного места, передайте папку, которая их содержит, например `--plugin-dir ./plugins`. Загрузка папки плагинов требует Claude Code v2.1.265 или позже.204Чтобы загрузить несколько плагинов из одного места, передайте папку, которая их содержит, например `--plugin-dir ./plugins`. Загрузка папки плагинов требует Claude Code v2.1.265 или позже.


212 214 

213Сообщение появляется в сессии для каждого из этих изменений. Если загрузка или выгрузка плагина в середине разговора [инвалидирует кэш подсказки](/docs/ru/prompt-caching#enabling-or-disabling-a-plugin), изменение вместо этого удерживается, и сообщение говорит вам запустить `/reload-plugins` для применения его.215Сообщение появляется в сессии для каждого из этих изменений. Если загрузка или выгрузка плагина в середине разговора [инвалидирует кэш подсказки](/docs/ru/prompt-caching#enabling-or-disabling-a-plugin), изменение вместо этого удерживается, и сообщение говорит вам запустить `/reload-plugins` для применения его.

214 216 

215<h4 id="fetch-an-archive-from-a-url-for-one-session">217<span id="fetch-an-archive-from-a-url-for-one-session" />

216 С URL218 

219<h4 id="load-a-plugin-from-a-url">

220 Загрузите плагин с URL

217</h4>221</h4>

218 222 

219Когда вы запускаете `claude` из вашей оболочки, передайте `--plugin-url` с адресом архива `.zip`, например артефакта сборки, который ваш CI публикует:223Когда вы запускаете `claude` из вашей оболочки, передайте `--plugin-url` с адресом архива `.zip`, например артефакта сборки, который ваш CI публикует:


228 232 

229Если Claude Code не может загрузить архив или архив недействителен, он запускается без плагина и записывает ошибку загрузки плагина, которую вы можете просмотреть на вкладке **Errors** менеджера `/plugin`.233Если Claude Code не может загрузить архив или архив недействителен, он запускается без плагина и записывает ошибку загрузки плагина, которую вы можете просмотреть на вкладке **Errors** менеджера `/plugin`.

230 234 

231<h4 id="from-an-environment-variable">235<span id="from-an-environment-variable" />

232 Из переменной окружения236 

237<h4 id="load-plugins-from-an-environment-variable">

238 Загрузите плагины из переменной окружения

233</h4>239</h4>

234 240 

235Чтобы загрузить плагины в сессии, где вы не можете добавить флаг `--plugin-dir`, перечислите их абсолютные пути в переменной окружения [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/ru/env-vars#variables) вместо этого. Claude Code загружает каждый путь, как загружает путь `--plugin-dir`. Эти плагины загружаются в дополнение к любым, которые вы передаёте с `--plugin-dir`. [Параметры проекта и локальные параметры не могут установить эту переменную](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` требует Claude Code v2.1.280 или позже.241Чтобы загрузить плагины в сессии, где вы не можете добавить флаг `--plugin-dir`, перечислите их абсолютные пути в переменной окружения [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/ru/env-vars#variables) вместо этого. Claude Code загружает каждый путь, как загружает путь `--plugin-dir`. Эти плагины загружаются в дополнение к любым, которые вы передаёте с `--plugin-dir`. [Параметры проекта и локальные параметры не могут установить эту переменную](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). `CLAUDE_CODE_PLUGIN_DIRS` требует Claude Code v2.1.280 или позже.

Details

413 How users accept a headersHelper command413 How users accept a headersHelper command

414</h3>414</h3>

415 415 

416Пользователь принимает команду записи плагина каждый раз, когда они устанавливают или обновляют этот один плагин сам по себе. Они делают это из собственного представления плагина в `/plugin`, или с `claude plugin install` или `claude plugin update`. Claude Code показывает команду и URL архива и запускает команду только после того как пользователь принимает.416Пользователь принимает команду записи плагина каждый раз, когда устанавливает или обновляет этот плагин отдельно. Claude Code показывает команду и URL архива и запускает команду только после того, как пользователь её примет.

417 

418Пользователи могут установить или обновить плагин в сессии Claude Code в терминале, в своей оболочке без запущенной сессии или в расширении VS Code:

419 

420* **Сессия в терминале**: из собственного представления плагина в `/plugin`.

421* **Оболочка**: с помощью `claude plugin install` или `claude plugin update`.

422* **Расширение VS Code**: из [диалога **Manage plugins**](/docs/ru/vs-code#manage-plugins) в версии расширения 2.1.290 или более поздней.

417 423 

418В неинтерактивной оболочке передайте [`--yes`](/docs/ru/plugins/cli-reference#plugin-install), чтобы принять команду. Чтобы принять только команду, которую предыдущий запуск `--json` отобразил, передайте [`--accept-command`](/docs/ru/plugins/cli-reference#plugin-install) с `sha256`, который запуск сообщил.424В неинтерактивной оболочке передайте [`--yes`](/docs/ru/plugins/cli-reference#plugin-install), чтобы принять команду. Чтобы принять только команду, которую предыдущий запуск `--json` отобразил, передайте [`--accept-command`](/docs/ru/plugins/cli-reference#plugin-install) с `sha256`, который запуск сообщил.

419 425 

420Claude Code запускает только команду, которую он показал, для URL архива, который он показал. Если команда записи или URL архива изменились между тем, Claude Code отказывает в установке или обновлении. Изменение в строке запроса одного не считается.426Claude Code запускает только ту команду, которую показал, и только для того URL архива, который показал. Если за это время команда записи или URL архива изменились, Claude Code отказывает в установке или обновлении. Изменение одной лишь строки запроса не учитывается, за исключением расширения VS Code или использования `--accept-command`.

421 427 

422<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">428<h3 id="installs-and-updates-that-refuse-the-command-instead-of-asking">

423 Installs and updates that refuse a command instead of asking429 Installs and updates that refuse a command instead of asking

Details

189 189 

190* **Область**: пользовательская область по умолчанию. Передайте `--scope project` или `--scope local`, чтобы изменить её.190* **Область**: пользовательская область по умолчанию. Передайте `--scope project` или `--scope local`, чтобы изменить её.

191* **Когда плагины загружаются**: плагины, которые он устанавливает, загружаются в следующий раз, когда вы запускаете Claude Code, или когда вы запускаете `/reload-plugins` в уже открытой сессии.191* **Когда плагины загружаются**: плагины, которые он устанавливает, загружаются в следующий раз, когда вы запускаете Claude Code, или когда вы запускаете `/reload-plugins` в уже открытой сессии.

192* **Маркетплейс должен быть добавлен первым**: на машине, где никто ещё не открывал интерактивную сессию Claude Code, официальный маркетплейс не зарегистрирован, поэтому скрипт, который устанавливает из него, запускает `claude plugin marketplace add anthropics/claude-plugins-official` перед установкой.192* **Маркетплейс на новой машине**: на машине, где никто ещё не открывал интерактивную сессию Claude Code, официальный маркетплейс не зарегистрирован, поэтому скрипт, который устанавливает из него, запускает `claude plugin marketplace add anthropics/claude-plugins-official` перед установкой. См. [Add and install from your shell](#add-and-install-from-your-shell).

193 193 

194```bash theme={null}194```bash theme={null}

195claude plugin install formatter@your-org --scope project195claude plugin install formatter@your-org --scope project


232 Добавление маркетплейса и установка в одной команде232 Добавление маркетплейса и установка в одной команде

233</h3>233</h3>

234 234 

235Чтобы установить плагин из маркетплейса, который вы ещё не добавили, запустите `/plugin install` в сессии Claude Code и назовите источник маркетплейса с помощью `--marketplace`. Требуется Claude Code v2.1.275 или позже.235Чтобы установить плагин из маркетплейса, который вы ещё не добавили, назовите источник маркетплейса с помощью `--marketplace` в команде установки — в сессии или из вашей оболочки. Источник принимает [те же формы, что и `/plugin marketplace add`](#add-a-marketplace), такие как GitHub `owner/repo`, URL git или локальный путь. Дайте имя плагина само по себе, без суффикса `@marketplace`.

236 

237<h4 id="add-and-install-in-a-session">

238 Добавление и установка в сессии

239</h4>

240 

241Запустите `/plugin install` в сессии Claude Code с плагином и источником. Требуется Claude Code v2.1.275 или позже. В сессии источник не может содержать пробелы.

236 242 

237```text theme={null}243```text theme={null}

238/plugin install deploy-helper --marketplace your-org/plugins244/plugin install deploy-helper --marketplace your-org/plugins

239```245```

240 246 

241Источник принимает [те же формы, что и `/plugin marketplace add`](#add-a-marketplace), такие как GitHub `owner/repo`, URL git или локальный путь, за исключением того, что он не может содержать пробелы. Дайте имя плагина само по себе, без суффикса `@marketplace`.

242 

243Если вы ещё не добавили этот маркетплейс, Claude Code показывает разрешённый источник и просит вас подтвердить перед добавлением. После добавления маркетплейса детали плагина открываются и вы выбираете [область установки](#install-a-plugin). Если источник совпадает с маркетплейсом, который вы уже добавили, Claude Code пропускает подтверждение и открывает детали плагина в этом маркетплейсе.247Если вы ещё не добавили этот маркетплейс, Claude Code показывает разрешённый источник и просит вас подтвердить перед добавлением. После добавления маркетплейса детали плагина открываются и вы выбираете [область установки](#install-a-plugin). Если источник совпадает с маркетплейсом, который вы уже добавили, Claude Code пропускает подтверждение и открывает детали плагина в этом маркетплейсе.

244 248 

249<h4 id="add-and-install-from-your-shell">

250 Добавление и установка из оболочки

251</h4>

252 

253В вашей оболочке, не запуская сессию, запустите `claude plugin install` с плагином и источником. Требуется Claude Code v2.1.292 или позже.

254 

255```bash theme={null}

256claude plugin install deploy-helper --marketplace your-org/plugins

257```

258 

259Команда оболочки добавляет маркетплейс без шага подтверждения. Маркетплейс, который вы уже добавили из этого источника, используется повторно. Новый добавляется с теми же [проверками политики организации](/docs/ru/plugins/org#restrict-what-users-can-install), что и `claude plugin marketplace add`, и объявляется в ваших пользовательских настройках, даже если вы передаёте `--scope project`.

260 

261Если вы ещё не добавили этот маркетплейс, команда выводит `Successfully added marketplace: <name> (declared in user settings)`, а затем [устанавливает плагин](#install-from-your-shell).

262 

245<h3 id="add-a-private-marketplace">263<h3 id="add-a-private-marketplace">

246 Добавление приватного маркетплейса264 Добавление приватного маркетплейса

247</h3>265</h3>

Details

185| Ставит `official` рядом с `claude` или `anthropic`, например `official-claude-tools` | Ошибка |185| Ставит `official` рядом с `claude` или `anthropic`, например `official-claude-tools` | Ошибка |

186| Имеет `claude`, `anthropic` или `anthropics` как целое слово где-либо еще, например `mcp-for-claude` | Предупреждение |186| Имеет `claude`, `anthropic` или `anthropics` как целое слово где-либо еще, например `mcp-for-claude` | Предупреждение |

187 187 

188Ошибка читается как `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, а предупреждение читается как `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` и `claude plugin tag` отказывают в имени, которое вызывает ошибку. Только эти команды проверяют имя. Claude Code все еще устанавливает и загружает плагин, имя которого они отказывают.188Ошибка читается как `Plugin name "<name>" is reserved: it passes as one of Anthropic's own`, а предупреждение читается как `Plugin name "<name>" reads as one of Anthropic's own`. `claude plugin init` и `claude plugin tag` отказывают в имени, которое вызывает ошибку. Claude Code все еще устанавливает и загружает плагин, имя которого они отказывают.

189 189 

190<h3 id="displayname">190<h3 id="displayname">

191 `displayName`191 `displayName`

Details

64 64 

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

66| :- | :- | :- |66| :- | :- | :- |

67| `name` | string | Идентификатор маркетплейса: буквы, цифры, `.`, `_` и `-`, начинается с буквы или цифры, без `..`. `claude plugin validate` отклоняет любое другое имя, потому что Claude Code не может устанавливать плагины из маркетплейса с таким именем. Пользователи вводят это имя после `@` в [идентификаторе плагина](/docs/ru/plugins/loading#find-where-a-plugin-came-from), например `my-plugin@my-marketplace`, при установке плагина. См. [Зарезервированные имена](#reserved-names) |67| `name` | string | Идентификатор маркетплейса: буквы, цифры, `.`, `_` и `-`, начинается с буквы или цифры, без `..`. `claude plugin validate` отклоняет любое другое имя, потому что Claude Code [не может устанавливать плагины из маркетплейса с таким именем](/docs/ru/plugins/troubleshooting#cannot-install-plugins-from-a-marketplace-with-this-name). Пользователи вводят это имя после `@` в [идентификаторе плагина](/docs/ru/plugins/loading#find-where-a-plugin-came-from), например `my-plugin@my-marketplace`, при установке плагина. См. [Зарезервированные имена](#reserved-names) |

68| `owner` | object | Информация о разработчике. `name` обязателен; `email` и `url` опциональны |68| `owner` | object | Информация о разработчике. `name` обязателен; `email` и `url` опциональны |

69| `plugins` | array | [Записи плагинов](#plugin-entries). Каждая запись проверяется отдельно, поэтому одна неверная запись не приводит к отказу marketplace |69| `plugins` | array | [Записи плагинов](#plugin-entries). Каждая запись проверяется отдельно, поэтому одна неверная запись не приводит к отказу marketplace |

70| `$schema` | string | URL JSON Schema для автодополнения редактора. Игнорируется при загрузке |70| `$schema` | string | URL JSON Schema для автодополнения редактора. Игнорируется при загрузке |

Details

138| `$.mcp.call` | Вызывает инструмент на подключенном MCP сервере в соответствии с правилами разрешений сеанса |138| `$.mcp.call` | Вызывает инструмент на подключенном MCP сервере в соответствии с правилами разрешений сеанса |

139| `$.model.complete` | Использует план пользователя или ключ API для вызовов модели |139| `$.model.complete` | Использует план пользователя или ключ API для вызовов модели |

140| `$.prompt.submit` | Отправляет запрос и может отправить его как собственные слова пользователя |140| `$.prompt.submit` | Отправляет запрос и может отправить его как собственные слова пользователя |

141| `$.session.send` | Отправляет сообщение, которое читает Claude другого сеанса или подагента |141| `$.session.send` | Отправляет сообщение, которое читает Claude другой сессии, субагента или [участника команды](/docs/ru/agent-teams) |

142 142 

143В строке `hooks:`, [`tool.call`](/docs/ru/plugins/mods/reference#tools) и [`prompt.submit`](/docs/ru/plugins/mods/reference#prompts-and-what-claude-reads) означают, что мод видит каждый вызов инструмента и каждый запрос и может их изменять. [`session.append`](/docs/ru/plugins/mods/reference#session) означает, что мод может переписать каждую строку разговора перед ее сохранением. [`ui.render{component=AskUserQuestion}`](/docs/ru/plugins/mods/interface#change-what-claude-code-already-draws) означает, что мод может переделать диалог, который Claude использует для вопроса пользователю. `tool.check` означает, что мод может одобрить или отказать в вызове инструмента перед появлением запроса разрешения. [Узнать, что происходит по умолчанию](#know-what-happens-by-default) перечисляет, какие из ваших правил и hooks имеют приоритет над его ответом.143В строке `hooks:`, [`tool.call`](/docs/ru/plugins/mods/reference#tools) и [`prompt.submit`](/docs/ru/plugins/mods/reference#prompts-and-what-claude-reads) означают, что мод видит каждый вызов инструмента и каждый запрос и может их изменять. [`session.append`](/docs/ru/plugins/mods/reference#session) означает, что мод может переписать каждую строку разговора перед ее сохранением. [`ui.render{component=AskUserQuestion}`](/docs/ru/plugins/mods/interface#change-what-claude-code-already-draws) означает, что мод может переделать диалог, который Claude использует для вопроса пользователю. `tool.check` означает, что мод может одобрить или отказать в вызове инструмента перед появлением запроса разрешения. [Узнать, что происходит по умолчанию](#know-what-happens-by-default) перечисляет, какие из ваших правил и hooks имеют приоритет над его ответом.

144 144 

Details

4 4 

5# Использование mods API5# Использование mods API

6 6 

7> Вызывайте mods API из Claude Code mod для добавления команд и инструментов, вызова модели, запуска работы по таймеру, отправки сообщений другим сеансам и доступа к файлам и сети.7> Вызывайте mods API из мода Claude Code для добавления команд и инструментов, вызова модели, запуска работы по таймеру, отправки сообщений другим сессиям и доступа к файлам и сети.

8 8 

9mods API — это набор методов, которые mod вызывает для выполнения действий: добавления команд и инструментов, вызова модели, запуска работы между событиями и доступа к файловой системе, процессам и сети. Каждый hook получает её в качестве первого аргумента, `$`, с методами, сгруппированными в пространства имён, такие как `$.ui` и `$.fs`. [События](/docs/ru/plugins/mods/events) определяют, когда выполняется hook, а mods API — это то, что hook вызывает после этого.9mods API — это набор методов, которые mod вызывает для выполнения действий: добавления команд и инструментов, вызова модели, запуска работы между событиями и доступа к файловой системе, процессам и сети. Каждый hook получает её в качестве первого аргумента, `$`, с методами, сгруппированными в пространства имён, такие как `$.ui` и `$.fs`. [События](/docs/ru/plugins/mods/events) определяют, когда выполняется hook, а mods API — это то, что hook вызывает после этого.

10 10 


79 Вызов модели79 Вызов модели

80</h2>80</h2>

81 81 

82Mod может задать модели вопрос самостоятельно, вне разговора, для небольшой работы, такой как сортировка или суммирование текста. `$.model.complete` отправляет один запрос модели с учётными данными вашего сеанса и разрешается в ответ. У неё нет истории разговора.82Мод может отправлять модели собственные запросы для небольшой работы, такой как классификация или суммирование текста. `$.model.complete` отправляет ваш промпт отдельно, а `$.model.fork({ prompt })` отправляет текущий диалог с вашим промптом в конце.

83 

84В этой таблице сравнивается, что содержит каждый запрос:

85 

86| В запросе | `$.model.complete` | `$.model.fork` |

87| :- | :- | :- |

88| Модель | Переданная вами `model` | Модель сессии |

89| Системный промпт | Короткий [блок атрибуции](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block), затем ваш `system`, если вы его передаёте | Системный промпт сессии |

90| Сообщения | Одно сообщение пользователя — ваш `prompt` | Диалог на текущий момент, затем ваш `prompt` как сообщение пользователя |

91| CLAUDE.md и другой контекст проекта | Не включаются | Включаются, как в последнем запросе диалога |

92| Инструменты | Нет | Инструменты Claude, которые модель не может вызывать |

93 

94Fork повторяет последний запрос диалога, поэтому Claude API обслуживает большую его часть из [кэша промптов](/docs/ru/prompt-caching), пока диалог ещё находится в кэше.

95 

96Оба вызова используют учётные данные сессии, поэтому оплачиваются через план пользователя, API-ключ или облачного провайдера. [Типы для вашей сборки](/docs/ru/plugins/mods/create#get-the-types-for-your-build) документируют каждый метод `$.model`.

97 

98<h3 id="send-one-prompt">

99 Отправка одного промпта

100</h3>

101 

102Передайте `model` и `prompt` в `$.model.complete`. `prompt` становится сообщением пользователя. Чтобы дать модели инструкции, например роль или формат вывода, передайте также `system`, который становится системным промптом.

83 103 

84Этот hook отвечает на команду `/triage`, [зарегистрированную как команда](#add-a-command), попросив небольшую модель пометить текст, введённый после неё:104Этот hook отвечает на команду `/triage`, [зарегистрированную как команда](#add-a-command), попросив небольшую модель пометить текст, введённый после неё:

85 105 


100})120})

101```121```

102 122 

103Когда вы запускаете `/triage the export button does nothing`, mod отправляет этот текст модели и печатает её ответ, например `Label: bug`. Разговор Claude не является частью запроса. Когда модель не отвечает, метка — `unknown`.123Когда вы запускаете `/triage the export button does nothing`, мод отправляет этот текст модели и печатает её ответ, например `Label: bug`. Когда модель не отвечает, метка — `unknown`.

124 

125Сбой Claude API не отклоняет вызов, поэтому проверьте `r.isAnswered` и прочитайте `r.reason`, когда это `false`. Вызов отклоняется для запроса, который Claude Code не отправит, например для модели, которую блокирует ваша организация.

126 

127[Типы для вашей сборки](/docs/ru/plugins/mods/create#get-the-types-for-your-build) перечисляют другие параметры, такие как `effort`, а в разделе [ограничения](/docs/ru/plugins/mods/reference#limits) указано значение `maxTokens` по умолчанию.

128 

129<h3 id="use-prompt-caching">

130 Использование кэширования промптов

131</h3>

132 

133`$.model.complete` поддерживает [кэширование промптов](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) Claude API. API кэширует начало запроса, называемое префиксом, до заданной вами [точки останова кэша](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints). Когда каждый вызов начинается с одного и того же длинного статического содержимого, например инструкций или справочных материалов, установите точку останова в конце этого содержимого. Последующие вызовы будут читать его из кэша, а не оплачивать по полной цене входных данных.

134 

135Чтобы установить точку останова, передайте `prompt` как массив блоков `{ text }` вместо строки и добавьте `cache: true` к последнему блоку статического содержимого. Claude Code отправляет этот блок с полем API `cache_control`. `system` принимает ту же форму массива. О том, как выбрать между ними, см. [Выбор между `prompt` и `system`](#choose-between-prompt-and-system).

136 

137<Note>

138 Массивы блоков требуют Claude Code v2.1.292 или новее. Более ранние версии отклоняют массив в `prompt` с ошибкой, которая заканчивается на `takes { model, prompt } (host check)`, а массив в `system` не включают в запрос.

139</Note>

140 

141Эта версия [хука `/triage`](#send-one-prompt) отправляет длинный набор правил разметки перед текстом для разметки, с точкой останова после правил. `RULES` — это ваша собственная строка:

142 

143```javascript theme={null}

144on('command.run', { command: 'triage' }, async ($, e) => {

145 const r = await $.model.complete({

146 model: 'haiku',

147 prompt: [

148 // Identical on every call, so it forms the cached prefix

149 { text: RULES, cache: true },

150 // Changes on every call, so it goes after the breakpoint

151 { text: e.args },

152 ],

153 })

154 return { text: 'Label: ' + (r.isAnswered ? r.text.trim() : 'unknown') }

155})

156```

157 

158Для TTL и количества точек останова действуют следующие ограничения:

159 

160* **TTL**: запись кэша существует пять минут после последнего использования. TTL берётся из настроек Claude Code пользователя, а не из вызова. Для одного часа установите [`subagentPromptCacheTtl`](/docs/ru/prompt-caching#choose-the-ttl-yourself) в `1h`.

161* **Точки останова на запрос**: API принимает [до четырёх](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-multiple-breakpoints), а ещё одна возвращается как `api-error` в `r.reason`

162 

163<h4 id="choose-between-prompt-and-system">

164 Выбор между `prompt` и `system`

165</h4>

166 

167Помещайте статическое содержимое, общее для ваших вызовов, в начало `prompt`, если только вы не знаете, что ваши запросы идут напрямую в Claude API:

168 

169* **Напрямую в Claude API, с API-ключом или подпиской Claude**: подходит любое поле

170* **Через [Amazon Bedrock](/docs/ru/amazon-bedrock), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) или [LLM-шлюз](/docs/ru/llm-gateway)**: используйте `prompt`. Claude Code начинает системный промпт с [блока атрибуции](/docs/ru/llm-gateway-protocol#system-prompt-attribution-block), отпечаток которого вычисляется из начала сообщения пользователя. Эндпоинт `api.anthropic.com` удаляет этот блок перед кэшированием. Другие эндпоинты получают его как часть промпта, поэтому точка останова в `system` может не дать попадания в кэш, если `prompt` начинается по-другому.

171* **В моде, который запускают другие люди**: используйте `prompt`, потому что вы не выбираете их провайдера

172 

173`system` идёт перед `prompt` в префиксе, поэтому точка останова в `prompt` охватывает и `system`, а вызов с другим `system` не попадает в кэш.

104 174 

105Сбой Claude API не отклоняет вызов, поэтому проверьте `r.isAnswered` и прочитайте `r.reason`, когда это `false`. Вызов отклоняется для запроса, который Claude Code не отправит, например для модели, которую блокирует ваша организация. [Типы для вашей сборки](/docs/ru/plugins/mods/create#get-the-types-for-your-build) перечисляют другие параметры, такие как `effort`, а [ограничения](/docs/ru/plugins/mods/reference#limits) дают значение по умолчанию `maxTokens`.175<h4 id="check-for-cache-hits">

176 Проверка попаданий в кэш

177</h4>

106 178 

107`$.model.fork({ prompt })` вместо этого задаёт один вопрос по текущему разговору с той же моделью и системным запросом, поэтому Claude API обслуживает большую часть из кэша запросов.179Результат `$.model.complete` содержит объект `usage` с [полями кэша](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#tracking-cache-performance) API. `usage.cache_creation_input_tokens` подсчитывает токены, которые вызов записал в кэш, а `usage.cache_read_input_tokens` — токены, которые он прочитал из кэша. Ожидайте запись при первом вызове и чтение при последующих вызовах в пределах TTL.

108 180 

109Эти вызовы используют план пользователя или ключ API.181Если каждый вызов записывает и ни один не читает, префикс различается между вызовами или вызовы разделены промежутком больше TTL. Если префикс различается, см. [Выбор между `prompt` и `system`](#choose-between-prompt-and-system).

182 

183Если оба поля остаются нулевыми в вызовах, на которые модель ответила, ничего не было закэшировано. Проверьте каждую из следующих причин:

184 

185* **Префикс слишком короткий**: API не кэширует префикс короче [минимальной длины](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-limitations) для модели и не возвращает ошибку

186* **Кэширование промптов отключено**: когда к модели применяется [переменная `DISABLE_PROMPT_CACHING`](/docs/ru/prompt-caching#disable-prompt-caching), Claude Code удаляет точки останова и отправляет текст без кэширования

187* **Ваш шлюз удаляет `cache_control`**: шлюз может [удалить это поле и всё равно вернуть успех](/docs/ru/prompt-caching#where-the-cache-lives)

188* **Другой мод переписывает начало текста**: тогда Claude Code [отправляет его без точек останова](#what-a-model-complete-hook-receives)

189 

190<h3 id="what-a-model-complete-hook-receives">

191 Что получает хук `model.complete`

192</h3>

193 

194Если вы подключаете хук к событию [`model.complete`](/docs/ru/plugins/mods/reference#mods-api-calls), чтобы просматривать или изменять запросы других модов, читайте текст из этих полей:

195 

196* **`e.prompt`**: всегда строка. Когда вызывающий передал массив, это текст блоков, объединённый по порядку.

197* **`e.system`**: строка, построенная тем же образом, или отсутствует, если вызывающий не передал `system`

198* **`e.promptBlocks` и `e.systemBlocks`**: массивы вызывающего, каждый присутствует, когда вызывающий передал массив для соответствующего поля

199 

200Claude Code отправляет строки, которые ваш хук передаёт в `next`, и использует переданные вместе с ними массивы для размещения [точек останова кэша](#use-prompt-caching). Он сохраняет начальные блоки, которые всё ещё совпадают с началом строки, вместе с их точками останова, а остаток строки отправляет без точки останова. Например, `next({ ...e, prompt: e.prompt + NOTE })` сохраняет точки останова вызывающего, а хук, который изменяет начало `prompt`, удаляет их.

110 201 

111<h2 id="run-work-in-the-background">202<h2 id="run-work-in-the-background">

112 Запуск работы в фоне203 Запуск работы в фоне


140| Вызов | Что видит пользователь |231| Вызов | Что видит пользователь |

141| :- | :- |232| :- | :- |

142| `$.ui.status(text)` | Одна строка под запросом, которая остаётся, пока вы её не измените. Она начинается с `⚠` и имени mod, как в `⚠ my-mod: checks: 3 passing`. |233| `$.ui.status(text)` | Одна строка под запросом, которая остаётся, пока вы её не измените. Она начинается с `⚠` и имени mod, как в `⚠ my-mod: checks: 3 passing`. |

143| `$.ui.toast(text)` | Всплывающее уведомление в верхнем правом углу с именем mod над текстом, которое исчезает через несколько секунд |234| `$.ui.toast(text)` | Всплывающее уведомление с именем мода, которое исчезает через несколько секунд. В [полноэкранном режиме отрисовки](/docs/ru/fullscreen) это блок в правом верхнем углу, а в классическом рендерере — одна строка справа под промптом. |

144| `$.ui.log(text)` | Тусклая строка в стенограмме, которую Claude не читает. Она начинается с `●` и имени mod, как в `● my-mod: build finished`. |235| `$.ui.log(text)` | Тусклая строка в стенограмме, которую Claude не читает. Она начинается с `●` и имени mod, как в `● my-mod: build finished`. |

145 236 

146<h3 id="start-a-turn-from-a-background-job">237<h3 id="start-a-turn-from-a-background-job">


159 Отправка и получение сообщений между сеансами250 Отправка и получение сообщений между сеансами

160</h2>251</h2>

161 252 

162Mod может отправить простое текстовое сообщение другому вашему сеансу или одному из подагентов этого сеанса и наблюдать сообщения, которые приходят и уходят. `$.session.send({ to, text })` отправляет один, такую же доставку, которую делает инструмент SendMessage. `to` — это `{ sessionId }` для сеанса, `{ agentId }` для подагента из `$.agent.list()` или адрес строки, из которого пришло полученное сообщение. Вызов разрешается после того, как сообщение поставлено в очередь, с `{ isDelivered: true }`. Когда ничего не было доставлено, он разрешается с `{ isDelivered: false, reason }`, и `reason` говорит почему.253Мод может отправить простое текстовое сообщение другой вашей сессии, одному из субагентов этой сессии или участнику её [команды агентов](/docs/ru/agent-teams). Он также может наблюдать за сообщениями, которые приходят и уходят.

254 

255Чтобы отправить сообщение, вызовите `$.session.send({ to, text })`: он выполняет такую же доставку, как инструмент SendMessage. Задайте `to` в зависимости от получателя сообщения:

256 

257* **Другая ваша сессия**: `{ sessionId }`

258* **Субагент или участник команды**: `{ agentId }` с id из `$.agent.list()`

259* **Отправитель полученного вами сообщения**: строковый адрес, с которого пришло это сообщение

260 

261Вызов разрешается после того, как сообщение поставлено в очередь, с `{ isDelivered: true }`. Если ничего не было доставлено, он разрешается с `{ isDelivered: false, reason }`, и `reason` сообщает причину.

163 262 

164Этот hook отвечает на команду `/ping`, [зарегистрированную как команда](#add-a-command), попросив сеанс, чей id вы вводите после неё, получить статус:263Этот hook отвечает на команду `/ping`, [зарегистрированную как команда](#add-a-command), попросив сеанс, чей id вы вводите после неё, получить статус:

165 264 

Details

281 Получите определения типов для вашей версии281 Получите определения типов для вашей версии

282</h3>282</h3>

283 283 

284Каждый раз, когда Claude Code загружает или перезагружает мод из каталога, который вы передаёте `--plugin-dir`, или мод [Claude написал для вас](#ask-claude-for-a-mod), он пишет файлы объявлений TypeScript, заканчивающиеся на `.d.ts`, в `.claude-plugin/types/` внутри каталога мода. Они описывают точные события, методы API модов и элементы в версии Claude Code, которую вы запускаете, поэтому ваш редактор может автодополнять и проверять типы ваших hooks. Чтобы просмотреть объявления в Интернете, прочитайте [`mods/types/claude-code.d.ts`](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) в репозитории Claude Code, первая строка которого называет версию, которая его написала. Каталог содержит эти файлы:284Когда Claude Code загружает мод из `--plugin-dir` в интерактивной сессии или мод, который [Claude написал для вас](#ask-claude-for-a-mod), он записывает файлы объявлений TypeScript в каталог `.claude-plugin/types/` мода. Они описывают точные события, методы API модов и элементы в версии Claude Code, которую вы запускаете, поэтому ваш редактор может автодополнять и проверять типы ваших хуков. Каталог содержит эти файлы:

285 285 

286| Путь | Что он объявляет |286| Путь | Что он объявляет |

287| :- | :- |287| :- | :- |

Details

145 145 

146После того как Claude редактирует или записывает файл `.mdx`, тусклая строка в транскрипте называет этот файл. Для файлов другого типа, а также для вызовов, в которых было отказано или которые завершились ошибкой, ничего не записывается. Представление Claude о вызове не меняется, потому что хук возвращает полученный результат.146После того как Claude редактирует или записывает файл `.mdx`, тусклая строка в транскрипте называет этот файл. Для файлов другого типа, а также для вызовов, в которых было отказано или которые завершились ошибкой, ничего не записывается. Представление Claude о вызове не меняется, потому что хук возвращает полученный результат.

147 147 

148Чтобы изменить вызов, передайте изменённые аргументы в `next`. Чтобы повторить попытку вызова, снова вызовите `next(e)`: хук, который видит `isError` в первом результате, может запустить инструмент второй раз и вернуть этот результат. Чтобы ответить на вызов самостоятельно, верните объект с полем `result`, например `{ result: 'Skipped by my-mod' }`, не вызывая `next`. В этом случае запрос разрешения не появляется и инструмент не запускается, поэтому возвращённый вами результат — это всё, что Claude узнает о произошедшем.148Ваш хук также может изменить вызов, повторить его, ответить на него самостоятельно или скрыть его результат:

149 

150* **Изменить вызов**: передайте изменённые аргументы в `next`.

151* **Повторить попытку вызова**: снова вызовите `next(e)`. Хук, который видит `isError` в первом результате, может запустить инструмент второй раз и вернуть этот результат.

152* **Ответить на вызов самостоятельно**: верните объект с полем `result`, не вызывая `next`, а для встроенного инструмента придайте `result` ту форму, которую имеет собственный результат этого инструмента в [типах для вашей сборки](/docs/ru/plugins/mods/create#get-the-types-for-your-build). Запрос разрешения не появляется и инструмент не запускается, поэтому возвращённый вами результат — это всё, что Claude узнает о произошедшем.

153* **Скрыть результат от Claude**: верните `{ deny: reason }` после `await next(e)`. Claude читает вашу причину вместо того, что вернул `next`. Если инструмент был запущен, deny скрывает его результат от Claude и не отменяет ничего из того, что сделал инструмент. Если инструмент был запущен и выполнился успешно, причина следует за примечанием вида `Bash ran, and a plugin withheld its result:`.

149 154 

150Хуки в [управляемых настройках](/docs/ru/server-managed-settings) вашей организации запускаются раньше любого хука `tool.call` мода, и блокировка от одного из них является окончательной.155Хуки в [управляемых настройках](/docs/ru/server-managed-settings) вашей организации запускаются раньше любого хука `tool.call` мода, и блокировка от одного из них является окончательной.

151 156 


225 230 

226| Чтобы сделать это | Верните это |231| Чтобы сделать это | Верните это |

227| :- | :- |232| :- | :- |

228| Переписать промпт. Сообщение в транскрипте показывает новый текст. | `next({ ...e, text: newText })` |233| Переписать промпт. Транскрипт и ваша [история промптов](/docs/ru/interactive-mode#command-history) показывают новый текст. | `next({ ...e, text: newText })` |

229| Добавить после промпта текст, который читает только Claude | `next({ ...e, context: [...(e.context ?? []), extraText] })` |234| Добавить после промпта текст, который читает только Claude | `next({ ...e, context: [...(e.context ?? []), extraText] })` |

230| Не допустить отправки промпта | `{ drop: 'the reason' }` |235| Не допустить отправки промпта | `{ drop: 'the reason' }` |

231 236 


245 250 

246Когда вы отправляете промпт, например `open a PR for this change`, ваше сообщение в транскрипте выглядит так же, а Claude после него также читает строку вида `Current branch: feature/auth`. Промпт, который не упоминает pull request, проходит без изменений, и `git` не запускается.251Когда вы отправляете промпт, например `open a PR for this change`, ваше сообщение в транскрипте выглядит так же, а Claude после него также читает строку вида `Current branch: feature/auth`. Промпт, который не упоминает pull request, проходит без изменений, и `git` не запускается.

247 252 

248Чтобы остановить промпт, верните `{ drop: 'the reason' }`, не вызывая `next`. Если ваш хук возвращает `drop` после того, как его вызов `next(e)` уже пропустил промпт, ход всё равно выполняется, а хук [завершается ошибкой](#handle-a-hook-that-fails) с сообщением, содержащим `a drop after its next() was answered`.253Чтобы остановить промпт, верните `{ drop: 'the reason' }`, не вызывая `next`. Текст возвращается в поле ввода промпта пользователя, и он видит `Prompt dropped by a hook:`, а затем вашу причину, поэтому адресуйте причину ему. Если ваш хук возвращает `drop` после того, как его вызов `next(e)` уже пропустил промпт, ход всё равно выполняется, а хук [завершается ошибкой](#handle-a-hook-that-fails) с сообщением, содержащим `a drop after its next() was answered`.

249 254 

250[Другие события](/docs/ru/plugins/mods/reference#prompts-and-what-claude-reads) охватывают остальное, что читает Claude: `prompt.section` для каждого раздела системного промпта, `prompt.context` для контекста, отправляемого с первым сообщением, и `skill.prompt` для текста скилла. Текст из этих хуков, меняющийся между запросами, [делает недействительным кэш промптов](/docs/ru/prompt-caching).255[Другие события](/docs/ru/plugins/mods/reference#prompts-and-what-claude-reads) охватывают остальное, что читает Claude: `prompt.section` для каждого раздела системного промпта, `prompt.context` для контекста, отправляемого с первым сообщением, и `skill.prompt` для текста скилла. Текст из этих хуков, меняющийся между запросами, [делает недействительным кэш промптов](/docs/ru/prompt-caching).

251 256 


281 286 

282`result.usage` содержит количество токенов, которое Claude API сообщает для запроса, а также `model`, которая ответила: `input_tokens`, `output_tokens`, `cache_read_input_tokens` и `cache_creation_input_tokens`. Хук запускается и для запросов субагентов, поэтому проверяйте `e.agentId`, если вам нужен только основной диалог.287`result.usage` содержит количество токенов, которое Claude API сообщает для запроса, а также `model`, которая ответила: `input_tokens`, `output_tokens`, `cache_read_input_tokens` и `cache_creation_input_tokens`. Хук запускается и для запросов субагентов, поэтому проверяйте `e.agentId`, если вам нужен только основной диалог.

283 288 

289Чтобы увидеть вызовы инструментов, которые API выполнил сам во время запроса, например вызовы [инструмента advisor](/docs/ru/advisor), читайте `result.serverToolUses`. Claude Code не выполняет эти вызовы, поэтому для них не срабатывает ни один хук `tool.call` или `tool.check`. Поле отсутствует, если в ответе нет таких вызовов, и для него требуется Claude Code v2.1.290 или новее.

290 

284<h3 id="hook-the-settings-hook-events">291<h3 id="hook-the-settings-hook-events">

285 Обработка событий хуков настроек292 Обработка событий хуков настроек

286</h3>293</h3>


369* **`tool.check`**: верните `{ decision: 'deny', reason: 'the reason' }`376* **`tool.check`**: верните `{ decision: 'deny', reason: 'the reason' }`

370* **`plugin.register`**: верните `{ refuse: 'the reason' }`, как показано в разделе [Отклонять моды, когда ваша проверка даёт сбой](/docs/ru/plugins/mods/admin#refuse-mods-when-your-check-fails)377* **`plugin.register`**: верните `{ refuse: 'the reason' }`, как показано в разделе [Отклонять моды, когда ваша проверка даёт сбой](/docs/ru/plugins/mods/admin#refuse-mods-when-your-check-fails)

371 378 

379На `tool.call` значение `deny`, возвращённое после того, как `next` разрешился, [скрывает результат от Claude](#guard-or-change-a-tool-call).

380 

372<h2 id="next-steps">381<h2 id="next-steps">

373 Следующие шаги382 Следующие шаги

374</h2>383</h2>

Details

10 10 

11На этой карте показано, где мод может рисовать в сессии терминала:11На этой карте показано, где мод может рисовать в сессии терминала:

12 12 

13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Map of a Claude Code terminal session. A mod can add a pane as a sidebar on the right, a toast at the top right of the transcript, a log line in the transcript, a band above the prompt, and a status line under the prompt. A mod can redraw messages, tool call rows, and the spinner. The prompt is Claude Code's own." width="600" height="336" data-path="images/mods-screen-map.svg" />13<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5fda26b6609c62b68c6f9e528c1590ea" className="dark:hidden" alt="Карта сессии терминала Claude Code в полноэкранном режиме отрисовки. Мод может добавить панель в виде боковой панели справа, всплывающее уведомление в правом верхнем углу транскрипта, строку лога в транскрипте, полосу над промптом и строку состояния под промптом. Мод может перерисовывать сообщения, строки вызовов инструментов и спиннер. Промпт принадлежит самому Claude Code." width="600" height="336" data-path="images/mods-screen-map.svg" />

14 14 

15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Map of a Claude Code terminal session. A mod can add a pane as a sidebar on the right, a toast at the top right of the transcript, a log line in the transcript, a band above the prompt, and a status line under the prompt. A mod can redraw messages, tool call rows, and the spinner. The prompt is Claude Code's own." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />15<img src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-screen-map-dark.svg?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=5b4161581a1bd2c0450b0c8b57bc1225" className="hidden dark:block" alt="Карта сессии терминала Claude Code в полноэкранном режиме отрисовки. Мод может добавить панель в виде боковой панели справа, всплывающее уведомление в правом верхнем углу транскрипта, строку лога в транскрипте, полосу над промптом и строку состояния под промптом. Мод может перерисовывать сообщения, строки вызовов инструментов и спиннер. Промпт принадлежит самому Claude Code." width="600" height="336" data-path="images/mods-screen-map-dark.svg" />

16 16 

17В более узком терминале панель находится над промптом вместо того, чтобы находиться рядом с транскриптом.17В более узком терминале панель находится над промптом вместо того, чтобы находиться рядом с транскриптом.

18 18 


324| `title` | Метка вкладки панели, когда открыто несколько панелей |324| `title` | Метка вкладки панели, когда открыто несколько панелей |

325| `focus` | Запрашивает [фокус клавиатуры](#know-which-keys-your-mod-can-receive) |325| `focus` | Запрашивает [фокус клавиатуры](#know-which-keys-your-mod-can-receive) |

326| `closeOnEscape` | Позволяет закрыть панель клавишей Esc |326| `closeOnEscape` | Позволяет закрыть панель клавишей Esc |

327| `holdToasts` | Удерживает всплывающие уведомления, небольшие уведомления от [`$.ui.toast`](/docs/ru/plugins/mods/api#show-something-without-starting-a-turn), пока панель не закроется |327| `holdToasts` | В терминале удерживает всплывающие уведомления, пока показывается именно эта панель. См. [Удержание всплывающих уведомлений за диалогом](#hold-toasts-behind-a-dialog). |

328| `rows` | Высота, которую нужно запросить, когда панель находится над промптом. По умолчанию треть пространства. |328| `rows` | Высота, которую нужно запросить, когда панель находится над промптом. По умолчанию треть пространства. |

329| `columns` | Ширина, которую нужно запросить, когда панель находится рядом с транскриптом |329| `columns` | Ширина, которую нужно запросить, когда панель находится рядом с транскриптом |

330 330 


337 337 

338Чтобы позволить команде открыть панель, пока Claude работает, добавьте `immediate: true` при [регистрации команды](/docs/ru/plugins/mods/api#add-a-command). Без этого команда, введенная во время хода, ждет конца хода.338Чтобы позволить команде открыть панель, пока Claude работает, добавьте `immediate: true` при [регистрации команды](/docs/ru/plugins/mods/api#add-a-command). Без этого команда, введенная во время хода, ждет конца хода.

339 339 

340<h4 id="hold-toasts-behind-a-dialog">

341 Удержание всплывающих уведомлений за диалогом

342</h4>

343 

344Передайте `holdToasts: true` в `$.ui.open`, когда панель — это диалог, на который пользователь отвечает и который затем покидает, чтобы всплывающие уведомления не появлялись, пока он принимает решение. В терминале удержание длится, пока показывается именно эта панель, а всплывающее уведомление, вызванное в это время, ждет окончания удержания.

345 

346Claude Code удерживает всплывающие уведомления других модов и собственные кратковременные уведомления, а также те, которые ваш мод вызывает с помощью [`$.ui.toast`](/docs/ru/plugins/mods/api#show-something-without-starting-a-turn). Не задавайте это поле для панели, которая остается открытой, чтобы пользователь продолжал их видеть.

347 

340<h4 id="when-a-pane-waits-for-a-wider-terminal">348<h4 id="when-a-pane-waits-for-a-wider-terminal">

341 Когда панель ждет более широкого терминала349 Когда панель ждет более широкого терминала

342</h4>350</h4>

Details

64| :- | :- | :- |64| :- | :- | :- |

65| [`tool.call`](/docs/ru/plugins/mods/events#guard-or-change-a-tool-call) | Инструмент вот-вот запустится | `next(e)`, `{ deny: reason }` или `{ result }` |65| [`tool.call`](/docs/ru/plugins/mods/events#guard-or-change-a-tool-call) | Инструмент вот-вот запустится | `next(e)`, `{ deny: reason }` или `{ result }` |

66| [`tool.check`](/docs/ru/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code решает, может ли вызов инструмента выполниться, после хуков `tool.call` и `PreToolUse`. `next(e)` разрешается в решение, к которому пришли правила, режим разрешений и эти хуки. | `{ decision }`, то есть `allow`, `ask` или `deny` |66| [`tool.check`](/docs/ru/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code решает, может ли вызов инструмента выполниться, после хуков `tool.call` и `PreToolUse`. `next(e)` разрешается в решение, к которому пришли правила, режим разрешений и эти хуки. | `{ decision }`, то есть `allow`, `ask` или `deny` |

67| `tool.describe` | Один раз для каждого инструмента, когда его описание впервые отправляется Claude | `{ description }`, при необходимости с `isDeferred`, равным `true`, чтобы поместить инструмент за [поиск инструментов](/docs/ru/mcp#scale-with-mcp-tool-search), или `false`, чтобы загрузить его сразу |67| `tool.describe` | Один раз для каждого инструмента, когда его описание впервые отправляется Claude. Второй раз для инструмента MCP, когда Claude загружает его через [поиск инструментов](/docs/ru/mcp#scale-with-mcp-tool-search); при этом `e.description` содержит текст, который Claude читает для загруженного инструмента. | `{ description }`, при необходимости с `isDeferred`, равным `true`, чтобы поместить инструмент за поиск инструментов, или `false`, чтобы загрузить его сразу |

68 68 

69<h4 id="agent-and-organization-fields-on-tool-check">69<h4 id="agent-and-organization-fields-on-tool-check">

70 Поля агента и организации в `tool.check`70 Поля агента и организации в `tool.check`


133| `session.end` | Сессия завершается или выполняется `/clear`, `/resume` либо `/branch`. `e.reason` — это `clear`, `resume`, `logout`, `prompt_input_exit` или `other`. `/branch` сообщает `resume`. | `next(e)` |133| `session.end` | Сессия завершается или выполняется `/clear`, `/resume` либо `/branch`. `e.reason` — это `clear`, `resume`, `logout`, `prompt_input_exit` или `other`. `/branch` сообщает `resume`. | `next(e)` |

134| `session.compact` | Диалог вот-вот будет сжат | `{ skip: reason }` |134| `session.compact` | Диалог вот-вот будет сжат | `{ skip: reason }` |

135| [`session.receive`](/docs/ru/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/ru/plugins/mods/api#send-and-receive-messages-between-sessions) | Сообщение приходит от другого агента или сессии либо вот-вот будет отправлено им. См. [Отправка и получение сообщений между сессиями](/docs/ru/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` для `receive`, `{ isDelivered: false, reason }` для `send` |135| [`session.receive`](/docs/ru/plugins/mods/api#send-and-receive-messages-between-sessions), [`session.send`](/docs/ru/plugins/mods/api#send-and-receive-messages-between-sessions) | Сообщение приходит от другого агента или сессии либо вот-вот будет отправлено им. См. [Отправка и получение сообщений между сессиями](/docs/ru/plugins/mods/api#send-and-receive-messages-between-sessions). | `{ consumed: reason }` для `receive`, `{ isDelivered: false, reason }` для `send` |

136| `session.append` | Один раз для каждой строки, которую сохраняет диалог, например промпта, блока ответа, результата инструмента или уведомления, перед её сохранением | `next({ ...e, message })`, чтобы переписать `content` строки |136| `session.append` | Один раз для каждой строки, которую сохраняет диалог, например промпта, блока ответа, результата инструмента или уведомления, перед её сохранением | `next({ ...e, message })` с изменённым `message.content`, чтобы переписать текстовые блоки строки или `content` блока `tool_result` в ней |

137| `session.attach`, `session.detach` | Другое приложение подключается к сессии или отключается от неё | `next(e)` |137| `session.attach`, `session.detach` | Другое приложение подключается к сессии или отключается от неё | `next(e)` |

138| `session.measure` | После каждого хода, а также когда меняется процент использования лимита тарифа | `next(e)` |138| `session.measure` | После каждого хода, а также когда меняется процент использования лимита тарифа | `next(e)` |

139 139 


209| [`$.ui`](/docs/ru/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |209| [`$.ui`](/docs/ru/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

210| [`$.command`](/docs/ru/plugins/mods/api#add-a-command) | `register`, `run`, `list` |210| [`$.command`](/docs/ru/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

211| [`$.tool`](/docs/ru/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |211| [`$.tool`](/docs/ru/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

212| `$.agent` | `register`, `spawn`, `list` |212| `$.agent` | `register`, `spawn`, `list`. `list()` возвращает субагентов и участников команды агентов этой сессии, у каждого из которых есть `status` со значением `pending`, `running`, `waiting`, `idle`, `completed`, `failed` или `killed`, причём `idle` и `waiting` требуют Claude Code v2.1.289 или более поздней версии. |

213| [`$.model`](/docs/ru/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |213| [`$.model`](/docs/ru/plugins/mods/api#call-a-model) | `complete`, `fork`, `classify` |

214| [`$.prompt`](/docs/ru/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude читает текст из `submit({ text })` после предложения, называющего ваш мод отправителем. `submit({ text, asUser: true })` отправляет текст как собственные слова пользователя, без этого предложения. |214| [`$.prompt`](/docs/ru/plugins/mods/api#start-a-turn-from-a-background-job) | `submit`, `read`, `fill`, `suggest`, `compose`. Claude читает текст из `submit({ text })` после предложения, называющего ваш мод отправителем. `submit({ text, asUser: true })` отправляет текст как собственные слова пользователя, без этого предложения. |

215| `$.turn` | `abort` |215| `$.turn` | `abort` |


317| Таймаут `$.process.run` | 30 секунд по умолчанию, не более 10 минут |317| Таймаут `$.process.run` | 30 секунд по умолчанию, не более 10 минут |

318| `maxTokens` для `$.model.complete` | 1024 по умолчанию, до 64 000 или предела вывода модели |318| `maxTokens` для `$.model.complete` | 1024 по умолчанию, до 64 000 или предела вывода модели |

319| `$.fs.read` и `$.fs.write` | 4 МиБ на один файл |319| `$.fs.read` и `$.fs.write` | 4 МиБ на один файл |

320| Причина `drop` хука или причина `deny` для `config.set` | 4 096 символов. Конец более длинной причины обрезается, а drop или deny всё равно применяется. Обрезка требует Claude Code v2.1.292 или новее; в более ранних версиях хук вместо этого [завершается с ошибкой](/docs/ru/plugins/mods/events#handle-a-hook-that-fails). |

320| Текст в одном дереве | Отрисовываются первые 100 000 символов |321| Текст в одном дереве | Отрисовываются первые 100 000 символов |

321| `language` или `path` элемента `Code`, `value` варианта `Select` или `module` элемента `Client` | 10 000 символов. Если значение длиннее, Claude Code [отрисовывает собственную версию области](/docs/ru/plugins/mods/interface#build-a-tree-from-elements). |322| `language` или `path` элемента `Code`, `value` варианта `Select` или `module` элемента `Client` | 10 000 символов. Если значение длиннее, Claude Code [отрисовывает собственную версию области](/docs/ru/plugins/mods/interface#build-a-tree-from-elements). |

322| `href` элемента `Link` | 2 048 символов. Более длинный `href` не даёт отрисовать всё дерево. |323| `href` элемента `Link` | 2 048 символов. Более длинный `href` не даёт отрисовать всё дерево. |


325| Перерисовки `$.ui.invalidate('ui.render')` | Ограничены 10 в секунду или 30 в терминале для видимой панели, развёрнутой полосы и строки подсказки под промптом. Более частые вызовы объединяются. |326| Перерисовки `$.ui.invalidate('ui.render')` | Ограничены 10 в секунду или 30 в терминале для видимой панели, развёрнутой полосы и строки подсказки под промптом. Более частые вызовы объединяются. |

326| `$.ui.toast` | Показывается 4 секунды, если не передать `{ timeoutMs }` |327| `$.ui.toast` | Показывается 4 секунды, если не передать `{ timeoutMs }` |

327| Панель, открытая без запроса пользователя | Размещается начиная со 144 столбцов терминала, со 110 — после того как пользователь однажды её открыл |328| Панель, открытая без запроса пользователя | Размещается начиная со 144 столбцов терминала, со 110 — после того как пользователь однажды её открыл |

329| Области видимости, такие как функции, блоки и циклы, вложенные друг в друга в одном файле модуля хуков | 2 000 |

328| Имена команд, инструментов, типов субагентов и панелей | Буквы, цифры, `_` и `-`, до 64 символов |330| Имена команд, инструментов, типов субагентов и панелей | Буквы, цифры, `_` и `-`, до 64 символов |

329| Один тест `claude plugin test` | 5 секунд, если тест не задаёт `timeoutMs` |331| Один тест `claude plugin test` | 5 секунд, если тест не задаёт `timeoutMs` |

330 332 

Details

110* `returned neither { value } nor { deny }`: stub для вызова mods API вернул простое значение, из-за чего тест не проходит110* `returned neither { value } nor { deny }`: stub для вызова mods API вернул простое значение, из-за чего тест не проходит

111* `no implementation for` с последующим именем: ваш мод сделал этот вызов и никакой stub не отвечает на него111* `no implementation for` с последующим именем: ваш мод сделал этот вызов и никакой stub не отвечает на него

112 112 

113Набор также экспортирует встроенные mock, которые отвечают за целое пространство имён для вас. `mock.clock(on)` отвечает на [`$.clock`](/docs/ru/plugins/mods/api#run-work-in-the-background), `mock.store(on, { count: 7 })` отвечает на `$.store` из хранилища, которое начинается с этих записей, и `mock.env(on, { CI: 'true' })` отвечает на `$.env.get` из этих переменных. `mock.clock` возвращает mock часы, которые ваш тест продвигает, поэтому тест таймера не ждёт. `mock.store` ничего не возвращает, поэтому чтобы проверить, что сохранил ваш мод, напишите два `store` stub сами, как это делает [drawing test](#test-a-drawing).113Набор также экспортирует готовые mock для часов, хранилища, переменных окружения и строк, добавляемых в диалог:

114 

115* **`mock.clock(on)`**: отвечает на [`$.clock`](/docs/ru/plugins/mods/api#run-work-in-the-background) и возвращает mock часов, которые ваш тест продвигает, поэтому тест таймера не ждёт.

116* **`mock.store(on, { count: 7 })`**: отвечает на `$.store` из хранилища, которое начинается с этих записей. Он ничего не возвращает, поэтому чтобы проверить, что сохранил ваш мод, напишите два `store` stub сами, как это делает [drawing test](#test-a-drawing).

117* **`mock.env(on, { CI: 'true' })`**: отвечает на `$.env.get` из этих переменных.

118* **`mock.session(on)`**: возвращает mock сессии, чей метод `appended()` перечисляет строки, добавленные вашим модом с помощью [`$.session.append`](/docs/ru/plugins/mods/reference#session), начиная с самых старых; требуется Claude Code v2.1.293 или новее.

114 119 

115<h3 id="follow-the-test-kit’s-rules">120<h3 id="follow-the-test-kit’s-rules">

116 Следуйте правилам набора для тестирования121 Следуйте правилам набора для тестирования


168 Посмотрите, что возвращает stub173 Посмотрите, что возвращает stub

169</h3>174</h3>

170 175 

171Каждый вызов mods API, который ваш мод делает в тесте, нуждается в stub, который отвечает в место Claude Code, кроме нескольких, которые набор отвечает сам: [`$.ui.invalidate`](/docs/ru/plugins/mods/interface#redraw-when-something-changes) и [`$.state`](/docs/ru/plugins/mods/interface#keep-state) вызовы. Для вызовов `$.clock` используйте `mock.clock(on)`, иначе `$.clock.now()` вашего мода завершится неудачей с `no implementation for clock.now`.176Каждый вызов mods API, который ваш мод делает в тесте, нуждается в stub, который отвечает вместо Claude Code, кроме нескольких, на которые набор отвечает сам: вызовы [`$.ui.invalidate`](/docs/ru/plugins/mods/interface#redraw-when-something-changes), [`$.state`](/docs/ru/plugins/mods/interface#keep-state) и `$.session.append`. Для вызовов `$.clock` используйте `mock.clock(on)`, иначе `$.clock.now()` вашего мода завершится неудачей с `no implementation for clock.now`.

172 177 

173Эта таблица перечисляет те, которые моды используют чаще всего. Первый столбец — это вызов, который делает ваш мод, или событие, которое он передаёт с `next(e)`. Второй — это функция для передачи `on` под этим именем, поэтому строка `$.store.get` становится `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. `'...'` в stub отмечает текст для вас, чтобы заполнить:178Эта таблица перечисляет те, которые моды используют чаще всего. Первый столбец — это вызов, который делает ваш мод, или событие, которое он передаёт с `next(e)`. Второй — это функция для передачи `on` под этим именем, поэтому строка `$.store.get` становится `on('store.get', ($, e) => ({ value: saved.get(e.key) }))`. `'...'` в stub отмечает текст для вас, чтобы заполнить:

174 179 

Details

116 116 

117Установите или измените значение. Конец строки называет его запись `pluginConfigs` в `settings.json`.117Установите или измените значение. Конец строки называет его запись `pluginConfigs` в `settings.json`.

118 118 

119<h3 id="code-nested-too-deep-to-scan-more-than-2000-scopes">

120 `code nested too deep to scan: more than 2000 scopes`

121</h3>

122 

123Строка начинается с имени мода, затем `hooks module did not load:`, файл и `code nested too deep to scan: more than 2000 scopes`. Файл в модуле хуков не может вкладывать области видимости, такие как функции, блоки и циклы, глубже чем на [2 000 уровней](/docs/ru/plugins/mods/reference#limits). [`claude plugin validate`](/docs/ru/plugins/mods/create#check-what-claude-code-reads-from-your-mod) сообщает ту же причину.

124 

125Перепишите код так, чтобы его области видимости были вложены менее глубоко.

126 

119<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">127<h3 id="no-mod-loads-in-a-directory-you-opened-for-the-first-time">

120 Ни один мод не загружается в директории, которую вы открыли впервые128 Ни один мод не загружается в директории, которую вы открыли впервые

121</h3>129</h3>


132 140 

133Запустите без флага.141Запустите без флага.

134 142 

143<h3 id="claude-code-stops-asking-to-enable-hot-reloading">

144 Claude Code перестает предлагать включить горячую перезагрузку

145</h3>

146 

147Claude пишет мод в интерактивной сессии, ничего не загружается, и Claude Code больше не спрашивает, [включить ли горячую перезагрузку](/docs/ru/plugins/mods/create#ask-claude-for-a-mod). Если вопрос трижды завершается без выбранного ответа, горячая перезагрузка остается отключенной. Например, вопрос завершается так, когда вы задали [`askUserQuestionTimeout`](/docs/ru/settings-reference#askuserquestiontimeout) и время истекает до вашего ответа. Эта настройка применяется здесь, потому что Claude Code задает вопрос в том же [диалоге вопросов, который использует `AskUserQuestion`](/docs/ru/tools-reference#question-auto-continue-timeout). Вопрос, который вы закрываете сами, не засчитывается в эти три.

148 

149Чтобы запустить мод, [скопируйте его директорию из папки модов](/docs/ru/plugins/mods/create#use-the-mod-in-other-sessions), затем в оболочке запустите новую сессию с `--plugin-dir`, как в `claude --plugin-dir ~/mods/git-branch`.

150 

135<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">151<h2 id="a-hook-is-skipped-or-a-mod-is-unloaded">

136 Hook пропускается или мод выгружается152 Hook пропускается или мод выгружается

137</h2>153</h2>


209 Рисунок не появляется или не отвечает225 Рисунок не появляется или не отвечает

210</h2>226</h2>

211 227 

212Мод загрузился, и его панель, полоса или элементы управления не ведут себя так, как вы ожидаете.228Мод загрузился, и его панель, полоса, всплывающее уведомление или элементы управления не ведут себя так, как вы ожидаете.

213 229 

214<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">230<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">

215 Панель или полоса пуста или показывает обычное содержимое Claude Code231 Панель или полоса пуста или показывает обычное содержимое Claude Code


247 263 

248Откройте панель из команды или кнопки или проверьте результат `isPlaced` вызова. См. [Откройте панель в нужное время](/docs/ru/plugins/mods/interface#open-a-pane-at-the-right-time).264Откройте панель из команды или кнопки или проверьте результат `isPlaced` вызова. См. [Откройте панель в нужное время](/docs/ru/plugins/mods/interface#open-a-pane-at-the-right-time).

249 265 

266<h3 id="a-toast-doesn’t-appear">

267 Всплывающее уведомление не появляется

268</h3>

269 

270Ваш мод вызывает [`$.ui.toast`](/docs/ru/plugins/mods/api#show-something-without-starting-a-turn) в интерактивной сессии терминала, а вы не видите уведомление. Чтобы убедиться, что вызов выполнился, найдите в [логе отладки](#read-the-debug-log) строку с именем вашего мода и текстом уведомления, как в `$.ui.toast (first-mod): build finished`. Затем проверьте такие причины:

271 

272* **Строки для вызова нет**: найдите строку, которая объясняет, почему Claude Code отклонил вызов, как в `first-mod: $.ui.toast dropped: timeoutMs is a whole number of ms, 1 to 60000`.

273* **Панель удерживает уведомления**: ваш или другой мод передал [`holdToasts`](/docs/ru/plugins/mods/interface#hold-toasts-behind-a-dialog) при открытии отображаемой панели. Закройте панель, чтобы прекратить удержание. Если панель ваша и должна оставаться открытой, удалите `holdToasts` из ее вызова `$.ui.open` и откройте панель снова.

274* **Уведомление находится под промптом**: в [классическом рендерере](/docs/ru/fullscreen#enable-fullscreen-rendering) посмотрите справа под промптом. Уведомление там - это одна строка, начинающаяся с имени мода, а не блок в правом верхнем углу.

275* **Ваш мод показал более новое уведомление**: в классическом рендерере более новое уведомление от вашего мода может заменить то, которое отображается или ожидает отображения. В логе отладки есть еще одна строка для старого уведомления, которая заканчивается на `gave way, cut short`, если оно отображалось, или на `gave way, unseen`, если оно так и не появилось. Чтобы показать оба сообщения, поместите их в одно уведомление.

276* **Время уведомления истекло до отрисовки**: в полноэкранной отрисовке Claude Code отрисовывает не более трех уведомлений одновременно, поэтому время уведомления может истечь до его отрисовки. В логе отладки есть еще одна строка для этого уведомления, которая заканчивается на `left the stack, never drawn`. Когда ваш мод показывает несколько уведомлений сразу, поместите сообщения в одно уведомление.

277 

278До v2.1.290 Claude Code отбрасывал уведомление, показанное в течение двух секунд после последнего уведомления, которое он отобразил для вашего мода, и строка лога отладки для отброшенного уведомления сообщала `within 2000ms of the last; dropped`.

279 

250<h3 id="hotkeys-do-nothing">280<h3 id="hotkeys-do-nothing">

251 Горячие клавиши ничего не делают281 Горячие клавиши ничего не делают

252</h3>282</h3>

Details

110}110}

111```111```

112 112 

113В вашей оболочке запустите `claude plugin validate .` в репозитории, чтобы проверить файл перед отправкой.113В вашей оболочке запустите `claude plugin validate .` в репозитории перед отправкой. О том, что проверяет этот запуск, см. [Проверка каталога](/docs/ru/plugins/cli-reference#validate-a-directory).

114 114 

115[Создание маркетплейса](/docs/ru/plugins/create-marketplace) охватывает макет с несколькими плагинами в одном репозитории.115[Создание маркетплейса](/docs/ru/plugins/create-marketplace) охватывает макет с несколькими плагинами в одном репозитории.

116 116 


129* Добавьте маркетплейс один раз: `claude plugin marketplace add your-org/your-marketplace`, где аргумент — это сокращение GitHub `owner/repo`, URL или путь129* Добавьте маркетплейс один раз: `claude plugin marketplace add your-org/your-marketplace`, где аргумент — это сокращение GitHub `owner/repo`, URL или путь

130* Установите плагин: `claude plugin install deploy-helper@your-marketplace`130* Установите плагин: `claude plugin install deploy-helper@your-marketplace`

131* Или сделайте оба из сеанса: `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Требуется Claude Code v2.1.275 или позже. См. [Добавьте маркетплейс и установите в одной команде](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command)131* Или сделайте оба из сеанса: `/plugin install deploy-helper --marketplace your-org/your-marketplace`. Требуется Claude Code v2.1.275 или позже. См. [Добавьте маркетплейс и установите в одной команде](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command)

132* Или сделайте оба действия из оболочки одной командой: `claude plugin install deploy-helper --marketplace your-org/your-marketplace`. Требуется Claude Code v2.1.292 или позже

132 133 

133<h3 id="ship-updates-to-users">134<h3 id="ship-updates-to-users">

134 Отправьте обновления пользователям135 Отправьте обновления пользователям

Details

163 `Invalid marketplace source format`163 `Invalid marketplace source format`

164</h3>164</h3>

165 165 

166Вы запустили `/plugin marketplace add <source>` или `claude plugin marketplace add <source>`, и Claude Code ответил `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.166Вы запустили `/plugin marketplace add <source>`, `claude plugin marketplace add <source>` или `claude plugin install <plugin> --marketplace <source>`, и Claude Code ответил `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`.

167 167 

168Claude Code принимает источник в одной из этих форм:168Claude Code принимает источник в одной из этих форм:

169 169 


237* **Вы владеете маркетплейсом**: поместите файл в это расположение и повторно добавьте маркетплейс237* **Вы владеете маркетплейсом**: поместите файл в это расположение и повторно добавьте маркетплейс

238* **Кто-то другой размещает его**: попросите у владельца точный источник, который они публикуют238* **Кто-то другой размещает его**: попросите у владельца точный источник, который они публикуют

239 239 

240<h3 id="cannot-install-plugins-from-a-marketplace-with-this-name">

241 `Cannot add marketplace "<name>": Claude Code cannot install plugins from a marketplace with this name`

242</h3>

243 

244Вы добавили маркетплейс, и [`name`](/docs/ru/plugins/marketplace-reference#top-level-fields) в его `marketplace.json` недопустимо в качестве части после `@` в [идентификаторе плагина](/docs/ru/plugins/loading#find-where-a-plugin-came-from), таком как `my-plugin@my-marketplace`. Claude Code отклоняет добавление и ничего не регистрирует.

245 

246Остальная часть сообщения формулирует правило для имени. В этом примере `_internal` нарушает правило, так как начинается с `_`:

247 

248```text theme={null}

249Cannot add marketplace "_internal": Claude Code cannot install plugins from a marketplace with this name. Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. The name is set by "name" in the marketplace's marketplace.json; ask its maintainer to change it.

250```

251 

252Дайте маркетплейсу имя, соответствующее этому правилу, затем добавьте его снова:

253 

254* **Вы владеете маркетплейсом**: измените `name` в `marketplace.json`, например на `internal-tools`

255* **Кто-то другой размещает его**: попросите владельца изменить имя

256 

257До v2.1.295 Claude Code сообщал о добавлении в этом примере как об успешном.

258 

240<h3 id="ssh-authentication-failed-or-https-authentication-failed">259<h3 id="ssh-authentication-failed-or-https-authentication-failed">

241 `SSH authentication failed` или `HTTPS authentication failed`260 `SSH authentication failed` или `HTTPS authentication failed`

242</h3>261</h3>


568 `Marketplace "<name>" is already added from a different source`587 `Marketplace "<name>" is already added from a different source`

569</h3>588</h3>

570 589 

571Вы подтвердили добавление маркетплейса через [`/plugin install <plugin> --marketplace <source>`](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command), и каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.590Вы указали новый источник маркетплейса с помощью [`--marketplace <source>` в команде установки](/docs/ru/plugins/install#add-a-marketplace-and-install-in-one-command), в сессии или из вашей оболочки. Каталог, который Claude Code получил из этого источника, имеет то же имя, что и маркетплейс, который вы уже добавили из другого источника. Claude Code сохраняет существующий маркетплейс вместо его замены, и плагин не устанавливается.

572 591 

573Полное сообщение выглядит так:592Полное сообщение выглядит так:

574 593 


786 805 

787Claude Code копирует непригодные записи в файл `.set-aside` и удаляет их из списка. Claude Code никогда не читает копии обратно, и копии стареют по расписанию [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays).806Claude Code копирует непригодные записи в файл `.set-aside` и удаляет их из списка. Claude Code никогда не читает копии обратно, и копии стареют по расписанию [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays).

788 807 

808<h3 id="does-not-load-so-claude-code-ignores-the-whole-file">

809 `does not load (...), so Claude Code ignores the whole file`

810</h3>

811 

812Команда сработала. В файле настроек, названном в предупреждении, есть ошибка, поэтому Claude Code игнорирует весь файл, включая всё, что команда туда записала, пока вы её не исправите.

813 

814Исправьте ошибку, названную в предупреждении. Для значения, которое Claude Code не принимает, см. [Исправление повреждённого файла настроек](/docs/ru/settings#fix-a-broken-settings-file). Затем снова выполните команду, если её изменения больше нет в файле.

815 

816Предупреждение следует за строкой об успехе `claude plugin install`, `enable`, `disable` или `claude plugin marketplace add` в вашей оболочке:

817 

818```text theme={null}

819⚠ /home/user/.claude/settings.json does not load (its "permissions" is not valid), so Claude Code ignores the whole file, including anything this command wrote there. Fix the file, then run this command again if its change is missing. If a newer Claude Code wrote the file, update Claude Code instead.

820```

821 

822Текст в скобках называет ошибку:

823 

824* **`its "<key>" is not valid`**: указанная в кавычках настройка содержит значение, которое Claude Code не принимает. Найдите настройку в [справочнике настроек](/docs/ru/settings-reference), чтобы узнать допустимые значения. Когда не проходит проверку более одного значения, текст называет первую настройку и подсчитывает остальные, как в `its "permissions" and 1 other value are not valid`.

825* **`it is not a JSON object`**: верхний уровень файла не является объектом JSON, например файл, верхний уровень которого — массив.

826 

789<h3 id="a-plugin-you-disabled-still-loads">827<h3 id="a-plugin-you-disabled-still-loads">

790 `Disabled in ~/.claude/settings.json but still loads`828 `Disabled in ~/.claude/settings.json but still loads`

791</h3>829</h3>


812 850 

813Если ваша организация предварительно устанавливает плагины для вас, она делает это через управляемые параметры вместо этого. См. [Предварительная установка и требование плагинов](/docs/ru/plugins/org#pre-install-and-require-plugins).851Если ваша организация предварительно устанавливает плагины для вас, она делает это через управляемые параметры вместо этого. См. [Предварительная установка и требование плагинов](/docs/ru/plugins/org#pre-install-and-require-plugins).

814 852 

853<h3 id="a-plugin-stays-installed-after-plugin-uninstall-on-windows">

854 Плагин остаётся установленным после `plugin uninstall` в Windows

855</h3>

856 

857В Windows вы выполняете `claude plugin uninstall` на уровне проекта или на локальном уровне, и команда сообщает об успехе, но `claude plugin list` или `/plugin` по-прежнему показывает плагин.

858 

859`installed_plugins.json` содержал две записи об установке плагина для папки проекта, в каждой из которых путь к папке записан по-разному, а одно удаление удаляет только одну из них. Чтобы проверить это, выполните `claude plugin list --json` в вашей оболочке. У оставшейся строки плагина есть `projectPath`, в котором папка записана иначе, чем там, где вы выполняли удаление, например `c:\work\app` вместо `C:\work\app`.

860 

861Выполните ту же команду удаления ещё раз, с тем же `--scope`, из той же папки. Второй запуск не находит записи под своим написанием пути, поэтому удаляет запись под другим написанием. Для установки на уровне проекта:

862 

863```shell theme={null}

864claude plugin uninstall <name>@<marketplace> --scope project

865```

866 

867Затем снова выполните `claude plugin list --json`, чтобы убедиться, что строка исчезла.

868 

869До v2.1.295 второй запуск завершается ошибкой `Plugin "<name>" is not installed in project scope`. Выполните `claude update`, затем снова выполните удаление.

870 

815<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">871<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">

816 `Failed to load hooks from <path>` и hooks, которые не срабатывают872 `Failed to load hooks from <path>` и hooks, которые не срабатывают

817</h3>873</h3>


835 891 

836Если stderr показывает путь плагина, обрезанный в пробеле, команда hook в форме shell использует `${CLAUDE_PLUGIN_ROOT}` вне кавычек и путь установки содержит пробел. Оберните переменную в двойные кавычки или используйте [форму exec](/docs/ru/hooks#exec-form-and-shell-form). Чтобы найти неквотированную переменную, запустите `claude plugin validate` в каталоге плагина и ищите его [предупреждение о кавычках](/docs/ru/plugins/manifest-reference#quoting-and-path-separators).892Если stderr показывает путь плагина, обрезанный в пробеле, команда hook в форме shell использует `${CLAUDE_PLUGIN_ROOT}` вне кавычек и путь установки содержит пробел. Оберните переменную в двойные кавычки или используйте [форму exec](/docs/ru/hooks#exec-form-and-shell-form). Чтобы найти неквотированную переменную, запустите `claude plugin validate` в каталоге плагина и ищите его [предупреждение о кавычках](/docs/ru/plugins/manifest-reference#quoting-and-path-separators).

837 893 

894Если уведомление гласит `Failed to run: Plugin directory does not exist: <path>`, см. [`Plugin directory does not exist`](#plugin-directory-does-not-exist).

895 

838Для любой другой ошибки запустите команду hook самостоятельно из каталога плагина, чтобы увидеть полный вывод, или захватите полный stderr с помощью [отладочного логирования](/docs/ru/hooks#debug-hooks).896Для любой другой ошибки запустите команду hook самостоятельно из каталога плагина, чтобы увидеть полный вывод, или захватите полный stderr с помощью [отладочного логирования](/docs/ru/hooks#debug-hooks).

839 897 

840<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">898<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">


869 </Step>927 </Step>

870</Steps>928</Steps>

871 929 

930<h3 id="plugin-directory-does-not-exist">

931 `Plugin directory does not exist: <path>`

932</h3>

933 

934Сначала выполните `/reload-plugins` в промпте Claude Code, даже если сообщение предлагает переустановить плагин. Хук плагина завершается ошибкой `Failed to run: Plugin directory does not exist: <path> (<plugin> — run /plugin to reinstall)`, и хук не запускается, когда каталог, из которого ваша сессия загрузила хуки плагина, исчез с диска. [`Plugin directory not found at path: <path>`](#plugin-directory-not-found-at-path) — это другое сообщение, касающееся записи маркетплейса.

935 

936Перезагрузка загружает хуки плагина из его текущего каталога. Ошибка показывается один раз за сессию для каждого события хука и команды, поэтому то, что хук перестал сообщать об ошибке, не подтверждает исправление. Вместо этого прочитайте вывод перезагрузки:

937 

938* **`Reloaded:` без строки с ошибками**: хуки плагина больше не указывают на отсутствующий каталог

939* **`N errors during load. Run /plugin for details.`**: откройте вкладку **Errors** в `/plugin` и следуйте записи на этой странице для показанного там сообщения

940* **Строка, заканчивающаяся на `Run /reload-plugins --force to apply.`**: ничего не перезагрузилось, и хуки продолжают завершаться ошибкой. Выполните `/reload-plugins --force` в промпте Claude Code

941 

872<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">942<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">

873 `Invalid MCP server config for "<server>"` и MCP серверы, которые не запускаются943 `Invalid MCP server config for "<server>"` и MCP серверы, которые не запускаются

874</h3>944</h3>


1063 1133 

1064Вы запустили `claude plugin validate <path>` или `/plugin validate <path>` в сессии, и он вывел `Found N errors` и `Validation failed`, затем вышел с кодом 1.1134Вы запустили `claude plugin validate <path>` или `/plugin validate <path>` в сессии, и он вывел `Found N errors` и `Validation failed`, затем вышел с кодом 1.

1065 1135 

1066Валидатор читает манифест по пути, который вы даёте ему: `.claude-plugin/plugin.json` для каталога плагина или `.claude-plugin/marketplace.json` для каталога маркетплейса. Для маркетплейса он предваряет проблемы в собственном манифесте записи с индексом записи, как `plugins[1] plugin.json → json: ...`.1136Валидатор читает манифест по пути, который вы даёте ему: `.claude-plugin/plugin.json` для каталога плагина, `.claude-plugin/marketplace.json` для каталога маркетплейса или оба манифеста для каталога, который содержит оба. Для маркетплейса он предваряет проблемы в собственном манифесте записи с индексом записи, как `plugins[1] plugin.json → json: ...`. До v2.1.289 Claude Code проверял каталог, содержащий оба манифеста, только как маркетплейс.

1067 1137 

1068Таблица охватывает сообщения, которые останавливают валидацию, и два предупреждения, `No frontmatter block found` и `Unknown field '<key>'`, которые останавливают её только при передаче `--strict`. Другие предупреждения, такие как отсутствующее описание, не указаны.1138Таблица охватывает сообщения, которые останавливают валидацию, и два предупреждения, `No frontmatter block found` и `Unknown field '<key>'`, которые останавливают её только при передаче `--strict`. Другие предупреждения, такие как отсутствующее описание, не указаны.

1069 1139 

remote-control.md +54 −21

Details

364 Ограничения364 Ограничения

365</h2>365</h2>

366 366 

367* **Одна удалённая сессия на интерактивный процесс**: вне режима сервера каждый экземпляр Claude Code поддерживает одну удалённую сессию одновременно. Используйте [режим сервера](#start-a-remote-control-session) для запуска нескольких одновременных сессий из одного процесса.367* **Одна удалённая сессия на интерактивный процесс**: вне серверного режима каждый экземпляр Claude Code поддерживает только одну удалённую сессию одновременно. Используйте [серверный режим](#start-a-remote-control-session), чтобы запускать несколько параллельных сессий из одного процесса.

368* **Локальный процесс должен продолжать работу**: Remote Control работает как локальный процесс. Если вы закроете терминал, выйдете из Desktop-приложения или VS Code или иным образом остановите процесс `claude`, сессия перейдёт в автономный режим до тех пор, пока вы не [восстановите её](#resume-sessions-after-stopping-the-server). Если вы запускаете `claude` из терминала на удалённой машине, запустите его внутри `tmux` или `screen`, чтобы сессия продолжала работать после отключения от SSH.368* **Локальный процесс должен продолжать работать**: Remote Control работает как локальный процесс. Если вы закроете терминал, выйдете из приложения Desktop или VS Code либо иным образом остановите процесс `claude`, сессия перейдёт в офлайн, пока вы [не вернёте её](#resume-sessions-after-stopping-the-server). Если вы запускаете `claude` из терминала на удалённой машине, запускайте его внутри `tmux` или `screen`, чтобы сессия продолжала работать после отключения от SSH.

369* **Сбойные сессии в режиме сервера**: если сессия, обслуживаемая `claude remote-control`, даёт сбой, отправьте ей сообщение с подключённого устройства. Claude Code снова начнёт её обслуживать. Вам не нужно перезапускать сервер. Требуется Claude Code v2.1.238 или позже.369* **Аварийно завершившиеся сессии в серверном режиме**: если сессия, обслуживаемая `claude remote-control`, аварийно завершилась, отправьте ей сообщение с подключённого устройства. Claude Code снова начнёт её обслуживать. Перезапускать сервер не нужно. Требуется Claude Code v2.1.238 или новее.

370* **Отказы HTTP 403 в подключённой сессии**: после подключения интерактивной сессии Claude Code продолжает повторять попытки в течение до трёх минут, когда что-то между вашей машиной и серверами Anthropic отвечает с HTTP 403, что может произойти после изменения VPN или сети. Если отказы продолжаются дольше, Claude Code отключается, и в причине указывается, что именно отказало: граница сети или прокси, VPN или брандмауэр в вашей собственной сети.370* **Отказы HTTP 403 в подключённой сессии**: после подключения интерактивной сессии Claude Code продолжает повторять попытки в течение трёх минут, если что-то между вашей машиной и серверами Anthropic отвечает HTTP 403, что может произойти после смены VPN или сети. Если отказы продолжаются дольше, Claude Code отключается, а в причине указывается, что именно отказало: пограничный узел сети либо прокси, VPN или файрвол в вашей собственной сети.

371* **Продолжительный сбой сети**: если ваша машина включена, но не может подключиться к сети, то, что вы делаете дальше, зависит от режима:371* **Длительный сбой сети**: если ваша машина не спит, но не может подключиться к сети, дальнейшие действия зависят от режима:

372 * **Режим сервера**: Claude Code сдаётся примерно через 10 минут, и процесс `claude remote-control` завершается. Запустите `claude remote-control` снова, чтобы начать новую сессию.372 * **Серверный режим**: Claude Code прекращает попытки примерно через 10 минут, и процесс `claude remote-control` завершается. Снова выполните `claude remote-control`, чтобы запустить новую сессию.

373 * **Интерактивная сессия**: продолжайте работать локально. Claude Code повторяет попытки столько, сколько длится сбой, и автоматически переподключается, когда сеть восстанавливается.373 * **Интерактивная сессия**: продолжайте работать локально. Claude Code повторяет попытки всё время, пока длится сбой, и переподключается сам, когда сеть восстанавливается.

374* **Вложения, которые не загружаются**: если файл, который вы прикрепляете с телефона или в браузере, не удаётся загрузить на вашу машину, Claude всё равно получает ваше сообщение и файлы, которые были загружены. Вместо отсутствующих файлов Claude Code добавляет к сообщению примечание, например `[1 of 3 attachments did not arrive]`.374* **Вложения, которые не загружаются**: если файл, прикреплённый вами с телефона или в браузере, не удаётся загрузить на вашу машину, Claude всё равно получает ваше сообщение и загруженные файлы. Вместо отсутствующих файлов Claude Code добавляет к сообщению примечание, например `[1 of 3 attachments did not arrive]`.

375* **Сбой пульса присутствия**: если интерактивная сессия отключается с сообщением `could not reach the Remote Control server for about 30 minutes`, запустите `/remote-control` для переподключения.375* **Сбой сигналов присутствия**: если интерактивная сессия отключается с сообщением `could not reach the Remote Control server for about 30 minutes`, выполните `/remote-control`, чтобы переподключиться.

376* **Переадресованные диалоги истекают**: Claude Code держит запросы разрешений и вопросы `AskUserQuestion` открытыми до тех пор, пока вы на них не ответите. Когда Claude Code переадресует другой вид диалога в удалённую сессию, например запрос выбора модели, показываемый после отказа по соображениям безопасности, он по умолчанию ждёт пять минут, затем закрывает диалог и продолжает работу с вариантом диалога по умолчанию, не выполняющим никаких действий. Установите [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry) для настройки или отключения крайнего срока. Требуется Claude Code v2.1.224 или позже.376* **Пересылаемые диалоги истекают**: Claude Code держит запросы разрешений и вопросы `AskUserQuestion` открытыми, пока вы на них не ответите. Когда Claude Code пересылает в удалённую сессию диалог другого типа, например промпт выбора модели, показываемый после отказа по соображениям безопасности, он по умолчанию ждёт пять минут, затем закрывает диалог и продолжает с вариантом диалога по умолчанию, не предполагающим действий. Задайте [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry), чтобы изменить или отключить этот срок. Требуется Claude Code v2.1.224 или новее.

377* **Запрос согласия на использование кредитов Fable не переадресуется**: Claude Code показывает [запрос согласия на использование кредитов Fable](/docs/ru/model-config#fable-and-usage-credits) в середине сессии только там, где работает сессия, а не на вашем устройстве. Когда сессия работает в терминале и никто там не отвечает до того, как Claude Code закроет запрос, ход завершается без отправки запроса; см. [Запрос на подтверждение остался без ответа](/docs/ru/errors#the-prompt-to-confirm-went-unanswered).377* **Промпт согласия на кредиты использования Fable не пересылается**: Claude Code показывает [промпт согласия на кредиты использования Fable](/docs/ru/model-config#fable-and-usage-credits) посреди сессии только там, где выполняется сессия, а не на вашем устройстве. Если сессия выполняется в терминале и никто не отвечает там до того, как Claude Code закроет промпт, ход завершается без отправки запроса; см. [The prompt to confirm went unanswered](/docs/ru/errors#the-prompt-to-confirm-went-unanswered).

378* **Некоторые команды только локальные**: команды, которые работают только в интерфейсе терминала, такие как `/plugin` или `/resume`, работают только из локального CLI, независимо от того, передаёте ли вы аргумент или нет. `/claude-api` также недоступна, если вы вводите её с мобильного или веб-приложения. Там Claude по-прежнему может [загрузить этот скилл самостоятельно](/docs/ru/skills#work-on-claude-api-projects). Следующие работают с мобильных и веб-приложений:378* **Некоторые команды доступны только локально**: команды, которые работают только в терминальном интерфейсе, например `/plugin` или `/resume`, работают только из локального CLI, независимо от того, передаёте ли вы аргумент. `/claude-api` также недоступна, если вводить её с мобильного устройства или в вебе. Claude всё же может [загрузить этот скилл самостоятельно](/docs/ru/skills#work-on-claude-api-projects) и там. С мобильного устройства и в вебе работают следующие команды:

379 * Команды с текстовым выводом: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`. `/usage-credits` выводит URL биллинга вместо открытия браузера. `/reload-plugins` работает только тогда, когда сессия работает в интерактивном терминале; сессия без него отклоняет эту команду.379 * Команды с текстовым выводом: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`. `/usage-credits` выводит URL биллинга вместо открытия браузера. `/reload-plugins` работает, только когда сессия выполняется в интерактивном терминале; сессия без него отклоняет эту команду.

380 * `/model`, `/effort`, `/fast`, `/color` и `/rename`: передайте значение как аргумент, например `/model sonnet` или `/effort high`. С мобильных и веб-приложений `/model` и `/effort` принимают аргумент вместо средства выбора терминала или ползунка.380 * `/model`, `/effort`, `/fast`, `/color` и `/rename`: передайте значение как аргумент, например `/model sonnet` или `/effort high`. С мобильного устройства и в вебе `/model` и `/effort` принимают аргумент вместо терминального меню выбора или ползунка.

381 * `/mcp`: из мобильного приложения возвращает текстовое резюме статуса сервера вместо открытия средства выбора. В веб-приложении `/mcp` само по себе открывает каталог [коннекторов claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) вместо возврата резюме. [Подкоманды](/docs/ru/commands#all-commands) `reconnect`, `enable` и `disable` работают в обоих случаях. `/mcp reconnect` без имени сервера повторяет попытку подключения для каждого сервера, который дал сбой или требует аутентификации.381 * `/mcp`: в мобильном приложении возвращает текстовую сводку состояния серверов вместо открытия меню выбора. В вебе `/mcp` без аргументов открывает каталог [коннекторов claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) вместо возврата сводки. [Подкоманды](/docs/ru/commands#all-commands) `reconnect`, `enable` и `disable` работают в обоих случаях, когда сессия выполняется в интерактивном терминале. `/mcp reconnect` без имени сервера повторяет попытку для каждого сервера, который дал сбой или требует аутентификации. Чтобы авторизовать коннектор claude.ai без меню выбора, см. [Повторная авторизация коннектора из оболочки](#authorize-a-connector-again-from-your-shell).

382 * `/config`: из мобильного приложения передайте `key=value`, чтобы задать настройку, или запустите команду без аргумента, чтобы вывести список ключей, которые можно задать. В веб-приложении `/config` вместо этого открывает раздел Claude Code в ваших настройках и игнорирует текст после команды.382 * `/config`: в мобильном приложении передайте `key=value`, чтобы задать настройку, или выполните команду без аргумента, чтобы вывести список ключей, которые можно задать. В вебе `/config` вместо этого открывает раздел Claude Code в ваших настройках и игнорирует текст после команды.

383 * На Team и Enterprise `/usage-credits` с мобильных или веб-приложений не отправляет [запрос кредитов использования вашему администратору](/docs/ru/costs#add-usage-credits-to-your-subscription). Отправка требует подтверждения, которое появляется только в интерактивном CLI, поэтому команда предлагает вам запустить её там.383 * В тарифах Team и Enterprise команда `/usage-credits` с мобильного устройства или в вебе не отправляет [запрос кредитов использования вашему администратору](/docs/ru/costs#add-usage-credits-to-your-subscription). Для отправки требуется подтверждение, которое появляется только в интерактивном CLI, поэтому команда предлагает вам выполнить её там.

384 * `/autocompact`, начиная с v2.1.221: передайте размер окна как аргумент, например `/autocompact 500k`. Без аргумента команда выводит текущий размер окна как текст вместо открытия диалога, который она показывает в сессии терминала.384 * `/autocompact`, начиная с v2.1.221: передайте размер окна как аргумент, например `/autocompact 500k`. Без аргумента команда выводит текущий размер окна в виде текста вместо открытия диалога, который она показывает в терминальной сессии.

385 * `/advisor`, начиная с v2.1.260: передайте модель как аргумент, например `/advisor opus`, или передайте `off` для отключения советника. Обе формы применяются только к текущей сессии и оставляют ваше сохранённое значение по умолчанию без изменений. Без аргумента команда выводит текущего советника как текст вместо открытия средства выбора.385 * `/advisor`, начиная с v2.1.260: передайте модель как аргумент, например `/advisor opus`, или передайте `off`, чтобы отключить советника. Обе формы применяются только к текущей сессии и не меняют сохранённое значение по умолчанию. Без аргумента команда выводит текущего советника в виде текста вместо открытия меню выбора.

386 * `/output-style`, начиная с v2.1.269: передайте имя стиля как аргумент, например `/output-style concise`, или запустите команду без аргумента, чтобы вывести список стилей. С мобильных и веб-приложений вы можете выводить и выбирать только [встроенные стили](/docs/ru/output-styles#built-in-output-styles). Чтобы использовать [пользовательский стиль](/docs/ru/output-styles#create-a-custom-output-style), выберите его в самой сессии.386 * `/output-style`, начиная с v2.1.269: передайте имя стиля как аргумент, например `/output-style concise`, или выполните команду без аргумента, чтобы вывести список стилей. С мобильного устройства и в вебе можно просматривать и выбирать только [встроенные стили](/docs/ru/output-styles#built-in-output-styles). Чтобы использовать [пользовательский стиль](/docs/ru/output-styles#create-a-custom-output-style), выберите его в самой сессии.

387 * `/focus`, начиная с v2.1.281: передайте `on` или `off` как аргумент, например `/focus on`, или запустите команду без аргумента для переключения [режима фокуса](/docs/ru/commands#all-commands). Обе формы применяются только к текущей сессии и оставляют ваш сохранённый выбор без изменений.387 * `/focus`, начиная с v2.1.281: передайте `on` или `off` как аргумент, например `/focus on`, или выполните команду без аргумента, чтобы переключить [режим фокуса](/docs/ru/commands#all-commands). Обе формы применяются только к текущей сессии и не меняют сохранённый выбор.

388 

389<h2 id="authorize-a-connector-again-from-your-shell">

390 Повторная авторизация коннектора из оболочки

391</h2>

392 

393Когда коннектору claude.ai требуется аутентификация в сессии, которой вы управляете через Remote Control, панель `/mcp` недоступна в мобильном приложении или в веб-версии. Получите ссылку для авторизации в терминале на машине, где выполняется сессия, а затем откройте ссылку на устройстве, которое вы используете. Запустить команду из мобильного приложения или веб-версии нельзя. Строка, которую вы отправляете оттуда и которая начинается с `!`, передаётся Claude как сообщение и не выполняется в [режиме оболочки](/docs/ru/interactive-mode#shell-mode-with-prefix).

394 

395<Steps>

396 <Step title="Получите ссылку для авторизации">

397 В терминале на машине, где выполняется сессия, например через SSH, выполните `claude mcp login`, указав имя коннектора в кавычках. Имя коннектора начинается с `claude.ai`, например `claude.ai Slack` для коннектора Slack. Следующая команда получает ссылку для коннектора Slack:

398 

399 ```bash theme={null}

400 claude mcp login "claude.ai Slack" --no-browser

401 ```

402 

403 Команда выводит ссылку на claude.ai и завершает работу. Откройте ссылку в браузере и завершите авторизацию на claude.ai. `--no-browser` не даёт команде открыть браузер на этой машине, которая может не быть устройством, которое вы используете.

404 </Step>

405 

406 <Step title="Используйте коннектор в сессии">

407 Запустите новую сессию или переподключите коннектор в уже работающей сессии:

408 

409 * **Новая сессия**: сессия, которую вы запускаете после авторизации, подключается к коннектору без каких-либо дополнительных действий.

410 * **Работающая сессия**: выполните `/mcp reconnect` с тем же именем без кавычек в промпте Claude Code или из мобильного приложения или веб-версии. Чтобы проверить, принимает ли ваша сессия эту команду оттуда, см. пункт `/mcp` в разделе [какие команды работают из мобильного приложения и веб-версии](#limitations).

411 

412 Следующая команда переподключает коннектор Slack:

413 

414 ```text theme={null}

415 /mcp reconnect claude.ai Slack

416 ```

417 

418 В терминале Claude Code выводит `Successfully reconnected to claude.ai Slack`. В мобильном приложении или веб-версии ответ будет `Reconnected "claude.ai Slack".`

419 </Step>

420</Steps>

388 421 

389<h2 id="troubleshooting">422<h2 id="troubleshooting">

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

scheduled-tasks.md +27 −10

Details

180Каждая запланированная задача имеет 8-символьный ID, который вы можете передать в `CronDelete`. Сеанс может одновременно содержать до 50 запланированных задач.180Каждая запланированная задача имеет 8-символьный ID, который вы можете передать в `CronDelete`. Сеанс может одновременно содержать до 50 запланированных задач.

181 181 

182<h2 id="how-scheduled-tasks-run">182<h2 id="how-scheduled-tasks-run">

183 Как работают запланированные задачи183 Как выполняются запланированные задачи

184</h2>184</h2>

185 185 

186Планировщик проверяет каждую секунду наличие выполненных задач и ставит их в очередь с низким приоритетом. Запланированная подсказка срабатывает между вашими ходами, а не во время ответа Claude. Если Claude занят, когда задача наступает, подсказка ждёт до конца текущего хода.186Планировщик каждую секунду проверяет, не наступил ли срок выполнения задач, и ставит такие задачи в очередь с низким приоритетом. Запланированный промпт срабатывает между вашими ходами, а не в тот момент, когда Claude формирует ответ. Если Claude занят, когда наступает срок задачи, промпт ожидает завершения текущего хода.

187 187 

188Все времена интерпретируются в вашем локальном часовом поясе. Выражение cron, такое как `0 9 * * *`, означает 9 утра там, где вы запускаете Claude Code, а не UTC.188Все значения времени интерпретируются в вашем локальном часовом поясе. Cron-выражение вроде `0 9 * * *` означает 9 утра там, где вы запускаете Claude Code, а не по UTC.

189 189 

190<h3 id="jitter">190<h3 id="jitter">

191 Дрожание191 Джиттер

192</h3>192</h3>

193 193 

194Чтобы избежать того, чтобы каждый сеанс обращался к API в один и тот же момент по стене часов, планировщик добавляет детерминированное смещение к времени срабатывания:194Запланированная задача может выполниться не в то время, которое указано в её расписании. Если бы задачи каждой сессии выполнялись точно по расписанию, многие из них обращались бы к API в один и тот же момент, поэтому Claude Code сдвигает время выполнения каждой задачи. Повторяющиеся задачи выполняются с опозданием, а одноразовые задачи, запланированные на начало часа или на половину часа, выполняются немного раньше.

195 195 

196* Повторяющиеся задачи срабатывают до 30 минут после запланированного времени (или до половины интервала для задач, которые выполняются чаще, чем раз в час). Почасовое задание, запланированное на `:00`, может срабатывать в любое время до `:30`.196<h4 id="how-late-a-recurring-task-runs">

197* Одноразовые задачи, запланированные на верхнюю или нижнюю часть часа, срабатывают до 90 секунд раньше.197 Насколько поздно выполняется повторяющаяся задача

198</h4>

198 199 

199Смещение получается из ID задачи, поэтому одна и та же задача всегда получает одно и то же смещение. Если точное время имеет значение, выберите минуту, которая не является `:00` или `:30`, например `3 9 * * *` вместо `0 9 * * *`, и одноразовое дрожание не будет применяться.200Когда вы создаёте повторяющуюся задачу, Claude Code назначает ей фиксированную задержку и добавляет эту задержку к каждому запуску. Задержка вычисляется на основе ID задачи, поэтому одна и та же задача каждый раз выполняется с опозданием на одно и то же количество минут, в том числе когда сессия простаивает и больше ничего не выполняется.

201 

202Задачи, которые выполняются чаще, получают более короткие задержки, а 30 минут — это максимальная задержка, которую может получить задача. Ниже приведены диапазоны задержки для некоторых распространённых расписаний:

203 

204| Задача выполняется | Задержка составляет от |

205| :- | :- |

206| Каждые 10 минут | 0 до 5 минут |

207| Каждые 30 минут | 0 до 15 минут |

208| Каждый час или реже, например ежедневно | 0 до 30 минут |

209 

210Например, `7,37 * * * *` планирует задачу на `:07` и `:37`, между которыми 30 минут, поэтому её задержка составляет от 0 до 15 минут. Если задержка этой задачи равна 14 минутам, она выполняется в `:21` и `:51` каждый час. Изменение расписания на другую минуту сдвигает время выполнения, и задержка по-прежнему добавляется сверху.

211 

212<h4 id="when-a-one-shot-task-runs-early">

213 Когда одноразовая задача выполняется раньше

214</h4>

215 

216Одноразовая задача, запланированная на `:00` или `:30`, выполняется раньше — до 90 секунд. Claude Code не сдвигает одноразовую задачу, запланированную на любую другую минуту, поэтому, когда время важно, планируйте её не на начало часа и не на половину часа: `3 9 * * *` вместо `0 9 * * *`.

200 217 

201<h3 id="seven-day-expiry">218<h3 id="seven-day-expiry">

202 Истечение через семь дней219 Истечение срока через семь дней

203</h3>220</h3>

204 221 

205Повторяющиеся задачи автоматически истекают через 7 дней после создания. Задача срабатывает в последний раз, а затем удаляет себя. Это ограничивает, как долго может работать забытый цикл. Если вам нужна повторяющаяся задача, которая длится дольше, отмените и пересоздайте её перед истечением срока, или используйте [Routines](/docs/ru/routines) или [Desktop запланированные задачи](/docs/ru/desktop-scheduled-tasks) для долговечного планирования.222Срок действия повторяющихся задач автоматически истекает через 7 дней после создания. Задача срабатывает в последний раз, а затем удаляет себя. Это ограничивает время работы забытого цикла. Если вам нужно, чтобы повторяющаяся задача действовала дольше, отмените и создайте её заново до истечения срока или используйте [Routines](/docs/ru/routines) либо [запланированные задачи Desktop](/docs/ru/desktop-scheduled-tasks) для долговременного планирования.

206 223 

207<h2 id="cron-expression-reference">224<h2 id="cron-expression-reference">

208 Справочник выражений cron225 Справочник выражений cron

Details

74 74 

75Вы можете расширить каждый слой, [добавив свои собственные правила](#add-your-own-rules). Встроенные проверки не могут быть удалены по отдельности, но вы можете [отключить каждый слой](#disable-or-uninstall) независимо.75Вы можете расширить каждый слой, [добавив свои собственные правила](#add-your-own-rules). Встроенные проверки не могут быть удалены по отдельности, но вы можете [отключить каждый слой](#disable-or-uninstall) независимо.

76 76 

77<h3 id="on-each-file-edit">77<span id="on-each-file-edit" />

78 При каждом редактировании файла78 

79<h3 id="checks-on-each-file-edit">

80 Проверки при каждом редактировании файла

79</h3>81</h3>

80 82 

81Когда Claude пишет в файл, плагин сканирует новое содержимое на предмет известных рискованных шаблонов. Это сопоставление шаблонов без вызова модели, поэтому оно не добавляет затрат на использование.83Когда Claude пишет в файл, плагин сканирует новое содержимое на предмет известных рискованных шаблонов. Это сопоставление шаблонов без вызова модели, поэтому оно не добавляет затрат на использование.


91 93 

92Вы можете [добавить свои собственные шаблоны](#add-custom-per-edit-patterns) в этот слой с помощью файла `security-patterns.yaml`.94Вы можете [добавить свои собственные шаблоны](#add-custom-per-edit-patterns) в этот слой с помощью файла `security-patterns.yaml`.

93 95 

94<h3 id="at-the-end-of-each-turn">96<span id="at-the-end-of-each-turn" />

95 В конце каждого хода97 

98<h3 id="checks-at-the-end-of-each-turn">

99 Проверки в конце каждого хода

96</h3>100</h3>

97 101 

98Ход — это один раунд ответа Claude: вы отправляете сообщение, Claude работает и отвечает, и ход заканчивается. После каждого хода плагин вычисляет git diff всего, что изменилось в рабочем дереве во время хода, включая изменения из инструментов редактирования Claude, команд Bash и подагентов, и отправляет его отдельному Claude для проверки, сосредоточенной на безопасности. Проверка выполняется в фоне, поэтому ответ Claude не задерживается. Если проверка обнаруживает проблемы, Claude переспрашивается с результатами и решает их как продолжение.102Ход — это один раунд ответа Claude: вы отправляете сообщение, Claude работает и отвечает, и ход заканчивается. После каждого хода плагин вычисляет git diff всего, что изменилось в рабочем дереве во время хода, включая изменения из инструментов редактирования Claude, команд Bash и подагентов, и отправляет его отдельному Claude для проверки, сосредоточенной на безопасности. Проверка выполняется в фоне, поэтому ответ Claude не задерживается. Если проверка обнаруживает проблемы, Claude переспрашивается с результатами и решает их как продолжение.


107 111 

108Вы видите как результат, так и решение Claude прямо в вашем сеансе. Проверка охватывает до 30 изменённых файлов за ход и срабатывает максимум три раза подряд, прежде чем вернуться к вам.112Вы видите как результат, так и решение Claude прямо в вашем сеансе. Проверка охватывает до 30 изменённых файлов за ход и срабатывает максимум три раза подряд, прежде чем вернуться к вам.

109 113 

110<h3 id="on-each-commit-or-push-claude-makes">114<span id="on-each-commit-or-push-claude-makes" />

111 При каждом коммите или push, который делает Claude115 

116<h3 id="checks-on-each-commit-or-push-claude-makes">

117 Проверки при каждом коммите или push, который делает Claude

112</h3>118</h3>

113 119 

114Когда Claude запускает `git commit` или `git push` через свой инструмент Bash, плагин запускает более глубокую агентивную проверку изменения в фоне. Эта проверка читает окружающий код, включая вызывающие функции, санитайзеры и связанные файлы, чтобы решить, является ли результат реальным, прежде чем сообщить о нём. Дополнительный контекст снижает количество ложных срабатываний на шаблонах, которые выглядят опасно в изоляции, но безопасны в вашей кодовой базе.120Когда Claude запускает `git commit` или `git push` через свой инструмент Bash, плагин запускает более глубокую агентивную проверку изменения в фоне. Эта проверка читает окружающий код, включая вызывающие функции, санитайзеры и связанные файлы, чтобы решить, является ли результат реальным, прежде чем сообщить о нём. Дополнительный контекст снижает количество ложных срабатываний на шаблонах, которые выглядят опасно в изоляции, но безопасны в вашей кодовой базе.

Details

403 403 

404* [Управляемый файл MCP](/docs/ru/managed-mcp) корпоративного уровня по стандартному системному пути: `/etc/claude-code/managed-mcp.json` на хостах раннеров под Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` на хостах под macOS. Используйте его для строго контролируемых парков машин, где могут загружаться только серверы из списка администратора. Правила приоритета описаны в разделе [эксклюзивный контроль с помощью managed-mcp.json](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json). Если этот файл находится на хосте раннера, Claude Code пропускает MCP-серверы, которые плоскость управления Anthropic передаёт в сессию, включая коннекторы claude.ai, и перечисляет их в предупреждении в stderr дочернего процесса сессии, которое раннер записывает в лог на уровне `debug`. До версии v2.1.229 такие сессии завершались при запуске с ошибкой `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.404* [Управляемый файл MCP](/docs/ru/managed-mcp) корпоративного уровня по стандартному системному пути: `/etc/claude-code/managed-mcp.json` на хостах раннеров под Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` на хостах под macOS. Используйте его для строго контролируемых парков машин, где могут загружаться только серверы из списка администратора. Правила приоритета описаны в разделе [эксклюзивный контроль с помощью managed-mcp.json](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json). Если этот файл находится на хосте раннера, Claude Code пропускает MCP-серверы, которые плоскость управления Anthropic передаёт в сессию, включая коннекторы claude.ai, и перечисляет их в предупреждении в stderr дочернего процесса сессии, которое раннер записывает в лог на уровне `debug`. До версии v2.1.229 такие сессии завершались при запуске с ошибкой `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

405* Ключ [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в [управляемых настройках](/docs/ru/managed-settings) на хосте раннера: предоставляет серверы HTTP и SSE без эксклюзивного контроля, поэтому серверы из других источников по-прежнему загружаются. Требуется Claude Code v2.1.259 или новее.405* Ключ [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в [управляемых настройках](/docs/ru/managed-settings) на хосте раннера: предоставляет серверы HTTP и SSE без эксклюзивного контроля, поэтому серверы из других источников по-прежнему загружаются. Требуется Claude Code v2.1.259 или новее.

406* `<repo>/.mcp.json`: область действия проекта. Сделайте коммит этого файла в репозиторий; его серверы автоматически подтверждаются в облачных сессиях.406* `<repo>/.mcp.json`: область действия проекта. Сделайте коммит этого файла в репозиторий; его серверы автоматически подтверждаются в облачных сессиях. В сессии с несколькими репозиториями [загружается файл не более чем из одного репозитория](#repository-settings-in-sessions-with-several-repositories).

407 407 

408Если для вашей организации включена передача коннекторов, плоскость управления Anthropic передаёт коннекторы, настроенные вами на claude.ai, в сессии, созданные интерактивно, через предоставляемую сервером конфигурацию MCP, маршрутизируемую через `api.anthropic.com`. Сессии, созданные программно, например [запуски через CLI](/docs/ru/self-hosted-environments-testing#run-the-test-loop), не получают коннекторы; вместо этого предоставьте им MCP-серверы через любой из других источников, перечисленных в этом разделе. OAuth-токен дочернего процесса не содержит scope для прямого получения коннекторов, поэтому дочерний процесс сам не пытается их получить; передача управляется сервером.408Если для вашей организации включена передача коннекторов, плоскость управления Anthropic передаёт коннекторы, настроенные вами на claude.ai, в сессии, созданные интерактивно, через предоставляемую сервером конфигурацию MCP, маршрутизируемую через `api.anthropic.com`. Сессии, созданные программно, например [запуски через CLI](/docs/ru/self-hosted-environments-testing#run-the-test-loop), не получают коннекторы; вместо этого предоставьте им MCP-серверы через любой из других источников, перечисленных в этом разделе. OAuth-токен дочернего процесса не содержит scope для прямого получения коннекторов, поэтому дочерний процесс сам не пытается их получить; передача управляется сервером.

409 409 


542exit 0542exit 0

543```543```

544 544 

545Хук подсказывает Claude зафиксировать и отправить перед завершением сеанса и остается молчаливым, когда каталог не является репозиторием git или не имеет удаленного.545Хук предлагает Claude сделать коммит и отправить изменения до завершения сессии и ничего не выводит, если каталог не является репозиторием git или у него нет удаленного репозитория. О сессиях с несколькими репозиториями см. раздел [на что указывает `$CLAUDE_PROJECT_DIR`](#repository-settings-in-sessions-with-several-repositories).

546 546 

547<h2 id="permissions-and-tool-approval">547<h2 id="permissions-and-tool-approval">

548 Разрешения и одобрение инструментов548 Разрешения и одобрение инструментов


571 571 

572Установите `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` для заполнения из другого пути или укажите его на пустой каталог для отключения заполнения.572Установите `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` для заполнения из другого пути или укажите его на пустой каталог для отключения заполнения.

573 573 

574Зафиксированный в репозитории `.claude/settings.json` накладывается сверху как настройки проекта. Сеансы также читают [`managed-settings.json`](/docs/ru/settings#where-settings-live) из стандартного системного пути в вашем образе средства выполнения. Применяются ли его ключи наряду с [управляемыми сервером настройками](/docs/ru/server-managed-settings) следует [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources): по умолчанию, когда ваша организация доставляет любые управляемые сервером ключи, сеансы игнорируют файл образа средства выполнения, кроме [ключей, которые Claude Code читает из каждого источника администратора](/docs/ru/managed-settings#keys-read-from-every-admin-source), такие как блок `env`, блокировки песочницы, пути двоичных файлов песочницы и `forceRemoteSettingsRefresh`. См. [приоритет настроек](/docs/ru/settings#settings-precedence).574Закоммиченный в репозиторий `.claude/settings.json` накладывается сверху как настройки проекта. В сессии с несколькими репозиториями [действует файл не более чем одного репозитория](#repository-settings-in-sessions-with-several-repositories). Сессии также читают [`managed-settings.json`](/docs/ru/settings#where-settings-live) из стандартного системного пути в вашем образе средства выполнения. Применяются ли его ключи наряду с [управляемыми сервером настройками](/docs/ru/server-managed-settings), определяется тем, [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources): по умолчанию, когда ваша организация доставляет какие-либо управляемые сервером ключи, сессии игнорируют файл из образа средства выполнения, за исключением [ключей, которые Claude Code читает из каждого источника администратора](/docs/ru/managed-settings#keys-read-from-every-admin-source), таких как блок `env`, блокировки песочницы, пути к исполняемым файлам песочницы и `forceRemoteSettingsRefresh`. См. [приоритет настроек](/docs/ru/settings#settings-precedence).

575 575 

576Когда плоскость управления Anthropic предоставляет сеансу [хуки Claude Code](/docs/ru/hooks), средство выполнения устанавливает их рядом, а не над вашей собственной конфигурацией. Требует Claude Code v2.1.229 или позже.576Когда плоскость управления Anthropic предоставляет сеансу [хуки Claude Code](/docs/ru/hooks), средство выполнения устанавливает их рядом, а не над вашей собственной конфигурацией. Требует Claude Code v2.1.229 или позже.

577 577 


583 583 

584Снимок `~/.claude/` хоста, который делает средство выполнения, не включает каталог `projects/`. Место хранения автоматической памяти по умолчанию находится внутри этого каталога. Если вы поместите туда файлы памяти, средство выполнения не перенесёт их в сессии, и они не включат автоматическую память.584Снимок `~/.claude/` хоста, который делает средство выполнения, не включает каталог `projects/`. Место хранения автоматической памяти по умолчанию находится внутри этого каталога. Если вы поместите туда файлы памяти, средство выполнения не перенесёт их в сессии, и они не включат автоматическую память.

585 585 

586<h3 id="repository-settings-in-sessions-with-several-repositories">

587 Настройки репозиториев в сессиях с несколькими репозиториями

588</h3>

589 

590В сессии с несколькими репозиториями Claude Code читает настройки проекта из каталога, в котором запускается сессия, поэтому как настройки проекта действует `.claude/settings.json` не более чем одного репозитория. Хук, определённый в файле другого репозитория, не выполняется, правило deny в нём не применяется, а его `env` не задаётся.

591 

592* **`--capacity 1` (по умолчанию) со встроенным извлечением репозиториев**: сессия запускается в первом репозитории из своего списка репозиториев. `.claude/settings.json` этого репозитория действует как настройки проекта, и загружается его `.mcp.json`, а файлы остальных репозиториев — нет.

593* **`--capacity` больше единицы или [хук `checkout`](#checkout)**: сессия запускается в отдельном каталоге сессии, содержащем извлечённые репозитории. Ни один `.claude/settings.json` репозиториев не действует как настройки проекта, ни один `.mcp.json` репозиториев не загружается, а [`$CLAUDE_PROJECT_DIR`](/docs/ru/hooks#reference-scripts-by-path) в команде хука указывает на этот каталог, а не на извлечённый репозиторий.

594 

595`CLAUDE.md` и скиллы каждого репозитория загружаются независимо от того, где запускается сессия. Средство выполнения передаёт каждый репозиторий в Claude Code как [дополнительный каталог](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration), поэтому Claude Code также читает ключи `enabledPlugins` и `extraKnownMarketplaces` из `.claude/settings.json` каждого репозитория.

596 

597Чтобы хук выполнялся или правило разрешений применялось в каждой сессии, поместите его в `~/.claude/settings.json` на хосте средства выполнения. Средство выполнения [переносит файл хоста в каждую сессию](#how-each-session’s-config-is-assembled), где бы сессия ни запускалась. Указывайте путь в правиле `Read` или `Edit` как абсолютный [шаблон](/docs/ru/permissions#read-and-edit) с `//` или шаблон относительно домашнего каталога с `~/`, поскольку другие шаблоны привязываются к источнику настроек или к текущему каталогу.

598 

586<h3 id="repository-committed-permission-rules">599<h3 id="repository-committed-permission-rules">

587 Правила разрешений, зафиксированные в репозитории600 Правила разрешений, зафиксированные в репозитории

588</h3>601</h3>

Details

87 87 

88 Поскольку hooks выполняют команды оболочки, пользователи в интерактивных сеансах видят [диалог одобрения безопасности](#security-approval-dialogs) перед тем, как Claude Code применит их.88 Поскольку hooks выполняют команды оболочки, пользователи в интерактивных сеансах видят [диалог одобрения безопасности](#security-approval-dialogs) перед тем, как Claude Code применит их.

89 89 

90 Чтобы настроить [классификатор режима автоматизации](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) так, чтобы он знал, какие репозитории, бакеты и домены доверяет ваша организация, доставьте блок `autoMode` таким же образом; см. [Настройка режима автоматизации](/docs/ru/auto-mode-config) для информации о том, как записи `autoMode` влияют на то, что блокирует классификатор, и важные предупреждения о полях `environment`, `allow`, `soft_deny` и `hard_deny`.90 Чтобы настроить классификатор [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) так, чтобы он знал, каким репозиториям, бакетам и доменам доверяет ваша организация, доставьте блок `autoMode` таким же образом; см. [Настройка авторежима](/docs/ru/auto-mode-config) для информации о том, как записи `autoMode` влияют на то, что блокирует классификатор, и важные предупреждения о полях `environment`, `allow`, `soft_deny` и `hard_deny`.

91 </Step>91 </Step>

92 92 

93 <Step title="Сохраните и разверните">93 <Step title="Сохраните и разверните">

94 Сохраните ваши изменения. Клиенты Claude Code получат обновленные параметры при следующем запуске или в цикле опроса каждый час.94 Сохраните ваши изменения. Клиенты Claude Code получат обновленные настройки при следующем запуске или в цикле опроса каждый час.

95 

96 Редактор проверяет ваш JSON по опубликованной JSON-схеме настроек Claude Code. Если он находит проблему в JSON, который успешно разбирается, он показывает предупреждение и меняет надпись на кнопке сохранения. Надпись будет **Update with errors**, если настройки уже сохранены, и **Add with errors**, если настройки еще не сохранены. Эта кнопка все равно сохраняет, поскольку предупреждение схемы не блокирует сохранение.

97 

98 Схема [может отставать от новейших релизов](/docs/ru/settings#edit-a-settings-file), поэтому редактор может пометить ключ или значение, которые описаны в [справочнике настроек](/docs/ru/settings-reference#all-settings). Claude Code получает сохраненные вами ключи и значения и выполняет [собственную проверку](#invalid-entries-in-delivered-settings) при их загрузке.

95 </Step>99 </Step>

96</Steps>100</Steps>

97 101 

settings.md +39 −39

Details

397<span id="where-settings-live" />397<span id="where-settings-live" />

398 398 

399<h2 id="settings-files-and-who-they-affect">399<h2 id="settings-files-and-who-they-affect">

400 Файлы параметров и кого они затрагивают400 Файлы настроек и кого они затрагивают

401</h2>401</h2>

402 402 

403Claude Code читает настройки из четырёх файлов, и организация также может доставлять управляемые настройки из консоли claude.ai. Каждый источник имеет область действия: круг людей и проектов, к которым применяется сохранённая в нём настройка, будь то только вы, все в проекте или все в вашей организации.403Claude Code читает настройки из четырёх файлов, и организация также может доставлять управляемые настройки из консоли claude.ai. Каждый источник имеет область действия: круг людей и проектов, к которым применяется сохранённая в нём настройка, будь то только вы, все в проекте или все в вашей организации.


405| Область действия | Файл | Кого это затрагивает | Используйте для |405| Область действия | Файл | Кого это затрагивает | Используйте для |

406| :- | :- | :- | :- |406| :- | :- | :- | :- |

407| Пользователь | `~/.claude/settings.json` | Вас, в каждом проекте на этой машине | Личные предпочтения: тема, режим редактора, модель по умолчанию, ваши собственные правила разрешений |407| Пользователь | `~/.claude/settings.json` | Вас, в каждом проекте на этой машине | Личные предпочтения: тема, режим редактора, модель по умолчанию, ваши собственные правила разрешений |

408| Общий проект | `.claude/settings.json` | Всех, кто работает в папке, которая его содержит. В репозитории git зафиксируйте его, чтобы товарищи по команде его получили | Разрешения команды, hooks, plugins и переменные окружения, которые нужны проекту |408| Общий проект | `.claude/settings.json` | Всех, кто работает в папке, которая его содержит. В репозитории git сделайте его коммит, чтобы товарищи по команде его получили | Разрешения команды, хуки, плагины и переменные окружения, которые нужны проекту |

409| Локальный проект | `.claude/settings.local.json` | Вас, только в этом одном проекте. Claude Code исключает его из git при создании файла; если вы создадите его вручную, добавьте его в `.gitignore` сами | Личные переопределения для одного проекта и тестирование перед тем, как вы поделитесь |409| Локальный проект | `.claude/settings.local.json` | Вас, только в этом одном проекте. Claude Code исключает его из git при создании файла; если вы создадите его вручную, добавьте его в `.gitignore` сами | Личные переопределения для одного проекта и тестирование перед тем, как вы поделитесь |

410| Управляемый | `managed-settings.json` и другие [управляемые источники](/docs/ru/managed-settings#delivery-mechanisms) | Всех, кому ваша организация его развёртывает; раздел [Приоритет настроек](#settings-precedence) описывает, что может его переопределить | Требования политики безопасности и соответствия |410| Управляемый | `managed-settings.json` и другие [управляемые источники](/docs/ru/managed-settings#delivery-mechanisms) | Всех, кому ваша организация его развёртывает; раздел [Приоритет настроек](#settings-precedence) описывает, что может его переопределить | Требования политики безопасности и соответствия |

411 411 

412В столбце File `~/.claude` — это папка `.claude` в вашем домашнем каталоге, а простой `.claude` — это папка `.claude` внутри вашего проекта.412В столбце «Файл» `~/.claude` — это папка `.claude` в вашем домашнем каталоге, а просто `.claude` — это папка `.claude` внутри вашего проекта.

413 413 

414<span id="where-each-file-applies" />414<span id="where-each-file-applies" />

415 415 

416<span id="compare-what-each-file-reaches" />416<span id="compare-what-each-file-reaches" />

417 417 

418<h3 id="compare-the-scope-of-each-settings-file">418<h3 id="compare-the-scope-of-each-settings-file">

419 Сравните область действия каждого файла параметров419 Сравните область действия каждого файла настроек

420</h3>420</h3>

421 421 

422Предположим, у вас есть три проекта на вашей машине: `website/`, `api/` и `acme-app/`, товарищ по команде имеет свой собственный клон `acme-app/`, и вы запускаете [облачный сеанс](#settings-in-cloud-sessions) на `acme-app/`.422Предположим, у вас есть три проекта на вашей машине: `website/`, `api/` и `acme-app/`, у товарища по команде есть свой собственный клон `acme-app/`, и вы запускаете [облачную сессию](#settings-in-cloud-sessions) для `acme-app/`.

423 423 

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

425 425 

426<SettingsScope />426<SettingsScope />

427 427 

428* **`~/.claude/settings.json`**: каждый проект на вашей машине, и ничего на машине вашего товарища или в облачном сеансе428* **`~/.claude/settings.json`**: каждый проект на вашей машине, и ничего на машине вашего товарища или в облачной сессии

429* **`acme-app/.claude/settings.json`**: ваш `acme-app/`. Он охватывает клон вашего товарища и облачный сеанс только если вы зафиксируете файл в системе контроля версий; до этого это файл на вашем диске, как и любой другой, и никто другой его не имеет429* **`acme-app/.claude/settings.json`**: ваш `acme-app/`. Он охватывает клон вашего товарища и облачную сессию, только если вы зафиксируете файл в системе контроля версий; до этого это файл на вашем диске, как и любой другой, и ни у кого больше его нет

430* **`acme-app/.claude/settings.local.json`**: только ваш `acme-app/`. Claude Code добавляет его в ваши глобальные исключения git при первом написании файла, поэтому он остаётся вне ваших коммитов; если вы создадите файл вручную, [добавьте его в `.gitignore` сами](#keep-personal-settings-out-of-a-repository)430* **`acme-app/.claude/settings.local.json`**: только ваш `acme-app/`. Claude Code добавляет его в ваши глобальные исключения git при первой записи файла, поэтому он остаётся вне ваших коммитов; если вы создадите файл вручную, [добавьте его в `.gitignore` сами](#keep-personal-settings-out-of-a-repository)

431* **Управляемые параметры**, будь то файл `managed-settings.json`, политика MDM или [управляемые сервером параметры](/docs/ru/server-managed-settings) из консоли claude.ai: каждый проект на каждой машине, на которую ваша организация его развёртывает, или на которую вы входите с учётной записью вашей организации. Только управляемые сервером параметры охватывают облачный сеанс431* **Управляемые настройки**, будь то файл `managed-settings.json`, политика MDM или [управляемые сервером настройки](/docs/ru/server-managed-settings) из консоли claude.ai: каждый проект на каждой машине, на которую ваша организация их развёртывает, или на которую вы входите с учётной записью вашей организации. Только управляемые сервером настройки охватывают облачную сессию

432 432 

433<span id="which-files-you-have" />433<span id="which-files-you-have" />

434 434 

435<h3 id="find-or-create-your-settings-files">435<h3 id="find-or-create-your-settings-files">

436 Найдите или создайте ваши файлы параметров436 Найдите или создайте ваши файлы настроек

437</h3>437</h3>

438 438 

439Установка Claude Code не создаёт никакой файл параметров. Если на вашей машине или в проекте уже есть один, он пришёл из одного из этих источников:439Установка Claude Code не создаёт никакого файла настроек. Если на вашей машине или в проекте он уже есть, он пришёл из одного из этих источников:

440 440 

441* **Управляемый**: ваша организация его развёртывает. Вы его не создаёте и не редактируете.441* **Управляемый**: ваша организация его развёртывает. Вы его не создаёте и не редактируете.

442* **Общий проект**: проект, который уже использует Claude Code, может иметь один зафиксированный. Если нет, создайте его в `.claude/settings.json` в папке проекта.442* **Общий проект**: в проекте, который уже использует Claude Code, он может быть зафиксирован. Если нет, создайте его в `.claude/settings.json` в папке проекта.

443* **Пользователь** и **Локальный проект**: создайте их сами или позвольте Claude Code их создать. Он записывает `~/.claude/settings.json` при первом изменении опции в меню `/config`, которую он сохраняет в пользовательские параметры, такой как тема, и `.claude/settings.local.json` при первом предоставлении постоянного одобрения на запрос разрешения, такой как "Да, и больше не спрашивайте" для команды Bash. Несколько опций `/config`, включая **Show tips**, сохраняются в `.claude/settings.local.json` вместо файла пользователя.443* **Пользователь** и **Локальный проект**: создайте их сами или позвольте Claude Code их создать. Он записывает `~/.claude/settings.json` при первом изменении опции в меню `/config`, которую он сохраняет в пользовательские настройки, например темы, и `.claude/settings.local.json` при первом предоставлении постоянного подтверждения на запрос разрешения, например "Да, и больше не спрашивайте" для команды Bash. Несколько опций `/config`, включая **Show tips**, сохраняются в `.claude/settings.local.json` вместо файла пользователя.

444 444 

445<Info>445<Info>

446 На Windows `~/.claude` означает `%USERPROFILE%\.claude`. Чтобы хранить файлы домашнего каталога в другом месте, установите [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars); Claude Code затем сохраняет ваши параметры, историю сеансов и plugins там вместо этого.446 В Windows `~/.claude` означает `%USERPROFILE%\.claude`. Чтобы хранить файлы домашнего каталога в другом месте, установите [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars); тогда Claude Code будет сохранять ваши настройки, историю сессий и плагины там.

447</Info>447</Info>

448 448 

449Claude Code также хранит пятый файл, [`~/.claude.json`](/docs/ru/claude-directory#ce-claude-json), который он записывает для себя; вам не нужно его редактировать. Он содержит вашу сессию входа, конфигурации [MCP server](/docs/ru/mcp), состояние для каждого проекта, такое как решения о доверии, и [глобальные ключи конфигурации](/docs/ru/settings-reference#global-config-settings), которые `/config` записывает для вас.449Claude Code также хранит пятый файл, [`~/.claude.json`](/docs/ru/claude-directory#ce-claude-json), который он записывает для себя; вам не нужно его редактировать. Он содержит вашу сессию входа, конфигурации [MCP-серверов](/docs/ru/mcp), состояние для каждого проекта, такое как решения о доверии, и [глобальные ключи конфигурации](/docs/ru/settings-reference#global-config-settings), которые `/config` записывает для вас.

450 450 

451<h3 id="share-settings-with-your-team">451<h3 id="share-settings-with-your-team">

452 Поделитесь параметрами с вашей командой452 Поделитесь настройками с вашей командой

453</h3>453</h3>

454 454 

455Зафиксируйте `.claude/settings.json`, чтобы все, кто клонирует репозиторий, получили одинаковые разрешения, hooks и plugins. Каждый товарищ по команде всё ещё может переопределить его для себя в своём собственном `.claude/settings.local.json`, поэтому личные исключения не нуждаются в коммите. Для полного файла команды см. [общие параметры команды](/docs/ru/settings-example#a-teams-shared-settings).455Сделайте коммит `.claude/settings.json`, чтобы все, кто клонирует репозиторий, получили одинаковые разрешения, хуки и плагины. Каждый товарищ по команде всё ещё может переопределить его для себя в своём собственном `.claude/settings.local.json`, поэтому личные исключения не требуют коммита. Полный файл команды см. в разделе [общие настройки команды](/docs/ru/settings-example#a-teams-shared-settings).

456 456 

457Некоторые из того, что вы зафиксируете, ждут, пока каждый товарищ по команде [доверит папку](/docs/ru/permissions#project-allow-rules-and-workspace-trust), и несколько ключей никогда не вступают в силу из файла репозитория; [Troubleshoot a setting that doesn't apply](#common-cases) охватывает оба случая.457Часть того, что вы зафиксируете, ждёт, пока каждый товарищ по команде [доверит папку](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а некоторые ключи никогда не вступают в силу из файла репозитория; раздел [Устранение неполадок с настройкой, которая не применяется](#common-cases) охватывает оба случая.

458 458 

459<span id="local-settings-file" />459<span id="local-settings-file" />

460 460 


465<span id="keep-personal-settings-out-of-the-repository" />465<span id="keep-personal-settings-out-of-the-repository" />

466 466 

467<h3 id="keep-personal-settings-out-of-a-repository">467<h3 id="keep-personal-settings-out-of-a-repository">

468 Держите личные параметры вне репозитория468 Держите личные настройки вне репозитория

469</h3>469</h3>

470 470 

471Чтобы изменить параметр для себя в одном проекте без изменения его для товарищей по команде, сохраните его в `.claude/settings.local.json` внутри проекта. Claude Code применяет этот файл поверх зафиксированного `.claude/settings.json`, поэтому если файл вашей команды устанавливает `"model": "claude-sonnet-5"` и вы хотите Opus, поместите `"model": "claude-opus-5-5"` в ваш локальный файл и только ваши сеансы изменятся.471Чтобы изменить настройку для себя в одном проекте, не меняя её для товарищей по команде, сохраните её в `.claude/settings.local.json` внутри проекта. Claude Code применяет этот файл поверх зафиксированного `.claude/settings.json`, поэтому если файл вашей команды устанавливает `"model": "claude-sonnet-5"`, а вы хотите Opus, поместите `"model": "claude-opus-5-5"` в ваш локальный файл, и изменятся только ваши сессии.

472 472 

473Claude Code также записывает в этот файл, держит его вне ваших коммитов и применяет его правила разрешений без шага доверия:473Claude Code также записывает в этот файл, держит его вне ваших коммитов и применяет его правила allow без шага доверия:

474 474 

475* **Claude Code также его записывает.** Когда Claude просит разрешение запустить команду Bash и вы выбираете "Да, и больше не спрашивайте", Claude Code сохраняет это [одобрение разрешения](/docs/ru/permissions#permission-system) здесь как правило `allow`.475* **Claude Code также его записывает.** Когда Claude запрашивает разрешение на запуск команды Bash и вы выбираете "Да, и больше не спрашивайте", Claude Code сохраняет это [подтверждение разрешения](/docs/ru/permissions#permission-system) здесь как правило `allow`.

476* **Вам не нужно его gitignore самостоятельно, если только вы не создали его вручную.** При первом написании файла Claude Code в репозитории git, который его ещё не игнорирует, он добавляет `**/.claude/settings.local.json` в ваш глобальный файл исключений git, поэтому файл остаётся вне ваших коммитов в каждом репозитории. Этот файл — это `core.excludesFile`, когда ваша глобальная конфигурация git устанавливает его на абсолютный путь или путь с префиксом `~`; в противном случае это `$XDG_CONFIG_HOME/git/ignore`, или `~/.config/git/ignore`, когда `XDG_CONFIG_HOME` не установлен. Если вы создали файл вручную и Claude Code ещё не писал в него, добавьте его в `.gitignore` сами.476* **Вам не нужно самостоятельно добавлять его в gitignore, если только вы не создали его вручную.** При первой записи файла Claude Code в репозитории git, который его ещё не игнорирует, он добавляет `**/.claude/settings.local.json` в ваш глобальный файл исключений git, поэтому файл остаётся вне ваших коммитов в каждом репозитории. Этот файл — `core.excludesFile`, когда ваша глобальная конфигурация git задаёт для него абсолютный путь или путь с префиксом `~`; в противном случае это `$XDG_CONFIG_HOME/git/ignore` или `~/.config/git/ignore`, когда `XDG_CONFIG_HOME` не установлен. Если вы создали файл вручную и Claude Code ещё не писал в него, добавьте его в `.gitignore` сами.

477* **Его правила allow не ждут доверия, пока файл остаётся неотслеживаемым.** Поскольку файл принадлежит вам, а не репозиторию, Claude Code применяет его правила `allow` без шага [workspace trust](/docs/ru/permissions#project-allow-rules-and-workspace-trust), который он требует для зафиксированного файла. Если файл отслеживается git, шаг доверия применяется к нему также; см. [When your local settings file needs trust](/docs/ru/permissions#when-your-local-settings-file-needs-trust).477* **Его правила allow не ждут доверия, пока файл остаётся неотслеживаемым.** Поскольку файл принадлежит вам, а не репозиторию, Claude Code применяет его правила `allow` без шага [доверия к рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), который он требует для зафиксированного файла. Если файл отслеживается git, шаг доверия применяется и к нему; см. [Когда вашему локальному файлу настроек нужно доверие](/docs/ru/permissions#when-your-local-settings-file-needs-trust).

478 478 

479<span id="where-claude-code-looks-for-each-file" />479<span id="where-claude-code-looks-for-each-file" />

480 480 


486 Где Claude Code хранит локальный файл в репозитории git486 Где Claude Code хранит локальный файл в репозитории git

487</h4>487</h4>

488 488 

489Когда Claude просит разрешение запустить команду Bash и вы выбираете "Да, и больше не спрашивайте", Claude Code сохраняет это одобрение как правило `allow` в `.claude/settings.local.json`. Если вы запускаете Claude Code в подкаталоге репозитория git, он читает и записывает этот файл в корень репозитория и применяет одобрение по всему репозиторию. В [worktree](/docs/ru/worktrees) он использует файл в корне основного checkout.489Когда Claude запрашивает разрешение на запуск команды Bash и вы выбираете "Да, и больше не спрашивайте", Claude Code сохраняет это подтверждение как правило `allow` в `.claude/settings.local.json`. Если вы запускаете Claude Code в подкаталоге репозитория git, он читает и записывает этот файл в корне репозитория и применяет подтверждение ко всему репозиторию. В [worktree](/docs/ru/worktrees) он использует файл в корне основного checkout.

490 490 

491Два правила уточняют расположение корня:491Два правила уточняют расположение в корне:

492 492 

493* **Когда файл остаётся с `.claude/settings.json` вместо этого**: вне репозитория git, когда корень репозитория — это ваш домашний каталог, на Windows или когда корень репозитория или его запись `.git` или `.claude` не принадлежит вашему пользователю.493* **Когда файл вместо этого остаётся рядом с `.claude/settings.json`**: вне репозитория git, когда корень репозитория — это ваш домашний каталог, в Windows или когда корень репозитория либо его запись `.git` или `.claude` не принадлежит вашему пользователю.

494* **Пути в файле не привязаны к корню репозитория**: правило разрешения, которое начинается с `/` или относительный путь sandbox [привязывается к основному рабочему каталогу сеанса](/docs/ru/permissions#read-and-edit) вместо этого.494* **Пути в файле не привязаны к корню репозитория**: правило разрешений, которое начинается с `/`, или относительный путь песочницы [привязывается вместо этого к основному рабочему каталогу сессии](/docs/ru/permissions#read-and-edit).

495 495 

496До v2.1.211 Claude Code хранил файл в начальном каталоге. Он всё ещё читает файл, который более ранняя версия оставила там рядом с файлом корня; где оба устанавливают один и тот же ключ, применяется значение корня, и правила разрешений из обоих файлов применяются. Помощник Agent SDK [`resolveSettings()`](/docs/ru/agent-sdk/typescript#resolvesettings) всегда читает файл из начального каталога.496До v2.1.211 Claude Code хранил файл в начальном каталоге. Он всё ещё читает файл, который более ранняя версия оставила там, наряду с файлом в корне; если оба задают один и тот же ключ, применяется значение из корня, а правила разрешений из обоих файлов применяются. Вспомогательная функция Agent SDK [`resolveSettings()`](/docs/ru/agent-sdk/typescript#resolvesettings) всегда читает файл из начального каталога.

497 497 

498Claude Code читает общий `.claude/settings.json` из [основного рабочего каталога](/docs/ru/permissions#working-directories) сеанса, поэтому для использования файла, зафиксированного в корне репозитория, запустите Claude Code там. После того как вы [переместите сеанс с `/cd`](/docs/ru/permissions#move-the-session-to-another-directory), Claude Code читает оба файла проекта из нового каталога вместо этого, размещая локальный файл по тем же правилам. Чтение их из каталога, в который вы переместились, требует Claude Code v2.1.246 или позже.498Claude Code читает общий `.claude/settings.json` из [основного рабочего каталога](/docs/ru/permissions#working-directories) сессии, поэтому, чтобы использовать файл, зафиксированный в корне репозитория, запустите Claude Code там. После того как вы [переместите сессию с помощью `/cd`](/docs/ru/permissions#move-the-session-to-another-directory), Claude Code читает оба файла проекта из нового каталога, размещая локальный файл по тем же правилам. Чтение их из каталога, в который вы переместились, требует Claude Code v2.1.246 или более поздней версии.

499 499 

500<span id="managed-settings-delivery" />500<span id="managed-settings-delivery" />

501 501 


508<span id="settings-your-organization-manages" />508<span id="settings-your-organization-manages" />

509 509 

510<h3 id="check-what-your-organization-enforces">510<h3 id="check-what-your-organization-enforces">

511 Проверьте, что ваша организация требует511 Проверьте, что требует ваша организация

512</h3>512</h3>

513 513 

514Если ваша организация управляет Claude Code, некоторые параметры решены за вас и ничто из того, что вы поместили в ваши собственные файлы, их не изменяет. Чтобы увидеть, какие, запустите `/status`: строка `Setting sources` называет управляемый источник, который применяется к вам. Управляемые параметры применяются везде, где Claude Code работает на этой машине; [What a developer can change](/docs/ru/managed-settings#what-a-developer-can-change) охватывает права локального администратора и инструменты, отличные от Claude Code.514Если ваша организация управляет Claude Code, некоторые настройки определены за вас, и ничто из того, что вы поместите в ваши собственные файлы, их не изменит. Чтобы увидеть, какие именно, запустите `/status`: строка `Setting sources` называет управляемый источник, который применяется к вам. Управляемые настройки применяются везде, где Claude Code работает на этой машине; раздел [Что может изменить разработчик](/docs/ru/managed-settings#what-a-developer-can-change) охватывает права локального администратора и инструменты, отличные от Claude Code.

515 515 

516Управляемые параметры достигают вас через [механизмы доставки](/docs/ru/managed-settings#delivery-mechanisms) на странице управляемых параметров, чаще всего:516Управляемые настройки доходят до вас через [механизмы доставки](/docs/ru/managed-settings#delivery-mechanisms), описанные на странице управляемых настроек, чаще всего:

517 517 

518* [Server-managed settings](/docs/ru/server-managed-settings), которые Claude Code получает из консоли администратора claude.ai или самостоятельно размещённого [Claude apps gateway](/docs/ru/claude-apps-gateway)518* [Управляемые сервером настройки](/docs/ru/server-managed-settings), которые Claude Code получает из консоли администратора claude.ai или из самостоятельно размещённого [шлюза приложений Claude](/docs/ru/claude-apps-gateway)

519* Политики MDM или уровня ОС и файлы `managed-settings.json` в системном каталоге519* Политики MDM или уровня ОС и файлы `managed-settings.json` в системном каталоге

520* Хост встраивания, такой как Claude Desktop, через опцию SDK `managedSettings`; см. [Control policy from an embedding host](/docs/ru/managed-settings#parent-settings-from-embedding-hosts)520* Встраивающий хост, такой как Claude Desktop, через опцию SDK `managedSettings`; см. [Управление политикой из встраивающего хоста](/docs/ru/managed-settings#parent-settings-from-embedding-hosts)

521 521 

522В сеансе [Cowork](https://claude.com/docs/cowork/overview), который работает на вашей машине в приложении Claude Desktop, Claude Code не получает управляемые сервером параметры из консоли администратора claude.ai и читает политику, развёрнутую на вашем устройстве, если конфигурация Claude Desktop вашей организации не устанавливает `requireCoworkFullVmSandbox`. [Where and when a policy applies](/docs/ru/managed-settings#where-and-when-a-policy-applies) охватывает Cowork и облачные сеансы.522В сессии [Cowork](https://claude.com/docs/cowork/overview), которая работает на вашей машине в приложении Claude Desktop, Claude Code не получает управляемые сервером настройки из консоли администратора claude.ai и читает политику, развёрнутую на вашем устройстве, если только конфигурация Claude Desktop вашей организации не устанавливает `requireCoworkFullVmSandbox`. Раздел [Где и когда применяется политика](/docs/ru/managed-settings#where-and-when-a-policy-applies) охватывает Cowork и облачные сессии.

523 523 

524Если вы администратор, [Set up Claude Code for your organization](/docs/ru/admin-setup) проходит через выбор того, что требуется применить, и [Deploy managed settings](/docs/ru/managed-settings) охватывает доставку и как подтвердить, что политика действует.524Если вы администратор, руководство [Настройка Claude Code для вашей организации](/docs/ru/admin-setup) проводит через выбор того, что требовать, а [Развёртывание управляемых настроек](/docs/ru/managed-settings) охватывает доставку и то, как подтвердить, что политика действует. Сведения о предупреждении, которое может показывать редактор управляемых настроек в консоли администратора claude.ai, см. в разделе [Настройка управляемых сервером настроек](/docs/ru/server-managed-settings#configure-server-managed-settings).

525 525 

526<h2 id="change-a-setting">526<h2 id="change-a-setting">

527 Измените параметр527 Измените параметр


809 809 

810[Облачный сеанс](/docs/ru/claude-code-on-the-web) работает в [облачной среде](/docs/ru/cloud-environments) на свежем клоне вашего репозитория, не на вашей машине. Это изменяет, какие параметры его достигают:810[Облачный сеанс](/docs/ru/claude-code-on-the-web) работает в [облачной среде](/docs/ru/cloud-environments) на свежем клоне вашего репозитория, не на вашей машине. Это изменяет, какие параметры его достигают:

811 811 

812* **Общие параметры проекта** (`.claude/settings.json`): читаются в сеансе с одним репозиторием, потому что файл является частью клона и сеанс начинается внутри него. Зафиксируйте параметр там, чтобы применить его в этих сеансах. Сеанс с несколькими репозиториями начинается выше клонов и читает только ключи `enabledPlugins` и `extraKnownMarketplaces` из файла `.claude/settings.json` каждого репозитория, но не правила разрешений, hooks, `env` или другие ключи. Маркетплейсы и плагины, которые эти два ключа объявляют, по-прежнему [не загружаются в облачном сеансе](/docs/ru/cloud-environments#what-carries-over-from-your-setup).812* **Общие настройки проекта** (`.claude/settings.json`): читаются в сессии с одним репозиторием, потому что файл является частью клона и сессия начинается внутри него. Сделайте коммит настройки в этот файл, чтобы применить её в таких сессиях. В среде, размещённой Anthropic, сессия с несколькими репозиториями начинается выше клонов и читает только ключи `enabledPlugins` и `extraKnownMarketplaces` из файла `.claude/settings.json` каждого репозитория, но не правила разрешений, хуки, `env` или другие ключи. Маркетплейсы и плагины, которые объявляют эти два ключа, по-прежнему [не загружаются в облачной сессии](/docs/ru/cloud-environments#what-carries-over-from-your-setup). Для самостоятельно размещённой среды см. раздел [настройки какого репозитория применяются](/docs/ru/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

813* **Параметры пользователя и локальные параметры проекта** (`~/.claude/settings.json` и `.claude/settings.local.json`): не читаются. Оба остаются на вашей машине, и локальный файл не находится в клоне.813* **Параметры пользователя и локальные параметры проекта** (`~/.claude/settings.json` и `.claude/settings.local.json`): не читаются. Оба остаются на вашей машине, и локальный файл не находится в клоне.

814* **Managed settings**: файл `managed-settings.json` или профиль MDM на вашем устройстве не достигают облачного сеанса. [Параметры, управляемые сервером](/docs/ru/server-managed-settings) вашей организации достигают; [покрытие поверхности](/docs/ru/model-config#surface-coverage) перечисляет, какие облачные сеансы их получают. [Самостоятельно размещенная среда](/docs/ru/self-hosted-environments) также читает файл управляемых параметров в образе своего runner. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, когда этот файл применяется.814* **Managed settings**: файл `managed-settings.json` или профиль MDM на вашем устройстве не достигают облачного сеанса. [Параметры, управляемые сервером](/docs/ru/server-managed-settings) вашей организации достигают; [покрытие поверхности](/docs/ru/model-config#surface-coverage) перечисляет, какие облачные сеансы их получают. [Самостоятельно размещенная среда](/docs/ru/self-hosted-environments) также читает файл управляемых параметров в образе своего runner. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) говорит, когда этот файл применяется.

815* **`/config`**: в вашем браузере на claude.ai/code открывает раздел Claude Code ваших параметров claude.ai вместо изменения значения. Чтобы изменить параметр для облачного сеанса, установите [переменную окружения](/docs/ru/cloud-environments#set-environment-variables) в среде или в сеансе с одним репозиторием зафиксируйте ключ в файле `.claude/settings.json` этого репозитория.815* **`/config`**: в вашем браузере на claude.ai/code открывает раздел Claude Code ваших параметров claude.ai вместо изменения значения. Чтобы изменить параметр для облачного сеанса, установите [переменную окружения](/docs/ru/cloud-environments#set-environment-variables) в среде или в сеансе с одним репозиторием зафиксируйте ключ в файле `.claude/settings.json` этого репозитория.

setup.md +20 −10

Details

638 638 

639Чтобы удалить Claude Code, следуйте инструкциям для вашего метода установки. Если `claude` все еще работает после этого, у вас, вероятно, есть вторая установка или оставшийся псевдоним оболочки из старого установщика. См. [Проверка конфликтующих установок](/docs/ru/troubleshoot-install#check-for-conflicting-installations), чтобы найти и удалить его.639Чтобы удалить Claude Code, следуйте инструкциям для вашего метода установки. Если `claude` все еще работает после этого, у вас, вероятно, есть вторая установка или оставшийся псевдоним оболочки из старого установщика. См. [Проверка конфликтующих установок](/docs/ru/troubleshoot-install#check-for-conflicting-installations), чтобы найти и удалить его.

640 640 

641<h3 id="native-installation">641<span id="native-installation" />

642 Встроенная установка642 

643<h3 id="uninstall-a-native-installation">

644 Удаление встроенной установки

643</h3>645</h3>

644 646 

645Удалите двоичный файл Claude Code и файлы версии:647Удалите двоичный файл Claude Code и файлы версии:


660 </Tab>662 </Tab>

661</Tabs>663</Tabs>

662 664 

663<h3 id="homebrew-installation">665<span id="homebrew-installation" />

664 Установка Homebrew666 

667<h3 id="uninstall-with-homebrew">

668 Удаление с помощью Homebrew

665</h3>669</h3>

666 670 

667Удалите cask Homebrew, который вы установили. Если вы установили стабильный cask:671Удалите cask Homebrew, который вы установили. Если вы установили стабильный cask:


676brew uninstall --cask claude-code@latest680brew uninstall --cask claude-code@latest

677```681```

678 682 

679<h3 id="winget-installation">683<span id="winget-installation" />

680 Установка WinGet684 

685<h3 id="uninstall-with-winget">

686 Удаление с помощью WinGet

681</h3>687</h3>

682 688 

683Удалите пакет WinGet:689Удалите пакет WinGet:


686winget uninstall Anthropic.ClaudeCode692winget uninstall Anthropic.ClaudeCode

687```693```

688 694 

689<h3 id="apt-/-dnf-/-apk">695<span id="apt-/-dnf-/-apk" />

690 apt / dnf / apk696 

697<h3 id="uninstall-with-apt-dnf-or-apk">

698 Удаление с помощью apt, dnf или apk

691</h3>699</h3>

692 700 

693Удалите пакет и конфигурацию репозитория:701Удалите пакет и конфигурацию репозитория:


716 </Tab>724 </Tab>

717</Tabs>725</Tabs>

718 726 

719<h3 id="npm">727<span id="npm" />

720 npm728 

729<h3 id="uninstall-with-npm">

730 Удаление с помощью npm

721</h3>731</h3>

722 732 

723Удалите глобальный пакет npm:733Удалите глобальный пакет npm:

skills.md +2 −0

Details

94| `migrate` | Обновить ваш существующий код Claude API на более новую модель | Ранее v2.1.221 |94| `migrate` | Обновить ваш существующий код Claude API на более новую модель | Ранее v2.1.221 |

95| `upgrade` | Переместить зависимость Anthropic SDK вашего проекта через основную версию, в настоящее время пакет Python `anthropic` с 0.x на 1.x | v2.1.236 или позже |95| `upgrade` | Переместить зависимость Anthropic SDK вашего проекта через основную версию, в настоящее время пакет Python `anthropic` с 0.x на 1.x | v2.1.236 или позже |

96| `managed-agents-onboard` | Пройти через создание нового Managed Agent | Ранее v2.1.221 |96| `managed-agents-onboard` | Пройти через создание нового Managed Agent | Ранее v2.1.221 |

97| `managed-agents-onboard <url>` | Создать Managed Agent, описанный на странице по указанному URL, например на странице в [документации Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 или позже |

98| `managed-agents-onboard <quickstart-name>` | Создать один из шаблонов быстрого старта Console, например `deep-researcher`. Если вы укажете одно слово, которое не является именем шаблона, Claude перечислит допустимые имена | v2.1.290 или позже |

97| `prompt-audit` | Отметить инструкции, написанные для более старых моделей в ваших промптах, skills и описаниях инструментов, и предложить исправления в виде diff | v2.1.221 или позже |99| `prompt-audit` | Отметить инструкции, написанные для более старых моделей в ваших промптах, skills и описаниях инструментов, и предложить исправления в виде diff | v2.1.221 или позже |

98| `cost-optimize` | Профилировать, куда идут расходы Claude API вашего проекта, и предложить экономию из таких опций, как кэширование промптов, сокращение ненужных входных и выходных токенов, пакетная обработка, усилие и выбор модели, по одному изменению за раз | v2.1.247 или позже |100| `cost-optimize` | Профилировать, куда идут расходы Claude API вашего проекта, и предложить экономию из таких опций, как кэширование промптов, сокращение ненужных входных и выходных токенов, пакетная обработка, усилие и выбор модели, по одному изменению за раз | v2.1.247 или позже |

99| `build-eval` | Построить набор eval для вашего приложения на базе Claude | v2.1.259 или позже |101| `build-eval` | Построить набор eval для вашего приложения на базе Claude | v2.1.259 или позже |

sub-agents.md +4 −2

Details

609Режим разрешений основного разговора решает, использует ли Claude Code значение, которое вы установили:609Режим разрешений основного разговора решает, использует ли Claude Code значение, которое вы установили:

610 610 

611* Когда основной разговор находится в `bypassPermissions`, `acceptEdits` или [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), subagent работает в этом же режиме и Claude Code игнорирует `permissionMode`, который вы установили. Под auto mode классификатор оценивает вызовы инструментов subagent с правилами блокировки и разрешения основного разговора. Когда subagent завершается, классификатор также проверяет его работу и его финальный отчёт перед доставкой отчёта, как [How auto mode handles subagents](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) описывает.611* Когда основной разговор находится в `bypassPermissions`, `acceptEdits` или [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), subagent работает в этом же режиме и Claude Code игнорирует `permissionMode`, который вы установили. Под auto mode классификатор оценивает вызовы инструментов subagent с правилами блокировки и разрешения основного разговора. Когда subagent завершается, классификатор также проверяет его работу и его финальный отчёт перед доставкой отчёта, как [How auto mode handles subagents](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) описывает.

612* Когда основной разговор находится в режиме `default`, `dontAsk` или `plan`, subagent работает в режиме разрешений, который вы установили, кроме `bypassPermissions`. Subagent, который объявляет `bypassPermissions`, сохраняет режим основного разговора вместо этого. Исключение `bypassPermissions` требует Claude Code v2.1.267 или позже.612* Когда основной диалог находится в режиме `default`, `dontAsk` или `plan`, субагент работает в заданном вами режиме разрешений. В следующих случаях он вместо этого сохраняет режим разрешений основного диалога:

613 * Вы задали `bypassPermissions`. Исключение для `bypassPermissions` требует Claude Code v2.1.267 или новее.

614 * Вы задали `auto`, а [авторежим недоступен](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) субагенту, например когда файл настроек задаёт [`disableAutoMode`](/docs/ru/settings-reference#disableautomode) или модель субагента не поддерживает авторежим.

613 615 

614`permissionMode` принимает эти значения и `manual` как псевдоним для `default`:616`permissionMode` принимает эти значения и `manual` как псевдоним для `default`:

615 617 


640Implement API endpoints. Follow the conventions and patterns from the preloaded skills.642Implement API endpoints. Follow the conventions and patterns from the preloaded skills.

641```643```

642 644 

643Полное содержимое каждого перечисленного skill инжектируется в контекст subagent при запуске. Это поле контролирует, какие skills предварительно загружаются, а не какие skills может использовать subagent: без него subagent по-прежнему может открывать и вызывать project, user и plugin skills через инструмент Skill во время выполнения. Чтобы предотвратить использование subagent skills полностью, опустите `Skill` из списка [`tools`](#available-tools) или добавьте его в `disallowedTools`.645Полное содержимое каждого указанного скилла внедряется в контекст субагента при запуске — до первых 32 различных имён в списке. Это поле определяет, какие скиллы загружаются заранее, а не к каким скиллам у субагента есть доступ: без него субагент всё равно может находить и вызывать скиллы проекта, пользователя и плагинов через инструмент Skill во время выполнения. Чтобы полностью запретить субагенту вызывать скиллы, исключите `Skill` из списка [`tools`](#available-tools) или добавьте его в `disallowedTools`.

644 646 

645Нельзя предварительно загрузить скиллы, в которых задано [`disable-model-invocation: true`](/docs/ru/skills#control-who-invokes-a-skill), поскольку предварительная загрузка берёт скиллы из того же набора, который может вызывать Claude. Это относится и к встроенному скиллу `/verify`, который Claude не может запустить самостоятельно.647Нельзя предварительно загрузить скиллы, в которых задано [`disable-model-invocation: true`](/docs/ru/skills#control-who-invokes-a-skill), поскольку предварительная загрузка берёт скиллы из того же набора, который может вызывать Claude. Это относится и к встроенному скиллу `/verify`, который Claude не может запустить самостоятельно.

646 648 

Details

666 666 

667* WebFetch отказывает `localhost` и любому другому имени хоста без точки, например простому имени интранета, перед выполнением запроса. [Ошибка, которую он возвращает](/docs/ru/errors#webfetch-cannot-fetch-localhost), говорит Claude достичь локальных серверов с помощью `curl` через Bash вместо этого.667* WebFetch отказывает `localhost` и любому другому имени хоста без точки, например простому имени интранета, перед выполнением запроса. [Ошибка, которую он возвращает](/docs/ru/errors#webfetch-cannot-fetch-localhost), говорит Claude достичь локальных серверов с помощью `curl` через Bash вместо этого.

668* HTTP URL-адреса автоматически обновляются до HTTPS.668* HTTP URL-адреса автоматически обновляются до HTTPS.

669* Большие страницы усекаются до фиксированного ограничения символов перед обработкой.669* WebFetch считывает до 100 000 символов содержимого страницы за один вызов. В Claude Code v2.1.290 или новее результат для более длинной страницы сообщает Claude, какой объём остался непрочитанным, чтобы Claude мог загрузить следующую часть.

670* WebFetch кэширует каждый ответ на 15 минут по умолчанию, поэтому повторные загрузки одного и того же URL возвращаются быстро. На Claude Code v2.1.233 или позже установите [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ru/env-vars#variables) для изменения того, как долго WebFetch хранит каждый ответ.670* WebFetch кэширует каждый ответ на 15 минут по умолчанию, поэтому повторные загрузки одного и того же URL возвращаются быстро. На Claude Code v2.1.233 или позже установите [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ru/env-vars#variables) для изменения того, как долго WebFetch хранит каждый ответ.

671* Страница, которая не завершила загрузку в течение пяти минут, включая любые перенаправления, которые следует WebFetch, завершается ошибкой истечения срока. На Claude Code v2.1.268 или позже установите [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ru/env-vars#variables) для изменения ограничения или на `0` для его удаления.671* Страница, которая не завершила загрузку в течение пяти минут, включая любые перенаправления, которые следует WebFetch, завершается ошибкой истечения срока. На Claude Code v2.1.268 или позже установите [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ru/env-vars#variables) для изменения ограничения или на `0` для его удаления.

672* Когда URL перенаправляет на другой хост, WebFetch возвращает текстовый результат, который называет исходный URL и цель перенаправления вместо его следования. Claude затем загружает новый URL со вторым вызовом WebFetch.672* Когда URL перенаправляет на другой хост, WebFetch возвращает текстовый результат, который называет исходный URL и цель перенаправления вместо его следования. Claude затем загружает новый URL со вторым вызовом WebFetch.

Details

4 4 

5# Устранение неполадок при установке и входе5# Устранение неполадок при установке и входе

6 6 

7> Исправьте ошибки command not found, PATH, разрешений, сети и аутентификации при установке или входе в Claude Code.7> Исправьте ошибки command not found, PATH, прав доступа, сети и аутентификации при установке или входе в Claude Code.

8 8 

9Если установка не удалась или вы не можете войти, найдите вашу ошибку ниже. Для проблем во время выполнения после того, как Claude Code работает, см. [Troubleshooting](/docs/ru/troubleshooting). Для проблем конфигурации, таких как неприменение параметров или неработающие hooks, см. [Debug your configuration](/docs/ru/debug-your-config).9Если установка не удалась или вы не можете войти, найдите вашу ошибку ниже. Для проблем во время выполнения после того, как Claude Code заработал, см. [Устранение неполадок](/docs/ru/troubleshooting). Для проблем конфигурации, таких как неприменение настроек или несрабатывание хуков, см. [Отладка конфигурации](/docs/ru/debug-your-config).

10 10 

11<h2 id="find-your-error">11<h2 id="find-your-error">

12 Найдите вашу ошибку12 Найдите вашу ошибку


17| Что вы видите | Решение |17| Что вы видите | Решение |

18| :- | :- |18| :- | :- |

19| `command not found: claude` или `'claude' is not recognized` | [Исправьте ваш PATH](#command-not-found-claude-after-installation) |19| `command not found: claude` или `'claude' is not recognized` | [Исправьте ваш PATH](#command-not-found-claude-after-installation) |

20| `Native installation exists but ... is not in your PATH` | [Добавьте каталог установки в ваш PATH](#verify-your-path) |

21| `INFO: Could not find files for the given pattern(s).` от `where.exe claude` | [Проверьте, установлен ли Claude Code](#check-for-conflicting-installations) |

22| `zsh: permission denied: /Users/you/.zshrc` или `bash: /home/you/.bashrc: Permission denied` | [Сделайте файл конфигурации оболочки доступным для записи](#permission-denied-when-adding-to-your-path) |

20| `syntax error near unexpected token '<'` | [Install script returns HTML](#install-script-returns-html-instead-of-a-shell-script) |23| `syntax error near unexpected token '<'` | [Install script returns HTML](#install-script-returns-html-instead-of-a-shell-script) |

24| `< was unexpected at this time` в CMD | [Install script returns HTML](#install-script-returns-html-instead-of-a-shell-script) |

25| `The term 'System.Xml.XmlDocument' is not recognized` | [Install script returns HTML](#install-script-returns-html-instead-of-a-shell-script) |

21| `curl: (22) The requested URL returned error: 403` | [Install script returned 403](#install-script-returns-html-instead-of-a-shell-script) |26| `curl: (22) The requested URL returned error: 403` | [Install script returned 403](#install-script-returns-html-instead-of-a-shell-script) |

22| `curl: (23)` или `curl: (56) Failure writing output to destination` | [Проверьте подключение или используйте альтернативный установщик](#curl-56-failure-writing-output-to-destination) |27| `curl: (23)` или `curl: (56) Failure writing output to destination` | [Проверьте подключение или используйте альтернативный установщик](#curl-56-failure-writing-output-to-destination) |

23| `Killed` во время установки на Linux, или `Installation was killed before it could finish (exit code 137)` | [Освободите память или добавьте пространство подкачки](#install-killed-on-low-memory-linux-servers) |28| `Killed` во время установки на Linux | [Освободите память или добавьте пространство подкачки](#install-killed-on-low-memory-linux-servers) |

29| `Installation was killed before it could finish` | [Освободите память, затем повторно запустите установщик](#installation-was-killed-before-it-could-finish) |

24| `Raw mode is not supported` во время установки | [Повторно запустите установщик](#raw-mode-is-not-supported-during-install) |30| `Raw mode is not supported` во время установки | [Повторно запустите установщик](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` во время установки | [Исправьте права доступа к каталогу установки](#permission-errors-during-installation) |31| `EACCES: permission denied` во время установки | [Исправьте права доступа к каталогу установки](#permission-errors-during-installation) |

26| `TLS connect error` или `SSL/TLS secure channel` | [Обновите сертификаты CA](#tls-or-ssl-connection-errors) |32| `TLS connect error` или `SSL/TLS secure channel` | [Обновите сертификаты CA](#tls-or-ssl-connection-errors) |

33| `CRYPT_E_NO_REVOCATION_CHECK` или `CRYPT_E_REVOCATION_OFFLINE` | [Обойдите заблокированные проверки отзыва](#tls-or-ssl-connection-errors) |

27| `Failed to fetch version` или невозможно достичь сервера загрузки | [Проверьте параметры сети и прокси](#check-network-connectivity) |34| `Failed to fetch version` или невозможно достичь сервера загрузки | [Проверьте параметры сети и прокси](#check-network-connectivity) |

35| `The connection dropped while downloading the update` или `Download timed out: exceeded the total deadline` | [Запустите обновление повторно или настройте прокси](#the-connection-dropped-while-downloading-the-update) |

28| `irm is not recognized` или `The token '&&' is not a valid statement separator` | [Используйте правильную команду для вашей оболочки](#wrong-install-command-on-windows) |36| `irm is not recognized` или `The token '&&' is not a valid statement separator` | [Используйте правильную команду для вашей оболочки](#wrong-install-command-on-windows) |

29| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Обновите Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Обновите Homebrew](#homebrew-cask-unavailable-or-outdated) |

38| `Cask 'claude-code@latest' is not installed` | [Обновите установленный вами cask](#cask-is-not-installed) |

30| `'bash' is not recognized as the name of a cmdlet` | [Используйте команду установщика Windows](#wrong-install-command-on-windows) |39| `'bash' is not recognized as the name of a cmdlet` | [Используйте команду установщика Windows](#wrong-install-command-on-windows) |

31| `A parameter cannot be found that matches parameter name 'fsSL'` | [Используйте команду установщика Windows](#wrong-install-command-on-windows) |40| `A parameter cannot be found that matches parameter name 'fsSL'` | [Используйте команду установщика Windows](#wrong-install-command-on-windows) |

32| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Установите оболочку](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |41| `Claude Code on Windows requires either Git for Windows (for bash) or PowerShell` | [Установите оболочку](#claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell) |


50| `OAuth error` или `403 Forbidden` | [Исправьте аутентификацию](#login-and-authentication) |59| `OAuth error` или `403 Forbidden` | [Исправьте аутентификацию](#login-and-authentication) |

51| `Claude Code access has not been granted for this account` | [Получите роль, которая включает Claude Code](#claude-code-access-has-not-been-granted-for-this-account) |60| `Claude Code access has not been granted for this account` | [Получите роль, которая включает Claude Code](#claude-code-access-has-not-been-granted-for-this-account) |

52| `Unable to connect to Anthropic services` во время установки | См. [Unable to connect to Anthropic services](/docs/ru/errors#unable-to-connect-to-anthropic-services) в справочнике ошибок |61| `Unable to connect to Anthropic services` во время установки | См. [Unable to connect to Anthropic services](/docs/ru/errors#unable-to-connect-to-anthropic-services) в справочнике ошибок |

53| `Could not load the default credentials` или `Could not load credentials from any providers` | [Учетные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |62| `Could not load the default credentials` или `Could not load credentials from any providers` | [Учётные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

54| `ChainedTokenCredential authentication failed` или `CredentialUnavailableError` | [Учетные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |63| `ChainedTokenCredential authentication failed` или `CredentialUnavailableError` | [Учётные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

55| `API Error: 500`, `529 Overloaded`, `429` или другие ошибки 4xx и 5xx, не указанные выше | См. [справочник ошибок](/docs/ru/errors) |64| `API Error: 500`, `529 Overloaded`, `429` или другие ошибки 4xx и 5xx, не указанные выше | См. [справочник ошибок](/docs/ru/errors) |

56 65 

57Если вашей проблемы нет в списке, выполните диагностические проверки ниже, чтобы сузить причину.66Если вашей проблемы нет в списке, выполните диагностические проверки ниже, чтобы сузить причину.


91* `403`: обычно прокси или сетевой фильтр, блокирующий хост, или Claude Code [недоступен в вашем регионе](https://www.anthropic.com/supported-countries)100* `403`: обычно прокси или сетевой фильтр, блокирующий хост, или Claude Code [недоступен в вашем регионе](https://www.anthropic.com/supported-countries)

92* `5xx`: обычно временная проблема с сервисом; подождите несколько минут и повторите попытку101* `5xx`: обычно временная проблема с сервисом; подождите несколько минут и повторите попытку

93 102 

94Если вы не видите вывода, `Could not resolve host` или timeout соединения, ваша сеть блокирует соединение. Распространённые причины:103Если вы не видите вывода, `Could not resolve host` или таймаут соединения, ваша сеть блокирует соединение. Распространённые причины:

95 104 

96* Корпоративные брандмауэры или прокси, блокирующие `downloads.claude.ai`105* Корпоративные брандмауэры или прокси, блокирующие `downloads.claude.ai`

97* Региональные ограничения сети: попробуйте VPN или альтернативную сеть106* Региональные ограничения сети: попробуйте VPN или альтернативную сеть


125 134 

126Если установка прошла успешно, но вы получаете ошибку `command not found` или `not recognized` при запуске `claude`, директория установки не находится в вашем PATH. Ваша оболочка ищет программы в директориях, указанных в PATH, и установщик размещает `claude` в `~/.local/bin/claude` на macOS/Linux или `%USERPROFILE%\.local\bin\claude.exe` на Windows.135Если установка прошла успешно, но вы получаете ошибку `command not found` или `not recognized` при запуске `claude`, директория установки не находится в вашем PATH. Ваша оболочка ищет программы в директориях, указанных в PATH, и установщик размещает `claude` в `~/.local/bin/claude` на macOS/Linux или `%USERPROFILE%\.local\bin\claude.exe` на Windows.

127 136 

137Установщик обнаруживает этот случай и сообщает о нём в разделе `Setup notes:` своего вывода: `Native installation exists but ~/.local/bin is not in your PATH.` на macOS и Linux или `Native installation exists but C:\Users\you\.local\bin is not in your PATH.` на Windows. Вместе с этим примечанием он выводит способ исправления, но сам не изменяет PATH.

138 

128<Note>139<Note>

129 Расширение [VS Code](/docs/ru/vs-code) не размещает `claude` в этом месте. Оно содержит приватную копию CLI внутри директории расширения для своей собственной панели чата и не добавляет её в PATH. Если вы установили только расширение, `~/.local/bin/claude` не будет существовать. Запустите [автономную установку](/docs/ru/setup), чтобы использовать `claude` из терминала, а затем продолжите ниже.140 Расширение [VS Code](/docs/ru/vs-code) не размещает `claude` в этом месте. Оно содержит приватную копию CLI внутри директории расширения для своей собственной панели чата и не добавляет её в PATH. Если вы установили только расширение, `~/.local/bin/claude` не будет существовать. Запустите [автономную установку](/docs/ru/setup), чтобы использовать `claude` из терминала, а затем продолжите ниже.

130</Note>141</Note>

131 142 

132Проверьте, находится ли директория установки в вашем PATH, перечислив записи PATH и фильтруя по `local/bin`:143Сначала проверьте, что программа вообще существует, затем проверьте, находится ли её папка в вашем PATH. Исправление PATH постоянное, поэтому его достаточно применить один раз. Выберите вкладку вашей платформы и выполните её команды там: в терминале на macOS и Linux или в PowerShell или Command Prompt на Windows.

133 144 

134<Tabs>145<Tabs>

135 <Tab title="macOS/Linux">146 <Tab title="macOS/Linux">

147 Проверьте, что установщик разместил программу на месте:

148 

149 ```bash theme={null}

150 ls -la ~/.local/bin/claude

151 ```

152 

153 * **`No such file or directory`**: встроенной установки нет. Если вы не устанавливали Claude Code другим способом, например через npm, Homebrew или менеджер пакетов Linux, [установите Claude Code](/docs/ru/setup#install-claude-code). Если вы установили его другим способом, см. [Проверьте наличие конфликтующих установок](#check-for-conflicting-installations).

154 * **Информация о файле**: программа на месте. Далее проверьте ваш PATH.

155 

156 Перечислите записи PATH и отфильтруйте по папке установки:

157 

136 ```bash theme={null}158 ```bash theme={null}

137 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"159 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

138 ```160 ```

139 161 

140 Если это выводит `/Users/you/.local/bin` или `/home/you/.local/bin`, директория находится в вашем PATH и вы можете перейти к [Проверьте наличие конфликтующих установок](#check-for-conflicting-installations). Если вывода нет, добавьте её в конфигурацию вашей оболочки.162 Если это выводит `/Users/you/.local/bin` или `/home/you/.local/bin`, директория находится в вашем PATH и вы можете перейти к [Проверьте наличие конфликтующих установок](#check-for-conflicting-installations). Если вывода нет, добавьте её в конфигурацию вашей оболочки с помощью двух команд для вашей оболочки. Команда `echo` сохраняет настройку для каждого нового терминала, а `source` применяет её к текущему окну. Команда `echo` ничего не выводит при успешном выполнении.

141 163 

142 Для Zsh, по умолчанию на macOS:164 Для Zsh, по умолчанию на macOS:

143 165 


162 184 

163 Или закройте и снова откройте ваш терминал.185 Или закройте и снова откройте ваш терминал.

164 186 

187 Если команда `echo` выводит `permission denied`, см. [`permission denied` при добавлении в PATH](#permission-denied-when-adding-to-your-path).

188 

165 Для других оболочек, таких как fish или Nushell, добавьте `~/.local/bin` в ваш PATH, используя синтаксис конфигурации вашей оболочки, а затем перезагрузите ваш терминал.189 Для других оболочек, таких как fish или Nushell, добавьте `~/.local/bin` в ваш PATH, используя синтаксис конфигурации вашей оболочки, а затем перезагрузите ваш терминал.

166 190 

167 Проверьте, что исправление сработало:191 Проверьте, что исправление сработало:


169 ```bash theme={null}193 ```bash theme={null}

170 claude --version194 claude --version

171 ```195 ```

196 

197 Если `claude` по-прежнему не найден, проверьте следующие причины:

198 

199 * **Терминал был открыт до изменения**: уже открытое окно сохраняет старый PATH, а терминал внутри редактора получает PATH от редактора. Откройте новое окно или закройте и снова откройте редактор.

200 * **Строка не была сохранена**: выполните `grep -n '.local/bin' ~/.zshrc`, подставив имя файла вашей оболочки. Если строка есть, команда выведет её вместе с номером строки. Если ничего не выводится, снова выполните две команды для PATH.

201 * **Строка попала в файл другой оболочки**: выполните `echo $0`, чтобы узнать вашу оболочку, затем выполните две команды для PATH для этой оболочки.

172 </Tab>202 </Tab>

173 203 

174 <Tab title="Windows PowerShell">204 <Tab title="Windows PowerShell">

205 Проверьте, что установщик разместил программу на месте:

206 

207 ```powershell theme={null}

208 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

209 ```

210 

211 * **`False`**: встроенной установки нет. Если вы не устанавливали Claude Code другим способом, например через npm или WinGet, [установите Claude Code](/docs/ru/setup#install-claude-code). Если вы установили его другим способом, см. [Проверьте наличие конфликтующих установок](#check-for-conflicting-installations).

212 * **`True`**: программа на месте. Далее проверьте ваш PATH.

213 

214 Перечислите записи PATH и отфильтруйте по папке установки:

215 

175 ```powershell theme={null}216 ```powershell theme={null}

176 $env:PATH -split ';' | Select-String '\.local\\bin'217 $env:PATH -split ';' | Select-String '\.local\\bin'

177 ```218 ```

178 219 

179 Если вывода нет, добавьте директорию установки в ваш User PATH:220 Если это выводит `C:\Users\you\.local\bin`, директория находится в вашем PATH и вы можете перейти к [Проверьте наличие конфликтующих установок](#check-for-conflicting-installations). Если вывода нет, добавьте директорию установки в ваш User PATH:

180 221 

181 ```powershell theme={null}222 ```powershell theme={null}

182 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')223 $currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')


190 ```powershell theme={null}231 ```powershell theme={null}

191 claude --version232 claude --version

192 ```233 ```

234 

235 Если `claude` по-прежнему не найден в новом терминале, проверьте следующие причины:

236 

237 * **Терминал работает внутри редактора**: он получает PATH от редактора, поэтому закройте и снова откройте редактор.

238 * **Изменение не было сохранено**: выполните `[Environment]::GetEnvironmentVariable('PATH', 'User')` и найдите `.local\bin` в выведенном PATH. Если его нет, снова выполните две команды.

193 </Tab>239 </Tab>

194 240 

195 <Tab title="Windows CMD">241 <Tab title="Windows CMD">

242 Проверьте, что установщик разместил программу на месте:

243 

244 ```batch theme={null}

245 dir "%USERPROFILE%\.local\bin\claude.exe"

246 ```

247 

248 * **`File Not Found` или `The system cannot find the path specified.`**: встроенной установки нет. Если вы не устанавливали Claude Code другим способом, например через npm или WinGet, [установите Claude Code](/docs/ru/setup#install-claude-code). Если вы установили его другим способом, см. [Проверьте наличие конфликтующих установок](#check-for-conflicting-installations).

249 * **Информация о `claude.exe`**: программа на месте. Далее проверьте ваш PATH.

250 

251 Перечислите записи PATH и отфильтруйте по папке установки:

252 

196 ```batch theme={null}253 ```batch theme={null}

197 echo %PATH% | findstr /i "local\bin"254 echo %PATH% | findstr /i "local\bin"

198 ```255 ```


204 ```batch theme={null}261 ```batch theme={null}

205 claude --version262 claude --version

206 ```263 ```

264 

265 Если `claude` по-прежнему не найден в новом терминале, учтите, что терминал внутри редактора получает PATH от редактора, поэтому также закройте и снова откройте редактор.

207 </Tab>266 </Tab>

208</Tabs>267</Tabs>

209 268 


221 which -a claude280 which -a claude

222 ```281 ```

223 282 

224 Если это ничего не выводит, `claude` ещё не находится в вашем PATH. Вернитесь к [Проверьте ваш PATH](#verify-your-path).283 Если это выводит `claude not found`, строку `no claude in` или ничего, значит `claude` нет в вашем PATH. Следующие проверки покажут, установлен ли он вообще.

225 284 

226 Проверьте три места, откуда может поступить бинарный файл `claude`. `~/.local/bin/claude` — это встроенный установщик, `~/.claude/local/` — это устаревшая локальная установка npm, созданная старыми версиями Claude Code, и список глобального npm показывает установку `-g`:285 Проверьте три места, откуда может поступить бинарный файл `claude`. `~/.local/bin/claude` — это встроенный установщик, `~/.claude/local/` — это устаревшая локальная установка npm, созданная старыми версиями Claude Code, и список глобального npm показывает установку `-g`:

227 286 


240 ```bash theme={null}299 ```bash theme={null}

241 npm -g ls @anthropic-ai/claude-code 2>/dev/null300 npm -g ls @anthropic-ai/claude-code 2>/dev/null

242 ```301 ```

302 

303 Если `ls -la ~/.local/bin/claude` вывела `No such file or directory`, встроенной установки нет. Если вы не устанавливали Claude Code другим способом, например через npm, Homebrew или менеджер пакетов Linux, [установите Claude Code](/docs/ru/setup#install-claude-code). Если `~/.local/bin/claude` существует, но `which -a claude` его не показала, папка не находится в вашем PATH: см. [Проверьте ваш PATH](#verify-your-path).

243 </Tab>304 </Tab>

244 305 

245 <Tab title="Windows PowerShell">306 <Tab title="Windows PowerShell">


249 where.exe claude310 where.exe claude

250 ```311 ```

251 312 

313 Если это выводит `INFO: Could not find files for the given pattern(s).`, значит `claude` нет в вашем PATH.

314 

252 Проверьте, разместил ли встроенный установщик бинарный файл:315 Проверьте, разместил ли встроенный установщик бинарный файл:

253 316 

254 ```powershell theme={null}317 ```powershell theme={null}

255 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"318 Test-Path "$env:USERPROFILE\.local\bin\claude.exe"

256 ```319 ```

320 

321 * **`True`**: встроенная установка на месте. Если `where.exe` ничего не нашла, её папка не находится в вашем PATH: см. [Проверьте ваш PATH](#verify-your-path).

322 * **`False`**: встроенной установки нет. Если вы не устанавливали Claude Code другим способом, например через npm или WinGet, [установите Claude Code](/docs/ru/setup#install-claude-code).

257 </Tab>323 </Tab>

258</Tabs>324</Tabs>

259 325 


281 </Tab>347 </Tab>

282</Tabs>348</Tabs>

283 349 

284Удалите установку Homebrew на macOS. Если вы установили кэш `claude-code@latest`, замените это имя:350Удалите установку Homebrew на macOS. Если вы установили cask `claude-code@latest`, замените это имя:

285 351 

286```bash theme={null}352```bash theme={null}

287brew uninstall --cask claude-code353brew uninstall --cask claude-code


368 Install script returns HTML instead of a shell script434 Install script returns HTML instead of a shell script

369</h3>435</h3>

370 436 

371При запуске команды установки вы можете увидеть одну из этих ошибок:437Команда установки завершается с одной из этих ошибок, если загруженное ею содержимое не является скриптом установки.

438 

439**Bash или Zsh**: ошибка цитирует первую строку возвращённой страницы.

372 440 

373```text theme={null}441```text theme={null}

374bash: line 1: syntax error near unexpected token `<'442bash: line 1: syntax error near unexpected token `<'

375bash: line 1: `<!DOCTYPE html>'443bash: line 1: `<!DOCTYPE html>'

376```444```

377 445 

378На PowerShell та же проблема выглядит как ошибки парсинга, указывающие на возвращённую страницу, с `iex`, пытающимся запустить HTML и CSS как PowerShell:446**PowerShell, ошибки парсинга**: ошибки указывают на возвращённую страницу, а `iex` пытается запустить HTML и CSS как PowerShell.

379 447 

380```text theme={null}448```text theme={null}

381iex : At line:1 char:2310449iex : At line:1 char:2310


386 454 

387Формулировка варьируется в зависимости от версии PowerShell и языка системы: вы можете увидеть `Missing expression after unary operator '--'` или `ParserError` с `ParseException` вместо этого. HTML-теги или CSS в цитируемом тексте идентифицируют этот сбой. Если вы загружаете с `-OutFile install.ps1` вместо этого, сохранённый файл — это та же веб-страница, поэтому это тоже не помогает.455Формулировка варьируется в зависимости от версии PowerShell и языка системы: вы можете увидеть `Missing expression after unary operator '--'` или `ParserError` с `ParseException` вместо этого. HTML-теги или CSS в цитируемом тексте идентифицируют этот сбой. Если вы загружаете с `-OutFile install.ps1` вместо этого, сохранённый файл — это та же веб-страница, поэтому это тоже не помогает.

388 456 

389В зависимости от того, как был маршрутизирован запрос, вы можете вместо этого увидеть 403 без HTML-тела:457**PowerShell, `System.Xml.XmlDocument`**: вместо цитирования страницы ошибка называет этот тип.

458 

459```text theme={null}

460System.Xml.XmlDocument : The term 'System.Xml.XmlDocument' is not recognized as the name of a cmdlet, function, script

461file, or operable program.

462```

463 

464Когда `irm` может разобрать ответ как XML, он возвращает XML-объект вместо текста, и `iex` затем пытается запустить имя типа этого объекта как команду. Скрипт установки — это код PowerShell, и он не разбирается как XML, поэтому эта ошибка также означает, что ответ был чем-то иным, а не скриптом. Формулировка вокруг имени типа варьируется в зависимости от версии PowerShell и языка системы, но сам `System.Xml.XmlDocument` остаётся неизменным, поэтому ориентируйтесь на имя типа.

465 

466**CMD**: вы видите эту ошибку, за которой следует HTML возвращённой страницы.

467 

468```text theme={null}

469< was unexpected at this time.

470 

471C:\Users\you><!DOCTYPE html>...

472```

473 

474Первая строка отображается на языке вашей системы, поэтому ищите следующий за ней HTML.

475 

476**403 без страницы**: в зависимости от того, как был маршрутизирован запрос, curl сообщает статус 403 без HTML-тела.

390 477 

391```text theme={null}478```text theme={null}

392curl: (22) The requested URL returned error: 403479curl: (22) The requested URL returned error: 403

393```480```

394 481 

395Всё это означает, что URL установки вернул HTML-страницу или статус ошибки вместо скрипта установки. Если HTML-страница говорит "App unavailable in region", Claude Code недоступен в вашей стране. См. [поддерживаемые страны](https://www.anthropic.com/supported-countries).482Всё это означает, что URL установки вернул веб-страницу, XML-документ или статус ошибки вместо скрипта установки. Если вывод ошибки цитирует "App unavailable in region", Claude Code недоступен в вашей стране. См. [поддерживаемые страны](https://www.anthropic.com/supported-countries).

396 483 

397Простой 403 без тела часто имеет ту же причину, но это также может быть вызвано корпоративным прокси или брандмауэром, блокирующим загрузку. Если вы находитесь в поддерживаемой стране и всё ещё видите 403, пройдите через [Проверка подключения к сети](#check-network-connectivity) перед попыткой альтернативных установщиков ниже, так как они достигают тех же хостов.484Простой 403 без тела часто имеет ту же причину, но это также может быть вызвано корпоративным прокси или брандмауэром, блокирующим загрузку. Если вы находитесь в поддерживаемой стране и всё ещё видите 403, пройдите через [Проверка подключения к сети](#check-network-connectivity) перед попыткой альтернативных установщиков ниже, так как они обращаются к тем же хостам.

398 485 

399В противном случае это может произойти из-за проблем с сетью, региональной маршрутизации или временного сбоя сервиса.486В противном случае это может произойти из-за проблем с сетью, региональной маршрутизации или временного сбоя сервиса.

400 487 

401**Решения:**488**Решения:**

402 489 

4031. **Используйте альтернативный метод установки**:4901. **Повторите попытку через несколько минут**: проблема часто временная. Подождите и попробуйте исходную команду снова.

491 

4922. **Используйте альтернативный метод установки**: в отличие от нативной установки, установка через Homebrew или WinGet [по умолчанию не обновляется автоматически](/docs/ru/setup#auto-updates).

404 493 

405 На macOS установите через Homebrew:494 На macOS установите через Homebrew:

406 495 


416 505 

417 Затем запустите `claude --version` для подтверждения: команда выводит номер версии, такой как `2.1.211 (Claude Code)`. Если оболочка сообщает, что `claude` не найден, откройте новое окно терминала и повторите попытку: сессия, из которой вы установили, сохраняет свой старый `PATH`.506 Затем запустите `claude --version` для подтверждения: команда выводит номер версии, такой как `2.1.211 (Claude Code)`. Если оболочка сообщает, что `claude` не найден, откройте новое окно терминала и повторите попытку: сессия, из которой вы установили, сохраняет свой старый `PATH`.

418 507 

4192. **Повторите попытку через несколько минут**: проблема часто временная. Подождите и попробуйте исходную команду снова.

420 

421<h3 id="command-not-found-claude-after-installation">508<h3 id="command-not-found-claude-after-installation">

422 `command not found: claude` after installation509 `command not found: claude` after installation

423</h3>510</h3>


435 522 

436В противном случае см. [Проверка вашего PATH](#verify-your-path) для исправления на каждой платформе.523В противном случае см. [Проверка вашего PATH](#verify-your-path) для исправления на каждой платформе.

437 524 

525<h3 id="permission-denied-when-adding-to-your-path">

526 `permission denied` when adding to your PATH

527</h3>

528 

529Если команда `echo`, которая добавляет `~/.local/bin` в ваш PATH, выводит `zsh: permission denied: /Users/you/.zshrc` или `bash: /home/you/.bashrc: Permission denied`, ваш пользователь не может записывать в этот файл, и ничего не было сохранено. В терминале проверьте, кто владеет файлом, подставив имя файла вашей оболочки вместо `~/.zshrc`:

530 

531```bash theme={null}

532ls -l ~/.zshrc

533```

534 

535Третье поле вывода — это владелец.

536 

537* **Владелец — другой пользователь, например `root`**: станьте владельцем с помощью `sudo chown $(whoami) ~/.zshrc`, что требует прав администратора.

538* **Владелец — вы**: файл доступен только для чтения. Сделайте его доступным для записи с помощью `chmod u+w ~/.zshrc`.

539 

540Затем снова выполните две команды PATH для вашей оболочки из раздела [Проверка вашего PATH](#verify-your-path).

541 

438<h3 id="curl-56-failure-writing-output-to-destination">542<h3 id="curl-56-failure-writing-output-to-destination">

439 `curl: (56) Failure writing output to destination`543 `curl: (56) Failure writing output to destination`

440</h3>544</h3>


456 560 

457Если Homebrew устанавливает более старую версию Claude Code, чем вы ожидаете, обычно причина в том же устаревшем индексе. Cask `claude-code` отслеживает стабильный канал и обычно отстаёт на неделю от последнего выпуска; для самой новой версии запустите вместо этого `brew install --cask claude-code@latest`. См. [Настройка канала выпуска](/docs/ru/setup#configure-release-channel) для различия между двумя cask.561Если Homebrew устанавливает более старую версию Claude Code, чем вы ожидаете, обычно причина в том же устаревшем индексе. Cask `claude-code` отслеживает стабильный канал и обычно отстаёт на неделю от последнего выпуска; для самой новой версии запустите вместо этого `brew install --cask claude-code@latest`. См. [Настройка канала выпуска](/docs/ru/setup#configure-release-channel) для различия между двумя cask.

458 562 

563<h3 id="cask-is-not-installed">

564 `Cask 'claude-code@latest' is not installed`

565</h3>

566 

567Homebrew предлагает два cask: `claude-code` и `claude-code@latest`. Запуск `brew upgrade --cask claude-code@latest`, когда установлен не этот cask, выводит `Error: Cask 'claude-code@latest' is not installed.` Чтобы узнать, какой cask у вас установлен, выполните в терминале:

568 

569```bash theme={null}

570brew list --cask | grep claude-code

571```

572 

573Обновите тот cask, который выведет команда. Если она ничего не выводит, не установлен ни один из cask.

574 

459<h3 id="tls-or-ssl-connection-errors">575<h3 id="tls-or-ssl-connection-errors">

460 TLS or SSL connection errors576 TLS or SSL connection errors

461</h3>577</h3>


467* PowerShell's `Could not create SSL/TLS secure channel`583* PowerShell's `Could not create SSL/TLS secure channel`

468* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`584* PowerShell's `Could not establish trust relationship for the SSL/TLS secure channel`

469 585 

586При ошибках `CRYPT_E_NO_REVOCATION_CHECK` или `CRYPT_E_REVOCATION_OFFLINE` перейдите к шагу 4.

587 

470**Решения:**588**Решения:**

471 589 

4721. **Обновите сертификаты CA вашей системы**:5901. **Обновите сертификаты CA вашей системы**:


479 597 

480 На macOS системный curl использует хранилище доверия Keychain; обновление самого macOS обновляет корневые сертификаты.598 На macOS системный curl использует хранилище доверия Keychain; обновление самого macOS обновляет корневые сертификаты.

481 599 

4822. **На Windows включите TLS 1.2** в PowerShell перед запуском установщика:6002. **В Windows PowerShell 5.1 включите TLS 1.2**:

483 ```powershell theme={null}601 ```powershell theme={null}

484 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12602 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

603 ```

604 Затем запустите установщик в том же окне:

605 ```powershell theme={null}

485 irm https://claude.ai/install.ps1 | iex606 irm https://claude.ai/install.ps1 | iex

486 ```607 ```

487 608 

4883. **Проверьте помехи прокси или брандмауэра**: корпоративные прокси, выполняющие TLS inspection, могут вызвать эти ошибки, включая `unable to get local issuer certificate` и `SELF_SIGNED_CERT_IN_CHAIN`. Для шага установки укажите curl на ваш корпоративный пакет CA:6093. **Проверьте помехи прокси или брандмауэра**: корпоративные прокси, выполняющие TLS inspection, могут вызвать эти ошибки, включая `unable to get local issuer certificate` и `SELF_SIGNED_CERT_IN_CHAIN`. Для шага установки настройте загрузку установщика так, чтобы она доверяла CA вашего корпоративного прокси:

489 610 

490 <Tabs>611 <Tabs>

491 <Tab title="macOS/Linux">612 <Tab title="macOS/Linux">


521 642 

522 Попросите файл сертификата у вашей IT-команды, если у вас его нет. Вы также можете попробовать на прямом соединении, чтобы подтвердить, что прокси является причиной.643 Попросите файл сертификата у вашей IT-команды, если у вас его нет. Вы также можете попробовать на прямом соединении, чтобы подтвердить, что прокси является причиной.

523 644 

5244. **На Windows обойдите заблокированные проверки отзыва**. Ошибки `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` и `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` означают, что curl достиг сервера, но ваша сеть блокирует поиск отзыва сертификата, что распространено за корпоративными брандмауэрами. Если команда, которая не удаётся, — это `curl`, который загружает `install.cmd`, переустановите её из Command Prompt с добавленным `--ssl-revoke-best-effort`:6454. **На Windows обойдите заблокированные проверки отзыва**. Ошибки `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` и `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` означают, что curl достиг сервера, но ваша сеть блокирует поиск отзыва сертификата, что распространено за корпоративными брандмауэрами. Если не удаётся команда `curl`, которая загружает `install.cmd`, запустите её снова из Command Prompt с добавленным `--ssl-revoke-best-effort`:

525 ```batch theme={null}646 ```batch theme={null}

526 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd647 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

527 ```648 ```

528 Когда собственные загрузки скрипта попадают на те же ошибки, он переустанавливает их с проверкой отзыва best-effort автоматически, поэтому флаг нужен только на команде, которую вы запускаете сами. Проверка best-effort допускает недостижимый сервер отзыва, но всё ещё отклоняет сертификат, который известен как отозванный, соответствуя тому, как браузеры обрабатывают отзыв. Вы также можете полностью избежать проверки отзыва curl, запустив установщик PowerShell из PowerShell, который загружается через .NET и не падает, когда сервер отзыва недоступен:649 Когда собственные загрузки скрипта сталкиваются с теми же ошибками, он автоматически повторяет их с проверкой отзыва best-effort, поэтому флаг нужен только в команде, которую вы запускаете сами. Проверка best-effort допускает недостижимый сервер отзыва, но всё ещё отклоняет сертификат, который известен как отозванный, соответствуя тому, как браузеры обрабатывают отзыв. Вы также можете полностью избежать проверки отзыва curl, запустив установщик PowerShell из PowerShell, который загружается через .NET и не падает, когда сервер отзыва недоступен:

529 ```powershell theme={null}650 ```powershell theme={null}

530 irm https://claude.ai/install.ps1 | iex651 irm https://claude.ai/install.ps1 | iex

531 ```652 ```


537 658 

538Установщик не смог достичь сервера загрузки. Это обычно означает, что `downloads.claude.ai` заблокирован в вашей сети. См. [Проверка подключения к сети](#check-network-connectivity).659Установщик не смог достичь сервера загрузки. Это обычно означает, что `downloads.claude.ai` заблокирован в вашей сети. См. [Проверка подключения к сети](#check-network-connectivity).

539 660 

661<h3 id="the-connection-dropped-while-downloading-the-update">

662 The connection dropped while downloading the update

663</h3>

664 

665Соединение с сервером загрузки закрылось, пока `claude install` или `claude update` загружал бинарный файл Claude Code, и повторные попытки не помогли. Claude Code повторяет загрузку, когда соединение обрывается, передача зависает или загруженный файл не проходит проверку контрольной суммы, — всего до трёх попыток. Завершённая HTTP-ошибка, например 404, не повторяется, потому что сервер уже ответил. До v2.1.202 один оборванный разрыв соединения сразу приводил к сбою загрузки с голой ошибкой `aborted` без повторной попытки.

666 

667```text theme={null}

668The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.

669```

670 

671Текст в скобках указывает, какая попытка не удалась, и исходную сетевую ошибку. `claude update` выводит перед этим сообщением `Error: Failed to install native update` в stderr.

672 

673Загрузка, которая остаётся подключённой, но не завершается в течение 10 минут, вместо этого завершается с ошибкой `Download timed out: exceeded the total deadline`. Claude Code не повторяет загрузку, превысившую время ожидания, потому что соединение, слишком медленное, чтобы уложиться в срок, не уложится в него и при немедленной повторной попытке. Шаги ниже применимы к обоим сообщениям.

674 

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

676 

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

678 

679* Снова запустите `claude update`. В остальном исправной сети загрузка обычно успешно выполняется при следующем запуске. В случае сообщения о превышении времени ожидания запустите команду снова из более быстрой или менее ограниченной сети.

680* Если ваша сеть требует прокси, задайте `HTTPS_PROXY` перед запуском установщика или `claude update`. См. [Проверка подключения к сети](#check-network-connectivity).

681* Если корпоративный прокси продолжает закрывать передачу, попросите вашу сетевую команду разрешить полную загрузку с `downloads.claude.ai`. См. [Требования к сетевому доступу](/docs/ru/network-config#network-access-requirements).

682* Запустите `claude doctor` из вашей оболочки для диагностики установки

683 

540<h3 id="wrong-install-command-on-windows">684<h3 id="wrong-install-command-on-windows">

541 Wrong install command on Windows685 Wrong install command on Windows

542</h3>686</h3>

543 687 

544Если вы видите `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` или `'bash' is not recognized as the name of a cmdlet`, вы скопировали команду установки для другой оболочки или операционной системы. Если команда выводит текст скрипта вместо установки чего-либо, вы запустили только часть его.688Если вы видите `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'` или `'bash' is not recognized as the name of a cmdlet`, вы скопировали команду установки для другой оболочки или операционной системы. Если команда выводит текст скрипта вместо установки чего-либо, вы запустили только её часть.

545 689 

546* **`irm` не распознан**: вы находитесь в CMD, а не PowerShell. У вас есть два варианта:690* **`irm` не распознан**: вы находитесь в CMD, а не PowerShell. У вас есть два варианта:

547 691 

548 Откройте PowerShell, поиск "PowerShell" в меню Start, затем запустите исходную команду установки:692 Откройте PowerShell, найдя "PowerShell" в меню Start, затем запустите исходную команду установки:

549 693 

550 ```powershell theme={null}694 ```powershell theme={null}

551 irm https://claude.ai/install.ps1 | iex695 irm https://claude.ai/install.ps1 | iex


557 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd701 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

558 ```702 ```

559 703 

560* **`&&` не действителен**: вы находитесь в PowerShell, но запустили команду установщика CMD. Используйте установщик PowerShell:704* **`&&` не является допустимым разделителем операторов**: вы находитесь в PowerShell, но запустили команду установщика CMD. Используйте установщик PowerShell:

561 ```powershell theme={null}705 ```powershell theme={null}

562 irm https://claude.ai/install.ps1 | iex706 irm https://claude.ai/install.ps1 | iex

563 ```707 ```


572 irm https://claude.ai/install.ps1 | iex716 irm https://claude.ai/install.ps1 | iex

573 ```717 ```

574 718 

575* **Команда выводит текст скрипта вместо установки**: вы запустили половину загрузки команды без части, которая её выполняет. `irm https://claude.ai/install.ps1` само по себе выводит загруженный скрипт в терминал. Передайте его в `iex` для запуска:719* **Команда выводит текст скрипта вместо установки**: вы запустили часть команды, отвечающую за загрузку, без части, которая его выполняет. `irm https://claude.ai/install.ps1` само по себе выводит загруженный скрипт в терминал. Передайте его в `iex` для запуска:

576 720 

577 ```powershell theme={null}721 ```powershell theme={null}

578 irm https://claude.ai/install.ps1 | iex722 irm https://claude.ai/install.ps1 | iex


590 `running scripts is disabled on this system`734 `running scripts is disabled on this system`

591</h3>735</h3>

592 736 

593Установка или запуск Claude Code через npm на Windows может не удаться с `SecurityError`:737Установка или запуск Claude Code через npm на Windows может завершиться ошибкой `SecurityError`:

594 738 

595```text theme={null}739```text theme={null}

596npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.740npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.


598 + CategoryInfo : SecurityError: (:) [], PSSecurityException742 + CategoryInfo : SecurityError: (:) [], PSSecurityException

599```743```

600 744 

601Та же ошибка называет `claude.ps1`, когда вы запускаете `claude` после установки npm. Политика выполнения PowerShell блокирует скрипты `.ps1` launcher, которые npm создаёт для своих команд. Политика применяется к файлам скриптов, поэтому она не влияет на установщик PowerShell `irm https://claude.ai/install.ps1 | iex`, который запускает загруженный текст напрямую.745Та же ошибка называет `claude.ps1`, когда вы запускаете `claude` после установки npm. Политика выполнения PowerShell блокирует скрипты-лаунчеры `.ps1`, которые npm создаёт для своих команд. Политика применяется к файлам скриптов, поэтому она не влияет на установщик PowerShell `irm https://claude.ai/install.ps1 | iex`, который запускает загруженный текст напрямую.

602 746 

603**Решения:**747**Решения:**

604 748 


606 ```powershell theme={null}750 ```powershell theme={null}

607 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser751 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

608 ```752 ```

6092. **Вызовите launcher `.cmd` вместо этого**: `npm.cmd` и `claude.cmd` делают то же самое, и политика их не охватывает.7532. **Вызовите вместо этого лаунчер `.cmd`**: `npm.cmd` и `claude.cmd` делают то же самое, и политика их не охватывает.

6103. **Используйте [установщик PowerShell](/docs/ru/setup#install-claude-code)** вместо npm. Он устанавливает бинарный файл, а не скрипт `.ps1`.7543. **Используйте [установщик PowerShell](/docs/ru/setup#install-claude-code)** вместо npm. Он устанавливает бинарный файл, а не скрипт `.ps1`.

611 755 

612<h3 id="the-process-cannot-access-the-file-during-windows-install">756<h3 id="the-process-cannot-access-the-file-during-windows-install">

613 `The process cannot access the file` during Windows install757 `The process cannot access the file` during Windows install

614</h3>758</h3>

615 759 

616Если установщик PowerShell не удаётся с `Failed to download binary: The process cannot access the file ... because it is being used by another process`, установщик не смог записать в `%USERPROFILE%\.claude\downloads`. Это обычно означает, что предыдущая попытка установки всё ещё работает, или антивирусное программное обеспечение сканирует частично загруженный бинарный файл в этой папке.760Если установщик PowerShell завершается ошибкой `Failed to download binary: The process cannot access the file ... because it is being used by another process`, установщик не смог записать в `%USERPROFILE%\.claude\downloads`. Это обычно означает, что предыдущая попытка установки всё ещё работает, или антивирусное программное обеспечение сканирует частично загруженный бинарный файл в этой папке.

617 761 

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

619 763 


628 772 

629Если ваш терминал сообщает `'claude' is not recognized` сразу после обновления Claude Code на Windows, проверьте, содержит ли `%USERPROFILE%\.local\bin` по-прежнему `claude.exe`. Если этот каталог вообще не находится в вашем PATH, см. вместо этого [Проверка вашего PATH](#verify-your-path). Для обновления на Windows Claude Code переименовывает существующий `claude.exe` в резервную копию и перемещает новую версию на его место. Если перемещение новой версии на место не удаётся и Claude Code также не может переименовать резервную копию обратно, каталог сохраняет резервную копию, но не содержит `claude.exe`.773Если ваш терминал сообщает `'claude' is not recognized` сразу после обновления Claude Code на Windows, проверьте, содержит ли `%USERPROFILE%\.local\bin` по-прежнему `claude.exe`. Если этот каталог вообще не находится в вашем PATH, см. вместо этого [Проверка вашего PATH](#verify-your-path). Для обновления на Windows Claude Code переименовывает существующий `claude.exe` в резервную копию и перемещает новую версию на его место. Если перемещение новой версии на место не удаётся и Claude Code также не может переименовать резервную копию обратно, каталог сохраняет резервную копию, но не содержит `claude.exe`.

630 774 

631Резервная копия — это файл в той же директории, имя которого начинается с `claude.exe.old.` с последующей числовой меткой времени. Запустите следующее в PowerShell, чтобы переименовать самую новую резервную копию обратно в `claude.exe`:775Резервная копия — это файл в том же каталоге, имя которого начинается с `claude.exe.old.` с последующей числовой меткой времени. Запустите следующее в PowerShell, чтобы переименовать самую новую резервную копию обратно в `claude.exe`:

632 776 

633```powershell theme={null}777```powershell theme={null}

634Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe778Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe


636 780 

637Затем запустите `claude --version` для подтверждения исправления. Восстановленный `claude.exe` выводит номер версии.781Затем запустите `claude --version` для подтверждения исправления. Восстановленный `claude.exe` выводит номер версии.

638 782 

639Если нет файла `claude.exe.old.*`, или `claude` всё ещё не удаётся после переименования, переустановите вместо этого:783Если нет файла `claude.exe.old.*`, или `claude` всё ещё не работает после переименования, переустановите вместо этого:

640 784 

641```powershell theme={null}785```powershell theme={null}

642irm https://claude.ai/install.ps1 | iex786irm https://claude.ai/install.ps1 | iex


648 Install killed on low-memory Linux servers792 Install killed on low-memory Linux servers

649</h3>793</h3>

650 794 

651Сообщение `Killed` во время установки обычно означает, что убийца Linux out-of-memory (OOM) завершил шаг `claude install`, потому что система исчерпала свободную память. Это распространено на небольших VPS и облачных экземплярах. Скрипт установки сообщает причину и выходит с кодом 137. В этом примере номер строки и ID процесса варьируются в зависимости от выпуска и запуска:795Сообщение `Killed` во время установки обычно означает, что механизм Linux out-of-memory (OOM) killer завершил шаг `claude install`, потому что в системе закончилась свободная память. Это распространено на небольших VPS и облачных экземплярах. Скрипт установки сообщает причину и завершается с кодом выхода 137. В этом примере номер строки и ID процесса варьируются в зависимости от выпуска и запуска:

652 796 

653```text theme={null}797```text theme={null}

654Setting up Claude Code...798Setting up Claude Code...


682 826 

6833. **Используйте больший экземпляр**, если возможно. Claude Code требует по крайней мере 4 ГБ оперативной памяти.8273. **Используйте больший экземпляр**, если возможно. Claude Code требует по крайней мере 4 ГБ оперативной памяти.

684 828 

829<h3 id="installation-was-killed-before-it-could-finish">

830 Installation was killed before it could finish

831</h3>

832 

833Скрипт установки сообщает, когда шаг `claude install` завершается сигналом. В Linux код выхода 137 означает, что процесс получил SIGKILL, и на хосте с малым объёмом памяти это обычно механизм ядра out-of-memory (OOM) killer. Скрипт выводит это объяснение и завершается с кодом выхода 137:

834 

835```text theme={null}

836Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.

837Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

838```

839 

840Для любого другого фатального сигнала, а также для кода выхода 137 на macOS скрипт выводит `Installation was killed before it could finish (exit code <N>)` с фактическим кодом выхода и опускает объяснение о нехватке памяти. Это сообщение исходит от скрипта установки, который используют macOS и Linux, и он также охватывает установки внутри WSL; нативные скрипты установки для Windows никогда его не выводят. До v2.1.200 скрипт завершался, выводя лишь голую строку оболочки `Killed`.

841 

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

843 

844* Остановите другие процессы, чтобы освободить память, затем снова запустите установщик

845* Добавьте пространство подкачки или перейдите на более крупный экземпляр. Команды для файла подкачки см. в разделе [Install killed on low-memory Linux servers](#install-killed-on-low-memory-linux-servers).

846 

685<h3 id="install-hangs-in-docker">847<h3 id="install-hangs-in-docker">

686 Install hangs in Docker848 Install hangs in Docker

687</h3>849</h3>


690 852 

691**Решения:**853**Решения:**

692 854 

6931. **Установите рабочую директорию** перед запуском установщика. При запуске из `/` установщик сканирует всю файловую систему, что вызывает чрезмерное использование памяти. Установка `WORKDIR` ограничивает сканирование небольшой директорией:8551. **Задайте рабочий каталог** перед запуском установщика. При запуске из `/` установщик сканирует всю файловую систему, что вызывает чрезмерное использование памяти. Установка `WORKDIR` ограничивает сканирование небольшим каталогом:

694 ```dockerfile theme={null}856 ```dockerfile theme={null}

695 WORKDIR /tmp857 WORKDIR /tmp

696 RUN curl -fsSL https://claude.ai/install.sh | bash858 RUN curl -fsSL https://claude.ai/install.sh | bash

697 ```859 ```

698 860 

6992. **Увеличьте лимиты памяти Docker**, если используете Docker Desktop. Постройте контейнеры, которые делят память, выделенную виртуальной машине Docker Desktop, поэтому откройте **Settings > Resources** в Docker Desktop, поднимите лимит памяти и переустановите сборку.8612. **Выделите Docker больше памяти**, если используете Docker Desktop. Контейнеры сборки разделяют память, выделенную виртуальной машине Docker Desktop, поэтому откройте **Settings > Resources** в Docker Desktop, увеличьте лимит памяти и снова запустите сборку.

700 862 

701<h3 id="raw-mode-is-not-supported-during-install">863<h3 id="raw-mode-is-not-supported-during-install">

702 `Raw mode is not supported` during install864 `Raw mode is not supported` during install

703</h3>865</h3>

704 866 

705Когда [параметры, управляемые сервером](/docs/ru/server-managed-settings) вашей организации включают изменения, которые требуют [одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs), версии Claude Code до 2.1.246 пытаются показать диалог одобрения во время `claude install`. Диалог требует терминал на stdin. Когда установщик запускает `claude install` из канала, как `curl -fsSL https://claude.ai/install.sh | bash` делает, stdin — это канал, а не терминал, поэтому установка не удаётся с ошибкой, содержащей `Raw mode is not supported`.867Когда [настройки, управляемые сервером](/docs/ru/server-managed-settings) вашей организации включают изменения, которые требуют [подтверждения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs), версии Claude Code до 2.1.246 пытаются показать диалог подтверждения во время `claude install`. Диалогу нужен терминал на stdin. Когда установщик запускает `claude install` из канала, как это делает `curl -fsSL https://claude.ai/install.sh | bash`, stdin — это канал, а не терминал, поэтому установка завершается ошибкой, содержащей `Raw mode is not supported`.

706 868 

707Claude Code v2.1.246 и позже не показывают диалог во время `claude install` или `claude update`. Команда запускается с параметрами, которые вы в последний раз одобрили, и Claude Code показывает диалог в вашей следующей интерактивной сессии. Если конфигурация запуска вашей организации [ждёт выборки параметров](/docs/ru/server-managed-settings#enforce-fail-closed-startup), такая как когда она устанавливает `forceRemoteSettingsRefresh`, диалог всё ещё появляется во время этих команд, и запуск установки из канала всё ещё не удаётся.869Claude Code v2.1.246 и более поздние версии не показывают диалог во время `claude install` или `claude update`. Команда запускается с настройками, которые вы подтвердили в последний раз, и Claude Code показывает диалог в вашей следующей интерактивной сессии. Если конфигурация запуска вашей организации [ожидает получения настроек](/docs/ru/server-managed-settings#enforce-fail-closed-startup), например когда она задаёт `forceRemoteSettingsRefresh`, диалог всё ещё появляется во время этих команд, и установка, запущенная из канала, всё ещё завершается ошибкой.

708 870 

709В каждой другой конфигурации переустановка установщика преодолевает эту ошибку, потому что скрипт запускает команду `install` последнего выпуска даже когда вы просите его установить более старую версию. Переустановите команду для вашей платформы:871В любой другой конфигурации повторный запуск установщика позволяет обойти эту ошибку, потому что скрипт запускает команду `install` последнего выпуска, даже когда вы просите его установить более старую версию. Снова запустите команду для вашей платформы:

710 872 

711<Tabs>873<Tabs>

712 <Tab title="macOS/Linux">874 <Tab title="macOS/Linux">


722 </Tab>884 </Tab>

723</Tabs>885</Tabs>

724 886 

725`claude --version` выводит версию, которую переустановка установила.887`claude --version` выводит версию, установленную при повторном запуске.

726 888 

727<h3 id="claude-update-or-claude-doctor-hangs">889<h3 id="claude-update-or-claude-doctor-hangs">

728 `claude update` or `claude doctor` hangs890 `claude update` or `claude doctor` hangs

729</h3>891</h3>

730 892 

731`claude update` и `claude doctor` сканируют ваши файлы конфигурации оболочки на предмет устаревшего псевдонима `claude`: `~/.zshrc`, `~/.bashrc` и `~/.config/fish/config.fish`, плюс на macOS первый из `~/.bash_profile`, `~/.bash_login` или `~/.profile`, который существует. Если вы установили `ZDOTDIR`, файл Zsh — это `$ZDOTDIR/.zshrc` вместо этого. Когда один из этих путей — это директория, Claude Code пропускает его и обе команды завершаются нормально. До v2.1.214 директория в одном из этих путей заставляла обе команды зависать и оставляла раздел System diagnostics в `/status` пустым. `claude doctor` зависал без вывода; `claude update` зависал сразу после вывода `Checking for updates`.893`claude update` и `claude doctor` сканируют ваши файлы конфигурации оболочки на предмет устаревшего псевдонима `claude`: `~/.zshrc`, `~/.bashrc` и `~/.config/fish/config.fish`, плюс на macOS первый существующий из `~/.bash_profile`, `~/.bash_login` или `~/.profile`. Если вы задали `ZDOTDIR`, файлом Zsh вместо этого является `$ZDOTDIR/.zshrc`. Когда один из этих путей является каталогом, Claude Code пропускает его, и обе команды завершаются нормально. До v2.1.214 каталог по одному из этих путей заставлял обе команды зависать и оставлял раздел System diagnostics в `/status` пустым. `claude doctor` зависал без вывода; `claude update` зависал сразу после вывода `Checking for updates`.

732 894 

733Если вы попали на зависание на более ранней версии, найдите директорию. В выводе этой команды строка, начинающаяся с `d`, отмечает этот путь как директорию. Строка `No such file or directory` означает, что ничего не существует в этом пути и не является причиной:895Если вы столкнулись с зависанием на более ранней версии, найдите каталог. В выводе этой команды строка, начинающаяся с `d`, отмечает этот путь как каталог. Строка `No such file or directory` означает, что по этому пути ничего не существует и он не является причиной:

734 896 

735```bash theme={null}897```bash theme={null}

736ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish898ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish

737```899```

738 900 

739Переместите директорию в сторону, или обновитесь до v2.1.214 или позже. Так как `claude update` зависает на затронутых версиях, обновитесь, переустановив [скрипт установки](/docs/ru/setup#install-claude-code) вместо этого.901Переместите каталог в другое место или обновитесь до v2.1.214 или более поздней версии. Так как `claude update` зависает на затронутых версиях, обновитесь вместо этого, повторно запустив [скрипт установки](/docs/ru/setup#install-claude-code).

740 902 

741<h3 id="claude-desktop-overrides-the-claude-command-on-windows">903<h3 id="claude-desktop-overrides-the-claude-command-on-windows">

742 Claude Desktop overrides the `claude` command on Windows904 Claude Desktop overrides the `claude` command on Windows

743</h3>905</h3>

744 906 

745Если вы установили старую версию Claude Desktop, она может зарегистрировать `Claude.exe` в директории `WindowsApps`, которая имеет приоритет PATH над Claude Code CLI. Запуск `claude` открывает приложение Desktop вместо CLI.907Если вы установили старую версию Claude Desktop, она может зарегистрировать `Claude.exe` в каталоге `WindowsApps`, который имеет приоритет в PATH над Claude Code CLI. Запуск `claude` открывает приложение Desktop вместо CLI.

746 908 

747Обновите Claude Desktop до последней версии, чтобы исправить эту проблему.909Обновите Claude Desktop до последней версии, чтобы исправить эту проблему.

748 910 


752 914 

753Git for Windows является опциональным. Claude Code использует [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) при отсутствии Git Bash, поэтому эта ошибка означает, что ни одна оболочка не была найдена.915Git for Windows является опциональным. Claude Code использует [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) при отсутствии Git Bash, поэтому эта ошибка означает, что ни одна оболочка не была найдена.

754 916 

755**Если PowerShell отсутствует в вашем PATH**, его местоположение по умолчанию — `C:\Windows\System32\WindowsPowerShell\v1.0\`. Добавьте эту директорию в ваш `PATH`, или установите [PowerShell 7](https://aka.ms/powershell), который предоставляет `pwsh`.917**Если PowerShell отсутствует в вашем PATH**, его местоположение по умолчанию — `C:\Windows\System32\WindowsPowerShell\v1.0\`. Добавьте этот каталог в ваш `PATH` или установите [PowerShell 7](https://aka.ms/powershell), который предоставляет `pwsh`.

756 918 

757**Чтобы вместо этого установить Git for Windows**, загрузите его с [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Во время установки выберите "Add to PATH." Перезагрузите ваш терминал после установки. Установка его включает инструмент Bash, полезный при работе со скриптами и инструментами на основе Bash.919**Чтобы вместо этого установить Git for Windows**, загрузите его с [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Во время установки выберите "Add to PATH." Перезапустите терминал после установки. Его установка включает инструмент Bash, полезный при работе со скриптами и инструментами на основе Bash.

758 920 

759**Если Git уже установлен**, но Claude Code не может его найти, сравните его местоположение с местами, которые Claude Code проверяет. Когда `CLAUDE_CODE_GIT_BASH_PATH` не установлен, Claude Code ищет `bash.exe` в этом порядке:921**Если Git уже установлен**, но Claude Code не может его найти, сравните его местоположение с местами, которые Claude Code проверяет. Когда `CLAUDE_CODE_GIT_BASH_PATH` не задан, Claude Code ищет `bash.exe` в этом порядке:

760 922 

7611. Местоположения установки по умолчанию `C:\Program Files\Git` и `C:\Program Files (x86)\Git`.9231. Местоположения установки по умолчанию `C:\Program Files\Git` и `C:\Program Files (x86)\Git`.

7622. `git` на вашем `PATH`, используя `bin\bash.exe` из этой установки Git.9242. `git` в вашем `PATH`, используя `bin\bash.exe` из этой установки Git.

763 925 

764На шаге 2 Claude Code пропускает `git`, который находится в папке, из которой вы запустили Claude Code, или ниже её в пути, который содержит `node_modules` или папку виртуального окружения, такую как `.venv` или `env`, например `C:\dev\env\myproject\Git`, когда вы запустили из `C:\dev\env\myproject`. Это предотвращает запуск Claude Code исполняемого файла, который проект поместил туда. Если ваш Git находится в месте, подобном этому, укажите `CLAUDE_CODE_GIT_BASH_PATH` на него.926На шаге 2 Claude Code пропускает `git`, который находится в папке, из которой вы запустили Claude Code, или ниже неё в пути, который содержит `node_modules` или папку виртуального окружения, такую как `.venv` или `env`, например `C:\dev\env\myproject\Git`, когда вы запустили из `C:\dev\env\myproject`. Это предотвращает запуск Claude Code исполняемого файла, который туда поместил проект. Если ваш Git находится в подобном месте, укажите на него в `CLAUDE_CODE_GIT_BASH_PATH`.

765 927 

766**Чтобы указать Claude Code на конкретную установку Git**, найдите её, запустив `where.exe git` в PowerShell, затем установите путь `bin\bash.exe` из этой установки как `CLAUDE_CODE_GIT_BASH_PATH` в вашем [файле settings.json](/docs/ru/settings):928**Чтобы указать Claude Code на конкретную установку Git**, найдите её, запустив `where.exe git` в PowerShell, затем задайте путь `bin\bash.exe` из этой установки как `CLAUDE_CODE_GIT_BASH_PATH` в вашем [файле settings.json](/docs/ru/settings):

767 929 

768```json theme={null}930```json theme={null}

769{931{


773}935}

774```936```

775 937 

776**Если `CLAUDE_CODE_GIT_BASH_PATH` установлен на правильный путь и файл существует**, но Claude Code всё ещё не использует его, сначала проверьте имя файла. Claude Code принимает только файл с именем `bash.exe`, `sh.exe`, `bash` или `sh`; с любым другим именем, таким как launcher `git-bash.exe` Git for Windows, он игнорирует переменную и автоматически определяет Git Bash, как если бы она была не установлена, логируя предупреждение, видимое с `--debug`. Путь, который не существует, получает тот же fallback и предупреждение. До v2.1.219 Claude Code использовал любой существующий файл как оболочку без проверки его имени и выходил при запуске с `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path`, когда путь не существовал.938**Если `CLAUDE_CODE_GIT_BASH_PATH` указывает на правильный путь и файл существует**, но Claude Code всё ещё не использует его, сначала проверьте имя файла. Claude Code принимает только файл с именем `bash.exe`, `sh.exe`, `bash` или `sh`; при любом другом имени, например у лаунчера `git-bash.exe` из Git for Windows, он игнорирует переменную и автоматически определяет Git Bash, как если бы она не была задана, записывая в журнал предупреждение, видимое с `--debug`. Несуществующий путь приводит к тому же резервному варианту и предупреждению. До v2.1.219 Claude Code использовал любой существующий файл как оболочку без проверки его имени и завершался при запуске с `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path`, когда путь не существовал.

777 939 

778Если имя файла правильное, программное обеспечение безопасности конечной точки, такое как AppLocker, политики ограничения программного обеспечения Group Policy или агенты EDR, могут вмешиваться. Попросите вашу IT-команду добавить в список разрешений `claude.exe` и процессы, которые он порождает, включая `cmd.exe` и `bash.exe`, в вашей политике защиты конечной точки.940Если имя файла правильное, может вмешиваться программное обеспечение для защиты эндпоинтов, такое как AppLocker, политики ограничения программного обеспечения Group Policy или агенты EDR. Попросите вашу IT-команду добавить в список разрешённых `claude.exe` и порождаемые им процессы, включая `cmd.exe` и `bash.exe`, в вашей политике защиты эндпоинтов.

779 941 

780<h3 id="claude-code-does-not-support-32-bit-windows">942<h3 id="claude-code-does-not-support-32-bit-windows">

781 Claude Code does not support 32-bit Windows943 Claude Code does not support 32-bit Windows

782</h3>944</h3>

783 945 

784Windows включает две записи PowerShell в меню Start: `Windows PowerShell` и `Windows PowerShell (x86)`. Запись x86 запускается как 32-битный процесс и вызывает эту ошибку даже на 64-битной машине. Чтобы проверить, в каком случае вы находитесь, запустите это в том же окне, которое произвело ошибку:946Windows включает две записи PowerShell в меню Start: `Windows PowerShell` и `Windows PowerShell (x86)`. Запись x86 запускается как 32-битный процесс и вызывает эту ошибку даже на 64-битной машине. Чтобы проверить, какой у вас случай, запустите это в том же окне, в котором возникла ошибка:

785 947 

786```powershell theme={null}948```powershell theme={null}

787[Environment]::Is64BitOperatingSystem949[Environment]::Is64BitOperatingSystem


789 951 

790Если это выводит `True`, ваша операционная система в порядке. Закройте окно, откройте `Windows PowerShell` без суффикса x86 и запустите команду установки снова.952Если это выводит `True`, ваша операционная система в порядке. Закройте окно, откройте `Windows PowerShell` без суффикса x86 и запустите команду установки снова.

791 953 

792Если это выводит `False`, вы находитесь на 32-битном издании Windows. Claude Code требует 64-битную операционную систему. См. [системные требования](/docs/ru/setup#system-requirements).954Если это выводит `False`, вы используете 32-битное издание Windows. Claude Code требует 64-битную операционную систему. См. [системные требования](/docs/ru/setup#system-requirements).

793 955 

794<h3 id="linux-musl-or-glibc-binary-mismatch">956<h3 id="linux-musl-or-glibc-binary-mismatch">

795 Linux musl or glibc binary mismatch957 Linux musl or glibc binary mismatch


801Error loading shared library libstdc++.so.6: No such file or directory963Error loading shared library libstdc++.so.6: No such file or directory

802```964```

803 965 

804Это может произойти на системах на основе glibc, которые имеют установленные пакеты кросс-компиляции musl, вызывая установщик неправильно определить систему как musl.966Это может произойти на системах на основе glibc, в которых установлены пакеты кросс-компиляции musl, из-за чего установщик ошибочно определяет систему как musl.

805 967 

806**Решения:**968**Решения:**

807 969 


811 ```973 ```

812 Вывод, упоминающий `GNU libc` или `GLIBC`, означает glibc. Вывод, упоминающий `musl`, означает musl.974 Вывод, упоминающий `GNU libc` или `GLIBC`, означает glibc. Вывод, упоминающий `musl`, означает musl.

813 975 

8142. **Если вы на glibc, но получили бинарный файл musl**, удалите установку и переустановите. Вы также можете вручную загрузить правильный бинарный файл, используя манифест в `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Подайте [GitHub issue](https://github.com/anthropics/claude-code/issues) с выводом `ldd --version` и `ls /lib/libc.musl*`.9762. **Если вы на glibc, но получили бинарный файл musl**, удалите установку и переустановите. Вы также можете вручную загрузить правильный бинарный файл, используя манифест в `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Создайте [GitHub issue](https://github.com/anthropics/claude-code/issues) с выводом `ldd --version` и `ls /lib/libc.musl*`.

815 977 

8163. **Если вы действительно на musl**, такой как Alpine Linux, установите требуемые пакеты:9783. **Если вы действительно на musl**, например Alpine Linux, установите требуемые пакеты:

817 ```bash theme={null}979 ```bash theme={null}

818 apk add libgcc libstdc++ ripgrep980 apk add libgcc libstdc++ ripgrep

819 ```981 ```


823 `Illegal instruction`985 `Illegal instruction`

824</h3>986</h3>

825 987 

826Если запуск `claude` или установщика выводит `Illegal instruction`, встроенный бинарный файл использует инструкции CPU, которые ваш процессор не поддерживает. Есть две отдельные причины.988Если запуск `claude` или установщика выводит `Illegal instruction`, нативный бинарный файл использует инструкции CPU, которые ваш процессор не поддерживает. Есть две отдельные причины.

827 989 

828**Несоответствие архитектуры.** Установщик загрузил неправильный бинарный файл, например x86 на ARM-сервере. Проверьте с `uname -m` на macOS или Linux, или `$env:PROCESSOR_ARCHITECTURE` в PowerShell. Если результат не совпадает с полученным вами бинарным файлом, [подайте GitHub issue](https://github.com/anthropics/claude-code/issues) с выводом.990**Несоответствие архитектуры.** Установщик загрузил неправильный бинарный файл, например x86 на ARM-сервере. Проверьте с помощью `uname -m` на macOS или Linux или `$env:PROCESSOR_ARCHITECTURE` в PowerShell. Если результат не совпадает с полученным вами бинарным файлом, [создайте GitHub issue](https://github.com/anthropics/claude-code/issues) с выводом.

829 991 

830**Отсутствующий набор инструкций AVX.** Если ваша архитектура правильная, но вы всё ещё видите `Illegal instruction`, ваш CPU вероятно не имеет AVX или другой инструкции, которую требует бинарный файл. Это влияет примерно на процессоры Intel и AMD до 2013 года, и виртуальные машины, где гипервизор не передаёт AVX гостю.992**Отсутствующий набор инструкций AVX.** Если ваша архитектура правильная, но вы всё ещё видите `Illegal instruction`, ваш CPU вероятно не поддерживает AVX или другую инструкцию, которую требует бинарный файл. Это затрагивает примерно процессоры Intel и AMD до 2013 года, а также виртуальные машины, где гипервизор не передаёт AVX гостю.

831 993 

832На VPS или VM запустите `grep -m1 -ow avx /proc/cpuinfo`; пустой результат означает, что AVX недоступен гостю.994На VPS или VM запустите `grep -m1 -ow avx /proc/cpuinfo`; пустой результат означает, что AVX недоступен гостю.

833 995 

834Встроенного обходного пути нет; отслеживайте [issue #50384](https://github.com/anthropics/claude-code/issues/50384) для статуса и включайте модель вашего CPU из `grep -m1 "model name" /proc/cpuinfo` на Linux или `sysctl -n machdep.cpu.brand_string` на macOS при сообщении.996Обходного пути для нативного бинарного файла нет; следите за статусом в [issue #50384](https://github.com/anthropics/claude-code/issues/50384) и при сообщении о проблеме указывайте модель вашего CPU из `grep -m1 "model name" /proc/cpuinfo` на Linux или `sysctl -n machdep.cpu.brand_string` на macOS.

835 997 

836Альтернативные методы установки загружают тот же встроенный бинарный файл и не разрешат ни одну из причин.998Альтернативные методы установки загружают тот же нативный бинарный файл и не устранят ни одну из причин.

837 999 

838<h3 id="dyld-cannot-load-on-macos">1000<h3 id="dyld-cannot-load-on-macos">

839 `dyld: cannot load` on macOS1001 `dyld: cannot load` on macOS


858 1020 

859**Решения:**1021**Решения:**

860 1022 

8611. **Проверьте вашу версию macOS**: Claude Code требует macOS 13.0 или позже. Откройте меню Apple и выберите About This Mac, чтобы проверить вашу версию.10231. **Проверьте вашу версию macOS**: Claude Code требует macOS 13.0 или более позднюю версию. Откройте меню Apple и выберите About This Mac, чтобы проверить вашу версию.

862 1024 

8632. **Обновите macOS**, если вы на старой версии. Бинарный файл использует команды загрузки и системные библиотеки, которые старые версии macOS не поддерживают. Альтернативные методы установки, такие как Homebrew, загружают тот же бинарный файл и не разрешат эту ошибку.10252. **Обновите macOS**, если у вас старая версия. Бинарный файл использует команды загрузки и системные библиотеки, которые старые версии macOS не поддерживают. Альтернативные методы установки, такие как Homebrew, загружают тот же бинарный файл и не устранят эту ошибку.

864 1026 

865<h3 id="bus-error-while-a-session-is-running">1027<h3 id="bus-error-while-a-session-is-running">

866 `Bus error` while a session is running1028 `Bus error` while a session is running


876 `Exec format error` on WSL11038 `Exec format error` on WSL1

877</h3>1039</h3>

878 1040 

879Если запуск `claude` в WSL выводит `cannot execute binary file: Exec format error`, вы находитесь на WSL1 и попадаете в известную регрессию встроенного бинарного файла, отслеживаемую в [issue #38788](https://github.com/anthropics/claude-code/issues/38788). Заголовки программы бинарного файла изменились таким образом, что загрузчик WSL1 не может обработать.1041Если запуск `claude` в WSL выводит `cannot execute binary file: Exec format error`, вы используете WSL1 и столкнулись с известной регрессией нативного бинарного файла, отслеживаемой в [issue #38788](https://github.com/anthropics/claude-code/issues/38788). Заголовки программы бинарного файла изменились таким образом, что загрузчик WSL1 не может их обработать.

880 1042 

881Самое чистое исправление — преобразовать ваш дистрибутив в WSL2 из PowerShell:1043Самое чистое исправление — преобразовать ваш дистрибутив в WSL2 из PowerShell:

882 1044 


884wsl --set-version <DistroName> 21046wsl --set-version <DistroName> 2

885```1047```

886 1048 

887Если вам нужно оставаться на WSL1, вызовите бинарный файл через динамический компоновщик. Добавьте эту функцию в `~/.bashrc` внутри WSL, заменив путь, если ваша домашняя директория отличается:1049Если вам нужно оставаться на WSL1, вызывайте бинарный файл через динамический компоновщик. Добавьте эту функцию в `~/.bashrc` внутри WSL, заменив путь, если ваш домашний каталог отличается:

888 1050 

889```bash theme={null}1051```bash theme={null}

890claude() {1052claude() {


898 npm install errors in WSL1060 npm install errors in WSL

899</h3>1061</h3>

900 1062 

901Эти проблемы применяются, если вы установили Claude Code с `npm install -g` внутри WSL. Если вы использовали [встроенный установщик](/docs/ru/setup), пропустите этот раздел.1063Эти проблемы актуальны, если вы установили Claude Code с помощью `npm install -g` внутри WSL. Если вы использовали [нативный установщик](/docs/ru/setup), пропустите этот раздел.

902 1064 

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

904 1066 

905**`exec: node: not found` при запуске `claude`.** Ваша среда WSL вероятно использует установку Node.js для Windows. Подтвердите с `which npm` и `which node`: пути, начинающиеся с `/mnt/c/`, — это бинарные файлы Windows, в то время как пути Linux начинаются с `/usr/`. Чтобы исправить это, установите Node через менеджер пакетов вашего дистрибутива Linux или через [`nvm`](https://github.com/nvm-sh/nvm).1067**`exec: node: not found` при запуске `claude`.** Ваша среда WSL вероятно использует установку Node.js для Windows. Проверьте с помощью `which npm` и `which node`: пути, начинающиеся с `/mnt/c/`, — это бинарные файлы Windows, в то время как пути Linux начинаются с `/usr/`. Чтобы исправить это, установите Node через менеджер пакетов вашего дистрибутива Linux или через [`nvm`](https://github.com/nvm-sh/nvm).

906 1068 

907**Конфликты версий nvm.** Если у вас установлен nvm как в WSL, так и в Windows, переключение версий Node в WSL может сломаться, потому что WSL импортирует Windows PATH по умолчанию и Windows nvm имеет приоритет. Наиболее распространённая причина — что nvm не загружен в вашу оболочку. Добавьте загрузчик nvm в `~/.bashrc` или `~/.zshrc`:1069**Конфликты версий nvm.** Если у вас установлен nvm как в WSL, так и в Windows, переключение версий Node в WSL может сломаться, потому что WSL импортирует Windows PATH по умолчанию и Windows nvm имеет приоритет. Наиболее распространённая причина — nvm не загружен в вашей оболочке. Добавьте загрузчик nvm в `~/.bashrc` или `~/.zshrc`:

908 1070 

909```bash theme={null}1071```bash theme={null}

910export NVM_DIR="$HOME/.nvm"1072export NVM_DIR="$HOME/.nvm"


912[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"1074[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

913```1075```

914 1076 

915Или загрузите его в вашу текущую сессию:1077Или загрузите его в вашей текущей сессии:

916 1078 

917```bash theme={null}1079```bash theme={null}

918source ~/.nvm/nvm.sh1080source ~/.nvm/nvm.sh

919```1081```

920 1082 

921Если nvm загружен, но пути Windows всё ещё имеют приоритет, явно добавьте ваш путь Linux Node:1083Если nvm загружен, но пути Windows всё ещё имеют приоритет, явно добавьте ваш путь Linux Node в начало:

922 1084 

923```bash theme={null}1085```bash theme={null}

924export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"1086export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"

925```1087```

926 1088 

927<Warning>1089<Warning>

928 Избегайте отключения импорта Windows PATH через `appendWindowsPath = false`, так как это нарушает возможность вызывать исполняемые файлы Windows из WSL. Аналогично, избегайте удаления Node.js из Windows, если вы используете его для разработки Windows.1090 Избегайте отключения импорта Windows PATH через `appendWindowsPath = false`, так как это нарушает возможность вызывать исполняемые файлы Windows из WSL. Аналогично, избегайте удаления Node.js из Windows, если вы используете его для разработки под Windows.

929</Warning>1091</Warning>

930 1092 

931<h3 id="permission-errors-during-installation">1093<h3 id="permission-errors-during-installation">

932 Permission errors during installation1094 Permission errors during installation

933</h3>1095</h3>

934 1096 

935Если встроенный установщик не удаётся с ошибками разрешений, целевая директория может быть недоступна для записи. См. [Проверка разрешений директории](#check-directory-permissions).1097Если нативный установщик завершается ошибками прав доступа, целевой каталог может быть недоступен для записи. См. [Проверка прав доступа к каталогу](#check-directory-permissions).

936 1098 

937Если вы ранее установили с npm и получаете ошибки разрешений, специфичные для npm, переключитесь на встроенный установщик:1099Если вы ранее установили через npm и получаете ошибки прав доступа, специфичные для npm, переключитесь на нативный установщик:

938 1100 

939```bash theme={null}1101```bash theme={null}

940curl -fsSL https://claude.ai/install.sh | bash1102curl -fsSL https://claude.ai/install.sh | bash


944 Native binary not found after npm install1106 Native binary not found after npm install

945</h3>1107</h3>

946 1108 

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

948 1110 

949```text theme={null}1111```text theme={null}

950Error: claude native binary not installed.1112Error: claude native binary not installed.


959Or reinstall without --ignore-scripts / --omit=optional.1121Or reinstall without --ignore-scripts / --omit=optional.

960```1122```

961 1123 

962На Windows `bin/claude.exe` — это тот же скрипт-заполнитель оболочки, а не реальный исполняемый файл, поэтому PowerShell и CMD сообщают, что они не могут запустить файл вместо вывода этого сообщения.1124На Windows `bin/claude.exe` — это тот же скрипт-заполнитель оболочки, а не реальный исполняемый файл, поэтому PowerShell и CMD вместо вывода этого сообщения сообщают, что не могут запустить файл.

963 1125 

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

965 1127 

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

967* **Скрипты установки отключены.** `--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`, пакет платформы никогда не был загружен, поэтому сначала исправьте причину опциональных зависимостей выше.1129* **Скрипты установки отключены.** `--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`, пакет платформы никогда не был загружен, поэтому сначала устраните описанную выше причину с опциональными зависимостями.

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

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

970 1132 

971<h3 id="npm-enotempty-during-update-or-reinstall">1133<h3 id="npm-enotempty-during-update-or-reinstall">

972 npm `ENOTEMPTY` error during update or reinstall1134 npm `ENOTEMPTY` error during update or reinstall

973</h3>1135</h3>

974 1136 

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

976 1138 

977```text theme={null}1139```text theme={null}

978npm error code ENOTEMPTY1140npm error code ENOTEMPTY


983npm error ENOTEMPTY: directory not empty, rename '...'1145npm error ENOTEMPTY: directory not empty, rename '...'

984```1146```

985 1147 

986Строка `npm error path` называет директорию, которую npm не смог переместить. Удалите эту директорию и любые оставшиеся директории `.claude-code-*` рядом с ней, которые более ранние прерванные запуски могут оставить позади. Команды ниже находят вашу глобальную директорию пакета с `npm root -g`; если директория, которую называет строка `npm error path`, не находится под директорией, которую выводит `npm root -g`, например потому что вы переключили версии Node с nvm, удалите директории, которые называет ошибка вместо этого:1148Строка `npm error path` называет каталог, который npm не смог переместить. Удалите этот каталог и все оставшиеся рядом с ним каталоги `.claude-code-*`, которые могли остаться после ранее прерванных запусков. Команды ниже находят ваш глобальный каталог пакетов с помощью `npm root -g`; если каталог, который называет строка `npm error path`, не находится внутри каталога, который выводит `npm root -g`, например потому что вы переключили версии Node с помощью nvm, удалите вместо этого каталоги, которые называет ошибка:

987 1149 

988<Tabs>1150<Tabs>

989 <Tab title="macOS/Linux">1151 <Tab title="macOS/Linux">


991 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"1153 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

992 ```1154 ```

993 1155 

994 Затем удалите любые оставшиеся временные директории. Если zsh выводит `no matches found`, их не было для удаления:1156 Затем удалите все оставшиеся временные каталоги. Если Zsh выводит `no matches found`, удалять было нечего:

995 1157 

996 ```bash theme={null}1158 ```bash theme={null}

997 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*1159 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*


1011npm install -g @anthropic-ai/claude-code1173npm install -g @anthropic-ai/claude-code

1012```1174```

1013 1175 

1014Подтвердите с `claude --version`, который выводит номер версии, такой как `2.1.211 (Claude Code)`.1176Проверьте с помощью `claude --version`, который выводит номер версии, такой как `2.1.211 (Claude Code)`.

1015 1177 

1016<h2 id="login-and-authentication">1178<h2 id="login-and-authentication">

1017 Вход и аутентификация1179 Вход и аутентификация

Details

11| Симптом | Перейти к |11| Симптом | Перейти к |

12| :- | :- |12| :- | :- |

13| `command not found`, ошибка установки, проблемы PATH, `EACCES`, ошибки TLS | [Troubleshoot installation and login](/docs/ru/troubleshoot-install) |13| `command not found`, ошибка установки, проблемы PATH, `EACCES`, ошибки TLS | [Troubleshoot installation and login](/docs/ru/troubleshoot-install) |

14| Обновление или установка загрузки не удаётся с `The connection dropped while downloading the update` или `aborted` | [Error reference](/docs/ru/errors#the-connection-dropped-while-downloading-the-update) |14| Загрузка при обновлении или установке завершается ошибкой `The connection dropped while downloading the update` или `aborted` | [Устранение неполадок установки и входа](/docs/ru/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| Циклы входа, ошибки OAuth, `403 Forbidden`, "organization disabled", учётные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#login-and-authentication) |15| Циклы входа, ошибки OAuth, `403 Forbidden`, "organization disabled", учётные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#login-and-authentication) |

16| Параметры не применяются, hooks не срабатывают, MCP servers не загружаются | [Debug your configuration](/docs/ru/debug-your-config) |16| Параметры не применяются, hooks не срабатывают, MCP servers не загружаются | [Debug your configuration](/docs/ru/debug-your-config) |

17| Сеанс запущен в режиме auto, или Claude редактирует файлы и выполняет команды без запроса | [Which mode a session starts in](/docs/ru/permission-modes#which-mode-a-session-starts-in) |17| Сеанс запущен в режиме auto, или Claude редактирует файлы и выполняет команды без запроса | [Which mode a session starts in](/docs/ru/permission-modes#which-mode-a-session-starts-in) |

ultrareview.md +6 −6

Details

56 Анализ запроса на слияние56 Анализ запроса на слияние

57</h3>57</h3>

58 58 

59Чтобы анализировать запрос на слияние GitHub вместо локальной ветви, передайте номер PR:59Чтобы проанализировать pull request на `github.com` вместо локальной ветки, передайте номер PR:

60 60 

61```text theme={null}61```text theme={null}

62/code-review ultra 123462/code-review ultra 1234


64 64 

65Команда также принимает `#1234`, `PR 1234` и вставленные URL-адреса PR; вставленный URL должен указывать на репозиторий в вашем текущем каталоге.65Команда также принимает `#1234`, `PR 1234` и вставленные URL-адреса PR; вставленный URL должен указывать на репозиторий в вашем текущем каталоге.

66 66 

67В режиме PR удаленная изолированная среда клонирует запрос на слияние непосредственно с хоста, а не упаковывает ваше локальное рабочее дерево. Режим PR работает с репозиториями на `github.com` и на экземплярах [GitHub Enterprise Server](/docs/ru/github-enterprise-server), которые администратор подключил к Claude Code.67Для режима PR нужен репозиторий на `github.com`. Для репозитория на экземпляре [GitHub Enterprise Server](/docs/ru/github-enterprise-server) запустите `/code-review ultra` без номера PR, чтобы вместо этого проанализировать вашу локальную ветку.

68 68 

69Для репозиториев на `github.com` изолированная среда клонирует с учетной записью GitHub, подключенной к вашей учетной записи Claude, поэтому учетная запись должна иметь возможность читать репозиторий PR.69В режиме PR облачная песочница клонирует pull request с `github.com` вместо загрузки вашего рабочего дерева. Она использует учётную запись GitHub, подключённую к вашей учётной записи Claude, поэтому эта учётная запись должна иметь доступ на чтение к репозиторию.

70 70 

71Запустите [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal), чтобы подключить вашу учетную запись GitHub CLI к вашей учетной записи Claude.71Запустите [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal), чтобы подключить вашу учетную запись GitHub CLI к вашей учетной записи Claude.

72 72 


74 Опубликуйте результаты в запросе на слияние74 Опубликуйте результаты в запросе на слияние

75</h3>75</h3>

76 76 

77На Claude Code версии 2.1.227 или позже, когда вы анализируете запрос на слияние на `github.com`, вы можете попросить Claude опубликовать готовые результаты в PR как один простой комментарий от вашей собственной учетной записи GitHub. Комментарий не является рецензией или одобрением и заканчивается примечанием "Generated by Claude Code". Когда вы анализируете ветвь или запрос на слияние GitHub Enterprise Server, Claude Code показывает результаты только в вашей сессии.77В Claude Code версии 2.1.227 или новее, когда вы анализируете pull request на `github.com`, вы можете попросить Claude опубликовать готовые результаты в PR как один простой комментарий от вашей собственной учётной записи GitHub. Комментарий не является рецензией или одобрением и заканчивается примечанием "Generated by Claude Code". Когда вы анализируете ветку, Claude Code показывает результаты только в вашей сессии.

78 78 

79Claude Code никогда не публикует, если вы не выберете это на этом запуске, и `--no-post` является значением по умолчанию. Публикация — это выбор, который вы делаете для каждого запуска:79Claude Code никогда не публикует, если вы не выберете это на этом запуске, и `--no-post` является значением по умолчанию. Публикация — это выбор, который вы делаете для каждого запуска:

80 80 


106Claude Code рассматривает ваш текст как примечание только, когда он содержит более одного слова и не является именем ветви или ссылкой на PR. Он читает одно слово как имя ветви или ссылку на PR, поэтому неправильно введенное имя ветви получает ошибку ближайшей ветви из [Анализ относительно другой базы](#review-against-a-different-base) вместо запуска с примечанием. Если ваш текст объединяет ссылку на PR с другими словами, такие как `check PR 123 again`, Claude Code также не запускается; он просит вас повторно запустить только с номером PR для анализа этого PR или без ссылки для анализа вашей текущей ветви.106Claude Code рассматривает ваш текст как примечание только, когда он содержит более одного слова и не является именем ветви или ссылкой на PR. Он читает одно слово как имя ветви или ссылку на PR, поэтому неправильно введенное имя ветви получает ошибку ближайшей ветви из [Анализ относительно другой базы](#review-against-a-different-base) вместо запуска с примечанием. Если ваш текст объединяет ссылку на PR с другими словами, такие как `check PR 123 again`, Claude Code также не запускается; он просит вас повторно запустить только с номером PR для анализа этого PR или без ссылки для анализа вашей текущей ветви.

107 107 

108<Tip>108<Tip>

109 Если ваш репозиторий слишком большой для упаковки, Claude Code предложит вам вместо этого использовать режим PR. Отправьте вашу ветвь и откройте черновик PR, затем запустите `/code-review ultra <PR-number>`.109 Если ваш репозиторий слишком большой для упаковки, Claude Code предложит вам вместо этого использовать режим PR. Для репозитория на `github.com` отправьте вашу ветку и откройте черновик PR, затем запустите `/code-review ultra <PR-number>`.

110</Tip>110</Tip>

111 111 

112<h3 id="diff-limits-and-fallbacks">112<h3 id="diff-limits-and-fallbacks">


173claude ultrareview origin/main173claude ultrareview origin/main

174```174```

175 175 

176Без аргументов подкоманда проверяет разницу между вашей текущей веткой и веткой по умолчанию, с тем же [резервным вариантом для всего репозитория](#diff-limits-and-fallbacks), что и `/code-review ultra`, когда база слияния не существует. Передайте номер PR для проверки pull request или базовую ветку для проверки относительно неё; [обработка базовой ветки](#review-against-a-different-base) соответствует интерактивной команде.176Без аргументов подкоманда проверяет разницу между вашей текущей веткой и веткой по умолчанию, с тем же [резервным вариантом для всего репозитория](#diff-limits-and-fallbacks), что и `/code-review ultra`, когда база слияния не существует. Передайте номер PR, чтобы [проверить pull request на `github.com`](#review-a-pull-request), или базовую ветку для проверки относительно неё; [обработка базовой ветки](#review-against-a-different-base) соответствует интерактивной команде.

177 177 

178Вы даёте согласие на резервный вариант для всего репозитория и на подтверждение выставления счёта и условия при запуске подкоманды, поэтому выполнение начинается без ожидания ввода. Запуск её самостоятельно — это то, что считается согласием. Когда Claude запускает подкоманду для вас, например через инструмент Bash, Claude Code отказывает в проверке всего репозитория.178Вы даёте согласие на резервный вариант для всего репозитория и на подтверждение выставления счёта и условия при запуске подкоманды, поэтому выполнение начинается без ожидания ввода. Запуск её самостоятельно — это то, что считается согласием. Когда Claude запускает подкоманду для вас, например через инструмент Bash, Claude Code отказывает в проверке всего репозитория.

179 179 

vs-code.md +2 −0

Details

166* **Закладки**: наведите курсор на ответ и нажмите **Bookmark response**, чтобы сохранить его, или нажмите **Remove bookmark** на сохранённом ответе, чтобы удалить закладку.166* **Закладки**: наведите курсор на ответ и нажмите **Bookmark response**, чтобы сохранить его, или нажмите **Remove bookmark** на сохранённом ответе, чтобы удалить закладку.

167 167 

168 Чтобы просмотреть сохранённые ответы, откройте панель Bookmarks: нажмите на значок закладки в верхней части панели Claude Code, выберите **Bookmarks** в разделе Context меню команд или введите `/bookmarks`. Требуется Claude Code v2.1.286 или новее.168 Чтобы просмотреть сохранённые ответы, откройте панель Bookmarks: нажмите на значок закладки в верхней части панели Claude Code, выберите **Bookmarks** в разделе Context меню команд или введите `/bookmarks`. Требуется Claude Code v2.1.286 или новее.

169* **Файлы, которые вам отправляет Claude**: когда сессия подключена к [Remote Control](/docs/ru/remote-control#start-a-remote-control-session) и Claude отправляет вам файлы с помощью [инструмента `SendUserFile`](/docs/ru/tools-reference), в диалоге отображается строка, например **Sent report.md, chart.png**. Нажмите на имя файла, чтобы открыть его в редакторе.

169* **Индикатор контекста**: поле ввода промпта показывает, какая часть контекстного окна Claude используется. Claude автоматически выполняет сжатие контекста при необходимости, или вы можете запустить `/compact` вручную.170* **Индикатор контекста**: поле ввода промпта показывает, какая часть контекстного окна Claude используется. Claude автоматически выполняет сжатие контекста при необходимости, или вы можете запустить `/compact` вручную.

170* **Часы кэша промптов**: значок часов рядом с индикатором контекста показывает приблизительное время, оставшееся до истечения [кэша промптов](/docs/ru/prompt-caching) диалога. Отсчёт идёт от пятиминутного или часового [срока жизни](/docs/ru/prompt-caching#cache-lifetime) кэша, и каждый ответ, использующий кэш, перезапускает отсчёт. Помимо сжатия контекста, [действия, которые делают кэш недействительным](/docs/ru/prompt-caching#actions-that-invalidate-the-cache), не сбрасывают часы, поэтому после смены модели они всё ещё могут показывать оставшиеся минуты.171* **Часы кэша промптов**: значок часов рядом с индикатором контекста показывает приблизительное время, оставшееся до истечения [кэша промптов](/docs/ru/prompt-caching) диалога. Отсчёт идёт от пятиминутного или часового [срока жизни](/docs/ru/prompt-caching#cache-lifetime) кэша, и каждый ответ, использующий кэш, перезапускает отсчёт. Помимо сжатия контекста, [действия, которые делают кэш недействительным](/docs/ru/prompt-caching#actions-that-invalidate-the-cache), не сбрасывают часы, поэтому после смены модели они всё ещё могут показывать оставшиеся минуты.

171 * Пока отсчёт не закончился, значок показывает оставшиеся минуты, например **12m**.172 * Пока отсчёт не закончился, значок показывает оставшиеся минуты, например **12m**.


597| `useCtrlEnterToSend` | `false` | Использовать Ctrl/Cmd+Enter вместо Enter для отправки подсказок |598| `useCtrlEnterToSend` | `false` | Использовать Ctrl/Cmd+Enter вместо Enter для отправки подсказок |

598| `scrollToBottomOnSend` | `true` | Прокручивать беседу в конец при отправке сообщения. Когда отключено, беседа остаётся там, где вы её оставили. Требуется Claude Code v2.1.275 или позже |599| `scrollToBottomOnSend` | `true` | Прокручивать беседу в конец при отправке сообщения. Когда отключено, беседа остаётся там, где вы её оставили. Требуется Claude Code v2.1.275 или позже |

599| `showMessageTimestamps` | `true` | Показывать, когда было отправлено каждое сообщение. Строка с датой отмечает место смены дня. Требуется Claude Code v2.1.284 или позже. До версии 2.1.290 значением по умолчанию было `false` |600| `showMessageTimestamps` | `true` | Показывать, когда было отправлено каждое сообщение. Строка с датой отмечает место смены дня. Требуется Claude Code v2.1.284 или позже. До версии 2.1.290 значением по умолчанию было `false` |

601| `spinnerVerbs` | `{"mode": "append", "verbs": []}` | Задать глаголы, которые поочерёдно показывает индикатор выполнения в диалоге во время хода, с теми же полями `mode` и `verbs`, что и у параметра CLI [`spinnerVerbs`](/docs/ru/settings-reference#spinnerverbs). |

600| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |602| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |

601| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |603| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |

602| `archiveInactiveSessions` | `14` | [Архивировать сеанс автоматически](#resume-past-conversations) после этого количества дней без активности: `1`, `2`, `7` или `14`. Установите `0` для отключения. Требуется Claude Code v2.1.265 или позже |604| `archiveInactiveSessions` | `14` | [Архивировать сеанс автоматически](#resume-past-conversations) после этого количества дней без активности: `1`, `2`, `7` или `14`. Установите `0` для отключения. Требуется Claude Code v2.1.265 или позже |

workflows.md +27 −1

Details

354 354 

355Тело — это простой JavaScript с top-level `await`. `agent()` создаёт один подагент, `pipeline()` запускает один на элемент в списке, а `parallel()` запускает набор задач агента одновременно и ждёт завершения всех из них.355Тело — это простой JavaScript с top-level `await`. `agent()` создаёт один подагент, `pipeline()` запускает один на элемент в списке, а `parallel()` запускает набор задач агента одновременно и ждёт завершения всех из них.

356 356 

357Вызов `agent()` разрешается в `null`, если вы остановите его во время выполнения или он столкнётся с неустранимой ошибкой API. `pipeline()` сохраняет каждый `null` в массиве результатов, поэтому пример заканчивается на `.filter(Boolean)`, чтобы удалить эти записи.357Вызов `agent()` разрешается в `null`, если вы остановите его во время выполнения или он столкнётся с неустранимой ошибкой API. `pipeline()` сохраняет каждый `null` в массиве результатов, поэтому пример заканчивается на `.filter(Boolean)`, чтобы удалить эти записи, включая слот [агента, который зависал при каждой попытке](#when-an-agent-stalls-and-restarts).

358 358 

359В [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) подсказка, которую ваш скрипт передаёт в `agent()`, не считается запросом от вас, когда классификатор проверяет действия этого подагента, потому что Claude Code отмечает её как текст, вычисленный скриптом.359В [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) подсказка, которую ваш скрипт передаёт в `agent()`, не считается запросом от вас, когда классификатор проверяет действия этого подагента, потому что Claude Code отмечает её как текст, вычисленный скриптом.

360 360 


463* Лимит сбросится в течение 24 часов. Еженедельный лимит может сбросится позже.463* Лимит сбросится в течение 24 часов. Еженедельный лимит может сбросится позже.

464* Запуск ещё не ждал дважды. Когда он достигает лимита в третий раз, агент отказывает.464* Запуск ещё не ждал дважды. Когда он достигает лимита в третий раз, агент отказывает.

465 465 

466<h3 id="when-an-agent-stalls-and-restarts">

467 Когда агент зависает и перезапускается

468</h3>

469 

470Агент, вывод которого перестаёт поступать в течение достаточно долгого времени, начинает заново с того же промпта. В [`/workflows`](#watch-the-run) к его имени добавляется суффикс `(retry 1)`, а в его подробностях отображается `attempt 2 (stalled)`. Перезапуск происходит автоматически, поэтому вам ничего не нужно делать.

471 

472Новая попытка начинается без транскрипта зависшей попытки. Файлы, которые зависшая попытка уже изменила, остаются изменёнными, а потраченные ею токены остаются в общем итоге запуска. Окно зависания — это время, в течение которого Claude Code ждёт вывода от агента, прежде чем завершить попытку. Время, которое агент проводит в ожидании собственных вызовов инструментов или [сброса лимита использования](#when-a-run-hits-your-usage-limit), не учитывается в окне зависания.

473 

474Агент перезапускается не более пяти раз, включая любой перезапуск, запрошенный вами с помощью `r`. Если шестая попытка тоже зависает, вызов `agent()` завершается ошибкой, и в начале ошибки указывается причина:

475 

476* `agent stalled on all 6 attempts`: каждая попытка провела всё окно без вывода. Если работа агента заставляет его молчать так долго, увеличьте окно

477* `agent lost its reply on all 6 attempts`: поток ответа каждой попытки замолкал, и Claude Code прекращал его ожидание. Увеличение окна зависания не помогает, поскольку [сторожевой таймер простоя потоковой передачи](/docs/ru/network-config#streaming-idle-watchdogs) завершил ответ раньше, а `CLAUDE_STREAM_IDLE_TIMEOUT_MS` задаёт таймаут этого сторожевого таймера

478* `agent abandoned after 6 attempts`: попытки завершились по-разному, и ошибка перечисляет их по порядку

479 

480Чтобы дать агенту больше времени на вывод до окончания окна:

481 

482* **Один агент**: передайте `stallMs` в миллисекундах в его вызове `agent()`, например `agent(prompt, { stallMs: 1800000 })` для 30 минут

483* **Все агенты**: задайте [`CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`](/docs/ru/env-vars#variables), который также применяется к субагентам вне workflows

484 

485Продолжится ли запуск после сбоя, зависит от того, как ваш скрипт вызвал агента:

486 

487* **Внутри [`parallel()` или `pipeline()`](#what-the-saved-script-looks-like)**: запуск продолжается с `null` вместо результата агента

488* **При прямом ожидании**: запуск завершается с ошибкой

489 

490Чтобы попробовать снова, попросите Claude перезапустить workflow. В разделе [Возобновить после паузы](#resume-after-a-pause) описано, что запускается снова.

491 

466<h3 id="cost">492<h3 id="cost">

467 Стоимость493 Стоимость

468</h3>494</h3>

worktrees.md +1 −1

Details

104* **Перенаправления git**: Claude Code блокирует команду Bash или Monitor, которая перенаправляет git в основную копию. Перенаправление может поступать через `git -C`, `--git-dir`, переменную `GIT_DIR` или `GIT_WORK_TREE` или `cd` в основную копию перед запуском git.104* **Перенаправления git**: Claude Code блокирует команду Bash или Monitor, которая перенаправляет git в основную копию. Перенаправление может поступать через `git -C`, `--git-dir`, переменную `GIT_DIR` или `GIT_WORK_TREE` или `cd` в основную копию перед запуском git.

105* **Форма команды**: Claude Code блокирует команду Bash или Monitor, когда он не может проверить из текста команды, что любой git, который запускает команда, остаётся внутри worktree. Это происходит, например, когда имя команды вычисляется во время выполнения, когда синтаксис не может быть проанализирован, или когда расширение, такое как `${!name}` или `${ command; }`, может запустить команду, которую текст не указывает явно. Claude Code сообщает Claude, как переписать отказанную команду, например разделив её на простые отдельные команды. Вы не можете отключить эту проверку.105* **Форма команды**: Claude Code блокирует команду Bash или Monitor, когда он не может проверить из текста команды, что любой git, который запускает команда, остаётся внутри worktree. Это происходит, например, когда имя команды вычисляется во время выполнения, когда синтаксис не может быть проанализирован, или когда расширение, такое как `${!name}` или `${ command; }`, может запустить команду, которую текст не указывает явно. Claude Code сообщает Claude, как переписать отказанную команду, например разделив её на простые отдельные команды. Вы не можете отключить эту проверку.

106 106 

107Эти проверки считывают путь, на который нацелена правка, каталог, в котором выполняется команда, и текст команды. Ни одна из них не отслеживает, какие файлы записывает shell-команда, поэтому команда, которая записывает в основную копию, не запуская там git, например `cp` или перенаправление оболочки, ими не отклоняется. Claude Code обрабатывает такую команду как любую другую shell-команду, поэтому будет ли она выполнена или запросит у вас подтверждение, зависит от вашего [режима разрешений](/docs/ru/permission-modes) и правил.107Эти проверки считывают путь, на который нацелена правка, каталог, в котором выполняется команда, и текст команды. Ни одна из них не отслеживает, какие файлы записывает shell-команда, поэтому команда, которая записывает в основную копию, не запуская там git, например `cp` или перенаправление оболочки, ими не отклоняется. Claude Code обрабатывает такую команду как любую другую shell-команду в соответствии с вашими настройками [разрешений](/docs/ru/permissions) и [изоляции в песочнице](/docs/ru/sandboxing).

108 108 

109Проверки применяются к репозиторию, из которого вы запустили Claude Code. Они также охватывают основную копию, на которую ссылается связанный worktree. Для команд PowerShell Claude Code применяет только проверку рабочего каталога.109Проверки применяются к репозиторию, из которого вы запустили Claude Code. Они также охватывают основную копию, на которую ссылается связанный worktree. Для команд PowerShell Claude Code применяет только проверку рабочего каталога.

110 110