SpyBara
Go Premium

Documentation 2026-10-06 23:59 UTC to 2026-10-07 21:59 UTC

68 files changed +1,687 −1,470. View all changes and history on the product overview
2026
Wed 7 23:01 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59

admin-setup.md +19 −19

Details

43Требования прокси и брандмауэра в [Network configuration](/docs/ru/network-config) применяются независимо от поставщика. Если вы хотите единую конечную точку перед несколькими поставщиками или централизованное логирование запросов, см. [LLM gateway](/docs/ru/llm-gateway).43Требования прокси и брандмауэра в [Network configuration](/docs/ru/network-config) применяются независимо от поставщика. Если вы хотите единую конечную точку перед несколькими поставщиками или централизованное логирование запросов, см. [LLM gateway](/docs/ru/llm-gateway).

44 44 

45<h2 id="decide-how-settings-reach-devices">45<h2 id="decide-how-settings-reach-devices">

46 Решите, как параметры достигают устройств46 Решите, как настройки достигают устройств

47</h2>47</h2>

48 48 

49Управляемые параметры определяют политику организации. Claude Code проверяет четыре источника в таблице ниже в порядке приоритета. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#precedence-within-the-managed-tier) указывает, какие из них применяются, что изменяет помощник политики и как составить каждый источник. Таблица — это карта решений.49Управляемые настройки определяют политику организации. Claude Code проверяет четыре источника в таблице ниже в порядке приоритета. [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#precedence-within-the-managed-tier) указывает, какие из них применяются, что изменяет помощник политики и как составить каждый источник. Таблица — это карта решений.

50 50 

51| Механизм | Доставка | Приоритет | Платформы |51| Механизм | Доставка | Приоритет | Платформы |

52| :- | :- | :- | :- |52| :- | :- | :- | :- |

53| Server-managed | Консоль администратора claude.ai или самостоятельно размещенный [Claude apps gateway](/docs/ru/claude-apps-gateway) для входов через gateway | Наивысший | Все |53| Server-managed | Консоль администратора claude.ai или самостоятельно размещённый [Claude apps gateway](/docs/ru/claude-apps-gateway) для входов через шлюз | Наивысший | Все |

54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Высокий | macOS, Windows |54| plist / registry policy | macOS: `com.anthropic.claudecode` plist<br />Windows: `HKLM\SOFTWARE\Policies\ClaudeCode` | Высокий | macOS, Windows |

55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux и WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Средний | Все |55| File-based managed | macOS: `/Library/Application Support/ClaudeCode/managed-settings.json`<br />Linux и WSL: `/etc/claude-code/managed-settings.json`<br />Windows: `C:\Program Files\ClaudeCode\managed-settings.json` | Средний | Все |

56| Windows user registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Наименьший | Только Windows |56| Windows user registry | `HKCU\SOFTWARE\Policies\ClaudeCode` | Наименьший | Только Windows |

57 57 

58Claude Code получает параметры, управляемые сервером, при запуске и обновляет их каждый час во время сеанса, без необходимости развертывания инфраструктуры конечной точки. Доставка через консоль администратора claude.ai требует плана Claude for Teams или Enterprise. Развертывания на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry могут получить ту же удаленную доставку, запустив [Claude apps gateway](/docs/ru/claude-apps-gateway), или вместо этого использовать один из механизмов на основе файлов или уровня ОС.58Claude Code получает настройки, управляемые сервером, при запуске и обновляет их каждый час во время сессии, без необходимости развёртывания инфраструктуры эндпоинтов. Доставка через консоль администратора claude.ai требует плана Claude for Teams или Enterprise. Развёртывания на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry могут получить ту же удалённую доставку, запустив [Claude apps gateway](/docs/ru/claude-apps-gateway), или вместо этого использовать один из механизмов на основе файлов или уровня ОС.

59 59 

60Если ваша организация использует несколько поставщиков, настройте [параметры, управляемые сервером](/docs/ru/server-managed-settings) для пользователей claude.ai плюс [резервный вариант на основе файлов или plist/registry](/docs/ru/managed-settings#delivery-mechanisms), чтобы другие пользователи по-прежнему получали управляемую политику.60Если ваша организация использует несколько поставщиков, настройте [настройки, управляемые сервером](/docs/ru/server-managed-settings), для пользователей claude.ai плюс [резервный вариант на основе файлов или plist/registry](/docs/ru/managed-settings#delivery-mechanisms), чтобы другие пользователи по-прежнему получали управляемую политику.

61 61 

62Расположения plist и HKLM registry работают с любым поставщиком и устойчивы к несанкционированному доступу, потому что требуют привилегий администратора для записи. Реестр пользователя Windows в HKCU доступен для записи без повышения прав, поэтому рассматривайте его как удобный вариант по умолчанию, а не как канал принудительного применения.62Расположения plist и HKLM registry работают с любым поставщиком и устойчивы к несанкционированному изменению, потому что требуют привилегий администратора для записи. Реестр пользователя Windows в HKCU доступен для записи без повышения прав, поэтому рассматривайте его как удобный вариант по умолчанию, а не как канал принудительного применения.

63 63 

64По умолчанию WSL читает только путь Linux в `/etc/claude-code`. Чтобы расширить вашу политику реестра Windows и `C:\Program Files\ClaudeCode` на WSL на одной машине, установите [`wslInheritsWindowsSettings: true`](/docs/ru/settings-reference#wslinheritswindowssettings) в одном из этих источников, доступных только администратору Windows.64По умолчанию WSL читает только путь Linux в `/etc/claude-code`. Чтобы распространить вашу политику реестра Windows и `C:\Program Files\ClaudeCode` на WSL на той же машине, задайте [`wslInheritsWindowsSettings: true`](/docs/ru/settings-reference#wslinheritswindowssettings) в одном из этих источников Windows, доступных только администратору.

65 65 

66Какой бы механизм вы ни выбрали, управляемые значения имеют приоритет над параметрами пользователя и проекта, за исключением нескольких чувствительных к безопасности [исключений](/docs/ru/settings#exceptions-to-managed-settings-precedence). Параметры массива, такие как `permissions.allow` и `permissions.deny`, объединяют записи из всех источников, поэтому разработчики могут расширять управляемые списки, но не удалять из них. Для `fallbackModel`, `availableModels` и [`modelPicker`](/docs/ru/settings-reference#modelpicker), управляемое значение заменяет нижние слои, а не объединяется.66Какой бы механизм вы ни выбрали, управляемые значения имеют приоритет над настройками пользователя и проекта, за исключением нескольких чувствительных к безопасности [исключений](/docs/ru/settings#exceptions-to-managed-settings-precedence). Настройки-массивы, такие как `permissions.allow` и `permissions.deny`, объединяют записи из всех источников, поэтому разработчики могут расширять управляемые списки, но не удалять из них. Для `fallbackModel`, `availableModels` и [`modelPicker`](/docs/ru/settings-reference#modelpicker) управляемое значение заменяет нижние слои, а не объединяется с ними.

67 67 

68<h3 id="wsl-sessions-in-claude-code-desktop">68<h3 id="wsl-sessions-in-claude-code-desktop">

69 WSL сеансы в Claude Code Desktop69 Сессии WSL в Claude Code Desktop

70</h3>70</h3>

71 71 

72На Windows [Claude Code Desktop может запускать сеансы Code внутри распределения WSL 2](/docs/ru/desktop-wsl). Процесс Claude Code сеанса работает внутри распределения, поэтому он разрешает управляемые параметры через путь обнаружения WSL выше: источники, доступные только Windows, не достигают его, если `wslInheritsWindowsSettings: true` не развернут.72В Windows [Claude Code Desktop может запускать сессии Code внутри дистрибутива WSL 2](/docs/ru/desktop-wsl). Процесс Claude Code сессии работает внутри дистрибутива, поэтому он определяет управляемые настройки через описанный выше путь обнаружения WSL: источники, доступные только в Windows, не достигают его, если не развёрнут `wslInheritsWindowsSettings: true`.

73 73 

74Claude Desktop отключает сеансы WSL по умолчанию на устройствах, которые он определяет как управляемые организацией, например когда существует `C:\Program Files\ClaudeCode\managed-settings.json`. Чтобы включить их, разверните политику реестра Windows, для которой требуется Claude Desktop v1.19367.0 или более поздняя версия:74Claude Desktop по умолчанию отключает сессии WSL на устройствах, которые он определяет как управляемые организацией, например когда существует `C:\Program Files\ClaudeCode\managed-settings.json`. Чтобы включить их, разверните политику реестра Windows, для которой требуется Claude Desktop v1.19367.0 или более поздняя версия:

75 75 

76* Создайте значение с именем `disableWslSessions` под `HKLM\SOFTWARE\Policies\Claude` и установите его на строку `REG_SZ` `false` или `REG_DWORD` `0`. Это значение находится под ключом политики Claude Desktop, отдельно от ключа `ClaudeCode`, который содержит управляемые параметры. Разверните значение под HKLM, что требует привилегий администратора для записи. Значение под HKCU не включает сеансы WSL.76* Создайте значение с именем `disableWslSessions` в `HKLM\SOFTWARE\Policies\Claude` и задайте для него строку `REG_SZ` `false` или `REG_DWORD` `0`. Это значение находится под ключом политики Claude Desktop, отдельно от ключа `ClaudeCode`, который содержит управляемые настройки. Разверните значение в HKLM, что требует привилегий администратора для записи. Значение в HKCU не включает сессии WSL.

77* Оставьте `C:\Program Files\ClaudeCode\managed-settings.json` на месте, если вы его развертываете. После того как `disableWslSessions` установлен на `false` под HKLM, Desktop разрешает сеансы WSL, даже если этот файл присутствует.77* Оставьте `C:\Program Files\ClaudeCode\managed-settings.json` на месте, если вы его развёртываете. После того как `disableWslSessions` имеет значение `false` в HKLM, Desktop разрешает сессии WSL, даже если этот файл присутствует.

78 78 

79Desktop читает политику каждый раз, когда начинается сеанс WSL, поэтому вам не нужно перезагружать приложение после развертывания.79Desktop читает политику каждый раз, когда начинается сессия WSL, поэтому вам не нужно перезапускать приложение после её развёртывания.

80 80 

81Если устройство по-прежнему отказывает в сеансах WSL, откройте **Help > Troubleshooting > Show Logs in Explorer** в Claude Desktop на этом устройстве, которое сохраняет копию папки журналов в Downloads. Найдите `[wslPolicyGate] denying WSL session` в `main.log` в этой копии. Причина отказа указана в скобках, например `(cli-file-present)`. Если Claude Desktop был установлен с помощью установщика `.exe`, вы также можете прочитать живой файл в `%APPDATA%\Claude\logs\main.log`.81Если устройство по-прежнему отказывает в сессиях WSL, откройте **Help > Troubleshooting > Show Logs in File Explorer** в Claude Desktop на этом устройстве — это сохранит копию папки логов в Downloads. Найдите `[wslPolicyGate] denying WSL session` в `main.log` в этой копии. Причина отказа указана в скобках, например `(cli-file-present)`.

82 82 

83После включения сеансов WSL расширьте управляемые параметры на них:83После включения сессий WSL распространите на них управляемые настройки:

84 84 

85* Разверните `wslInheritsWindowsSettings: true` через реестр HKLM или файл `C:\Program Files\ClaudeCode`, чтобы сеансы WSL наследовали ту же политику, что и сеансы хоста.85* Разверните `wslInheritsWindowsSettings: true` через реестр HKLM или файл `C:\Program Files\ClaudeCode`, чтобы сессии WSL наследовали ту же политику, что и сессии хоста.

86* Проверьте, запустив `/status` внутри сеанса WSL и прочитав строку `Setting sources`. Чтобы интерпретировать то, что она перечисляет, см. [Прочитайте источник в /status](/docs/ru/managed-settings#read-the-source-in-/status).86* Проверьте, запустив `/status` внутри сессии WSL и прочитав строку `Setting sources`. Чтобы интерпретировать то, что она перечисляет, см. [Прочитайте источник в /status](/docs/ru/managed-settings#read-the-source-in-/status).

87 87 

88Процессы внутри виртуальной машины WSL 2 не видны датчикам обнаружения конечных точек на стороне Windows. Чтобы наблюдать активность процесса и файла в дистрибутиве, проверьте руководство WSL вашего поставщика обнаружения конечных точек для датчика Linux, который вы можете запустить внутри распределения, и исключения, которые ему требуются. [Телеметрия выполнения инструментов OpenTelemetry](/docs/ru/monitoring-usage) Claude Code излучается одинаково для сеансов WSL и собственных сеансов.88Процессы внутри служебной виртуальной машины WSL 2 не видны датчикам обнаружения угроз на эндпоинтах на стороне Windows. Чтобы наблюдать активность процессов и файлов внутри дистрибутива, обратитесь к руководству по WSL от вашего поставщика средств обнаружения угроз на эндпоинтах, чтобы найти датчик Linux, который можно запустить внутри дистрибутива, и необходимые ему исключения. [Телеметрия выполнения инструментов OpenTelemetry](/docs/ru/monitoring-usage) Claude Code передаётся одинаково для сессий WSL и нативных сессий.

89 89 

90<h2 id="decide-what-to-enforce">90<h2 id="decide-what-to-enforce">

91 Решите, что нужно применять91 Решите, что нужно применять

advisor.md +8 −8

Details

87Claude Code использует флаг вместо параметра `advisorModel` для этого сеанса. Он не указывает `--advisor` в `claude --help`. Claude Code завершается с ошибкой при запуске, если:87Claude Code использует флаг вместо параметра `advisorModel` для этого сеанса. Он не указывает `--advisor` в `claude --help`. Claude Code завершается с ошибкой при запуске, если:

88 88 

89* Основная модель сеанса не поддерживает советника89* Основная модель сеанса не поддерживает советника

90* Запрошенная модель, например Haiku, не может действовать в качестве советника90* Запрошенная модель, например Haiku 4.5, не может действовать в качестве советника

91* Список разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) вашей организации исключает запрошенную модель91* Список разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) вашей организации исключает запрошенную модель

92* Вы запросили Fable, и ваша учётная запись по-прежнему требует [согласия на кредиты использования](#fable-advisor-and-usage-credits)92* Вы запросили Fable, и ваша учётная запись по-прежнему требует [согласия на кредиты использования](#fable-advisor-and-usage-credits)

93 93 


103 103 

104| Основная модель | Принятые советники |104| Основная модель | Принятые советники |

105| - | - |105| - | - |

106| Haiku 4.5 | Fable, Opus, Sonnet |106| Haiku 4.5 | Fable, Opus, Sonnet, Haiku 5.5 |

107| Sonnet 4.6 | Fable, Opus, Sonnet |107| Sonnet 4.6 | Fable, Opus, Sonnet, Haiku 5.5 |

108| Opus 4.6 | Fable, Opus, Sonnet 5 или позже |108| Opus 4.6 | Fable, Opus, Sonnet 5 или позже, Haiku 5.5 |

109| Sonnet 5 | Fable, Opus 4.7 или позже, Sonnet 5 или позже |109| Sonnet 5 или Haiku 5.5 | Fable, Opus 4.7 или позже, Sonnet 5 или позже, Haiku 5.5 |

110| Opus 4.7 или Opus 4.8 | Fable, Opus 4.7 или позже, Sonnet 5.5 |110| Opus 4.7 или Opus 4.8 | Fable, Opus 4.7 или позже, Sonnet 5.5 |

111| Sonnet 5.5 | Fable, Opus 5 или позже, Sonnet 5.5 |111| Sonnet 5.5 | Fable, Opus 5 или позже, Sonnet 5.5 |

112| Opus 5 или Opus 5.5 | Fable, Opus 5 или позже |112| Opus 5 или Opus 5.5 | Fable, Opus 5 или позже |

113| Fable 5 | Fable 5.1 или Fable 5 |113| Fable 5 | Fable 5.1 или Fable 5 |

114| Fable 5.1 | Fable 5.1 |114| Fable 5.1 | Fable 5.1 |

115 115 

116Fable 5.1 требует Claude Code v2.1.257 или более поздней версии. Модели Fable требуют [доступ к Fable](/docs/ru/model-config#work-with-fable). Sonnet 5.5 в качестве советника для основной модели Opus 4.7 или Opus 4.8 требует Claude Code v2.1.287 или более поздней версии.116Fable 5.1 требует Claude Code v2.1.257 или более поздней версии. Модели Fable требуют [доступ к Fable](/docs/ru/model-config#work-with-fable). Sonnet 5.5 в качестве советника для основной модели Opus 4.7 или Opus 4.8 требует Claude Code v2.1.287 или более поздней версии. Haiku 5.5 в качестве основной модели или советника требует Claude Code v2.1.293 или более поздней версии.

117 117 

118Установите советника как `fable`, `opus` или `sonnet`. Эти псевдонимы разрешаются во [встроенную версию Claude Code по умолчанию](/docs/ru/model-config#model-aliases) для каждого семейства моделей, которая обновляется с новыми выпусками Claude Code. Вы также можете передать полный ID модели, например `claude-opus-5-5`. Haiku может вызывать советника, но не может быть им.118Установите советника как `fable`, `opus` или `sonnet`. Эти псевдонимы разрешаются во [встроенную версию Claude Code по умолчанию](/docs/ru/model-config#model-aliases) для каждого семейства моделей, которая обновляется с новыми выпусками Claude Code. Вы также можете передать полный ID модели, например `claude-opus-5-5` или `claude-haiku-5-5`. Haiku 4.5 может вызывать советника, но не может быть им.

119 119 

120Подагенты наследуют настроенного советника и применяют ту же проверку пары к своей собственной модели.120Подагенты наследуют настроенного советника и применяют ту же проверку пары к своей собственной модели.

121 121 


202Инструмент advisor требует всё следующее:202Инструмент advisor требует всё следующее:

203 203 

204* **Только API Anthropic**: советник является инструментом, выполняемым на сервере. Он недоступен на Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform или Microsoft Foundry. Через [LLM gateway](/docs/ru/llm-gateway), настроенный с `ANTHROPIC_BASE_URL`, доступность зависит от того, пересылает ли шлюз запрос в целости на API Anthropic. Если шлюз или его вышестоящий источник не распознают инструмент advisor, см. [Автоматический повтор и пересылка ошибок](/docs/ru/llm-gateway-protocol#automatic-retry-and-error-forwarding) для информации о том, как Claude Code реагирует.204* **Только API Anthropic**: советник является инструментом, выполняемым на сервере. Он недоступен на Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform или Microsoft Foundry. Через [LLM gateway](/docs/ru/llm-gateway), настроенный с `ANTHROPIC_BASE_URL`, доступность зависит от того, пересылает ли шлюз запрос в целости на API Anthropic. Если шлюз или его вышестоящий источник не распознают инструмент advisor, см. [Автоматический повтор и пересылка ошибок](/docs/ru/llm-gateway-protocol#automatic-retry-and-error-forwarding) для информации о том, как Claude Code реагирует.

205* **Поддерживаемая основная модель**: Fable, Opus 4.6 или позже, Sonnet 4.6 или позже, или Haiku 4.5. См. [Выбор модели advisor](#choose-an-advisor-model) для информации о том, какие советники принимает каждая модель.205* **Поддерживаемая основная модель**: Fable, Opus 4.6 или позже, Sonnet 4.6 или позже, Haiku 4.5 или Haiku 5.5. См. [Выбор модели advisor](#choose-an-advisor-model) для информации о том, какие советники принимает каждая модель.

206* **Получение флага функции**: Claude Code включает советника через флаг функции, который он получает от Anthropic. В сеансе, где установлена переменная, отключающая получение флага, такая как `DISABLE_TELEMETRY`, советник остаётся отключённым. См. [Функции, требующие получения флага функции](/docs/ru/env-vars#features-that-need-feature-flag-fetching).206* **Получение флага функции**: Claude Code включает советника через флаг функции, который он получает от Anthropic. В сеансе, где установлена переменная, отключающая получение флага, такая как `DISABLE_TELEMETRY`, советник остаётся отключённым. См. [Функции, требующие получения флага функции](/docs/ru/env-vars#features-that-need-feature-flag-fetching).

207 207 

208<h2 id="turn-the-advisor-off">208<h2 id="turn-the-advisor-off">

agent-sdk/hooks.md +64 −64

Details

15* **Отслеживать жизненный цикл сеанса** для управления состоянием, очистки ресурсов или отправки уведомлений15* **Отслеживать жизненный цикл сеанса** для управления состоянием, очистки ресурсов или отправки уведомлений

16 16 

17<h2 id="how-hooks-work">17<h2 id="how-hooks-work">

18 Как работают hooks18 Как работают хуки

19</h2>19</h2>

20 20 

21<Steps>21<Steps>

22 <Step title="Срабатывает событие">22 <Step title="Срабатывает событие">

23 Что-то происходит во время выполнения агента, и SDK срабатывает событие: инструмент вот-вот будет вызван (`PreToolUse`), инструмент вернул результат (`PostToolUse`), подагент запустился или остановился, агент неактивен или выполнение завершилось. См. [полный список событий](#available-hooks).23 Во время выполнения агента что-то происходит, и SDK генерирует событие: инструмент вот-вот будет вызван (`PreToolUse`), инструмент вернул результат (`PostToolUse`), субагент запустился или остановился, агент простаивает или выполнение завершилось. См. [полный список событий](#available-hooks).

24 </Step>24 </Step>

25 25 

26 <Step title="SDK собирает зарегистрированные hooks">26 <Step title="SDK собирает зарегистрированные хуки">

27 SDK проверяет наличие hooks, зарегистрированных для этого типа события. Это включает callback hooks, которые вы передаете в `options.hooks`, и hooks команд shell из файлов настроек, когда соответствующая запись [`settingSources`](/docs/ru/agent-sdk/typescript#settingsource) или [`setting_sources`](/docs/ru/agent-sdk/python#settingsource) включена, что она есть для параметров `query()` по умолчанию.27 SDK проверяет наличие хуков, зарегистрированных для этого типа события. Сюда входят callback-хуки, которые вы передаете в `options.hooks`, и хуки shell-команд из файлов настроек, если включена соответствующая запись [`settingSources`](/docs/ru/agent-sdk/typescript#settingsource) или [`setting_sources`](/docs/ru/agent-sdk/python#settingsource), что по умолчанию так и есть для параметров `query()`.

28 </Step>28 </Step>

29 29 

30 <Step title="Matchers фильтруют, какие hooks запускаются">30 <Step title="Фильтрация запускаемых хуков с помощью matcher">

31 Если hook имеет паттерн [`matcher`](#matchers) (например, `"Write|Edit"`), SDK проверяет его против цели события (например, имя инструмента). Hooks без matcher запускаются для каждого события этого типа.31 Если у хука есть паттерн [`matcher`](#matchers) (например, `"Write|Edit"`), SDK проверяет его на соответствие цели события (например, имени инструмента). Хуки без matcher запускаются для каждого события этого типа.

32 </Step>32 </Step>

33 33 

34 <Step title="Выполняются функции обратного вызова">34 <Step title="Выполняются функции обратного вызова">

35 Каждая функция [обратного вызова](#callback-functions) matching hook получает информацию о том, что происходит: имя инструмента, его аргументы, ID сеанса и другие детали, специфичные для события.35 [Функция обратного вызова](#callback-functions) каждого подходящего хука получает информацию о том, что происходит: имя инструмента, его аргументы, ID сессии и другие детали, специфичные для события.

36 </Step>36 </Step>

37 37 

38 <Step title="Ваш callback возвращает решение">38 <Step title="Ваш callback возвращает решение">

39 После выполнения любых операций (логирование, вызовы API, валидация), ваш callback возвращает [объект вывода](#outputs), который говорит агенту, что делать: разрешить операцию, заблокировать ее, изменить входные данные или внедрить контекст в разговор.39 После выполнения любых операций (логирование, вызовы API, валидация) ваш callback возвращает [объект вывода](#outputs), который сообщает агенту, что делать: разрешить операцию, заблокировать ее, изменить входные данные или внедрить контекст в диалог.

40 </Step>40 </Step>

41</Steps>41</Steps>

42 42 

43Следующий пример объединяет эти шаги. Он регистрирует hook `PreToolUse` (шаг 1) с matcher `"Write|Edit"` (шаг 3), поэтому callback срабатывает только для инструментов записи файлов. При срабатывании callback получает входные данные инструмента (шаг 4), проверяет, нацелена ли путь файла на файл `.env`, и возвращает `permissionDecision: "deny"` для блокировки операции (шаг 5):43Следующий пример объединяет эти шаги. Он регистрирует хук `PreToolUse` (шаг 1) с matcher `"Write|Edit"` (шаг 3), поэтому callback срабатывает только для инструментов записи файлов. При срабатывании callback получает входные данные инструмента (шаг 4), проверяет, указывает ли путь файла на файл `.env`, и возвращает `permissionDecision: "deny"` для блокировки операции (шаг 5):

44 44 

45<CodeGroup>45<CodeGroup>

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


140 ```140 ```

141</CodeGroup>141</CodeGroup>

142 142 

143Когда вы запустите любой из скриптов, Claude попытается создать файл `.env`, hook заблокирует вызов инструмента, и финальный ответ Claude объяснит, что он не может создавать файлы `.env`.143Когда вы запустите любой из скриптов, Claude попытается создать файл `.env`, и хук отклонит вызов инструмента.

144 144 

145<h2 id="available-hooks">145<h2 id="available-hooks">

146 Доступные hooks146 Доступные hooks


179| `ConfigChange` | Нет | Да | Файл конфигурации изменился | Динамически перезагрузить настройки |179| `ConfigChange` | Нет | Да | Файл конфигурации изменился | Динамически перезагрузить настройки |

180| `InstructionsLoaded` | Нет | Да | Файл `CLAUDE.md` или файл правил загружается в контекст | Проверять, какие файлы инструкций загружаются |180| `InstructionsLoaded` | Нет | Да | Файл `CLAUDE.md` или файл правил загружается в контекст | Проверять, какие файлы инструкций загружаются |

181| `WorktreeCreate` | Нет | Да | Git worktree создан | Отслеживать изолированные рабочие пространства |181| `WorktreeCreate` | Нет | Да | Git worktree создан | Отслеживать изолированные рабочие пространства |

182| `WorktreeRemove` | Нет | Да | Git worktree удален | Очистить ресурсы рабочего пространства |182| `WorktreeRemove` | Нет | Да | Удаляется worktree, созданный хуком `WorktreeCreate` | Очистить ресурсы рабочего пространства |

183| `CwdChanged` | Нет | Да | Рабочий каталог изменяется во время сеанса | Перезагрузить переменные окружения для каждого каталога |183| `CwdChanged` | Нет | Да | Рабочий каталог изменяется во время сеанса | Перезагрузить переменные окружения для каждого каталога |

184| `FileChanged` | Нет | Да | Отслеживаемый файл изменяется, создаётся или удаляется | Перезагрузить конфигурацию при изменении файлов проекта |184| `FileChanged` | Нет | Да | Отслеживаемый файл изменяется, создаётся или удаляется | Перезагрузить конфигурацию при изменении файлов проекта |

185| `DirectoryAdded` | Нет | Да | Рабочий каталог добавляется во время сеанса | Установить зависимости для репозитория, добавленного во время сеанса |185| `DirectoryAdded` | Нет | Да | Рабочий каталог добавляется во время сеанса | Установить зависимости для репозитория, добавленного во время сеанса |

186 186 

187<h2 id="configure-hooks">187<h2 id="configure-hooks">

188 Настройка hooks188 Настройка хуков

189</h2>189</h2>

190 190 

191Чтобы настроить hook, передайте его в поле `hooks` ваших параметров агента (`ClaudeAgentOptions` в Python, объект `options` в TypeScript). Этот фрагмент предполагает, что вы уже определили callback hook, например `protect_env_files` в Python или `protectEnvFiles` в TypeScript из примера выше:191Чтобы настроить хук, передайте его в поле `hooks` ваших параметров агента (`ClaudeAgentOptions` в Python, объект `options` в TypeScript). Этот фрагмент предполагает, что вы уже определили callback хука, например `protect_env_files` в Python или `protectEnvFiles` в TypeScript из примера выше:

192 192 

193<CodeGroup>193<CodeGroup>

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


218 218 

219Опция `hooks` — это словарь (Python) или объект (TypeScript), где:219Опция `hooks` — это словарь (Python) или объект (TypeScript), где:

220 220 

221* **Ключи**: [имена событий hook](#available-hooks), такие как `'PreToolUse'`, `'PostToolUse'` и `'Stop'`221* **Ключи**: [имена событий хуков](#available-hooks), такие как `'PreToolUse'`, `'PostToolUse'` и `'Stop'`

222* **Значения**: массивы [matchers](#matchers), каждый содержащий необязательный паттерн фильтра и ваши [функции обратного вызова](#callback-functions)222* **Значения**: массивы [matchers](#matchers), каждый содержащий необязательный паттерн фильтра и ваши [функции обратного вызова](#callback-functions)

223 223 

224<h3 id="matchers">224<h3 id="matchers">

225 Matchers225 Matchers

226</h3>226</h3>

227 227 

228Используйте matchers для фильтрации, когда срабатывают ваши callbacks. Поле `matcher` соответствует другому значению в зависимости от типа события hook. Например, hooks на основе инструментов соответствуют имени инструмента, в то время как hooks `Notification` соответствуют типу уведомления.228Используйте matchers для фильтрации, когда срабатывают ваши callbacks. Поле `matcher` сопоставляется с разными значениями в зависимости от типа события хука. Например, хуки на основе инструментов сопоставляются с именем инструмента, в то время как хуки `Notification` сопоставляются с типом уведомления.

229 229 

230SDK matchers следуют тем же правилам, что и [matchers в файлах настроек](/docs/ru/hooks#matcher-patterns). Этот раздел документирует пути оценки точной строки и регулярного выражения, требования к версиям и значения matcher для каждого типа события.230SDK matchers следуют тем же правилам, что и [matchers в файлах настроек](/docs/ru/hooks#matcher-patterns). Этот раздел документирует пути оценки точной строки и регулярного выражения, требования к версиям и значения matcher для каждого типа события.

231 231 

232| Опция | Тип | По умолчанию | Описание |232| Опция | Тип | По умолчанию | Описание |

233| - | - | - | - |233| - | - | - | - |

234| `matcher` | `string` | `undefined` | Паттерн, сопоставляемый с полем фильтра события, следуя [правилам для matchers в файлах настроек](/docs/ru/hooks#matcher-patterns). Для hooks инструментов это имя инструмента. Встроенные инструменты включают `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` и другие (см. [Tool Input Types](/docs/ru/agent-sdk/typescript#tool-input-types) для полного списка). MCP инструменты используют паттерн `mcp__<server>__<action>`, где `<server>` — это ключ, который вы используете в конфигурации `mcpServers`. |234| `matcher` | `string` | `undefined` | Паттерн, сопоставляемый с полем фильтра события, следуя [правилам для matchers в файлах настроек](/docs/ru/hooks#matcher-patterns). Для хуков инструментов это имя инструмента. Встроенные инструменты включают `Bash`, `Read`, `Write`, `Edit`, `Glob`, `Grep`, `WebFetch`, `Agent` и другие (см. [Tool Input Types](/docs/ru/agent-sdk/typescript#tool-input-types) для полного списка). MCP инструменты используют паттерн `mcp__<server>__<action>`, где `<server>` — это ключ, который вы используете в конфигурации `mcpServers`. |

235| `hooks` | `HookCallback[]` | - | Обязательно. Массив функций обратного вызова для выполнения, когда паттерн совпадает |235| `hooks` | `HookCallback[]` | - | Обязательно. Массив функций обратного вызова для выполнения, когда паттерн совпадает |

236| `timeout` | `number` | `undefined` | Timeout в секундах. Если опущен, Claude Code применяет [timeout события по умолчанию](#hook-timeout). Ваши SDK callbacks следуют значениям по умолчанию hook `command` |236| `timeout` | `number` | `undefined` | Таймаут в секундах. Если опущен, Claude Code применяет [таймаут события по умолчанию](#hook-timeout). Ваши SDK callbacks следуют значениям по умолчанию хука `command` |

237 237 

238Используйте паттерн `matcher` для нацеливания на конкретные инструменты, когда это возможно. Matcher с `'Bash'` запускается только для команд Bash, в то время как опущение паттерна запускает ваши callbacks для каждого возникновения события. Опустите его намеренно для логирования каждого вызова инструмента, который делает ваш сеанс.238Используйте паттерн `matcher` для нацеливания на конкретные инструменты, когда это возможно. Matcher с `'Bash'` запускается только для команд Bash, в то время как опущение паттерна запускает ваши callbacks для каждого возникновения события. Опустите его намеренно для логирования каждого вызова инструмента, который делает ваша сессия.

239 239 

240<h3 id="callback-functions">240<h3 id="callback-functions">

241 Функции обратного вызова241 Функции обратного вызова


245 Входные данные245 Входные данные

246</h4>246</h4>

247 247 

248Каждый callback hook получает три аргумента:248Каждый callback хука получает три аргумента:

249 249 

250* **Входные данные:** типизированный объект, содержащий детали события. Каждый тип hook имеет свою форму входных данных. Например, `PreToolUseHookInput` включает `tool_name` и `tool_input`, в то время как `NotificationHookInput` включает `message`. См. полные определения типов в справочниках [TypeScript](/docs/ru/agent-sdk/typescript#hookinput) и [Python](/docs/ru/agent-sdk/python#hookinput) SDK.250* **Входные данные:** типизированный объект, содержащий детали события. Каждый тип хука имеет свою форму входных данных. Например, `PreToolUseHookInput` включает `tool_name` и `tool_input`, в то время как `NotificationHookInput` включает `message`. См. полные определения типов в справочниках [TypeScript](/docs/ru/agent-sdk/typescript#hookinput) и [Python](/docs/ru/agent-sdk/python#hookinput) SDK.

251 * Все входные данные hook содержат `session_id`, `cwd` и `hook_event_name`.251 * Все входные данные хуков содержат `session_id`, `cwd` и `hook_event_name`.

252 * `agent_id` и `agent_type` заполняются, когда hook срабатывает внутри подагента. В TypeScript они находятся на базовом входе hook и доступны для всех типов hook. В Python они являются необязательными полями на `PreToolUse`, `PostToolUse`, `PostToolUseFailure` и `PermissionRequest`, и обязательными полями на `SubagentStart` и `SubagentStop`.252 * `agent_id` и `agent_type` заполняются, когда хук срабатывает внутри субагента. В TypeScript они находятся на базовом входе хука и доступны для всех типов хуков. В Python они являются необязательными полями на `PreToolUse`, `PostToolUse`, `PostToolUseFailure` и `PermissionRequest`, и обязательными полями на `SubagentStart` и `SubagentStop`.

253* **ID использования инструмента** (`str | None` / `string | undefined`): коррелирует события `PreToolUse` и `PostToolUse` для одного и того же вызова инструмента.253* **ID использования инструмента** (`str | None` / `string | undefined`): коррелирует события `PreToolUse` и `PostToolUse` для одного и того же вызова инструмента.

254* **Контекст:** в TypeScript содержит свойство `signal` (`AbortSignal`) для отмены. В Python этот аргумент зарезервирован для будущего использования.254* **Контекст:** в TypeScript содержит свойство `signal` (`AbortSignal`) для отмены. В Python этот аргумент зарезервирован для будущего использования.

255 255 


259 259 

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

261 261 

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

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

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

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

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

267 267 

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

269 269 

270<Note>270<Note>

271 Когда применяются несколько hooks или правил разрешений, `deny` имеет приоритет над `defer`, который имеет приоритет над `ask`, который имеет приоритет над `allow`. Если какой-либо hook возвращает `deny`, операция блокируется независимо от других hooks.271 Когда применяются несколько хуков или правил разрешений, `deny` имеет приоритет над `defer`, который имеет приоритет над `ask`, который имеет приоритет над `allow`. Если какой-либо хук возвращает `deny`, операция блокируется независимо от других хуков.

272</Note>272</Note>

273 273 

274<h4 id="asynchronous-output">274<h4 id="asynchronous-output">

275 Асинхронный вывод275 Асинхронный вывод

276</h4>276</h4>

277 277 

278По умолчанию агент ждет, пока ваш hook вернется, прежде чем продолжить. Если ваш hook выполняет побочный эффект, такой как логирование или отправка webhook, и не нужно влиять на поведение агента, вы можете вернуть асинхронный вывод вместо этого. Это говорит агенту продолжить немедленно без ожидания завершения hook. В этом фрагменте `send_to_logging_service` в Python и `sendToLoggingService` в TypeScript служат заменой для любой функции логирования, которую вы определяете:278По умолчанию агент ждет, пока ваш хук вернется, прежде чем продолжить. Если ваш хук выполняет побочный эффект, такой как логирование или отправка webhook, и ему не нужно влиять на поведение агента, вы можете вернуть асинхронный вывод вместо этого. Это говорит агенту продолжить немедленно без ожидания завершения хука. В этом фрагменте `send_to_logging_service` в Python и `sendToLoggingService` в TypeScript служат заменой для любой функции логирования, которую вы определяете:

279 279 

280<CodeGroup>280<CodeGroup>

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


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

298| - | - | - |298| - | - | - |

299| `async` | `true` | Сигнализирует асинхронный режим. Агент продолжает без ожидания. В Python используйте `async_` для избежания зарезервированного ключевого слова. |299| `async` | `true` | Сигнализирует асинхронный режим. Агент продолжает без ожидания. В Python используйте `async_` для избежания зарезервированного ключевого слова. |

300| `asyncTimeout` | `number` | Необязательный timeout в миллисекундах для фоновой операции |300| `asyncTimeout` | `number` | Необязательный таймаут в миллисекундах для фоновой операции |

301 301 

302<Note>302<Note>

303 Асинхронные выходы не могут блокировать, изменять или внедрять контекст в операцию, так как агент уже продолжил. Используйте их только для побочных эффектов, таких как логирование, метрики или уведомления.303 Асинхронные выходы не могут блокировать, изменять или внедрять контекст в операцию, так как агент уже продолжил. Используйте их только для побочных эффектов, таких как логирование, метрики или уведомления.


798</h2>798</h2>

799 799 

800<h3 id="hook-not-firing">800<h3 id="hook-not-firing">

801 Hook не срабатывает801 Хук не срабатывает

802</h3>802</h3>

803 803 

804* Проверьте, что имя события hook правильное и чувствительно к регистру (`PreToolUse`, а не `preToolUse`)804* Проверьте, что имя события хука правильное и чувствительно к регистру (`PreToolUse`, а не `preToolUse`)

805* Проверьте, что ваш паттерн matcher точно совпадает с именем инструмента805* Проверьте, что ваш паттерн matcher точно совпадает с именем инструмента

806* Убедитесь, что hook находится под правильным типом события в `options.hooks`806* Убедитесь, что хук находится под правильным типом события в `options.hooks`

807* Для non-tool hooks, которые поддерживают matchers, таких как `Notification` и `SubagentStop`, matchers соответствуют разным полям, и `Stop` полностью игнорирует matchers (см. [matcher patterns](/docs/ru/hooks#matcher-patterns))807* Для хуков, не связанных с инструментами, которые поддерживают matcher, таких как `Notification` и `SubagentStop`, matcher сопоставляется с другими полями, а `Stop` полностью игнорирует matcher (см. [паттерны matcher](/docs/ru/hooks#matcher-patterns))

808* Hooks могут не срабатывать, когда агент достигает лимита [`max_turns`](/docs/ru/agent-sdk/python#claudeagentoptions), потому что сеанс заканчивается перед тем, как hooks смогут выполниться808* Хуки могут не срабатывать, когда агент достигает лимита [`max_turns`](/docs/ru/agent-sdk/python#claudeagentoptions), потому что сессия заканчивается до того, как хуки смогут выполниться

809 809 

810<h3 id="matcher-not-filtering-as-expected">810<h3 id="matcher-not-filtering-as-expected">

811 Matcher не фильтрует как ожидается811 Matcher не фильтрует как ожидается

812</h3>812</h3>

813 813 

814Matchers соответствуют только имени инструмента, а не путям файлов или другим аргументам. Для фильтрации по пути файла проверьте `tool_input.file_path` внутри вашего hook:814Matcher сопоставляется только с именами инструментов, а не с путями файлов или другими аргументами. Для фильтрации по пути файла проверьте `tool_input.file_path` внутри вашего хука:

815 815 

816```typescript theme={null}816```typescript theme={null}

817const myHook: HookCallback = async (input, toolUseID, { signal }) => {817const myHook: HookCallback = async (input, toolUseID, { signal }) => {


825```825```

826 826 

827<h3 id="hook-timeout">827<h3 id="hook-timeout">

828 Hook timeout828 Таймаут хука

829</h3>829</h3>

830 830 

831Claude Code запускает каждый callback с timeout, который вы устанавливаете в секундах с помощью поля `timeout` на его `HookMatcher`. Когда вы не устанавливаете его, Claude Code использует значение по умолчанию для события: 600 секунд для большинства событий, 30 секунд для `UserPromptSubmit`, `PreModelSwitch` и `PostModelSwitch`, и 10 секунд для `MessageDisplay`. Claude Code запускает callbacks `SessionEnd` во время завершения работы под более коротким [бюджетом timeout SessionEnd](/docs/ru/hooks#sessionend-input), 1,5 секунды по умолчанию.831Claude Code запускает каждый callback с таймаутом, который вы устанавливаете в секундах с помощью поля `timeout` в его `HookMatcher`. Если вы его не устанавливаете, Claude Code использует значение по умолчанию для события: 600 секунд для большинства событий, 30 секунд для `UserPromptSubmit`, `PreModelSwitch` и `PostModelSwitch` и 10 секунд для `MessageDisplay`. Claude Code запускает callbacks `SessionEnd` во время завершения работы в рамках более короткого [бюджета таймаута SessionEnd](/docs/ru/hooks#sessionend-input), по умолчанию 1,5 секунды.

832 832 

833Когда callback превышает свой timeout, Claude Code отменяет его и отбрасывает его выходные данные, и сеанс продолжается, а не зависает. Что происходит дальше, зависит от события:833Когда callback превышает свой таймаут, Claude Code отменяет его и отбрасывает его выходные данные, и сессия продолжается, а не зависает. Что происходит дальше, зависит от события:

834 834 

835* `PreToolUse`: Claude Code не запускает вызов инструмента, Claude получает результат инструмента, указывающий, что hook не ответил до истечения timeout, и ход продолжается. Если другой hook `PreToolUse` вернул явный отказ, Claude получает этот отказ вместо ошибки timeout. До версии 2.1.210 Claude Code сообщал timeout Claude как отклонение пользователем, что заставляло автоматические сеансы остановиться и ждать ввода.835* `PreToolUse`: Claude Code не выполняет вызов инструмента, Claude получает результат инструмента, указывающий, что хук не ответил до истечения таймаута, и ход продолжается. Если другой хук `PreToolUse` вернул явный отказ, Claude получает этот отказ вместо ошибки таймаута. До версии 2.1.210 Claude Code сообщал Claude о таймауте как об отклонении пользователем, из-за чего автоматические сессии останавливались и ждали ввода.

836* `PostToolUse` и `PostToolUseFailure`: Claude Code сохраняет результат инструмента и ход продолжается.836* `PostToolUse` и `PostToolUseFailure`: Claude Code сохраняет результат инструмента, и ход продолжается.

837* `UserPromptSubmit` и [`UserPromptExpansion`](/docs/ru/hooks#userpromptexpansion): Claude Code блокирует запрос с сообщением, указывающим hook и timeout, и сеанс продолжается. Поскольку callback на этих событиях может действовать как политический шлюз, Claude Code никогда не пропускает истекший по времени запрос без проверки. До версии 2.1.208 Claude Code завершал запрос с `error_during_execution`, когда callback на этих событиях истекал по времени.837* `UserPromptSubmit` и [`UserPromptExpansion`](/docs/ru/hooks#userpromptexpansion): Claude Code блокирует промпт с сообщением, указывающим хук и таймаут, и сессия продолжается. Поскольку callback на этих событиях может действовать как шлюз политики, Claude Code никогда не пропускает промпт с истекшим таймаутом без проверки. До версии 2.1.208 Claude Code завершал запрос с `error_during_execution`, когда у callback на этих событиях истекал таймаут.

838* `Stop` и `SubagentStop`: истекший по времени callback считается возвращающим отсутствие решения. Агент или подагент останавливается так, как если бы этот callback разрешил это, и решение из ваших других hooks на событие все еще применяется. До Claude Code версии 2.1.273 истекший по времени callback `Stop` или `SubagentStop` считался неудачным запуском hook, и Claude Code отбрасывал решения ваших других hooks на событие.838* `Stop` и `SubagentStop`: callback с истекшим таймаутом считается не вернувшим решения. Агент или субагент останавливается так, как если бы этот callback это разрешил, а решение ваших других хуков на этом событии по-прежнему применяется. До Claude Code версии 2.1.273 callback `Stop` или `SubagentStop` с истекшим таймаутом считался неудачным запуском хука, и Claude Code отбрасывал решения ваших других хуков на этом событии.

839* `SessionStart`: истекший по времени callback считается возвращающим отсутствие выходных данных, и сеанс продолжается с выходными данными ваших других hooks `SessionStart`.839* `SessionStart`: callback с истекшим таймаутом считается не вернувшим выходных данных, и сессия продолжается с выходными данными ваших других хуков `SessionStart`.

840* `PreModelSwitch`: Claude Code блокирует переключение модели. Hook, который не отвечает, не одобрил переключение.840* `PreModelSwitch`: Claude Code блокирует переключение модели. Хук, который не отвечает, не одобрил переключение.

841* Другие события, такие как `Notification`, `PreCompact` и `PostModelSwitch`: Claude Code логирует сбой и продолжает.841* Другие события, такие как `Notification`, `PreCompact` и `PostModelSwitch`: Claude Code записывает сбой в лог и продолжает работу.

842 842 

843Первый раз, когда callback `Stop` или `SessionStart` истекает по времени в основном сеансе, Claude Code также добавляет [`SDKInformationalMessage`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage) в поток сообщений, говоря, что приложение, управляющее сеансом, не ответило. Более поздние timeout не повторяют это сообщение, пока ваше приложение остается неответчивым.843Когда у callback `Stop` или `SessionStart` впервые истекает таймаут в основной сессии, Claude Code также добавляет в поток сообщений [`SDKInformationalMessage`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage) о том, что приложение, управляющее сессией, не ответило. Последующие таймауты не повторяют это сообщение, пока ваше приложение остается неотвечающим.

844 844 

845Если вы прерываете запрос во время ожидания callback, Claude Code отменяет ожидающий вызов инструмента. До версии 2.1.208 вызов инструмента мог все еще продолжиться, если вы прервали во время ожидания callback `PreToolUse`.845Если вы прерываете запрос во время ожидания callback, Claude Code отменяет ожидающий вызов инструмента. До версии 2.1.208 вызов инструмента мог все же выполниться, если вы прерывали запрос во время ожидания callback `PreToolUse`.

846 846 

847Если вашему callback нужно больше времени, установите более высокий `timeout` на его `HookMatcher`. В TypeScript используйте `AbortSignal` из третьего аргумента callback для корректной обработки отмены, когда истекает timeout.847Если вашему callback нужно больше времени, установите более высокий `timeout` в его `HookMatcher`. В TypeScript используйте `AbortSignal` из третьего аргумента callback для корректной обработки отмены при срабатывании таймаута.

848 848 

849<h3 id="tool-blocked-unexpectedly">849<h3 id="tool-blocked-unexpectedly">

850 Инструмент заблокирован неожиданно850 Инструмент заблокирован неожиданно

851</h3>851</h3>

852 852 

853* Проверьте все hooks `PreToolUse` на возвращение `permissionDecision: 'deny'`853* Проверьте все хуки `PreToolUse` на возвращение `permissionDecision: 'deny'`

854* Добавьте логирование в ваши hooks, чтобы увидеть, какие `permissionDecisionReason` они возвращают854* Добавьте логирование в ваши хуки, чтобы увидеть, какие `permissionDecisionReason` они возвращают

855* Проверьте, что паттерны matcher не слишком широкие: пустой matcher соответствует всем инструментам855* Проверьте, что паттерны matcher не слишком широкие: пустой matcher соответствует всем инструментам

856 856 

857<h3 id="modified-input-not-applied">857<h3 id="modified-input-not-applied">

858 Измененный входной сигнал не применяется858 Измененные входные данные не применяются

859</h3>859</h3>

860 860 

861* Убедитесь, что `updatedInput` находится внутри `hookSpecificOutput`, а не на верхнем уровне:861* Убедитесь, что `updatedInput` находится внутри `hookSpecificOutput`, а не на верхнем уровне:


870 };870 };

871 ```871 ```

872 872 

873* Не объединяйте `updatedInput` с `permissionDecision: 'defer'`, который отбрасывает измененный входной сигнал. Опущение `permissionDecision` допустимо: измененный входной сигнал все еще применяется через обычную оценку разрешений. Вы также можете вернуть `'allow'` для автоматического одобрения измененного входного сигнала или `'ask'` для отображения его пользователю на утверждение873* Не объединяйте `updatedInput` с `permissionDecision: 'defer'`, так как это отбрасывает измененные входные данные. Опускать `permissionDecision` допустимо: измененные входные данные все равно применяются через обычную оценку разрешений. Вы также можете вернуть `'allow'` для автоматического одобрения измененных входных данных или `'ask'`, чтобы показать их пользователю для подтверждения

874 874 

875* Включите `hookEventName` в `hookSpecificOutput` для идентификации типа hook, для которого предназначен вывод875* Включите `hookEventName` в `hookSpecificOutput`, чтобы указать, к какому типу хука относится вывод

876 876 

877<h3 id="session-hooks-not-available-in-python">877<h3 id="session-hooks-not-available-in-python">

878 Hooks сеанса недоступны в Python878 Хуки сессии недоступны в Python

879</h3>879</h3>

880 880 

881`SessionStart` и `SessionEnd` могут быть зарегистрированы как SDK callback hooks в TypeScript, но недоступны в Python SDK, потому что его тип `HookEvent` их опускает. В Python они доступны только как [shell command hooks](/docs/ru/hooks#hook-events), определенные в файлах настроек, таких как `.claude/settings.json`. Для загрузки shell command hooks из вашего приложения SDK включите соответствующий источник настроек с [`setting_sources`](/docs/ru/agent-sdk/python#settingsource) или [`settingSources`](/docs/ru/agent-sdk/typescript#settingsource):881`SessionStart` и `SessionEnd` можно зарегистрировать как callback-хуки SDK в TypeScript, но они недоступны в Python SDK, потому что его тип `HookEvent` их не включает. В Python они доступны только как [хуки shell-команд](/docs/ru/hooks#hook-events), определенные в файлах настроек, таких как `.claude/settings.json`. То, какие файлы настроек загружает ваше приложение SDK, зависит от [`setting_sources`](/docs/ru/agent-sdk/python#settingsource) или [`settingSources`](/docs/ru/agent-sdk/typescript#settingsource). Если вы задаете этот параметр, включите источник, который содержит хуки:

882 882 

883<CodeGroup>883<CodeGroup>

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


894 ```894 ```

895</CodeGroup>895</CodeGroup>

896 896 

897Для запуска логики инициализации как Python SDK callback вместо этого используйте первое сообщение из `client.receive_response()` как ваш триггер.897Чтобы вместо этого запускать логику инициализации как callback Python SDK, используйте первое сообщение из `client.receive_response()` в качестве триггера.

898 898 

899<h3 id="subagent-permission-prompts-multiplying">899<h3 id="subagent-permission-prompts-multiplying">

900 Запросы разрешений подагента умножаются900 Запросы разрешений субагентов множатся

901</h3>901</h3>

902 902 

903При порождении нескольких подагентов каждый может запросить разрешения отдельно для своих собственных вызовов инструментов. Чтобы избежать повторных запросов, используйте hooks `PreToolUse` для автоматического одобрения конкретных инструментов или настройте правила разрешений, которые подагенты [наследуют от родительского разговора](/docs/ru/sub-agents#permission-modes).903При порождении нескольких субагентов каждый из них может запрашивать разрешения отдельно для своих собственных вызовов инструментов. Чтобы избежать повторных запросов, используйте хуки `PreToolUse` для автоматического одобрения конкретных инструментов или настройте правила разрешений, которые субагенты [наследуют от родительского диалога](/docs/ru/sub-agents#permission-modes).

904 904 

905<h3 id="recursive-hook-loops-with-subagents">905<h3 id="recursive-hook-loops-with-subagents">

906 Рекурсивные циклы hook с подагентами906 Рекурсивные циклы хуков с субагентами

907</h3>907</h3>

908 908 

909Hook `UserPromptSubmit`, который порождает подагентов, может создать бесконечные циклы, если эти подагенты срабатывают тот же hook. Чтобы предотвратить это:909Хук `UserPromptSubmit`, который порождает субагентов, может создать бесконечные циклы, если эти субагенты вызывают срабатывание того же хука. Чтобы предотвратить это:

910 910 

911* Используйте общую переменную или состояние сеанса для отслеживания, находитесь ли вы уже внутри подагента911* Используйте общую переменную или состояние сессии для отслеживания того, находитесь ли вы уже внутри субагента

912* Ограничьте область действия hooks, чтобы они запускались только для сеанса агента верхнего уровня912* Ограничьте хуки, чтобы они запускались только для сессии агента верхнего уровня

913 913 

914<h3 id="systemmessage-not-appearing-in-output">914<h3 id="systemmessage-not-appearing-in-output">

915 systemMessage не появляется в выводе915 systemMessage не появляется в выводе

916</h3>916</h3>

917 917 

918Поле `systemMessage` показывает сообщение пользователю, а не модели. На Claude Code версии 2.1.227 или позже, `systemMessage` hook может появиться в потоке сообщений как [`SDKInformationalMessage`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage). Появляется ли оно, зависит от события. Каждый [раздел события](/docs/ru/hooks#hook-events) на странице hooks говорит, как выводится результат. Для передачи контекста модели вместо этого верните [`additionalContext`](/docs/ru/hooks#add-context-for-claude).918Поле `systemMessage` показывает сообщение пользователю, а не модели. В Claude Code версии 2.1.227 или новее `systemMessage` хука может появиться в потоке сообщений как [`SDKInformationalMessage`](/docs/ru/agent-sdk/typescript#sdkinformationalmessage). Появится ли оно, зависит от события. В [разделе каждого события](/docs/ru/hooks#hook-events) на странице хуков описано, как выводится результат. Чтобы вместо этого передать контекст модели, верните [`additionalContext`](/docs/ru/hooks#add-context-for-claude).

919 919 

920До версии 2.1.227 SDK выводил выходные данные hook в поток сообщений только для hooks `SessionStart` и `Setup`. Для любого другого события выходные данные появлялись только в событиях жизненного цикла, которые добавляет [`includeHookEvents`](/docs/ru/agent-sdk/typescript#options) (`include_hook_events` в Python). Запись этого параметра охватывает, какие события жизненного цикла производит каждое событие hook.920До версии 2.1.227 SDK выводил выходные данные хука в поток сообщений только для хуков `SessionStart` и `Setup`. Для любого другого события выходные данные появлялись только в событиях жизненного цикла, которые добавляет [`includeHookEvents`](/docs/ru/agent-sdk/typescript#options) (`include_hook_events` в Python). В описании этого параметра указано, какие события жизненного цикла порождает каждое событие хука.

921 921 

922Если вам нужно надежно вывести решения hook в ваше приложение, логируйте их отдельно или используйте выделенный канал вывода.922Если вам нужно надежно передавать решения хуков в ваше приложение, логируйте их отдельно или используйте выделенный канал вывода.

923 923 

924<h2 id="related-resources">924<h2 id="related-resources">

925 Связанные ресурсы925 Связанные ресурсы

agent-sdk/python.md +154 −153

Details

194 `ToolAnnotations`194 `ToolAnnotations`

195</h4>195</h4>

196 196 

197Подсказки поведения для инструмента, передаваемые как аргумент `annotations` функции [`tool()`](#tool). `ToolAnnotations` расширяет `mcp.types.ToolAnnotations` SDK MCP с полем `maxResultSizeChars`, и вы можете писать каждую подсказку в camelCase или snake\_case: `ToolAnnotations(readOnlyHint=True)` и `ToolAnnotations(read_only_hint=True)` эквивалентны. Вы также можете передать простой `mcp.types.ToolAnnotations` везде, где SDK принимает аннотации.197Подсказки поведения для инструмента, передаваемые как аргумент `annotations` функции [`tool()`](#tool). `ToolAnnotations` расширяет `mcp.types.ToolAnnotations` SDK MCP с полем `maxResultSizeChars`, и вы можете писать каждую подсказку в camelCase или snake\_case: `ToolAnnotations(readOnlyHint=True)` и `ToolAnnotations(read_only_hint=True)` эквивалентны. Чтобы прочитать подсказку обратно из объекта, используйте написание, объявленное в установленном у вас пакете `mcp`: `.readOnlyHint` в `mcp` 1.x и `.read_only_hint` в 2.x, тогда как `.maxResultSizeChars` работает в обоих. Вы также можете передать простой `mcp.types.ToolAnnotations` везде, где SDK принимает аннотации.

198 198 

199Имена snake\_case и типизированное поле `maxResultSizeChars` требуют Python Agent SDK 0.2.140 или позже. Версии 0.1.31 по 0.2.139 переэкспортируют `mcp.types.ToolAnnotations` без изменений. В версиях 0.1.55 по 0.2.139 вы все еще можете передать `maxResultSizeChars` как аргумент ключевого слова: класс MCP принимает дополнительные поля, и SDK пересылает значение в Claude Code.199Имена snake\_case и типизированное поле `maxResultSizeChars` требуют Python Agent SDK 0.2.140 или позже. Версии 0.1.31 по 0.2.139 переэкспортируют `mcp.types.ToolAnnotations` без изменений. В версиях 0.1.55 по 0.2.139 вы все еще можете передать `maxResultSizeChars` как аргумент ключевого слова: класс MCP принимает дополнительные поля, и SDK пересылает значение в Claude Code.

200 200 


919| Свойство | Тип | По умолчанию | Описание |919| Свойство | Тип | По умолчанию | Описание |

920| :- | :- | :- | :- |920| :- | :- | :- | :- |

921| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Конфигурация инструментов. Используйте `{"type": "preset", "preset": "claude_code"}` для инструментов Claude Code по умолчанию |921| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Конфигурация инструментов. Используйте `{"type": "preset", "preset": "claude_code"}` для инструментов Claude Code по умолчанию |

922| `allowed_tools` | `list[str]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами. Если вы назовёте один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability) здесь, Claude Code также включает сеанс. Другие неуказанные инструменты переходят к `permission_mode` и `can_use_tool`. Используйте `disallowed_tools` для блокировки инструментов. См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |922| `allowed_tools` | `list[str]` | `[]` | Инструменты для автоматического одобрения без запроса разрешения. Это не ограничивает Claude только этими инструментами. Если вы укажете здесь один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability), Claude Code также включает его для сессии. Остальные неуказанные инструменты передаются на обработку `permission_mode` и `can_use_tool`. Используйте `disallowed_tools` для блокировки инструментов. См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |

923| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Конфигурация системного приглашения. Передайте строку для пользовательского приглашения, `{"type": "preset", "preset": "claude_code"}` для системного приглашения Claude Code с дополнительным `"append"`, `{"type": "custom", "prompt": "..."}` для пользовательского приглашения, которое также может установить `"snapshot"`, или `{"type": "file", "path": "..."}` для загрузки большого приглашения с диска. См. [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) и [`SystemPromptFile`](#systempromptfile) |923| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Конфигурация системного промпта. Передайте строку для пользовательского промпта, `{"type": "preset", "preset": "claude_code"}` для системного промпта Claude Code с необязательным `"append"`, `{"type": "custom", "prompt": "..."}` для пользовательского промпта, который также может задать `"snapshot"`, или `{"type": "file", "path": "..."}` для загрузки большого промпта с диска. См. [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom) и [`SystemPromptFile`](#systempromptfile) |

924| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Конфигурации MCP-серверов или путь к файлу конфигурации |924| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Конфигурации MCP-серверов или путь к файлу конфигурации |

925| `strict_mcp_config` | `bool` | `False` | Когда `True`, используйте только серверы, переданные в `mcp_servers`, и игнорируйте проект `.mcp.json`, пользовательские параметры, MCP-серверы, предоставленные плагинами, и [соединители claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai). Соответствует флагу CLI `--strict-mcp-config` |925| `strict_mcp_config` | `bool` | `False` | Когда `True`, используются только серверы, переданные в `mcp_servers`, а `.mcp.json` проекта, пользовательские настройки, MCP-серверы, предоставленные плагинами, и [коннекторы claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) игнорируются. Соответствует флагу CLI `--strict-mcp-config` |

926| `permission_mode` | `PermissionMode \| None` | `None` | Режим разрешения для использования инструментов |926| `permission_mode` | `PermissionMode \| None` | `None` | Режим разрешений для использования инструментов |

927| `continue_conversation` | `bool` | `False` | Продолжить самый последний разговор |927| `continue_conversation` | `bool` | `False` | Продолжить самый последний диалог |

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

935| `fallback_model` | `str \| None` | `None` | Резервная модель для использования, если основная модель не работает. Принимает список, разделённый запятыми. Для рекомендаций см. [Выбор модели](/docs/ru/agent-sdk/configuration#choose-a-model) |935| `fallback_model` | `str \| None` | `None` | Резервная модель, используемая при сбое основной модели. Принимает список, разделённый запятыми. Рекомендации см. в разделе [Выбор модели](/docs/ru/agent-sdk/configuration#choose-a-model) |

936| `betas` | `list[SdkBeta]` | `[]` | Бета-функции для включения. См. [`SdkBeta`](#sdkbeta) для доступных опций |936| `betas` | `list[SdkBeta]` | `[]` | Бета-функции для включения. См. [`SdkBeta`](#sdkbeta) для доступных опций |

937| `output_format` | `dict[str, Any] \| None` | `None` | Формат вывода для структурированных ответов (например, `{"type": "json_schema", "schema": {...}}`). См. [Структурированные выходы](/docs/ru/agent-sdk/structured-outputs) для деталей |937| `output_format` | `dict[str, Any] \| None` | `None` | Формат вывода для структурированных ответов (например, `{"type": "json_schema", "schema": {...}}`). Подробнее см. [Структурированные выходы](/docs/ru/agent-sdk/structured-outputs) |

938| `permission_prompt_tool_name` | `str \| None` | `None` | Имя инструмента MCP для приглашений разрешения |938| `permission_prompt_tool_name` | `str \| None` | `None` | Имя инструмента MCP для запросов разрешения |

939| `cwd` | `str \| Path \| None` | `None` | Текущий рабочий каталог |939| `cwd` | `str \| Path \| None` | `None` | Текущий рабочий каталог |

940| `cli_path` | `str \| Path \| None` | `None` | Пользовательский путь к исполняемому файлу Claude Code CLI |940| `cli_path` | `str \| Path \| None` | `None` | Пользовательский путь к исполняемому файлу Claude Code CLI |

941| `settings` | `str \| None` | `None` | Путь к файлу параметров или встроенная строка JSON |941| `settings` | `str \| None` | `None` | Путь к файлу настроек или встроенная строка JSON |

942| `add_dirs` | `list[str \| Path]` | `[]` | Дополнительные каталоги, к которым Claude может получить доступ. SDK передаёт каждую запись в Claude Code как `--add-dir`, поэтому с параметром `project` Claude Code также [загружает skills, команды и subagents каталога](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |942| `add_dirs` | `list[str \| Path]` | `[]` | Дополнительные каталоги, к которым Claude может получить доступ. SDK передаёт каждую запись в Claude Code как `--add-dir`, поэтому с источником настроек `project` Claude Code также [загружает скиллы, команды и субагентов каталога](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |

943| `env` | `dict[str, str]` | `{}` | Переменные окружения, объединённые поверх унаследованного окружения процесса. См. [Переменные окружения](/docs/ru/env-vars) для переменных, которые читает базовый CLI, и [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses) для переменных, связанных с тайм-аутом. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |943| `env` | `dict[str, str]` | `{}` | Переменные окружения, объединённые поверх унаследованного окружения процесса. См. [Переменные окружения](/docs/ru/env-vars) для переменных, которые читает базовый CLI, и [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses) для переменных, связанных с таймаутами. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |

944| `extra_args` | `dict[str, str \| None]` | `{}` | Дополнительные аргументы CLI для передачи непосредственно в CLI |944| `extra_args` | `dict[str, str \| None]` | `{}` | Дополнительные аргументы CLI для передачи непосредственно в CLI |

945| `max_buffer_size` | `int \| None` | `None` | Максимальное количество байтов при буферизации stdout CLI |945| `max_buffer_size` | `int \| None` | `None` | Максимальное количество байтов при буферизации stdout CLI |

946| `debug_stderr` | `Any` | `sys.stderr` | *Устарело* - SDK игнорирует это значение. Используйте обратный вызов `stderr` для вывода stderr CLI |946| `debug_stderr` | `Any` | `sys.stderr` | *Устарело* - SDK игнорирует это значение. Используйте обратный вызов `stderr` для вывода stderr CLI |

947| `stderr` | `Callable[[str], None] \| None` | `None` | Функция обратного вызова для вывода stderr из CLI |947| `stderr` | `Callable[[str], None] \| None` | `None` | Функция обратного вызова для вывода stderr из CLI |

948| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Обратный вызов разрешения инструмента, вызываемый только когда [поток разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) переходит к приглашению. Не вызывается для вызовов, автоматически одобренных `allowed_tools`, правилами разрешения или `permission_mode`. Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves). См. [`CanUseTool`](#canusetool) для деталей |948| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Обратный вызов разрешений инструмента, вызываемый только тогда, когда [процесс проверки разрешений](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) доходит до запроса разрешения. Не вызывается для вызовов, автоматически одобренных `allowed_tools`, правилами разрешения или `permission_mode`. Правило разрешения не одобряет заранее [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves). Подробнее см. [`CanUseTool`](#canusetool) |

949| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Конфигурации hooks для перехвата событий |949| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Конфигурации хуков для перехвата событий |

950| `user` | `str \| None` | `None` | На платформах POSIX учётная запись пользователя ОС, под которой работает подпроцесс Claude Code. Claude Code сохраняет окружение родительского процесса, включая `HOME`, и работает в `cwd` |950| `user` | `str \| None` | `None` | На платформах POSIX учётная запись пользователя ОС, под которой работает подпроцесс Claude Code. Claude Code сохраняет окружение родительского процесса, включая `HOME`, и работает в `cwd` |

951| `include_partial_messages` | `bool` | `False` | Включить события потоковой передачи частичных сообщений. Когда включено, выдаются сообщения [`StreamEvent`](#streamevent) |951| `include_partial_messages` | `bool` | `False` | Включить события потоковой передачи частичных сообщений. Когда включено, выдаются сообщения [`StreamEvent`](#streamevent) |

952| `include_hook_events` | `bool` | `False` | Включить события жизненного цикла hooks в поток сообщений как объекты `HookEventMessage` |952| `include_hook_events` | `bool` | `False` | Включить события жизненного цикла хуков в поток сообщений как объекты `HookEventMessage` |

953| `forward_subagent_text` | `bool` | `False` | Пересылать текст subagent и блоки thinking в поток сообщений. Без этой опции Claude Code выдаёт блоки `tool_use` и `tool_result` subagent, но не текст или thinking. Требует Python Agent SDK 0.2.140 или позже |953| `forward_subagent_text` | `bool` | `False` | Пересылать текстовые блоки и блоки размышлений субагента в поток сообщений. Без этой опции Claude Code опускает текстовые блоки и блоки размышлений субагента, который выполняется [на переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background). О вложенных субагентах, скиллах с `context: fork` и версии Claude Code, необходимой в каждом случае, см. [Отслеживание сообщений субагентов](/docs/ru/headless#follow-subagent-messages). Требует Python Agent SDK 0.2.140 или новее |

954| `verbatim_prompts` | `bool` | `False` | Доставлять каждое приглашение как написано. SDK отправляет каждое пользовательское сообщение с `client_composed`, установленным на `True`. См. [`client_composed`](/docs/ru/agent-sdk/typescript#sdkusermessage) для того, что Claude Code пропускает на этих сообщениях. Используйте эту опцию, когда текст вашего приглашения включает содержимое, которое конечный пользователь не вводил. Для управления по ходам оставьте его отключённым и установите `"client_composed": True` на отдельных потоковых сообщениях вместо этого. Пока опция включена, SDK перезаписывает любое значение `client_composed`, которое вы установили. Требует Python Agent SDK 0.2.158 или позже и Claude Code v2.1.248 или позже; CLI, поставляемый с этими версиями SDK, удовлетворяет требованию Claude Code |954| `verbatim_prompts` | `bool` | `False` | Доставлять каждый промпт в том виде, как он написан. SDK отправляет каждое пользовательское сообщение с `client_composed`, установленным в `True`. Что Claude Code пропускает для таких сообщений, см. в [`client_composed`](/docs/ru/agent-sdk/typescript#sdkusermessage). Используйте эту опцию, когда текст вашего промпта включает содержимое, которое конечный пользователь не вводил. Для управления на уровне отдельных ходов оставьте её отключённой и вместо этого устанавливайте `"client_composed": True` для отдельных потоковых сообщений. Пока опция включена, SDK перезаписывает любое заданное вами значение `client_composed`. Требует Python Agent SDK 0.2.158 или новее и Claude Code v2.1.248 или новее; CLI, поставляемый с этими версиями SDK, удовлетворяет требованию к Claude Code |

955| `fork_session` | `bool` | `False` | При возобновлении с `resume` разветвиться на новый ID сеанса вместо продолжения исходного сеанса |955| `fork_session` | `bool` | `False` | При возобновлении с `resume` создать ответвление с новым ID сессии вместо продолжения исходной сессии |

956| `resume_session_at` | `str \| None` | `None` | При возобновлении загрузить разговор только до и включая сообщение с этим UUID. Используйте с `resume`, и обычно `fork_session`, для ветвления с более ранней точки. Требует Python Agent SDK 0.2.137 или позже |956| `resume_session_at` | `str \| None` | `None` | При возобновлении загрузить диалог только до сообщения с этим UUID включительно. Используйте с `resume` и обычно с `fork_session`, чтобы создать ответвление с более ранней точки. Требует Python Agent SDK 0.2.137 или новее |

957| `resume_drops_turn` | `str \| None` | `None` | UUID пользовательского приглашения, чей ход усечение `resume_session_at` отбрасывает. Когда установлено, CLI отказывает в возобновлении, если отброшенный диапазон содержит записи, не относящиеся к этому ходу. Требует Python Agent SDK 0.2.137 или позже и Claude Code v2.1.223 или позже; CLI, поставляемый с этими версиями SDK, удовлетворяет требованию Claude Code |957| `resume_drops_turn` | `str \| None` | `None` | UUID пользовательского промпта, ход которого отбрасывается усечением `resume_session_at`. Если задано, CLI отказывает в возобновлении, если отброшенный диапазон содержит записи, не относящиеся к этому ходу. Требует Python Agent SDK 0.2.137 или новее и Claude Code v2.1.223 или новее; CLI, поставляемый с этими версиями SDK, удовлетворяет требованию к Claude Code |

958| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Программно определённые subagents |958| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Программно определённые субагенты |

959| `plugins` | `list[SdkPluginConfig]` | `[]` | Загрузить пользовательские плагины из локальных путей. См. [Plugins](/docs/ru/agent-sdk/plugins) для деталей |959| `plugins` | `list[SdkPluginConfig]` | `[]` | Загрузить пользовательские плагины из локальных путей. Подробнее см. [Плагины](/docs/ru/agent-sdk/plugins) |

960| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Настроить поведение sandbox программно. См. [Параметры sandbox](#sandboxsettings) для деталей |960| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Программно настроить поведение песочницы. Подробнее см. [Настройки песочницы](#sandboxsettings) |

961| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Контролировать, какие параметры файловой системы загружать. Передайте `[]` для отключения пользовательских, проектных и локальных параметров. С установленным `skills` и этим полем не установленным, загружаются только пользовательские и проектные источники. Установите `setting_sources` явно, чтобы сохранить локальные параметры. Политика, управляемая конечной точкой, загружается независимо; параметры, управляемые сервером, извлекаются, когда сеанс аутентифицируется с учётными данными организации на [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). Для входных данных, читаемых независимо от этой опции, см. [Что settingSources не контролирует](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |961| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Управляет тем, какие настройки файловой системы загружать. Передайте `[]`, чтобы отключить пользовательские, проектные и локальные настройки. Если `skills` задан, а это поле не задано, загружаются только пользовательские и проектные источники. Задайте `setting_sources` явно, чтобы сохранить локальные настройки. Политика, управляемая на конечном устройстве, загружается в любом случае; настройки, управляемые сервером, извлекаются, когда сессия аутентифицируется с учётными данными организации в [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). О входных данных, которые читаются независимо от этой опции, см. [Что settingSources не контролирует](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

962| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Skills, доступные для сеанса. Передайте `"all"` для включения каждого обнаруженного skill, или список имён skills. Передавайте только точные имена. SDK отклоняет неправильно сформированные и имена в форме подстановочных знаков с `ValueError` перед запуском процесса Claude Code; эта проверка требует Python Agent SDK 0.2.129 или позже. Когда установлено, SDK автоматически добавляет инструмент Skill в `allowed_tools`. Если вы также передаёте `tools`, включите `"Skill"` в этот список. См. [Skills](/docs/ru/agent-sdk/skills) |962| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Скиллы, доступные для сессии. Передайте `"all"`, чтобы включить все обнаруженные скиллы, или список имён скиллов. Передавайте только точные имена. SDK отклоняет некорректные имена и имена с подстановочными знаками с ошибкой `ValueError` до запуска процесса Claude Code; эта проверка требует Python Agent SDK 0.2.129 или новее. Если задано, SDK автоматически добавляет инструмент Skill в `allowed_tools`. Если вы также передаёте `tools`, включите `"Skill"` в этот список. См. [Скиллы](/docs/ru/agent-sdk/skills) |

963| `max_thinking_tokens` | `int \| None` | `None` | *Устарело* - Максимальное количество токенов для блоков thinking. Используйте `thinking` вместо этого |963| `max_thinking_tokens` | `int \| None` | `None` | *Устарело* - Максимальное количество токенов для блоков размышлений. Используйте вместо этого `thinking` |

964| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Контролирует поведение расширенного thinking. Имеет приоритет над `max_thinking_tokens` |964| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Управляет поведением расширенного мышления. Имеет приоритет над `max_thinking_tokens` |

965| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Уровень усилий для глубины thinking. См. [отрегулировать уровень усилий](/docs/ru/model-config#adjust-effort-level) |965| `effort` | [`EffortLevel`](#effortlevel) ` \| None` | `None` | Уровень effort, определяющий глубину мышления. См. [настройку уровня effort](/docs/ru/model-config#adjust-effort-level) |

966| `session_store` | [`SessionStore`](/docs/ru/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Зеркалировать стенограммы сеансов во внешний бэкэнд, чтобы другой хост мог их возобновить. См. [Сохранять сеансы во внешнее хранилище](/docs/ru/agent-sdk/session-storage) |966| `session_store` | [`SessionStore`](/docs/ru/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Зеркалировать транскрипты сессий во внешний бэкенд, чтобы другой хост мог их возобновить. См. [Сохранение сессий во внешнем хранилище](/docs/ru/agent-sdk/session-storage) |

967| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Когда сбрасывать записи зеркальной стенограммы в `session_store`. `"batched"` сбрасывает один раз за ход или когда буфер заполняется; `"eager"` запускает фоновый сброс после каждого кадра. Игнорируется, когда `session_store` равен `None` |967| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Когда сбрасывать зеркалируемые записи транскрипта в `session_store`. `"batched"` сбрасывает один раз за ход или при заполнении буфера; `"eager"` запускает фоновый сброс после каждого кадра. Игнорируется, когда `session_store` равен `None` |

968| `load_timeout_ms` | `int` | `60000` | Тайм-аут для каждого вызова `session_store.load()` и `list_subkeys()` во время материализации возобновления, в миллисекундах |968| `load_timeout_ms` | `int` | `60000` | Таймаут на каждый вызов `session_store.load()` и `list_subkeys()` во время материализации при возобновлении, в миллисекундах |

969| `task_budget` | `TaskBudget \| None` | `None` | Бюджет токенов на стороне API. Отправляется как `output_config.task_budget` с заголовком бета-версии `task-budgets-2026-03-13`. Передайте `{"total": <int>}`. |969| `task_budget` | `TaskBudget \| None` | `None` | Бюджет токенов на стороне API. Отправляется как `output_config.task_budget` с бета-заголовком `task-budgets-2026-03-13`. Передайте `{"total": <int>}`. |

970 970 

971<h4 id="handle-slow-or-stalled-api-responses">971<h4 id="handle-slow-or-stalled-api-responses">

972 Обработка медленных или зависших ответов API972 Обработка медленных или зависших ответов API

973</h4>973</h4>

974 974 

975Подпроцесс CLI читает несколько переменных окружения, которые контролируют тайм-ауты API и обнаружение зависания. Передайте их через `ClaudeAgentOptions.env`:975Подпроцесс CLI читает несколько переменных окружения, которые управляют таймаутами API и обнаружением зависаний. Передайте их через `ClaudeAgentOptions.env`:

976 976 

977```python theme={null}977```python theme={null}

978from claude_agent_sdk import ClaudeAgentOptions978from claude_agent_sdk import ClaudeAgentOptions


986)986)

987```987```

988 988 

989* `API_TIMEOUT_MS`: тайм-аут для каждого запроса на клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем subagents.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)` плюс backoff. Для автоматических запусков, которым нужно ждать более длительных сбоев, установите [`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`, поэтому общее время в худшем случае составляет примерно `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` и снимает ограничение с этой переменной.

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

992 992 

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

994* `CLAUDE_ENABLE_STREAM_WATCHDOG` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: сторож потока, который прерывает запрос, когда заголовки прибыли, но тело ответа перестало потоковать. Сторож включен по умолчанию для всех поставщиков; установите `CLAUDE_ENABLE_STREAM_WATCHDOG=0` для отключения. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. После прерывания, [Автоматические повторные попытки](/docs/ru/errors#automatic-retries) охватывает то, что делает Claude Code, на основе того, насколько далеко продвинулся ответ.994* `CLAUDE_ENABLE_STREAM_WATCHDOG` вместе с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: сторож потока, который прерывает запрос, когда заголовки уже получены, но тело ответа перестало передаваться. Сторож включён по умолчанию для всех поставщиков; установите `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, чтобы его отключить. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию равно `300000` и не может быть меньше этого минимума. Что делает Claude Code после прерывания в зависимости от того, насколько продвинулся ответ, описано в разделе [Автоматические повторные попытки](/docs/ru/errors#automatic-retries).

995 995 

996 Пока сторож ждёт ответ, который шлюз позади `ANTHROPIC_BASE_URL` держит открытым с пингами keep-alive, хост, который устанавливает `include_partial_messages`, продолжает получать сообщения `ping` [`StreamEvent`](#streamevent). Читайте эти кадры как живость, а не тайм-аут сеанса на молчание. До v2.1.257 кадры останавливались через 5 минут после последнего реального события потока.996 Пока сторож ожидает ответ, который шлюз за `ANTHROPIC_BASE_URL` удерживает открытым с помощью keep-alive пингов, хост, установивший `include_partial_messages`, продолжает получать сообщения `ping` [`StreamEvent`](#streamevent). Воспринимайте эти кадры как признак активности, а не завершайте сессию по таймауту из-за отсутствия данных. До v2.1.257 эти кадры прекращались через 5 минут после последнего реального события потока.

997 997 

998<h3 id="outputformat">998<h3 id="outputformat">

999 `OutputFormat`999 `OutputFormat`

1000</h3>1000</h3>

1001 1001 

1002Конфигурация для валидации структурированного вывода. Передайте это как `dict` в поле `output_format` на `ClaudeAgentOptions`:1002Конфигурация для валидации структурированного вывода. Передайте это как `dict` в поле `output_format` в `ClaudeAgentOptions`:

1003 1003 

1004```python theme={null}1004```python theme={null}

1005# Ожидаемая форма dict для output_format1005# Ожидаемая форма dict для output_format


1018 `SystemPromptPreset`1018 `SystemPromptPreset`

1019</h3>1019</h3>

1020 1020 

1021Конфигурация для использования предустановленного системного приглашения Claude Code с дополнительными добавлениями.1021Конфигурация для использования предустановленного системного промпта Claude Code с необязательными дополнениями.

1022 1022 

1023```python theme={null}1023```python theme={null}

1024class SystemPromptPreset(TypedDict):1024class SystemPromptPreset(TypedDict):


1031 1031 

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

1033| :- | :- | :- |1033| :- | :- | :- |

1034| `type` | Да | Должно быть `"preset"` для использования предустановленного системного приглашения |1034| `type` | Да | Должно быть `"preset"` для использования предустановленного системного промпта |

1035| `preset` | Да | Должно быть `"claude_code"` для использования системного приглашения Claude Code |1035| `preset` | Да | Должно быть `"claude_code"` для использования системного промпта Claude Code |

1036| `append` | Нет | Дополнительные инструкции для добавления к предустановленному системному приглашению |1036| `append` | Нет | Дополнительные инструкции, добавляемые к предустановленному системному промпту |

1037| `exclude_dynamic_sections` | Нет | Переместить контекст для каждого пользователя, такой как местоположение автоматической памяти, из системного приглашения в первое пользовательское сообщение. Улучшает повторное использование кэша приглашений между пользователями и машинами. См. [Изменение системных приглашений](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1037| `exclude_dynamic_sections` | Нет | Перенести контекст, специфичный для пользователя, например расположение автоматической памяти, из системного промпта в первое пользовательское сообщение. Улучшает повторное использование кэша промптов между пользователями и машинами. См. [Изменение системных промптов](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1038| `snapshot` | Нет | Установите на `False` для перестроения системного приглашения при каждом запросе вместо [повторного использования приглашения, которое сеанс записал при первом запросе](/docs/ru/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Требует `claude-agent-sdk` v0.2.153 или позже |1038| `snapshot` | Нет | Установите `False`, чтобы пересобирать системный промпт при каждом запросе вместо [повторного использования промпта, записанного сессией при первом запросе](/docs/ru/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Требует `claude-agent-sdk` v0.2.153 или новее |

1039 1039 

1040<h3 id="systempromptcustom">1040<h3 id="systempromptcustom">

1041 `SystemPromptCustom`1041 `SystemPromptCustom`

1042</h3>1042</h3>

1043 1043 

1044Пользовательское системное приглашение в форме объекта, эквивалентное передаче строки как `system_prompt`, которое также может установить `snapshot`. Требует `claude-agent-sdk` v0.2.153 или позже.1044Пользовательский системный промпт в форме объекта, эквивалентный передаче строки в `system_prompt`, который также может задавать `snapshot`. Требует `claude-agent-sdk` v0.2.153 или новее.

1045 1045 

1046```python theme={null}1046```python theme={null}

1047class SystemPromptCustom(TypedDict):1047class SystemPromptCustom(TypedDict):


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

1054| :- | :- | :- |1054| :- | :- | :- |

1055| `type` | Да | Должно быть `"custom"` |1055| `type` | Да | Должно быть `"custom"` |

1056| `prompt` | Да | Текст системного приглашения. Передаётся в CLI как аргумент командной строки, поэтому применяются [ограничения длины командной строки](#systempromptfile) |1056| `prompt` | Да | Текст системного промпта. Передаётся в CLI как аргумент командной строки, поэтому действуют [ограничения длины командной строки](#systempromptfile) |

1057| `snapshot` | Нет | То же, что [`SystemPromptPreset.snapshot`](#systempromptpreset), применяется к `prompt` |1057| `snapshot` | Нет | То же, что [`SystemPromptPreset.snapshot`](#systempromptpreset), применительно к `prompt` |

1058 1058 

1059<h3 id="systempromptfile">1059<h3 id="systempromptfile">

1060 `SystemPromptFile`1060 `SystemPromptFile`

1061</h3>1061</h3>

1062 1062 

1063Конфигурация для загрузки пользовательского системного приглашения из файла вместо передачи его как строки. SDK отображает это на флаг CLI [`--system-prompt-file`](/docs/ru/cli-reference#system-prompt-flags). Используйте форму файла, когда приглашение большое: SDK передаёт строку `system_prompt` в argv подпроцесса CLI, что подлежит ограничениям длины командной строки ОС перед отправкой SDK любого запроса API. На Linux один аргумент длиннее примерно 128 КБ не работает при порождении процесса с `Argument list too long`. На Windows вся командная строка ограничена примерно 32 КБ, поэтому форма строки не работает при более низком пороге.1063Конфигурация для загрузки пользовательского системного промпта из файла вместо передачи его строкой. SDK сопоставляет это с флагом CLI [`--system-prompt-file`](/docs/ru/cli-reference#system-prompt-flags). Используйте форму с файлом, когда промпт большой: строковый `system_prompt` SDK передаёт в argv подпроцесса CLI, что подпадает под ограничения длины командной строки ОС ещё до того, как SDK отправит какой-либо запрос к API. В Linux отдельный аргумент длиннее примерно 128 КБ приводит к сбою при запуске процесса с ошибкой `Argument list too long`. В Windows вся командная строка ограничена примерно 32 КБ, поэтому строковая форма даёт сбой при ещё меньшем размере.

1064 1064 

1065```python theme={null}1065```python theme={null}

1066class SystemPromptFile(TypedDict):1066class SystemPromptFile(TypedDict):


1070 1070 

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

1072| :- | :- | :- |1072| :- | :- | :- |

1073| `type` | Да | Должно быть `"file"` для загрузки приглашения с диска |1073| `type` | Да | Должно быть `"file"` для загрузки промпта с диска |

1074| `path` | Да | Путь к файлу, содержащему системное приглашение |1074| `path` | Да | Путь к файлу, содержащему системный промпт |

1075 1075 

1076<h3 id="settingsource">1076<h3 id="settingsource">

1077 `SettingSource`1077 `SettingSource`

1078</h3>1078</h3>

1079 1079 

1080Контролирует, какие источники конфигурации на основе файловой системы SDK загружает параметры из.1080Определяет, из каких источников конфигурации в файловой системе SDK загружает настройки.

1081 1081 

1082```python theme={null}1082```python theme={null}

1083SettingSource = Literal["user", "project", "local"]1083SettingSource = Literal["user", "project", "local"]


1085 1085 

1086| Значение | Описание | Местоположение |1086| Значение | Описание | Местоположение |

1087| :- | :- | :- |1087| :- | :- | :- |

1088| `"user"` | Глобальные пользовательские параметры | `~/.claude/settings.json` |1088| `"user"` | Глобальные пользовательские настройки | `~/.claude/settings.json` |

1089| `"project"` | Общие параметры проекта (контролируемые версией) | `.claude/settings.json` |1089| `"project"` | Общие настройки проекта (под контролем версий) | `.claude/settings.json` |

1090| `"local"` | Локальные параметры проекта, gitignored, когда Claude Code сохраняет параметр в него | `.claude/settings.local.json` |1090| `"local"` | Локальные настройки проекта, добавляемые в gitignore, когда Claude Code сохраняет в них настройку | `.claude/settings.local.json` |

1091 1091 

1092<h4 id="default-behavior">1092<h4 id="default-behavior">

1093 Поведение по умолчанию1093 Поведение по умолчанию

1094</h4>1094</h4>

1095 1095 

1096Когда `setting_sources` опущен или `None` и `skills` не установлен, `query()` загружает те же параметры файловой системы, что и CLI Claude Code: пользовательские, проектные и локальные. С установленным `skills`, строка [`setting_sources`](#claudeagentoptions) описывает текущее значение по умолчанию. Политика, управляемая конечной точкой, загружается во всех случаях; параметры, управляемые сервером, извлекаются, когда сеанс аутентифицируется с учётными данными организации на [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). Для получения дополнительной информации см. [Что settingSources не контролирует](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control).1096Когда `setting_sources` опущен или равен `None` и `skills` не задан, `query()` загружает те же настройки файловой системы, что и CLI Claude Code: пользовательские, проектные и локальные. Если `skills` задан, текущее значение по умолчанию описано в строке [`setting_sources`](#claudeagentoptions). Политика, управляемая на конечном устройстве, загружается во всех случаях; настройки, управляемые сервером, извлекаются, когда сессия аутентифицируется с учётными данными организации в [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). Дополнительную информацию см. в разделе [Что settingSources не контролирует](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control).

1097 1097 

1098<h4 id="why-use-setting_sources">1098<h4 id="why-use-setting_sources">

1099 Почему использовать setting\_sources1099 Зачем использовать setting\_sources

1100</h4>1100</h4>

1101 1101 

1102**Отключить параметры файловой системы:**1102**Отключить настройки файловой системы:**

1103 1103 

1104```python theme={null}1104```python theme={null}

1105# Не загружать пользовательские, проектные или локальные параметры с диска1105# Не загружать пользовательские, проектные или локальные настройки с диска

1106import asyncio1106import asyncio

1107from claude_agent_sdk import query, ClaudeAgentOptions1107from claude_agent_sdk import query, ClaudeAgentOptions

1108 1108 


1121```1121```

1122 1122 

1123<Note>1123<Note>

1124 В Python SDK 0.1.59 и более ранних версиях пустой список рассматривался так же, как опущение опции, поэтому `setting_sources=[]` не отключал параметры файловой системы. Обновитесь до более новой версии, если вам нужно, чтобы пустой список вступил в силу. TypeScript SDK не затронут.1124 В Python SDK 0.1.59 и более ранних версиях пустой список обрабатывался так же, как отсутствие опции, поэтому `setting_sources=[]` не отключал настройки файловой системы. Обновитесь до более новой версии, если вам нужно, чтобы пустой список вступал в силу. TypeScript SDK это не затрагивает.

1125</Note>1125</Note>

1126 1126 

1127**Загрузить только определённые источники параметров:**1127**Загрузить только определённые источники настроек:**

1128 1128 

1129```python theme={null}1129```python theme={null}

1130# Загрузить только параметры проекта, игнорировать пользовательские и локальные1130# Загрузить только настройки проекта, игнорировать пользовательские и локальные

1131import asyncio1131import asyncio

1132from claude_agent_sdk import query, ClaudeAgentOptions1132from claude_agent_sdk import query, ClaudeAgentOptions

1133 1133 


1145asyncio.run(main())1145asyncio.run(main())

1146```1146```

1147 1147 

1148**Приложения только SDK:**1148**Приложения только на SDK:**

1149 1149 

1150```python theme={null}1150```python theme={null}

1151# Определить всё программно.1151# Определить всё программно.

1152# Передайте [] для отказа от источников параметров файловой системы.1152# Передайте [], чтобы отказаться от источников настроек файловой системы.

1153import asyncio1153import asyncio

1154from claude_agent_sdk import AgentDefinition, ClaudeAgentOptions, query1154from claude_agent_sdk import AgentDefinition, ClaudeAgentOptions, query

1155 1155 


1174asyncio.run(main())1174asyncio.run(main())

1175```1175```

1176 1176 

1177Для загрузки инструкций проекта CLAUDE.md включите `"project"` в `setting_sources`. См. [Изменение системных приглашений](/docs/ru/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) для того, как загрузка CLAUDE.md взаимодействует с опциями системного приглашения.1177Чтобы загрузить инструкции проекта из CLAUDE.md, включите `"project"` в `setting_sources`. О том, как загрузка CLAUDE.md взаимодействует с опциями системного промпта, см. [Изменение системных промптов](/docs/ru/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions).

1178 1178 

1179<h4 id="settings-precedence">1179<h4 id="settings-precedence">

1180 Приоритет параметров1180 Приоритет настроек

1181</h4>1181</h4>

1182 1182 

1183Когда загружаются несколько источников, параметры объединяются с этим приоритетом (от наивысшего к наименьшему):1183Когда загружается несколько источников, настройки объединяются в следующем порядке приоритета (от наивысшего к наименьшему):

1184 1184 

11851. Локальные параметры (`.claude/settings.local.json`)11851. Локальные настройки (`.claude/settings.local.json`)

11862. Параметры проекта (`.claude/settings.json`)11862. Настройки проекта (`.claude/settings.json`)

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

1188 1188 

1189Программные опции, такие как `agents`, `allowed_tools` и `settings`, переопределяют пользовательские, проектные и локальные параметры файловой системы. Параметры политики, управляемые, имеют приоритет над программными опциями.1189Программные опции, такие как `agents`, `allowed_tools` и `settings`, переопределяют пользовательские, проектные и локальные настройки файловой системы. Управляемые настройки политики имеют приоритет над программными опциями.

1190 1190 

1191<h3 id="agentdefinition">1191<h3 id="agentdefinition">

1192 `AgentDefinition`1192 `AgentDefinition`

1193</h3>1193</h3>

1194 1194 

1195Конфигурация для subagent, определённого программно.1195Конфигурация для субагента, определённого программно.

1196 1196 

1197```python theme={null}1197```python theme={null}

1198@dataclass1198@dataclass


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

1216| :- | :- | :- |1216| :- | :- | :- |

1217| `description` | Да | Описание на естественном языке, когда использовать этого агента |1217| `description` | Да | Описание на естественном языке, когда использовать этого агента |

1218| `prompt` | Да | Системное приглашение агента |1218| `prompt` | Да | Системный промпт агента |

1219| `tools` | Нет | Массив разрешённых имён инструментов. Если опущено, наследует каждый [инструмент, доступный для subagents](/docs/ru/sub-agents#available-tools) |1219| `tools` | Нет | Массив имён разрешённых инструментов. Если опущено, наследуются все [инструменты, доступные субагентам](/docs/ru/sub-agents#available-tools) |

1220| `disallowedTools` | Нет | Массив имён инструментов для удаления из набора инструментов агента. Также принимаются шаблоны на уровне MCP-сервера: `mcp__server` или `mcp__server__*` удаляет каждый инструмент с этого сервера, и `mcp__*` удаляет каждый инструмент MCP с любого сервера |1220| `disallowedTools` | Нет | Массив имён инструментов, удаляемых из набора инструментов агента. Также принимаются шаблоны на уровне MCP-сервера: `mcp__server` или `mcp__server__*` удаляет все инструменты этого сервера, а `mcp__*` удаляет все инструменты MCP с любого сервера |

1221| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `"sonnet"`, `"opus"`, `"haiku"` или `"inherit"`, или полный ID модели. Когда вы его опускаете, Claude Code выбирает модель в [порядке модели subagent](/docs/ru/sub-agents#choose-a-model) |1221| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `"sonnet"`, `"opus"`, `"haiku"` или `"inherit"`, или полный ID модели. Если опущено, Claude Code выбирает модель в соответствии с [порядком выбора модели для субагентов](/docs/ru/sub-agents#choose-a-model) |

1222| `skills` | Нет | Список имён skills для предварительной загрузки в контекст агента при запуске. Неуказанные skills остаются вызываемыми через инструмент Skill |1222| `skills` | Нет | Список имён скиллов для предварительной загрузки в контекст агента при запуске. Неуказанные скиллы по-прежнему можно вызвать через инструмент Skill |

1223| `memory` | Нет | Источник памяти для этого агента: `"user"`, `"project"` или `"local"` |1223| `memory` | Нет | Источник памяти для этого агента: `"user"`, `"project"` или `"local"` |

1224| `mcpServers` | Нет | MCP-серверы, доступные для этого агента. Каждая запись — это имя сервера или встроенный dict `{name: config}` |1224| `mcpServers` | Нет | MCP-серверы, доступные этому агенту. Каждая запись — это имя сервера или встроенный dict `{name: config}` |

1225| `initialPrompt` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает как основной агент потока |1225| `initialPrompt` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает как агент основного потока |

1226| `maxTurns` | Нет | Максимальное количество агентских ходов перед остановкой агента |1226| `maxTurns` | Нет | Максимальное количество агентских ходов до остановки агента |

1227| `background` | Нет | Запустить этого агента как неблокирующую фоновую задачу при вызове |1227| `background` | Нет | Запускать этого агента как неблокирующую фоновую задачу при вызове |

1228| `effort` | Нет | Уровень усилий рассуждения для этого агента. Принимает именованный уровень или целое число. См. [`EffortLevel`](#effortlevel) |1228| `effort` | Нет | Уровень effort рассуждений для этого агента. Принимает именованный уровень или целое число. См. [`EffortLevel`](#effortlevel) |

1229| `permissionMode` | Нет | Режим разрешения для выполнения инструментов в этом агенте. [Правила наследования subagent](/docs/ru/agent-sdk/permissions#available-modes) решают, когда он применяется. См. [`PermissionMode`](#permissionmode) |1229| `permissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте. Когда он применяется, определяют [правила наследования для субагентов](/docs/ru/agent-sdk/permissions#available-modes). См. [`PermissionMode`](#permissionmode) |

1230 1230 

1231<Note>1231<Note>

1232 Имена полей `AgentDefinition` используют camelCase, такие как `disallowedTools`, `permissionMode` и `maxTurns`. Эти имена напрямую отображаются на формат провода, общий с TypeScript SDK. Это отличается от `ClaudeAgentOptions`, который использует Python snake\_case для эквивалентных полей верхнего уровня, таких как `disallowed_tools` и `permission_mode`. Поскольку `AgentDefinition` является dataclass, передача ключевого слова snake\_case вызывает `TypeError` во время конструирования.1232 Имена полей `AgentDefinition` используют camelCase, например `disallowedTools`, `permissionMode` и `maxTurns`. Эти имена напрямую соответствуют формату передачи данных, общему с TypeScript SDK. Это отличается от `ClaudeAgentOptions`, где для эквивалентных полей верхнего уровня используется принятый в Python snake\_case, например `disallowed_tools` и `permission_mode`. Поскольку `AgentDefinition` является dataclass, передача ключевого аргумента в snake\_case вызывает `TypeError` при создании объекта.

1233</Note>1233</Note>

1234 1234 

1235<h3 id="permissionmode">1235<h3 id="permissionmode">

1236 `PermissionMode`1236 `PermissionMode`

1237</h3>1237</h3>

1238 1238 

1239Режимы разрешения для контроля выполнения инструментов.1239Режимы разрешений для управления выполнением инструментов.

1240 1240 

1241```python theme={null}1241```python theme={null}

1242PermissionMode = Literal[1242PermissionMode = Literal[

1243 "default", # Стандартное поведение разрешения1243 "default", # Стандартное поведение разрешений

1244 "acceptEdits", # Автоматически принимать редактирования файлов1244 "acceptEdits", # Автоматически принимать изменения файлов

1245 "plan", # Режим планирования - исследовать без редактирования1245 "plan", # Режим планирования - исследовать без редактирования

1246 "dontAsk", # Отрицать всё, что не предварительно одобрено, вместо запроса1246 "dontAsk", # Отклонять всё, что не одобрено заранее, вместо запроса

1247 "bypassPermissions", # Обойти проверки разрешения; явные правила запроса всё ещё запрашивают (используйте с осторожностью)1247 "bypassPermissions", # Обходить проверки разрешений; явные правила ask всё равно запрашивают (используйте с осторожностью)

1248 "auto", # Классификатор модели проверяет действия, такие как команды shell и сетевые запросы1248 "auto", # Классификатор модели проверяет действия, такие как shell-команды и сетевые запросы

1249]1249]

1250```1250```

1251 1251 


1253 `EffortLevel`1253 `EffortLevel`

1254</h3>1254</h3>

1255 1255 

1256Уровни усилий для руководства глубиной thinking.1256Уровни effort, определяющие глубину мышления.

1257 1257 

1258```python theme={null}1258```python theme={null}

1259EffortLevel = Literal[1259EffortLevel = Literal[

1260 "low", # Минимальное thinking, самые быстрые ответы1260 "low", # Минимальное мышление, самые быстрые ответы

1261 "medium", # Умеренное thinking1261 "medium", # Умеренное мышление

1262 "high", # Глубокое рассуждение1262 "high", # Глубокие рассуждения

1263 "xhigh", # Расширенное рассуждение; откатывается на "high" на моделях, которые его не поддерживают1263 "xhigh", # Расширенные рассуждения; на моделях без поддержки переключается на "high"

1264 "max", # Максимальное усилие1264 "max", # Максимальный effort

1265]1265]

1266```1266```

1267 1267 


1269 `CanUseTool`1269 `CanUseTool`

1270</h3>1270</h3>

1271 1271 

1272Псевдоним типа для функций обратного вызова разрешения инструмента.1272Псевдоним типа для функций обратного вызова разрешений инструментов.

1273 1273 

1274```python theme={null}1274```python theme={null}

1275CanUseTool = Callable[1275CanUseTool = Callable[


1280Обратный вызов получает:1280Обратный вызов получает:

1281 1281 

1282* `tool_name`: Имя вызываемого инструмента1282* `tool_name`: Имя вызываемого инструмента

1283* `input_data`: Параметры входных данных инструмента1283* `input_data`: Входные параметры инструмента

1284* `context`: `ToolPermissionContext` с дополнительной информацией1284* `context`: `ToolPermissionContext` с дополнительной информацией

1285 1285 

1286Возвращает `PermissionResult` (либо `PermissionResultAllow`, либо `PermissionResultDeny`).1286Возвращает `PermissionResult` (либо `PermissionResultAllow`, либо `PermissionResultDeny`).

1287 1287 

1288Обратный вызов — это замена SDK для интерактивного приглашения разрешения: он вызывается только когда [поток оценки разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) разрешается в приглашение. Вызовы инструментов, уже одобренные записью `allowed_tools`, правилом параметров разрешения или режимом разрешения, таким как `acceptEdits` или `bypassPermissions`, никогда его не вызывают. Для управления каждым вызовом инструмента используйте hook [`PreToolUse`](/docs/ru/agent-sdk/hooks) вместо этого.1288Обратный вызов заменяет в SDK интерактивный запрос разрешения: он вызывается только тогда, когда [процесс проверки разрешений](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) приводит к запросу разрешения. Вызовы инструментов, уже одобренные записью в `allowed_tools`, правилом разрешения в настройках или режимом разрешений, таким как `acceptEdits` или `bypassPermissions`, никогда его не вызывают. Чтобы контролировать каждый вызов инструмента, используйте вместо этого [хук `PreToolUse`](/docs/ru/agent-sdk/hooks).

1289 1289 

1290Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves); см. [Как оцениваются разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) для того, какие из них достигают обратного вызова и что происходит в режиме `dontAsk` и `auto`.1290Правило разрешения не одобряет заранее [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves); о том, какие из них доходят до обратного вызова и что происходит в режимах `dontAsk` и `auto`, см. [Как проверяются разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated).

1291 1291 

1292<h3 id="toolpermissioncontext">1292<h3 id="toolpermissioncontext">

1293 `ToolPermissionContext`1293 `ToolPermissionContext`

1294</h3>1294</h3>

1295 1295 

1296Информация контекста, передаваемая обратным вызовам разрешения инструмента.1296Контекстная информация, передаваемая обратным вызовам разрешений инструментов.

1297 1297 

1298```python theme={null}1298```python theme={null}

1299@dataclass1299@dataclass


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

1313| :- | :- | :- |1313| :- | :- | :- |

1314| `signal` | `Any \| None` | Зарезервировано для будущей поддержки сигнала прерывания |1314| `signal` | `Any \| None` | Зарезервировано для будущей поддержки сигнала прерывания |

1315| `suggestions` | `list[PermissionUpdate]` | Предложения обновления разрешения из CLI. Приглашения Bash включают предложение с назначением `localSettings`, поэтому возврат его в `updated_permissions` записывает правило в `.claude/settings.local.json` и сохраняется между сеансами. |1315| `suggestions` | `list[PermissionUpdate]` | Предлагаемые CLI обновления разрешений. Запросы разрешения для Bash включают предложение с назначением `localSettings`, поэтому его возврат в `updated_permissions` записывает правило в `.claude/settings.local.json`, и оно сохраняется между сессиями. |

1316| `tool_use_id` | `str \| None` | Идентификатор конкретного вызова инструмента, для которого это приглашение. Всегда заполняется при доставке в `can_use_tool` |1316| `tool_use_id` | `str \| None` | Идентификатор конкретного вызова инструмента, к которому относится этот запрос. Всегда заполняется при передаче в `can_use_tool` |

1317| `agent_id` | `str \| None` | ID sub-агента, когда вызов происходит из subagent; `None` для основного агента |1317| `agent_id` | `str \| None` | ID субагента, если вызов исходит от субагента; `None` для основного агента |

1318| `blocked_path` | `str \| None` | Путь к файлу, который вызвал запрос разрешения, если применимо. Например, когда команда Bash пытается получить доступ к пути вне разрешённых каталогов |1318| `blocked_path` | `str \| None` | Путь к файлу, который вызвал запрос разрешения, если применимо. Например, когда команда Bash пытается обратиться к пути за пределами разрешённых каталогов |

1319| `decision_reason` | `str \| None` | Причина, по которой был вызван этот запрос разрешения. Переслано из `permissionDecisionReason` hook PreToolUse, когда hook вернул `"ask"` |1319| `decision_reason` | `str \| None` | Причина, по которой был вызван этот запрос разрешения. Передаётся из `permissionDecisionReason` хука PreToolUse, когда хук вернул `"ask"` |

1320| `title` | `str \| None` | Полное предложение приглашения разрешения, такое как `Claude wants to read foo.txt`. Используйте как основной текст приглашения, когда присутствует |1320| `title` | `str \| None` | Полное предложение запроса разрешения, например `Claude wants to read foo.txt`. Если присутствует, используйте как основной текст запроса |

1321| `display_name` | `str \| None` | Короткая именная фраза для действия инструмента, такая как `Read file`, подходящая для меток кнопок |1321| `display_name` | `str \| None` | Короткое именное словосочетание для действия инструмента, например `Read file`, подходящее для надписей на кнопках |

1322| `description` | `str \| None` | Понятный для человека подзаголовок для пользовательского интерфейса разрешения |1322| `description` | `str \| None` | Понятный человеку подзаголовок для интерфейса разрешений |

1323 1323 

1324<h3 id="permissionresult">1324<h3 id="permissionresult">

1325 `PermissionResult`1325 `PermissionResult`

1326</h3>1326</h3>

1327 1327 

1328Тип объединения для результатов обратного вызова разрешения.1328Тип объединения для результатов обратного вызова разрешений.

1329 1329 

1330```python theme={null}1330```python theme={null}

1331PermissionResult = PermissionResultAllow | PermissionResultDeny1331PermissionResult = PermissionResultAllow | PermissionResultDeny


1349| :- | :- | :- | :- |1349| :- | :- | :- | :- |

1350| `behavior` | `Literal["allow"]` | `"allow"` | Должно быть "allow" |1350| `behavior` | `Literal["allow"]` | `"allow"` | Должно быть "allow" |

1351| `updated_input` | `dict[str, Any] \| None` | `None` | Изменённые входные данные для использования вместо исходных |1351| `updated_input` | `dict[str, Any] \| None` | `None` | Изменённые входные данные для использования вместо исходных |

1352| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Обновления разрешения для применения |1352| `updated_permissions` | `list[PermissionUpdate] \| None` | `None` | Применяемые обновления разрешений |

1353 1353 

1354<h3 id="permissionresultdeny">1354<h3 id="permissionresultdeny">

1355 `PermissionResultDeny`1355 `PermissionResultDeny`

1356</h3>1356</h3>

1357 1357 

1358Результат, указывающий, что вызов инструмента должен быть отрицан.1358Результат, указывающий, что вызов инструмента должен быть отклонён.

1359 1359 

1360```python theme={null}1360```python theme={null}

1361@dataclass1361@dataclass


1368| Поле | Тип | По умолчанию | Описание |1368| Поле | Тип | По умолчанию | Описание |

1369| :- | :- | :- | :- |1369| :- | :- | :- | :- |

1370| `behavior` | `Literal["deny"]` | `"deny"` | Должно быть "deny" |1370| `behavior` | `Literal["deny"]` | `"deny"` | Должно быть "deny" |

1371| `message` | `str` | `""` | Сообщение, объясняющее, почему инструмент был отрицан |1371| `message` | `str` | `""` | Сообщение, объясняющее, почему инструмент был отклонён |

1372| `interrupt` | `bool` | `False` | Следует ли прерывать текущее выполнение |1372| `interrupt` | `bool` | `False` | Следует ли прервать текущее выполнение |

1373 1373 

1374<h3 id="permissionupdate">1374<h3 id="permissionupdate">

1375 `PermissionUpdate`1375 `PermissionUpdate`


1399 1399 

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

1401| :- | :- | :- |1401| :- | :- | :- |

1402| `type` | `Literal[...]` | Тип операции обновления разрешения |1402| `type` | `Literal[...]` | Тип операции обновления разрешений |

1403| `rules` | `list[PermissionRuleValue] \| None` | Правила для операций добавления/замены/удаления |1403| `rules` | `list[PermissionRuleValue] \| None` | Правила для операций добавления/замены/удаления |

1404| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Поведение для операций на основе правил |1404| `behavior` | `Literal["allow", "deny", "ask"] \| None` | Поведение для операций на основе правил |

1405| `mode` | `PermissionMode \| None` | Режим для операции setMode |1405| `mode` | `PermissionMode \| None` | Режим для операции setMode |

1406| `directories` | `list[str] \| None` | Каталоги для операций добавления/удаления каталога |1406| `directories` | `list[str] \| None` | Каталоги для операций добавления/удаления каталогов |

1407| `destination` | `Literal[...] \| None` | Где применить обновление разрешения |1407| `destination` | `Literal[...] \| None` | Где применить обновление разрешений |

1408 1408 

1409<h3 id="permissionrulevalue">1409<h3 id="permissionrulevalue">

1410 `PermissionRuleValue`1410 `PermissionRuleValue`

1411</h3>1411</h3>

1412 1412 

1413Правило для добавления, замены или удаления в обновлении разрешения.1413Правило для добавления, замены или удаления при обновлении разрешений.

1414 1414 

1415```python theme={null}1415```python theme={null}

1416@dataclass1416@dataclass


1423 `ToolsPreset`1423 `ToolsPreset`

1424</h3>1424</h3>

1425 1425 

1426Конфигурация предустановленных инструментов для использования набора инструментов Claude Code по умолчанию.1426Предустановленная конфигурация инструментов для использования набора инструментов Claude Code по умолчанию.

1427 1427 

1428```python theme={null}1428```python theme={null}

1429class ToolsPreset(TypedDict):1429class ToolsPreset(TypedDict):


1435 `ThinkingConfig`1435 `ThinkingConfig`

1436</h3>1436</h3>

1437 1437 

1438Контролирует поведение расширенного thinking. Объединение трёх конфигураций:1438Управляет поведением расширенного мышления. Объединение трёх конфигураций:

1439 1439 

1440```python theme={null}1440```python theme={null}

1441ThinkingDisplay = Literal["summarized", "omitted"]1441ThinkingDisplay = Literal["summarized", "omitted"]


1462| Вариант | Поля | Описание |1462| Вариант | Поля | Описание |

1463| :- | :- | :- |1463| :- | :- | :- |

1464| `adaptive` | `type`, `display` | Claude адаптивно решает, когда думать |1464| `adaptive` | `type`, `display` | Claude адаптивно решает, когда думать |

1465| `enabled` | `type`, `budget_tokens`, `display` | Включить thinking с определённым бюджетом токенов |1465| `enabled` | `type`, `budget_tokens`, `display` | Включить мышление с определённым бюджетом токенов |

1466| `disabled` | `type` | Отключить thinking |1466| `disabled` | `type` | Отключить мышление |

1467 1467 

1468Дополнительное поле `display` контролирует, возвращается ли текст thinking `"summarized"` или `"omitted"`. На Claude Opus 4.7 и позже, по умолчанию API — `"omitted"`, поэтому установите `"summarized"` для получения содержимого thinking в выходах [`ThinkingBlock`](#thinkingblock). Claude Code не отправляет `display` на Amazon Bedrock или Google Cloud's Agent Platform, поэтому на этих поставщиках Opus 4.7 и позже возвращают пустые выходы `ThinkingBlock` даже когда вы установили `display` на `"summarized"`.1468Необязательное поле `display` определяет, возвращается ли текст размышлений в виде `"summarized"` или `"omitted"`. В Claude Opus 4.7 и новее значение API по умолчанию — `"omitted"`, поэтому установите `"summarized"`, чтобы получать содержимое размышлений в выходных данных [`ThinkingBlock`](#thinkingblock). Claude Code не передаёт ваше значение `display` некоторым поставщикам, таким как Amazon Bedrock и Google Cloud's Agent Platform. У этих поставщиков Opus 4.7 и новее возвращают пустые выходные данные `ThinkingBlock`, даже если вы установили `display` в `"summarized"`.

1469 1469 

1470Поскольку это классы `TypedDict`, они являются простыми dicts во время выполнения. Либо конструируйте их как dict-литералы, либо вызывайте класс как конструктор; оба создают `dict`. Получайте доступ к полям с `config["budget_tokens"]`, а не `config.budget_tokens`:1470Поскольку это классы `TypedDict`, во время выполнения они являются простыми словарями. Можно либо создавать их как dict-литералы, либо вызывать класс как конструктор; в обоих случаях получается `dict`. Обращайтесь к полям через `config["budget_tokens"]`, а не `config.budget_tokens`:

1471 1471 

1472```python theme={null}1472```python theme={null}

1473from claude_agent_sdk import ClaudeAgentOptions, ThinkingConfigEnabled1473from claude_agent_sdk import ClaudeAgentOptions, ThinkingConfigEnabled

1474 1474 

1475# Опция 1: dict-литерал (рекомендуется, импорт не требуется)1475# Вариант 1: dict-литерал (рекомендуется, импорт не требуется)

1476options = ClaudeAgentOptions(thinking={"type": "enabled", "budget_tokens": 20000})1476options = ClaudeAgentOptions(thinking={"type": "enabled", "budget_tokens": 20000})

1477 1477 

1478# Опция 2: стиль конструктора (возвращает простой dict)1478# Вариант 2: в стиле конструктора (возвращает простой dict)

1479config = ThinkingConfigEnabled(type="enabled", budget_tokens=20000)1479config = ThinkingConfigEnabled(type="enabled", budget_tokens=20000)

1480print(config["budget_tokens"]) # 200001480print(config["budget_tokens"]) # 20000

1481# config.budget_tokens вызовет AttributeError1481# config.budget_tokens вызовет AttributeError


1496| :- | :- | :- |1496| :- | :- | :- |

1497| `total` | `int` | Общий бюджет токенов для задачи |1497| `total` | `int` | Общий бюджет токенов для задачи |

1498 1498 

1499Поскольку это `TypedDict`, передайте его как простой dict, такой как `ClaudeAgentOptions(task_budget={"total": 50000})`.1499Поскольку это `TypedDict`, передавайте его как простой dict, например `ClaudeAgentOptions(task_budget={"total": 50000})`.

1500 1500 

1501<h3 id="sdkbeta">1501<h3 id="sdkbeta">

1502 `SdkBeta`1502 `SdkBeta`


1531 `McpServerConfig`1531 `McpServerConfig`

1532</h3>1532</h3>

1533 1533 

1534Тип объединения для конфигураций MCP-сервера.1534Тип объединения для конфигураций MCP-серверов.

1535 1535 

1536```python theme={null}1536```python theme={null}

1537McpServerConfig = (1537McpServerConfig = (


1577 `McpServerStatusConfig`1577 `McpServerStatusConfig`

1578</h3>1578</h3>

1579 1579 

1580Конфигурация MCP-сервера, как сообщается [`get_mcp_status()`](#methods). Это объединение всех вариантов транспорта [`McpServerConfig`](#mcpserverconfig) плюс выходной вариант `claudeai-proxy` для серверов, проксированных через claude.ai.1580Конфигурация MCP-сервера в том виде, в котором её возвращает [`get_mcp_status()`](#methods). Это объединение всех транспортных вариантов [`McpServerConfig`](#mcpserverconfig) плюс доступный только в выходных данных вариант `claudeai-proxy` для серверов, проксируемых через claude.ai.

1581 1581 

1582```python theme={null}1582```python theme={null}

1583McpServerStatusConfig = (1583McpServerStatusConfig = (


1589)1589)

1590```1590```

1591 1591 

1592`McpSdkServerConfigStatus` — это сериализуемая форма [`McpSdkServerConfig`](#mcpsdkserverconfig) с только полями `type` (`"sdk"`) и `name` (`str`); в процессе `instance` опущен. `McpClaudeAIProxyServerConfig` имеет поля `type` (`"claudeai-proxy"`), `url` (`str`) и `id` (`str`).1592`McpSdkServerConfigStatus` — это сериализуемая форма [`McpSdkServerConfig`](#mcpsdkserverconfig), содержащая только поля `type` (`"sdk"`) и `name` (`str`); внутрипроцессный `instance` опущен. `McpClaudeAIProxyServerConfig` имеет поля `type` (`"claudeai-proxy"`), `url` (`str`) и `id` (`str`).

1593 1593 

1594<h3 id="mcpstatusresponse">1594<h3 id="mcpstatusresponse">

1595 `McpStatusResponse`1595 `McpStatusResponse`

1596</h3>1596</h3>

1597 1597 

1598Ответ от [`ClaudeSDKClient.get_mcp_status()`](#methods). Обёртывает список статусов сервера под ключом `mcpServers`.1598Ответ от [`ClaudeSDKClient.get_mcp_status()`](#methods). Содержит список статусов серверов под ключом `mcpServers`.

1599 1599 

1600```python theme={null}1600```python theme={null}

1601class McpStatusResponse(TypedDict):1601class McpStatusResponse(TypedDict):


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

1623| :- | :- | :- |1623| :- | :- | :- |

1624| `name` | `str` | Имя сервера |1624| `name` | `str` | Имя сервера |

1625| `status` | `str` | Один из `"connected"`, `"failed"`, `"needs-auth"`, `"pending"` или `"disabled"` |1625| `status` | `str` | Одно из значений `"connected"`, `"failed"`, `"needs-auth"`, `"pending"` или `"disabled"` |

1626| `serverInfo` | `dict` (опционально) | Имя и версия сервера (`{"name": str, "version": str}`) |1626| `serverInfo` | `dict` (необязательно) | Имя и версия сервера (`{"name": str, "version": str}`) |

1627| `error` | `str` (опционально) | Сообщение об ошибке, если серверу не удалось подключиться |1627| `error` | `str` (необязательно) | Сообщение об ошибке, если серверу не удалось подключиться |

1628| `config` | [`McpServerStatusConfig`](#mcpserverstatusconfig) (опционально) | Конфигурация сервера. Та же форма, что и [`McpServerConfig`](#mcpserverconfig) (stdio, SSE, HTTP или SDK), плюс вариант `claudeai-proxy` для серверов, подключённых через claude.ai |1628| `config` | [`McpServerStatusConfig`](#mcpserverstatusconfig) (необязательно) | Конфигурация сервера. Та же структура, что и у [`McpServerConfig`](#mcpserverconfig) (stdio, SSE, HTTP или SDK), плюс вариант `claudeai-proxy` для серверов, подключённых через claude.ai |

1629| `scope` | `str` (опционально) | Область конфигурации |1629| `scope` | `str` (необязательно) | Область действия конфигурации |

1630| `tools` | `list` (опционально) | Инструменты, предоставленные этим сервером, каждый с полями `name`, `description` и `annotations` |1630| `tools` | `list` (необязательно) | Инструменты, предоставляемые этим сервером, каждый с полями `name`, `description` и `annotations` |

1631 1631 

1632<h3 id="contextusageresponse">1632<h3 id="contextusageresponse">

1633 `ContextUsageResponse`1633 `ContextUsageResponse`

1634</h3>1634</h3>

1635 1635 

1636Ответ от [`ClaudeSDKClient.get_context_usage()`](#methods). Это тот же payload, который Claude Code отображает для команды `/context` в интерактивном сеансе, поэтому наряду с подсчётом токенов он содержит поля отображения, такие как `color` и `gridRows`, которые Claude Code использует для рисования сетки использования `/context`.1636Ответ от [`ClaudeSDKClient.get_context_usage()`](#methods). Это те же данные, которые Claude Code отображает для команды `/context` в интерактивной сессии, поэтому помимо количества токенов они содержат поля отображения, такие как `color` и `gridRows`, которые Claude Code использует для отрисовки сетки использования `/context`.

1637 1637 

1638Claude Code создаёт этот payload, отправляя несколько запросов к API [подсчёта токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting). Эти запросы не отображаются в потоке сообщений, поэтому отслеживание стоимости, которое читает поток, их не увидит. На API Anthropic подсчёт токенов не выставляется счётом.1638Claude Code формирует эти данные, отправляя несколько запросов к API [подсчёта токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting). Эти запросы не отображаются в потоке сообщений, поэтому отслеживание стоимости, основанное на чтении потока, их не увидит. В Anthropic API подсчёт токенов не тарифицируется.

1639 1639 

1640```python theme={null}1640```python theme={null}

1641class ContextUsageResponse(TypedDict):1641class ContextUsageResponse(TypedDict):


1660 apiUsage: NotRequired[dict[str, Any] | None]1660 apiUsage: NotRequired[dict[str, Any] | None]

1661```1661```

1662 1662 

1663Каждая запись `ContextUsageCategory` содержит `name`, `tokens`, `color` и дополнительный флаг `isDeferred`. `totalTokens` — это текущее использование контекста сеанса, а `maxTokens` — это окно, против которого измеряется использование. Это окно — это окно контекста модели, или более низкое окно auto-compaction, когда оно применяется, и `rawMaxTokens` содержит то же значение, что и `maxTokens`. `apiUsage` содержит использование из последнего ответа API, а не итоговое значение для сеанса. Claude Code оставляет дополнительные ключи `deferredBuiltinTools`, `systemTools` и `systemPromptSections` не установленными, поэтому ожидайте их отсутствия, даже если тип их объявляет.1663Каждая запись `ContextUsageCategory` содержит `name`, `tokens`, `color` и необязательный флаг `isDeferred`. `totalTokens` — это текущее использование контекста в сессии, а `maxTokens` — окно, относительно которого измеряется это использование. Этим окном является контекстное окно модели или меньшее окно автосжатия, если оно применяется, а `rawMaxTokens` содержит то же значение, что и `maxTokens`. `apiUsage` содержит данные об использовании из последнего ответа API, а не накопленный итог для сессии. Claude Code не заполняет необязательные ключи `deferredBuiltinTools`, `systemTools` и `systemPromptSections`, поэтому рассчитывайте на их отсутствие, даже несмотря на то, что тип их объявляет.

1664 1664 

1665<h3 id="sdkpluginconfig">1665<h3 id="sdkpluginconfig">

1666 `SdkPluginConfig`1666 `SdkPluginConfig`


1688]1688]

1689```1689```

1690 1690 

1691Для полной информации о создании и использовании плагинов см. [Plugins](/docs/ru/agent-sdk/plugins).1691Полную информацию о создании и использовании плагинов см. в разделе [Плагины](/docs/ru/agent-sdk/plugins).

1692 1692 

1693<h2 id="message-types">1693<h2 id="message-types">

1694 Типы сообщений1694 Типы сообщений


1875| `maxOutputTokens` | `int` | Максимальный лимит выходных токенов для этой модели. |1875| `maxOutputTokens` | `int` | Максимальный лимит выходных токенов для этой модели. |

1876| `canonicalModel` | `str` | Канонический ID модели, используемый для поиска цены. Может отличаться от необработанной строки модели, по которой индексируется запись, такой как ID или псевдоним, специфичный для поставщика. Не всегда присутствует. |1876| `canonicalModel` | `str` | Канонический ID модели, используемый для поиска цены. Может отличаться от необработанной строки модели, по которой индексируется запись, такой как ID или псевдоним, специфичный для поставщика. Не всегда присутствует. |

1877| `provider` | `str` | Поставщик API, который обслуживал эту модель, такой как `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` или `gateway`. Не всегда присутствует. |1877| `provider` | `str` | Поставщик API, который обслуживал эту модель, такой как `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` или `gateway`. Не всегда присутствует. |

1878| `costBasis` | `str` | Таблица цен, по которой была рассчитана стоимость последнего запроса этой модели: `list` для прейскурантной цены, `managed` для таблицы [`modelPricing`](/docs/ru/settings-reference#modelpricing) или `unknown`, если ни одна из них не соответствует ID модели. Не всегда присутствует и не объявлено в TypedDict, поэтому читайте его с помощью `.get()`. Требуется Claude Code v2.1.246 или позже. |

1878 1879 

1879<h3 id="streamevent">1880<h3 id="streamevent">

1880 `StreamEvent`1881 `StreamEvent`


2166 """Base error for Claude SDK."""2167 """Base error for Claude SDK."""

2167```2168```

2168 2169 

2169Когда одноразовый `query()` заканчивается результатом ошибки, например ошибкой превышения лимита ходов, SDK вызывает [`ResultError`](#resulterror) после выдачи финального сообщения результата. Версии Python Agent SDK до 0.2.140 вызывали простое `Exception`, которое не было подклассом `ClaudeSDKError`.2170Когда одноразовый `query()` заканчивается результатом ошибки, например ошибкой превышения лимита ходов, SDK вызывает [`ResultError`](#resulterror).

2170 2171 

2171<h3 id="clinotfounderror">2172<h3 id="clinotfounderror">

2172 `CLINotFoundError`2173 `CLINotFoundError`


2216 `ResultError`2217 `ResultError`

2217</h3>2218</h3>

2218 2219 

2219Вызывается после финального [`ResultMessage`](#resultmessage), когда процесс Claude Code завершается, потому что запуск закончился результатом ошибки, таким как ошибка превышения лимита ходов или ошибка API. `ResultError` является подклассом `ProcessError`, поэтому существующий обработчик `except ProcessError` также его перехватывает. Его атрибуты содержат поля этого сообщения результата, поэтому вы можете разветвляться в зависимости от причины сбоя запуска без анализа текста сообщения. Требуется Python Agent SDK версии 0.2.140 или позже.2220Вызывается, когда процесс Claude Code завершается, потому что запуск закончился [сообщением результата](#resultmessage) с ошибкой, таким как ошибка превышения лимита ходов или ошибка API. `ResultError` является подклассом `ProcessError`, поэтому существующий обработчик `except ProcessError` также его перехватывает. Его атрибуты содержат поля этого сообщения результата, поэтому вы можете разветвляться в зависимости от причины сбоя запуска без анализа текста сообщения. Требуется Python Agent SDK версии 0.2.140 или позже.

2220 2221 

2221```python theme={null}2222```python theme={null}

2222class ResultError(ProcessError):2223class ResultError(ProcessError):


2649 hookEventName: Literal["PostToolUse"]2650 hookEventName: Literal["PostToolUse"]

2650 additionalContext: NotRequired[str]2651 additionalContext: NotRequired[str]

2651 updatedToolOutput: NotRequired[Any]2652 updatedToolOutput: NotRequired[Any]

2652 updatedMCPToolOutput: NotRequired[Any] # Deprecated: use updatedToolOutput, which works for all tools2653 updatedMCPToolOutput: NotRequired[Any] # MCP tools only. Prefer updatedToolOutput, which works for all tools

2653 2654 

2654 2655 

2655class PostToolUseFailureHookSpecificOutput(TypedDict):2656class PostToolUseFailureHookSpecificOutput(TypedDict):


2767 Типы ввода/вывода инструментов2768 Типы ввода/вывода инструментов

2768</h2>2769</h2>

2769 2770 

2770Документация схем ввода/вывода для всех встроенных инструментов Claude Code. Хотя Python SDK не экспортирует их как типы, они представляют структуру входов и выходов инструментов в сообщениях.2771Документация схем ввода/вывода для встроенных инструментов Claude Code. Хотя Python SDK не экспортирует их как типы, они представляют структуру входов и выходов инструментов в сообщениях.

2771 2772 

2772Каждый показанный вывод — это значение, которое вы читаете из [`UserMessage.tool_use_result`](#usermessage) для этого инструмента. Названия ключей появляются точно так, как их выдает Claude Code. Ключ, аннотированный `| None` с комментарием "present when" или "optional", опускается, когда он не применяется.2773Каждый показанный вывод — это значение, которое вы читаете из [`UserMessage.tool_use_result`](#usermessage) для этого инструмента. Названия ключей появляются точно так, как их выдает Claude Code. Ключ, аннотированный `| None` с комментарием "present when" или "optional", опускается, когда он не применяется.

2773 2774 

Details

60 60 

61Чтобы использовать структурированные выводы, определите [JSON Schema](https://json-schema.org/understanding-json-schema/about), описывающую форму данных, которые вы хотите, затем передайте его в `query()` через опцию `outputFormat` (TypeScript) или `output_format` (Python). Когда агент завершит работу, сообщение результата включает поле `structured_output` с валидированными данными, соответствующими вашей схеме.61Чтобы использовать структурированные выводы, определите [JSON Schema](https://json-schema.org/understanding-json-schema/about), описывающую форму данных, которые вы хотите, затем передайте его в `query()` через опцию `outputFormat` (TypeScript) или `output_format` (Python). Когда агент завершит работу, сообщение результата включает поле `structured_output` с валидированными данными, соответствующими вашей схеме.

62 62 

63Пример ниже просит агента исследовать Anthropic и вернуть название компании, год основания и штаб-квартиру как структурированный вывод.63Прежде чем запускать примеры на этой странице, установите Claude Agent SDK, следуя руководству [быстрый старт](/docs/ru/agent-sdk/quickstart#setup). Пример ниже просит агента исследовать Anthropic и вернуть название компании, год основания и штаб-квартиру как структурированный вывод.

64 64 

65<CodeGroup>65<CodeGroup>

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


390 Обработка ошибок390 Обработка ошибок

391</h2>391</h2>

392 392 

393Генерация структурированного вывода может не удаться, когда агент не может создать валидный JSON, соответствующий вашей схеме. Это обычно происходит, когда схема слишком сложна для задачи, сама задача неоднозначна или агент достигает лимита повторных попыток при попытке исправить ошибки валидации. Это также может произойти без каких-либо ошибок валидации: [откат модели](/docs/ru/model-config#automatic-model-fallback) может отменить уже завершённый вывод в середине потока, и если никакая повторная попытка его не заменит, выполнение завершится с той же ошибкой. Проверьте список `errors` в сообщении результата, чтобы различить две причины перед отладкой вашей схемы.393Генерация структурированного вывода может не удаться, когда агент не может создать валидный JSON, соответствующий вашей схеме. Это обычно происходит, когда схема слишком сложна для задачи, сама задача неоднозначна или агент достигает лимита повторных попыток при попытке исправить ошибки валидации. Это также может произойти без каких-либо ошибок валидации: [переключение на резервную модель](/docs/ru/model-config#automatic-model-fallback) может отменить уже завершённый вывод в середине потока, и если никакая повторная попытка его не заменит, выполнение завершится с той же ошибкой. Проверьте список `errors` в сообщении результата с ошибкой, чтобы различить две причины перед отладкой вашей схемы.

394 394 

395Когда происходит ошибка, сообщение результата имеет `subtype`, указывающий, что пошло не так:395Когда происходит ошибка, сообщение результата имеет `subtype`, указывающий, что пошло не так:

396 396 

397| Subtype | Значение |397| Subtype | Значение |

398| - | - |398| - | - |

399| `success` | Вывод был успешно сгенерирован и валидирован |399| `success` | Вывод был успешно сгенерирован и валидирован |

400| `error_max_structured_output_retries` | Ни один валидный вывод не пережил несколько попыток (ошибки валидации или откат модели без успешной повторной попытки) |400| `error_max_structured_output_retries` | После нескольких попыток не осталось валидного вывода (ошибки валидации или отмена вывода при переключении на резервную модель без успешной повторной попытки) |

401 401 

402Результат также может завершиться с subtype `success`, но без значения `structured_output`, например, когда выполнение завершается без того, чтобы агент создал структурированный вывод. Рассматривайте этот случай как ошибку. Запись по устранению неполадок [structured\_output is None but the result says success](/docs/ru/agent-sdk/troubleshooting#structured_output-is-none-but-the-result-says-success) охватывает этот случай. Пример ниже рассматривает результат как успешный только когда `subtype` равен `success` и `structured_output` присутствует, и обрабатывает все остальные результаты как ошибку:402Результат также может завершиться с subtype `success`, но без значения `structured_output`, например, когда выполнение завершается без того, чтобы агент создал структурированный вывод. Этот случай также рассматривайте как ошибку. Запись по устранению неполадок [structured\_output is None but the result says success](/docs/ru/agent-sdk/troubleshooting#structured_output-is-none-but-the-result-says-success) охватывает этот случай. Пример ниже рассматривает результат как успешный только когда `subtype` равен `success` и `structured_output` присутствует, и обрабатывает все остальные результаты как ошибку:

403 403 

404<CodeGroup>404<CodeGroup>

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


488 488 

489* **Держите схемы сосредоточенными.** Глубоко вложенные схемы со многими обязательными полями сложнее удовлетворить. Начните с простого и добавляйте сложность по мере необходимости.489* **Держите схемы сосредоточенными.** Глубоко вложенные схемы со многими обязательными полями сложнее удовлетворить. Начните с простого и добавляйте сложность по мере необходимости.

490* **Соответствуйте схему задаче.** Если задача может не иметь всю информацию, которую требует ваша схема, сделайте эти поля необязательными.490* **Соответствуйте схему задаче.** Если задача может не иметь всю информацию, которую требует ваша схема, сделайте эти поля необязательными.

491* **Используйте четкие приглашения.** Неоднозначные приглашения затрудняют для агента понимание того, какой вывод создавать.491* **Используйте четкие промпты.** Неоднозначные промпты затрудняют для агента понимание того, какой вывод создавать.

492 492 

493<h2 id="related-resources">493<h2 id="related-resources">

494 Связанные ресурсы494 Связанные ресурсы

Details

6 6 

7> Полный справочник API для TypeScript Agent SDK, включая все функции, типы и интерфейсы.7> Полный справочник API для TypeScript Agent SDK, включая все функции, типы и интерфейсы.

8 8 

9<script src="/docs/components/typescript-sdk-type-links.js" defer />

10 

11<h2 id="installation">9<h2 id="installation">

12 Установка10 Установка

13</h2>11</h2>


186 console.error("Claim failed:", error.message);184 console.error("Claim failed:", error.message);

187});185});

188 186 

189for await (const message of claimedQuery) {187try {

188 for await (const message of claimedQuery) {

190 console.log(message);189 console.log(message);

190 }

191} catch (error) {

192 // После отклонённого требования затребованный запрос выбрасывает исключение, как только выдаст результат с ошибкой

193 console.error(`Session ended with an error: ${error}`);

191}194}

192```195```

193 196 


539| Свойство | Тип | По умолчанию | Описание |542| Свойство | Тип | По умолчанию | Описание |

540| :- | :- | :- | :- |543| :- | :- | :- | :- |

541| `abortController` | `AbortController` | `new AbortController()` | Контроллер для отмены операций |544| `abortController` | `AbortController` | `new AbortController()` | Контроллер для отмены операций |

542| `additionalDirectories` | `string[]` | `[]` | Дополнительные каталоги, к которым Claude может получить доступ. SDK передает каждую запись в Claude Code как `--add-dir`, поэтому с параметром `project` source Claude Code также [загружает навыки, команды и подагентов каталога](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |545| `additionalDirectories` | `string[]` | `[]` | Дополнительные каталоги, к которым Claude может получить доступ. SDK передаёт каждую запись в Claude Code как `--add-dir`, поэтому при источнике настроек `project` Claude Code также [загружает скиллы, команды и субагентов из этого каталога](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |

543| `agent` | `string` | `undefined` | Имя агента для основного потока. Агент должен быть определен в параметре `agents` или в параметрах |546| `agent` | `string` | `undefined` | Имя агента для основного потока. Агент должен быть определён в параметре `agents` или в настройках |

544| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Программно определите подагентов |547| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Программное определение субагентов |

545| `agentProgressSummaries` | `boolean` | `false` | Когда `true`, генерирует однострочные сводки прогресса для подагентов и пересылает их на события [`task_progress`](#sdktaskprogressmessage) через поле `summary`. Применяется к подагентам переднего плана и фонового режима |548| `agentProgressSummaries` | `boolean` | `false` | При значении `true` генерирует однострочные сводки о ходе работы субагентов и передаёт их в событиях [`task_progress`](#sdktaskprogressmessage) через поле `summary`. Применяется к субагентам переднего плана и фоновым субагентам |

546| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включить обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'`, при запуске или позже через `setPermissionMode()`. См. [режим плана](/docs/ru/agent-sdk/permissions#plan-mode-plan) для взаимодействия с `permissionMode: 'plan'` |549| `allowDangerouslySkipPermissions` | `boolean` | `false` | Разрешает обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` — при запуске или позже через `setPermissionMode()`. О взаимодействии с `permissionMode: 'plan'` см. [режим планирования](/docs/ru/agent-sdk/permissions#plan-mode-plan) |

547| `allowedTools` | `string[]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами. Если вы назовете один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability) здесь, Claude Code также включит сеанс. Другие неуказанные инструменты переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки инструментов. См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |550| `allowedTools` | `string[]` | `[]` | Инструменты, автоматически одобряемые без запроса. Это не ограничивает Claude только этими инструментами. Если указать здесь один из [инструментов отслеживания задач](/docs/ru/agent-sdk/todo-tracking#model-availability), Claude Code также включает их для сессии. Прочие неперечисленные инструменты обрабатываются через `permissionMode` и `canUseTool`. Для блокировки инструментов используйте `disallowedTools`. См. [Разрешения](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) |

548| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Включить бета-функции |551| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Включить бета-функции |

549| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Пользовательская функция разрешений, вызываемая только когда [поток разрешений](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) переходит к запросу. Не вызывается для вызовов, автоматически одобренных `allowedTools`, правилами разрешения или `permissionMode`. Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves). См. [`CanUseTool`](#canusetool) для деталей |552| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Пользовательская функция разрешений, вызываемая только тогда, когда [процесс проверки разрешений](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) доходит до запроса. Не вызывается для вызовов, автоматически одобренных через `allowedTools`, правила разрешения или `permissionMode`. Правило разрешения не одобряет заранее [действия, которые не одобряет автоматически ни один режим](/docs/ru/permission-modes#actions-no-mode-auto-approves). Подробнее см. [`CanUseTool`](#canusetool) |

550| `continue` | `boolean` | `false` | Продолжить самый последний разговор |553| `continue` | `boolean` | `false` | Продолжить последний диалог |

551| `cwd` | `string` | `process.cwd()` | Текущий рабочий каталог |554| `cwd` | `string` | `process.cwd()` | Текущий рабочий каталог |

552| `debug` | `boolean` | `false` | Включить режим отладки для процесса Claude Code |555| `debug` | `boolean` | `false` | Включить режим отладки для процесса Claude Code |

553| `debugFile` | `string` | `undefined` | Записать журналы отладки в определенный путь файла. Неявно включает режим отладки |556| `debugFile` | `string` | `undefined` | Записывать отладочные логи в указанный файл. Неявно включает режим отладки |

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

555| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Контролирует, сколько усилий Claude вкладывает в свой ответ. Работает с адаптивным мышлением для направления глубины мышления. См. [отрегулировать уровень усилий](/docs/ru/model-config#adjust-effort-level) |558| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `undefined` | Управляет тем, сколько усилий Claude вкладывает в ответ. Работает совместно с адаптивным мышлением, определяя глубину размышлений. См. [настройка уровня effort](/docs/ru/model-config#adjust-effort-level) |

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

557| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. Когда установлено, это заменяет окружение подпроцесса вместо слияния с `process.env`, поэтому передайте `{ ...process.env, YOUR_VAR: 'value' }` для сохранения унаследованных переменных, таких как `PATH`. См. [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses) для примера этого паттерна и [Переменные окружения](/docs/ru/env-vars) для переменных, которые читает базовый CLI. Установите `CLAUDE_AGENT_SDK_CLIENT_APP` для идентификации вашего приложения в заголовке User-Agent |560| `env` | `Record<string, string \| undefined>` | `process.env` | Переменные окружения. Если параметр задан, он заменяет окружение подпроцесса, а не объединяется с `process.env`, поэтому передавайте `{ ...process.env, YOUR_VAR: 'value' }`, чтобы сохранить унаследованные переменные, такие как `PATH`. Пример этого шаблона см. в разделе [Обработка медленных или зависших ответов API](#handle-slow-or-stalled-api-responses), а переменные, которые читает базовый CLI, — в разделе [Переменные окружения](/docs/ru/env-vars). Задайте `CLAUDE_AGENT_SDK_CLIENT_APP`, чтобы идентифицировать ваше приложение в заголовке User-Agent |

558| `executable` | `'bun' \| 'deno' \| 'node'` | Автоопределение | Используемая среда выполнения JavaScript |561| `executable` | `'bun' \| 'deno' \| 'node'` | Определяется автоматически | Используемая среда выполнения JavaScript |

559| `executableArgs` | `string[]` | `[]` | Аргументы для передачи исполняемому файлу |562| `executableArgs` | `string[]` | `[]` | Аргументы, передаваемые исполняемому файлу |

560| `extraArgs` | `Record<string, string \| null>` | `{}` | Дополнительные аргументы |563| `extraArgs` | `Record<string, string \| null>` | `{}` | Дополнительные аргументы |

561| `fallbackModel` | `string` | `undefined` | Модель для использования, если основная модель не работает. Принимает список, разделенный запятыми. Для порядка и ограничения см. [Цепочки резервных моделей](/docs/ru/model-config#fallback-model-chains). Для рекомендаций см. [Выберите модель](/docs/ru/agent-sdk/configuration#choose-a-model) |564| `fallbackModel` | `string` | `undefined` | Модель, используемая при сбое основной модели. Принимает список через запятую. О порядке и ограничении см. [Цепочки резервных моделей](/docs/ru/model-config#fallback-model-chains). Рекомендации см. в разделе [Выбор модели](/docs/ru/agent-sdk/configuration#choose-a-model) |

562| `forkSession` | `boolean` | `false` | При возобновлении с `resume` разветвить на новый ID сеанса вместо продолжения исходного сеанса |565| `forkSession` | `boolean` | `false` | При возобновлении через `resume` создаёт ответвление с новым ID сессии вместо продолжения исходной сессии |

563| `forwardSubagentText` | `boolean` | `false` | Пересылать текст подагента и блоки мышления как сообщения помощника и пользователя с установленным `parent_tool_use_id`, чтобы потребители могли отобразить вложенную стенограмму. Без этого параметра Claude Code выдает блоки `tool_use` и `tool_result` подагента, но не текст или мышление. Сообщения от подагентов на каждой глубине вложенности пересылаются на Claude Code v2.1.219 и позже; до v2.1.219 появлялись только сообщения от подагентов глубины 1. Сообщения подагентов, которые разветвленный навык порождает, и вложенные разветвленные навыки требуют v2.1.275 или позже |566| `forwardSubagentText` | `boolean` | `false` | Пересылать текст и блоки размышлений субагентов как сообщения ассистента и пользователя с заданным `parent_tool_use_id`, чтобы потребители могли отображать вложенный транскрипт. Без этого параметра Claude Code опускает текст и блоки размышлений субагента, работающего на [переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background). О вложенных субагентах, скиллах с `context: fork` и версии Claude Code, необходимой для каждого случая, см. [Отслеживание сообщений субагентов](/docs/ru/headless#follow-subagent-messages) |

564| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Обратные вызовы hook для событий |567| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Колбэки хуков для событий |

565| `includeHookEvents` | `boolean` | `false` | Включить события жизненного цикла hook в поток сообщений как [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) и [`SDKHookResponseMessage`](#sdkhookresponsemessage). События жизненного цикла для hook `SessionStart` и `Setup` всегда включены и не требуют этого параметра. Некоторые события hook, такие как `Notification`, `SessionEnd`, `PreCompact` и `PostCompact`, никогда не создают `SDKHookStartedMessage`, даже с этим параметром. Для этих событий Claude Code все еще выдает `SDKHookProgressMessage`, пока hook команды работает более одной секунды, и выдает `SDKHookResponseMessage` только когда hook [работающий в фоновом режиме](/docs/ru/hooks#run-hooks-in-the-background) завершается |568| `includeHookEvents` | `boolean` | `false` | Включать события жизненного цикла хуков в поток сообщений как [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage) и [`SDKHookResponseMessage`](#sdkhookresponsemessage). События жизненного цикла для хуков `SessionStart` и `Setup` включаются всегда и не требуют этого параметра. Некоторые события хуков, такие как `Notification`, `SessionEnd`, `PreCompact` и `PostCompact`, никогда не создают `SDKHookStartedMessage`, даже с этим параметром. Для этих событий Claude Code по-прежнему отправляет `SDKHookProgressMessage`, пока командный хук, работающий дольше секунды, выдаёт вывод, и отправляет `SDKHookResponseMessage` только при завершении хука, [работающего в фоне](/docs/ru/hooks#run-hooks-in-the-background) |

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

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

568| `managedSettings` | `Settings` | `undefined` | Параметры уровня политики, которые ваш хост-процесс предоставляет порожденному сеансу. На машинах с развернутыми администратором управляемыми параметрами Claude Code игнорирует их, если только источник управляемых параметров администратора с наивысшим приоритетом не установит `parentSettingsBehavior: 'merge'`, и никогда не объединяет их, пока [`policyHelper`](/docs/ru/settings-reference#policyhelper) предоставляет управляемые параметры. Объединенные значения проходят через фильтр только для ограничений; [Ограничить параметры родителя](/docs/ru/claude-apps-gateway#restrict-parent-settings) охватывает то, что допускает фильтр и блокировки `allowManaged*Only`. Хост, который устанавливает [`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 или новее |

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

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

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

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

573| `model` | `string` | По умолчанию из CLI | Псевдоним модели Claude или полное имя модели. См. [принятые значения и ID, специфичные для поставщика](/docs/ru/model-config#available-models) |576| `model` | `string` | Значение по умолчанию из CLI | Псевдоним модели Claude или полное имя модели. См. [допустимые значения и идентификаторы для конкретных провайдеров](/docs/ru/model-config#available-models) |

574| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Обратный вызов для обработки запросов MCP elicitation. Вызывается, когда MCP сервер запрашивает ввод пользователя и ни один hook не обрабатывает его первым. Если не предоставлено, необработанные запросы elicitation автоматически отклоняются |577| `onElicitation` | `(request: ElicitationRequest, options: { signal: AbortSignal }) => Promise<ElicitationResult>` | `undefined` | Колбэк для обработки запросов elicitation от MCP. Вызывается, когда MCP-сервер запрашивает ввод пользователя и ни один хук не обработал запрос раньше. Если колбэк не указан, необработанные запросы elicitation автоматически отклоняются |

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

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

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

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

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

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

581| `persistSession` | `boolean` | `true` | Когда `false`, отключает сохранение сеанса на диск. Сеансы не могут быть возобновлены позже |584| `persistSession` | `boolean` | `true` | При значении `false` отключает сохранение сессии на диск. Такие сессии нельзя возобновить позже |

582| `planModeInstructions` | `string` | `undefined` | Пользовательские инструкции рабочего процесса для режима плана. Когда `permissionMode` имеет значение `'plan'`, эта строка заменяет основной текст рабочего процесса режима плана по умолчанию. CLI по-прежнему оборачивает его с преамбулой принудительного применения только для чтения и нижним колонтитулом протокола ExitPlanMode |585| `planModeInstructions` | `string` | `undefined` | Пользовательские инструкции рабочего процесса для режима планирования. Когда `permissionMode` равен `'plan'`, эта строка заменяет стандартное тело рабочего процесса режима планирования. CLI по-прежнему обрамляет её преамбулой, обеспечивающей режим только для чтения, и завершающим блоком протокола ExitPlanMode |

583| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Загрузить пользовательские плагины из локальных путей. См. [Плагины](/docs/ru/agent-sdk/plugins) для деталей |586| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Загрузка пользовательских плагинов из локальных путей. Подробнее см. [Плагины](/docs/ru/agent-sdk/plugins) |

584| `projectConfigRoot` | `string` | `undefined` | Абсолютный путь доверенного checkout, который `cwd` является worktree. Claude Code читает параметры проекта, `.mcp.json` и команды, агентов, навыки, рабочие процессы, процедуры и стили вывода проекта `.claude/` из этого каталога вместо `cwd`, и устанавливает `CLAUDE_PROJECT_DIR` на него. hooks, вспомогательные скрипты, такие как `apiKeyHelper`, и stdio MCP серверы начинают с этого каталога как их рабочего каталога. Файлы `CLAUDE.md` и `.claude/rules/` по-прежнему загружаются из `cwd`. Требует Claude Code v2.1.275 или позже |587| `projectConfigRoot` | `string` | `undefined` | Абсолютный путь к доверенному checkout, worktree которого является `cwd`. Claude Code читает настройки проекта, `.mcp.json`, а также команды, агентов, скиллы, рабочие процессы, routines и стили вывода проекта из `.claude/` в этом каталоге вместо `cwd` и устанавливает `CLAUDE_PROJECT_DIR` равным этому каталогу. Хуки, вспомогательные скрипты, такие как `apiKeyHelper`, и stdio MCP-серверы запускаются с этим каталогом в качестве рабочего. Файлы `CLAUDE.md` и `.claude/rules/` по-прежнему загружаются из `cwd`. Требуется Claude Code v2.1.275 или новее |

585| `promptSuggestions` | `boolean` | `false` | Включить предложения подсказок. После хода Claude Code выдает сообщение `prompt_suggestion`, содержащее предсказанную следующую подсказку пользователя. Claude Code не генерирует предложение для некоторых ходов, например, когда ваша учетная запись близка к лимиту использования или находится на нем. См. [Когда Claude Code пропускает предложения](/docs/ru/interactive-mode#when-claude-code-skips-suggestions) |588| `promptSuggestions` | `boolean` | `false` | Включить предложения промптов. После хода Claude Code отправляет сообщение `prompt_suggestion` с предсказанным следующим промптом пользователя. Для некоторых ходов Claude Code не генерирует предложений, например когда ваш аккаунт близок к лимиту использования или достиг его. См. [Когда Claude Code пропускает предложения](/docs/ru/interactive-mode#when-claude-code-skips-suggestions) |

586| `resume` | `string` | `undefined` | ID сеанса для возобновления |589| `resume` | `string` | `undefined` | ID сессии для возобновления |

587| `resumeDropsTurn` | `string` | `undefined` | С `resumeSessionAt`: UUID подсказки хода, который усеченное возобновление намеревается отбросить. Claude Code отказывает в возобновлении, когда отброшенный диапазон содержит что-либо, не относящееся к этому ходу, такое как поглощенные сообщения в очереди или уведомления о задачах, и называет флаг `--resume-drops-turn` в сообщении об отказе. Только Agent SDK и возобновления в режиме печати читают пару. Требует Claude Code v2.1.223 или позже |590| `resumeDropsTurn` | `string` | `undefined` | Вместе с `resumeSessionAt`: UUID промпта хода, который усекающее возобновление должно отбросить. Claude Code отказывает в возобновлении, если отбрасываемый диапазон содержит что-либо, не относящееся к этому ходу, например поглощённые сообщения из очереди или уведомления о задачах, и указывает флаг `--resume-drops-turn` в сообщении об отказе. Эту пару читают только Agent SDK и возобновления в режиме print. Требуется Claude Code v2.1.223 или новее |

588| `resumeSessionAt` | `string` | `undefined` | Возобновить сеанс в определенном UUID сообщения |591| `resumeSessionAt` | `string` | `undefined` | Возобновить сессию с сообщения с указанным UUID |

589| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Программно настройте поведение sandbox. См. [Параметры Sandbox](#sandboxsettings) для деталей |592| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Программная настройка поведения песочницы. Подробнее см. [Настройки песочницы](#sandboxsettings) |

590| `sessionId` | `string` | Автогенерируемый | Используйте определенный UUID для сеанса вместо автогенерации |593| `sessionId` | `string` | Генерируется автоматически | Использовать конкретный UUID для сессии вместо автоматически сгенерированного |

591| `sessionStore` | [`SessionStore`](/docs/ru/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Зеркалировать стенограммы сеанса во внешний бэкэнд, чтобы другой хост мог их возобновить. См. [Сохранить сеансы во внешнее хранилище](/docs/ru/agent-sdk/session-storage) |594| `sessionStore` | [`SessionStore`](/docs/ru/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Зеркалирование транскриптов сессий во внешнее хранилище, чтобы другой хост мог их возобновить. См. [Сохранение сессий во внешнем хранилище](/docs/ru/agent-sdk/session-storage) |

592| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Режим сброса для `sessionStore`. Игнорируется, когда `sessionStore` не установлен |595| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Альфа.* Режим сброса для `sessionStore`. Игнорируется, если `sessionStore` не задан |

593| `settings` | `string \| Settings` | `undefined` | Встроенный объект [settings](/docs/ru/settings), путь файла параметров или встроенная строка JSON. Заполняет уровень параметров флага в [порядке приоритета](/docs/ru/settings#settings-precedence). Измените во время выполнения с помощью [`applyFlagSettings()`](#applyflagsettings) |596| `settings` | `string \| Settings` | `undefined` | Встроенный объект [настроек](/docs/ru/settings), путь к файлу настроек или встроенная строка JSON. Заполняет уровень настроек флагов в [порядке приоритета](/docs/ru/settings#settings-precedence). Изменяется во время выполнения через [`applyFlagSettings()`](#applyflagsettings) |

594| `settingSources` | [`SettingSource`](#settingsource)`[]` | Значения по умолчанию CLI (все источники) | Контролируйте, какие параметры файловой системы загружать. Передайте `[]` для отключения параметров пользователя, проекта и локальных параметров. [Управляемая политика конечной точки](/docs/ru/managed-settings#delivery-mechanisms) загружается независимо; параметры, управляемые сервером, извлекаются, когда сеанс аутентифицируется с учетными данными организации на [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). См. [Использование функций Claude Code](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |597| `settingSources` | [`SettingSource`](#settingsource)`[]` | Значения CLI по умолчанию (все источники) | Определяет, какие настройки из файловой системы загружать. Передайте `[]`, чтобы отключить пользовательские, проектные и локальные настройки. [Политика, управляемая на конечных устройствах](/docs/ru/managed-settings#delivery-mechanisms), загружается в любом случае; настройки, управляемые сервером, загружаются, когда сессия аутентифицируется с учётными данными организации в [подходящей конфигурации](/docs/ru/server-managed-settings#platform-availability). См. [Использование функций Claude Code](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

595| `skills` | `string[] \| 'all'` | `undefined` | Навыки, доступные для сеанса. Передайте `'all'` для включения каждого обнаруженного навыка или список имен навыков. Передавайте только точные имена. На Agent SDK v0.3.221 или позже SDK отклоняет неправильно сформированные и имена в форме подстановочных знаков с ошибкой перед запуском процесса Claude Code. Когда установлено, SDK автоматически добавляет инструмент Skill в `allowedTools`. Если вы также передаете `tools`, включите `'Skill'` в этот список. См. [Навыки](/docs/ru/agent-sdk/skills) |598| `skills` | `string[] \| 'all'` | `undefined` | Скиллы, доступные в сессии. Передайте `'all'`, чтобы включить все обнаруженные скиллы, или список имён скиллов. Передавайте только точные имена. В Agent SDK v0.3.221 или новее SDK отклоняет некорректные имена и имена с подстановочными символами с ошибкой ещё до запуска процесса Claude Code. Если параметр задан, SDK автоматически добавляет инструмент Skill в `allowedTools`. Если вы также передаёте `tools`, включите `'Skill'` в этот список. См. [Скиллы](/docs/ru/agent-sdk/skills) |

596| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Пользовательская функция для порождения процесса Claude Code. Используйте для запуска Claude Code на виртуальных машинах, в контейнерах или удаленных окружениях |599| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Пользовательская функция для запуска процесса Claude Code. Используйте её, чтобы запускать Claude Code в виртуальных машинах, контейнерах или удалённых средах |

597| `stderr` | `(data: string) => void` | `undefined` | Обратный вызов для вывода stderr |600| `stderr` | `(data: string) => void` | `undefined` | Колбэк для вывода stderr |

598| `strictMcpConfig` | `boolean` | `false` | Используйте только серверы, переданные в `mcpServers`, и игнорируйте проект `.mcp.json`, параметры пользователя, MCP серверы, предоставленные плагинами, и [соединители claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) |601| `strictMcpConfig` | `boolean` | `false` | Использовать только серверы, переданные в `mcpServers`, и игнорировать `.mcp.json` проекта, пользовательские настройки, MCP-серверы из плагинов и [коннекторы claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) |

599| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (минимальная подсказка) | Конфигурация системной подсказки. Передайте строку для пользовательской подсказки или `{ type: 'preset', preset: 'claude_code' }` для использования системной подсказки Claude Code. Передайте массив строк с экспортированной константой `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` между статической и частями для каждого запроса для [кэширования статической части пользовательской подсказки](/docs/ru/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt). При использовании формы объекта preset добавьте `append` для расширения его дополнительными инструкциями и установите `excludeDynamicSections: true` для перемещения контекста для каждого сеанса в первое сообщение пользователя для [лучшего повторного использования кэша подсказок на разных машинах](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines). Установите `snapshot: false` для перестроения подсказки при каждом запросе вместо [повторного использования подсказки, которую сеанс записал при первом запросе](/docs/ru/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Для установки `snapshot` на пользовательской подсказке передайте форму `{ type: 'custom', prompt }`. Форма `{ type: 'custom' }` и поле `snapshot` требуют TypeScript Agent SDK v0.3.257 или позже |602| `systemPrompt` | `string \| string[] \| { type: 'custom'; prompt: string \| string[]; snapshot?: boolean } \| { type: 'preset'; preset: 'claude_code'; append?: string; excludeDynamicSections?: boolean; snapshot?: boolean }` | `undefined` (минимальный промпт) | Конфигурация системного промпта. Передайте строку для пользовательского промпта или `{ type: 'preset', preset: 'claude_code' }`, чтобы использовать системный промпт Claude Code. Передайте массив строк с экспортируемой константой `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` между статической частью и частью, зависящей от запроса, чтобы [кэшировать статическую часть пользовательского промпта](/docs/ru/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt). При использовании объектной формы пресета добавьте `append`, чтобы дополнить его инструкциями, и задайте `excludeDynamicSections: true`, чтобы перенести контекст, зависящий от сессии, в первое сообщение пользователя для [лучшего повторного использования кэша промптов на разных машинах](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines). Задайте `snapshot: false`, чтобы пересобирать промпт при каждом запросе вместо [повторного использования промпта, записанного сессией при первом запросе](/docs/ru/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Чтобы задать `snapshot` для пользовательского промпта, используйте форму `{ type: 'custom', prompt }`. Форма `{ type: 'custom' }` и поле `snapshot` требуют TypeScript Agent SDK v0.3.257 или новее |

600| `taskBudget` | `{ total: number }` | `undefined` | *Alpha.* Бюджет задач на стороне API в токенах. Когда установлено, модели сообщается оставшийся бюджет токенов, чтобы она могла контролировать использование инструментов и завершить работу перед лимитом |603| `taskBudget` | `{ total: number }` | `undefined` | *Альфа.* Бюджет задачи в токенах на стороне API. Если он задан, модели сообщается оставшийся бюджет токенов, чтобы она могла распределять использование инструментов и завершить работу до достижения лимита |

601| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` для поддерживаемых моделей | Контролирует поведение мышления/рассуждения Claude. См. [`ThinkingConfig`](#thinkingconfig) для параметров |604| `thinking` | [`ThinkingConfig`](#thinkingconfig) | `{ type: 'adaptive' }` для поддерживаемых моделей | Управляет поведением мышления/рассуждений Claude. Доступные варианты см. в [`ThinkingConfig`](#thinkingconfig) |

602| `title` | `string` | `undefined` | Отображаемое название для сеанса. При возобновлении через `resume` или `continue` сохраненное название возобновленного сеанса имеет приоритет; используйте [`renameSession()`](#renamesession) для переименования существующего сеанса |605| `title` | `string` | `undefined` | Отображаемый заголовок сессии. При возобновлении через `resume` или `continue` приоритет имеет сохранённый заголовок возобновляемой сессии; чтобы переименовать существующую сессию, используйте [`renameSession()`](#renamesession) |

603| `toolAliases` | `Record<string, string>` | `undefined` | Сопоставьте встроенные имена инструментов с именами инструментов MCP, чтобы Claude вызывал вашу реализацию MCP вместо встроенной. Например, `{ Bash: 'mcp__workspace__bash' }` |606| `toolAliases` | `Record<string, string>` | `undefined` | Сопоставляет имена встроенных инструментов с именами MCP-инструментов, чтобы Claude вызывал вашу MCP-реализацию вместо встроенной. Например, `{ Bash: 'mcp__workspace__bash' }` |

604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Конфигурация для поведения встроенного инструмента. См. [`ToolConfig`](#toolconfig) для деталей |607| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Конфигурация поведения встроенных инструментов. Подробнее см. [`ToolConfig`](#toolconfig) |

605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Конфигурация инструмента. Передайте массив имен инструментов или используйте preset для получения инструментов Claude Code по умолчанию |608| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Конфигурация инструментов. Передайте массив имён инструментов или используйте пресет, чтобы получить инструменты Claude Code по умолчанию |

606| `verbatimPrompts` | `boolean` | `false` | Доставляйте каждую подсказку как написано. SDK отправляет каждое сообщение пользователя с `client_composed: true`. См. [`client_composed`](#sdkusermessage) для того, что Claude Code пропускает на этих сообщениях. Используйте этот параметр, когда текст вашей подсказки включает содержимое, которое конечный пользователь не вводил. Для управления для каждого хода оставьте его выключенным и установите `client_composed` на отдельные потоковые сообщения вместо этого. Требует TypeScript Agent SDK v0.3.280 или позже и Claude Code v2.1.248 или позже; версия Claude Code, поставляемая с этими версиями SDK, удовлетворяет требованию версии Claude Code |609| `verbatimPrompts` | `boolean` | `false` | Доставлять каждый промпт в том виде, как он написан. SDK отправляет каждое сообщение пользователя с `client_composed: true`. Что Claude Code пропускает для таких сообщений, см. в описании [`client_composed`](#sdkusermessage). Используйте этот параметр, когда текст промпта включает содержимое, которое конечный пользователь не вводил. Для управления на уровне отдельных ходов оставьте его выключенным и задавайте `client_composed` для отдельных потоковых сообщений. Требуется TypeScript Agent SDK v0.3.280 или новее и Claude Code v2.1.248 или новее; версия Claude Code, входящая в состав этих версий SDK, удовлетворяет требованию к Claude Code |

607 610 

608<h4 id="handle-slow-or-stalled-api-responses">611<h4 id="handle-slow-or-stalled-api-responses">

609 Обработка медленных или зависших ответов API612 Обработка медленных или зависших ответов API

610</h4>613</h4>

611 614 

612Подпроцесс CLI читает несколько переменных окружения, которые контролируют тайм-ауты API и обнаружение зависания. Передайте их через параметр `env`:615Подпроцесс CLI читает несколько переменных окружения, которые управляют таймаутами API и обнаружением зависаний. Передавайте их через параметр `env`:

613 616 

614```typescript theme={null}617```typescript theme={null}

615import { query } from "@anthropic-ai/claude-agent-sdk";618import { query } from "@anthropic-ai/claude-agent-sdk";


627});630});

628```631```

629 632 

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

631* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено `15`. Каждая повторная попытка получает свое собственное окно `API_TIMEOUT_MS`, поэтому наихудшее время стены примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс backoff. Для автоматических запусков, которым нужно ждать более длительных сбоев, установите [`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`, поэтому в худшем случае общее время составляет примерно `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` и снимает ограничение на эту переменную.

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

633 636 

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

635* `CLAUDE_ENABLE_STREAM_WATCHDOG` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: сторож потока, который прерывает запрос, когда заголовки прибыли, но тело ответа перестает потоковать. Сторож включен по умолчанию для всех поставщиков; установите `CLAUDE_ENABLE_STREAM_WATCHDOG=0` для отключения. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается на этот минимум. После прерывания [Автоматические повторные попытки](/docs/ru/errors#automatic-retries) охватывает то, что Claude Code делает, на основе того, как далеко продвинулся ответ.638* `CLAUDE_ENABLE_STREAM_WATCHDOG` вместе с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: сторожевой таймер потока, который прерывает запрос, когда заголовки уже получены, но тело ответа перестаёт передаваться. Сторожевой таймер включён по умолчанию для всех провайдеров; задайте `CLAUDE_ENABLE_STREAM_WATCHDOG=0`, чтобы отключить его. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию равен `300000` и не может быть меньше этого значения. О том, что Claude Code делает после прерывания в зависимости от того, насколько далеко продвинулся ответ, см. [Автоматические повторные попытки](/docs/ru/errors#automatic-retries).

636 639 

637 Пока сторож ждет ответа, который шлюз позади `ANTHROPIC_BASE_URL` держит открытым с ping-пингами keep-alive, хост, который устанавливает `includePartialMessages`, продолжает получать `ping` [события потока](#sdkpartialassistantmessage), поэтому читайте эти кадры как живость, а не тайм-аут сеанса на молчании. До v2.1.257 кадры останавливались через 5 минут после последнего реального события потока.640 Пока сторожевой таймер ожидает ответа, который шлюз за `ANTHROPIC_BASE_URL` удерживает открытым с помощью keep-alive пингов, хост, задавший `includePartialMessages`, продолжает получать [события потока](#sdkpartialassistantmessage) `ping`, поэтому воспринимайте эти кадры как признак активности, а не завершайте сессию по таймауту из-за отсутствия данных. До v2.1.257 эти кадры прекращались через 5 минут после последнего реального события потока.

638 641 

639<h3 id="query-object">642<h3 id="query-object">

640 Объект `Query`643 Объект `Query`


696 699 

697| Метод | Описание |700| Метод | Описание |

698| :- | :- |701| :- | :- |

699| `interrupt()` | Прерывает запрос. Доступно только в режиме потокового ввода. Когда CLI объявляет возможность `interrupt_receipt_v1` в [`SDKSystemMessage.capabilities`](#sdksystemmessage), разрешается с помощью [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse), перечисляющего сообщения, которые были в ожидании при поступлении прерывания. Разрешается `undefined` на CLI до v2.1.205 |702| `interrupt()` | Прерывает запрос. Доступен только в режиме потокового ввода. Когда CLI объявляет возможность `interrupt_receipt_v1` в [`SDKSystemMessage.capabilities`](#sdksystemmessage), разрешается значением [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) со списком сообщений, ожидавших обработки в момент поступления прерывания. В CLI до v2.1.205 разрешается значением `undefined` |

700| `rewindFiles(userMessageId, options?)` | Восстанавливает файлы в их состояние в указанном сообщении пользователя. Передайте `{ dryRun: true }` для предварительного просмотра изменений. Требует `enableFileCheckpointing: true`. См. [File checkpointing](/docs/ru/agent-sdk/file-checkpointing) |703| `rewindFiles(userMessageId, options?)` | Восстанавливает файлы до состояния на момент указанного сообщения пользователя. Передайте `{ dryRun: true }` для предварительного просмотра изменений. Требует `enableFileCheckpointing: true`. См. [Чекпоинты файлов](/docs/ru/agent-sdk/file-checkpointing) |

701| `setPermissionMode()` | Изменяет режим разрешений (доступно только в режиме потокового ввода) |704| `setPermissionMode()` | Изменяет режим разрешений (доступен только в режиме потокового ввода) |

702| `setModel()` | Изменяет модель (доступно только в режиме потокового ввода). Передача `undefined` или строки `"default"` сбрасывает на [модель Claude Code по умолчанию](/docs/ru/model-config) |705| `setModel()` | Изменяет модель (доступен только в режиме потокового ввода). Передача `undefined` или строки `"default"` сбрасывает модель на [модель Claude Code по умолчанию](/docs/ru/model-config) |

703| `setMaxThinkingTokens()` | *Устарело:* Используйте параметр `thinking` вместо этого. Изменяет максимальные токены мышления. Передача `null` сбрасывает мышление на значение по умолчанию сеанса: переопределение в середине сеанса очищается, и мышление остается отключенным для сеансов, у которых оно отключено |706| `setMaxThinkingTokens()` | *Устарело:* используйте параметр `thinking`. Изменяет максимальное число токенов мышления. Передача `null` сбрасывает мышление к значению сессии по умолчанию: переопределение, сделанное в ходе сессии, удаляется, а в сессиях, где мышление отключено, оно остаётся выключенным |

704| `applyFlagSettings(settings)` | Объединяет параметры в уровень параметров флага сеанса во время выполнения (доступно только в режиме потокового ввода). См. [`applyFlagSettings()`](#applyflagsettings) |707| `applyFlagSettings(settings)` | Объединяет настройки с уровнем настроек флагов сессии во время выполнения (доступен только в режиме потокового ввода). См. [`applyFlagSettings()`](#applyflagsettings) |

705| `updateSettings(source, settings)` | Записывает один разрешенный ключ в файл локальных параметров проекта или файл параметров пользователя, чтобы значение сохранялось для последующих сеансов. См. [`updateSettings()`](#updatesettings). Требует TypeScript SDK v0.3.257 или позже, который поставляется с Claude Code v2.1.257 |708| `updateSettings(source, settings)` | Записывает один ключ из разрешённого списка в локальный файл настроек проекта или в ваш пользовательский файл настроек, чтобы значение сохранялось для последующих сессий. См. [`updateSettings()`](#updatesettings). Требуется TypeScript SDK v0.3.257 или новее, который включает Claude Code v2.1.257 |

706| `initializationResult()` | Возвращает полный результат инициализации, включая поддерживаемые команды, модели, информацию об учетной записи и конфигурацию стиля вывода |709| `initializationResult()` | Возвращает полный результат инициализации, включая поддерживаемые команды, модели, информацию об аккаунте и конфигурацию стиля вывода |

707| `reinitialize()` | Повторно отправляет запрос управления `initialize` на работающий CLI и возвращает свежий результат вместо кэшированного результата первого подключения. Используйте его после разрыва транспорта, например, переподключение к сеансу после отключения, чтобы ожидающие запросы разрешений снова достигли вашего обратного вызова `canUseTool`. Сделайте обратный вызов идемпотентным для каждого ID запроса, потому что запрос, чей ответ был потерян, отправляется снова. Требует Claude Code v2.1.195 или позже |710| `reinitialize()` | Повторно отправляет управляющий запрос `initialize` работающему CLI и возвращает свежий результат вместо кэшированного результата первого подключения. Используйте его после разрыва транспорта, например при повторном подключении к сессии после обрыва связи, чтобы ожидающие запросы разрешений снова попали в ваш колбэк `canUseTool`. Сделайте колбэк идемпотентным для каждого ID запроса, потому что запрос, ответ на который был потерян, отправляется повторно. Требуется Claude Code v2.1.195 или новее |

708| `supportedCommands()` | Возвращает доступные команды. Из Agent SDK v0.3.216 список отражает изменения команд в середине сеанса; см. [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |711| `supportedCommands()` | Возвращает доступные команды. Начиная с Agent SDK v0.3.216 список отражает изменения команд в ходе сессии; см. [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

709| `supportedModels()` | Возвращает доступные модели с информацией об отображении |712| `supportedModels()` | Возвращает доступные модели с информацией для отображения |

710| `supportedAgents()` | Возвращает доступные подагентов как [`AgentInfo`](#agentinfo)`[]` |713| `supportedAgents()` | Возвращает доступных субагентов как [`AgentInfo`](#agentinfo)`[]` |

711| `mcpServerStatus()` | Возвращает статус подключенных MCP серверов как [`McpServerStatus`](#mcpserverstatus)`[]` |714| `mcpServerStatus()` | Возвращает статус подключённых MCP-серверов как [`McpServerStatus`](#mcpserverstatus)`[]` |

712| `getContextUsage(opts?)` | Возвращает [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), разбивая использование контекстного окна сеанса по категориям, навыкам и инструментам. С параметром по умолчанию `detail`, это те же данные, которые `/context` показывает в интерактивном сеансе, вычисленные с запросами API подсчета токенов, которые не появляются в потоке сообщений; см. [как эти запросы обрабатываются](#sdkcontrolgetcontextusageresponse). Параметр [`detail`](#sdkcontrolgetcontextusageresponse) требует Agent SDK v0.3.257 или позже |715| `getContextUsage(opts?)` | Возвращает [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) с разбивкой использования контекстного окна сессии по категориям, скиллам и инструментам. При значении `detail` по умолчанию это те же данные, которые `/context` показывает в интерактивной сессии; они вычисляются с помощью API-запросов подсчёта токенов, которые не появляются в потоке сообщений; см. [как обрабатываются эти запросы](#sdkcontrolgetcontextusageresponse). [Параметр `detail`](#sdkcontrolgetcontextusageresponse) требует Agent SDK v0.3.257 или новее |

713| `readFile(path, options?)` | Читает файл из файловой системы сеанса. Claude Code разрешает путь против `cwd`; [Что `readFile()` может читать](#what-readfile-can-read) перечисляет файлы, которые он обслуживает. Передайте `{ maxBytes }` для изменения ограничения чтения (по умолчанию 1 МБ, потолок 10 МБ) и `{ encoding: 'base64' }` для двоичных файлов, таких как изображения. Разрешается с помощью [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) или `null` при отказе в разрешении, отсутствующем файле или ошибке транспорта. Требует TypeScript SDK v0.2.121 или позже |716| `readFile(path, options?)` | Читает файл из файловой системы сессии. Claude Code разрешает путь относительно `cwd`; в разделе [Что может читать `readFile()`](#what-readfile-can-read) перечислены файлы, которые он отдаёт. Передайте `{ maxBytes }`, чтобы изменить ограничение на чтение (по умолчанию 1 МБ, максимум 10 МБ), и `{ encoding: 'base64' }` для бинарных файлов, например изображений. Разрешается значением [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse) или `null` при отказе в разрешении, отсутствии файла или ошибке транспорта. Требуется TypeScript SDK v0.2.121 или новее |

714| `reloadPlugins(options?)` | Перезагружает плагины с диска, поэтому плагины, которые вы устанавливаете или редактируете в середине сеанса, достигают работающего сеанса. Разрешается с помощью [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse), перечисляющего команды, подагентов, плагины и статус MCP сервера сеанса. Требует Agent SDK v0.2.85 или позже. Параметр [`holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) требует Agent SDK v0.3.268 или позже |717| `reloadPlugins(options?)` | Перезагружает плагины с диска, чтобы плагины, которые вы устанавливаете или редактируете в ходе сессии, стали доступны работающей сессии. Разрешается значением [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) со списком команд, субагентов, плагинов и статусов MCP-серверов сессии. Требуется Agent SDK v0.2.85 или новее. [Параметр `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) требует Agent SDK v0.3.268 или новее |

715| `reloadSkills()` | Перезагружает навыки с диска, поэтому навыки, которые вы добавляете или редактируете в середине сеанса, становятся доступны для работающего сеанса. Разрешается с помощью [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse), перечисляющего доступные навыки после перезагрузки. Требует Agent SDK v0.3.163 или позже |718| `reloadSkills()` | Перезагружает скиллы с диска, чтобы скиллы, которые вы добавляете или редактируете в ходе сессии, стали доступны работающей сессии. Разрешается значением [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) со списком скиллов, доступных после перезагрузки. Требуется Agent SDK v0.3.163 или новее |

716| `reloadOutputStyles()` | Повторно читает [стили вывода](/docs/ru/output-styles) с диска, поэтому файл стиля, который вы добавляете или редактируете в середине сеанса, становится доступен для работающего сеанса. Разрешается с помощью [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse), перечисляющего имена стилей, доступные после перезагрузки. Требует Agent SDK v0.3.261 или позже |719| `reloadOutputStyles()` | Повторно читает [стили вывода](/docs/ru/output-styles) с диска, чтобы файл стиля, который вы добавляете или редактируете в ходе сессии, стал доступен работающей сессии. Разрешается значением [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse) со списком имён стилей, доступных после перезагрузки. Требуется Agent SDK v0.3.261 или новее |

717| `accountInfo()` | Возвращает информацию об учетной записи |720| `accountInfo()` | Возвращает информацию об аккаунте |

718| `reconnectMcpServer(serverName)` | Переподключить MCP сервер по имени. Если имя также совпадает с записью в файле параметров, таком как `.mcp.json` или `~/.claude.json`, Claude Code переподключает сервер, который вы настроили через [`mcpServers`](#options) или `setMcpServers()`, а не запись файла параметров. Этот порядок разрешения требует Claude Code v2.1.257 или позже |721| `reconnectMcpServer(serverName)` | Переподключает MCP-сервер по имени. Если имя также совпадает с записью в файле настроек, например `.mcp.json` или `~/.claude.json`, Claude Code переподключает сервер, который вы настроили через [`mcpServers`](#options) или `setMcpServers()`, а не запись из файла настроек. Такой порядок разрешения имён требует Claude Code v2.1.257 или новее |

719| `toggleMcpServer(serverName, enabled)` | Включает или отключает MCP-сервер по имени с тем же разрешением имён, что и у `reconnectMcpServer()`. Отключение сервера разрывает соединение с ним и удаляет его инструменты. Необходимую версию Claude Code для каждого вида серверов см. в [`toggleMcpServer()`](#togglemcpserver) |722| `toggleMcpServer(serverName, enabled)` | Включает или отключает MCP-сервер по имени с тем же порядком разрешения имён, что и `reconnectMcpServer()`. Отключение сервера разрывает соединение с ним и удаляет его инструменты. О версии Claude Code, необходимой для каждого типа сервера, см. [`toggleMcpServer()`](#togglemcpserver) |

720| `setMcpServers(servers)` | Динамически замените набор MCP серверов для этого сеанса. Разрешается с помощью [`McpSetServersResult`](#mcpsetserversresult), называющего, какие серверы были добавлены и удалены, и любые ошибки |723| `setMcpServers(servers)` | Заменяет MCP-серверы, которыми управляет этот метод: серверы, добавленные через него, и [внутрипроцессные SDK-серверы](#createsdkmcpserver). Разрешается значением [`McpSetServersResult`](#mcpsetserversresult), в котором указано, какие серверы были добавлены и удалены, а также ошибки; в этом разделе также сказано, какие другие серверы остаются подключёнными |

721| `readMcpResource(serverName, uri)` | *Alpha.* Читает один MCP Apps `ui://` ресурс из подключенного MCP сервера, чтобы ваше приложение могло отобразить виджет инструмента. Разрешается с помощью [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse). Требует TypeScript Agent SDK v0.3.280 или позже |724| `readMcpResource(serverName, uri)` | *Альфа.* Читает один ресурс MCP Apps `ui://` с подключённого MCP-сервера, чтобы ваше приложение могло отобразить виджет инструмента. Разрешается значением [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse). Требуется TypeScript Agent SDK v0.3.280 или новее |

722| `streamInput(stream)` | Потоковые входные сообщения в запрос для многоходовых разговоров |725| `streamInput(stream)` | Передаёт входные сообщения в запрос потоком для многоходовых диалогов |

723| `stopTask(taskId)` | Остановить работающую фоновую задачу по ID |726| `stopTask(taskId)` | Останавливает выполняющуюся фоновую задачу по ID |

724| `close()` | Закройте запрос и завершите базовый процесс. Принудительно завершает запрос и очищает все ресурсы |727| `close()` | Закрывает запрос и завершает базовый процесс. Принудительно завершает запрос и освобождает все ресурсы |

725 728 

726<h4 id="applyflagsettings">729<h4 id="applyflagsettings">

727 `applyFlagSettings()`730 `applyFlagSettings()`

728</h4>731</h4>

729 732 

730Изменяет [параметры](/docs/ru/settings) на работающем сеансе без перезагрузки запроса. Используйте его, когда параметр, у которого нет выделенного сеттера, должен измениться в середине сеанса, например, ужесточение `permissions` после того, как агент прочитает ненадежный ввод. `setModel()` и `setPermissionMode()` — это выделенные сеттеры для этих двух ключей; `applyFlagSettings()` — это общая форма, которая принимает любое подмножество ключей параметров, и передача `model` здесь ведет себя так же, как `setModel()`.733Изменяет [настройки](/docs/ru/settings) работающей сессии без перезапуска запроса. Используйте этот метод, когда в ходе сессии нужно изменить настройку, для которой нет отдельного сеттера, например ужесточить `permissions` после того, как агент прочитал недоверенные входные данные. `setModel()` и `setPermissionMode()` — это отдельные сеттеры для этих двух ключей; `applyFlagSettings()` — общая форма, принимающая любое подмножество ключей настроек, и передача `model` здесь работает так же, как `setModel()`.

731 734 

732Только некоторые ключи вступают в силу в середине сеанса:735В ходе сессии действуют только некоторые ключи:

733 736 

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

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

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

737 740 

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

739 742 

740Значения записываются в уровень параметров флага, объединенный над тем, что встроенный параметр `settings` функции `query()` установил при запуске. Это тот же уровень, который раздел [приоритета на странице](#settings-precedence) называет программными параметрами.743Значения записываются в уровень настроек флагов поверх того, что встроенный параметр `settings` функции `query()` задал при запуске. Это тот же уровень, который [раздел о приоритете на этой странице](#settings-precedence) называет программными параметрами.

741 744 

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

743 746 

744Чтобы очистить ключ, который вы установили с помощью `applyFlagSettings()`, передайте `null` для этого ключа. Большинство ключей затем возвращаются к значению, которое параметр `settings` функции `query()` установил при запуске, затем к источникам с более низким приоритетом. Очищенный `model` сбрасывается на [модель Claude Code по умолчанию](/docs/ru/model-config), даже когда файл параметров устанавливает `model`. Передача `undefined` не имеет эффекта, потому что сериализация JSON удаляет ее.747Чтобы сбросить ключ, заданный через `applyFlagSettings()`, передайте `null` для этого ключа. Большинство ключей затем сначала возвращаются к значению, которое параметр `settings` функции `query()` задал при запуске, а затем к источникам с более низким приоритетом. Сброшенный `model` возвращается к [модели Claude Code по умолчанию](/docs/ru/model-config), даже если `model` задан в файле настроек. Передача `undefined` ни на что не влияет, потому что сериализация JSON отбрасывает это значение.

745 748 

746Три ключа помимо `model` сбрасывают состояние сеанса вместо возврата:749Помимо `model`, ещё три ключа сбрасывают состояние сессии вместо возврата к предыдущим значениям:

747 750 

748* `effortLevel: null` возвращает сеанс к уровню усилий модели по умолчанию, а не к параметру `effort` функции `query()` или `effortLevel` из файла параметров.751* `effortLevel: null` возвращает сессию к уровню effort модели по умолчанию, а не к параметру `effort` функции `query()` или к `effortLevel` из файла настроек.

749* `agent: null` запускает основной поток без агента, начиная со следующего хода, а не восстанавливает параметр `agent` функции `query()` или `agent` из файла параметров. Если очищенный агент применил свою собственную модель, сеанс возвращается к модели, которую он разрешил при запуске.752* `agent: null` запускает основной поток без агента, начиная со следующего хода, вместо восстановления параметра `agent` функции `query()` или `agent` из файла настроек. Если сброшенный агент применял собственную модель, сессия возвращается к модели, определённой при запуске.

750* `ultracode: null` отключает ultracode, как это делает `false`, а не восстанавливает значение `ultracode` из файла параметров. Сеанс сохраняет свой текущий уровень усилий, поэтому передайте `effortLevel` в том же вызове, чтобы его изменить.753* `ultracode: null` отключает ultracode, как и `false`, вместо восстановления значения `ultracode` из файла настроек. Сессия сохраняет текущий уровень effort, поэтому, чтобы изменить его, передайте `effortLevel` в том же вызове.

751 754 

752Доступно только в режиме потокового ввода, то же ограничение, что и `setModel()` и `setPermissionMode()`.755Доступен только в режиме потокового ввода — то же ограничение, что и у `setModel()` и `setPermissionMode()`.

753 756 

754Пример ниже переключает активную модель в середине сеанса, а затем очищает переопределение, чтобы модель сбросилась на [модель Claude Code по умолчанию](/docs/ru/model-config).757В примере ниже активная модель переключается в ходе сессии, а затем переопределение сбрасывается, так что модель возвращается к [модели Claude Code по умолчанию](/docs/ru/model-config).

755 758 

756```typescript theme={null}759```typescript theme={null}

757import { query } from "@anthropic-ai/claude-agent-sdk";760import { query } from "@anthropic-ai/claude-agent-sdk";


766```769```

767 770 

768<Note>771<Note>

769 `applyFlagSettings()` только для TypeScript. Python SDK не предоставляет эквивалентный метод.772 `applyFlagSettings()` доступен только в TypeScript. Python SDK не предоставляет эквивалентного метода.

770</Note>773</Note>

771 774 

772<h4 id="updatesettings">775<h4 id="updatesettings">

773 `updateSettings()`776 `updateSettings()`

774</h4>777</h4>

775 778 

776Записывает один разрешенный ключ в файл параметров на диск, чтобы значение сохранялось для последующих сеансов, которые загружают этот источник. Каждый источник принимает один ключ со строковым значением:779Записывает один ключ из разрешённого списка в файл настроек на диске, чтобы значение сохранялось для последующих сессий, загружающих этот источник. Каждый источник принимает один ключ со строковым значением:

777 780 

778* **`"localSettings"`**: принимает `outputStyle` и объединяет его в файл локальных параметров проекта, `.claude/settings.local.json`. Новый стиль вступает в силу при следующем запросе сеанса.781* **`"localSettings"`**: принимает `outputStyle` и объединяет его с локальным файлом настроек проекта `.claude/settings.local.json`. Новый стиль вступает в силу со следующего запроса сессии.

779* **`"userSettings"`**: принимает `effortLevel` и сохраняет его как [уровень усилий](/docs/ru/model-config#adjust-effort-level) по умолчанию для текущей модели сеанса, под [`modelSettings`](/docs/ru/settings-reference#modelsettings) в файле параметров пользователя. Передача `max` ничего не записывает, потому что `max` только для сеанса. Работающий сеанс сохраняет свой текущий уровень усилий в любом случае, поэтому вызовите [`applyFlagSettings()`](#applyflagsettings) когда вы также хотите это изменить. Этот источник требует TypeScript SDK v0.3.277 или позже, который поставляется с Claude Code v2.1.277.782* **`"userSettings"`**: принимает `effortLevel` и сохраняет его как [уровень effort](/docs/ru/model-config#adjust-effort-level) по умолчанию для текущей модели сессии в разделе [`modelSettings`](/docs/ru/settings-reference#modelsettings) вашего пользовательского файла настроек. Передача `max` ничего не записывает, потому что `max` действует только в рамках сессии. В любом случае работающая сессия сохраняет свой текущий уровень effort, поэтому, если вы хотите изменить и его, вызовите [`applyFlagSettings()`](#applyflagsettings). Этот источник требует TypeScript SDK v0.3.277 или новее, который включает Claude Code v2.1.277.

780 783 

781Вызов отклоняется, когда запрос содержит любой другой ключ, когда сеанс работает через удаленный транспорт, и когда [`settingSources`](#options) сеанса исключают источник, который вы назвали. Удаление ключа не поддерживается.784Вызов отклоняется, если запрос содержит любой другой ключ, если сессия работает через удалённый транспорт и если [`settingSources`](#options) сессии исключают указанный вами источник. Удаление ключа не поддерживается.

782 785 

783<h4 id="togglemcpserver">786<h4 id="togglemcpserver">

784 `toggleMcpServer()`787 `toggleMcpServer()`

785</h4>788</h4>

786 789 

787Отключение сервера разрывает соединение с ним и удаляет его инструменты из сессии. Для серверов, добавленных во время сессии, и для внутрипроцессных серверов это зависит от версии Claude Code:790Отключение сервера разрывает соединение с ним и удаляет его инструменты из сессии. Для серверов, добавленных в ходе сессии, и для внутрипроцессных серверов это зависит от версии Claude Code:

788 791 

789* Сервер stdio, SSE или HTTP, добавленный вами во время сессии через `setMcpServers()`: удаление его инструментов требует Claude Code v2.1.285 или новее.792* Сервер stdio, SSE или HTTP, добавленный в ходе сессии через `setMcpServers()`: удаление его инструментов требует Claude Code v2.1.285 или новее.

790* Внутрипроцессный сервер, созданный вами с помощью [`createSdkMcpServer()`](#createsdkmcpserver), независимо от того, передали вы его в `mcpServers` или через `setMcpServers()`: разрыв соединения с ним и удаление его инструментов требуют Claude Code v2.1.286 или новее. Отключение такого сервера также завершает с ошибкой его ещё выполняющиеся вызовы инструментов, поэтому Claude сразу получает результат с ошибкой для каждого из них, не дожидаясь возврата из вашего обработчика.793* Внутрипроцессный сервер, созданный с помощью [`createSdkMcpServer()`](#createsdkmcpserver), независимо от того, передали ли вы его в `mcpServers` или через `setMcpServers()`: разрыв соединения с ним и удаление его инструментов требуют Claude Code v2.1.286 или новее. Отключение такого сервера также приводит к ошибке для его ещё выполняющихся вызовов инструментов, поэтому Claude сразу получает результат с ошибкой для каждого из них, не дожидаясь возврата из вашего обработчика.

791 794 

792<h3 id="warmquery">795<h3 id="warmquery">

793 `WarmQuery`796 `WarmQuery`

794</h3>797</h3>

795 798 

796Дескриптор, возвращаемый [`startup()`](#startup). Подпроцесс уже порожден и инициализирован, поэтому вызов `query()` на этом дескрипторе записывает подсказку непосредственно в готовый процесс без задержки запуска.799Дескриптор, возвращаемый [`startup()`](#startup). Подпроцесс уже запущен и инициализирован, поэтому вызов `query()` на этом дескрипторе записывает промпт непосредственно в готовый процесс без задержки на запуск.

797 800 

798```typescript theme={null}801```typescript theme={null}

799interface WarmQuery extends AsyncDisposable {802interface WarmQuery extends AsyncDisposable {


808 811 

809| Метод | Описание |812| Метод | Описание |

810| :- | :- |813| :- | :- |

811| `query(prompt)` | Отправьте подсказку на предварительно прогретый подпроцесс и верните [`Query`](#query-object). Может быть вызван только один раз для каждого `WarmQuery` |814| `query(prompt)` | Отправляет промпт в предварительно разогретый подпроцесс и возвращает [`Query`](#query-object). Может быть вызван только один раз для каждого `WarmQuery` |

812| `close()` | Закройте подпроцесс без отправки подсказки. Используйте это для отказа от теплого запроса, который больше не нужен |815| `close()` | Закрывает подпроцесс без отправки промпта. Используйте его, чтобы отбросить разогретый запрос, который больше не нужен |

813 816 

814`WarmQuery` реализует `AsyncDisposable`, поэтому его можно использовать с `await using` для автоматической очистки.817`WarmQuery` реализует `AsyncDisposable`, поэтому его можно использовать с `await using` для автоматической очистки.

815 818 


817 `SpareProcess`820 `SpareProcess`

818</h3>821</h3>

819 822 

820*Alpha.* Дескриптор, возвращаемый [`prewarm()`](#prewarm): запущенный процесс Claude Code, который еще не привязан к сеансу и может быть заявлен один раз. Требует TypeScript Agent SDK v0.3.282 или позже.823*Альфа.* Дескриптор, возвращаемый [`prewarm()`](#prewarm): запущенный процесс Claude Code, который ещё не привязан к сессии и может быть занят один раз. Требуется TypeScript Agent SDK v0.3.282 или новее.

821 824 

822```typescript theme={null}825```typescript theme={null}

823interface SpareProcess extends AsyncDisposable {826interface SpareProcess extends AsyncDisposable {


837 840 

838| Член | Описание |841| Член | Описание |

839| :- | :- |842| :- | :- |

840| `claim({ prompt, options })` | Привяжите запасной к сеансу в `options.cwd` и отправьте его первое сообщение. Возвращает [`Query`](#query-object) синхронно, как это делает `query()`. Может быть вызван только один раз |843| `claim({ prompt, options })` | Привязывает резервный процесс к сессии в `options.cwd` и отправляет её первое сообщение. Синхронно возвращает [`Query`](#query-object), как и `query()`. Может быть вызван только один раз |

841| `claimed` | Разрешается с рабочим каталогом и ID сеанса сеанса, как только Claude Code принимает заявку. Отклоняется, когда Claude Code отказывает в заявке, когда процесс вышел или был закрыт первым, и, с сообщением, которое начинается с `option_not_applied`, когда сеанс работает без `model` или `maxThinkingTokens`, которые вы запросили |844| `claimed` | Разрешается значением с рабочим каталогом и ID сессии, как только Claude Code принимает привязку. Отклоняется, если Claude Code отказывает в привязке, если процесс завершился или был закрыт раньше, а также — с сообщением, начинающимся с `option_not_applied`, — если сессия работает без запрошенных вами `model` или `maxThinkingTokens` |

842| `exited` | Разрешается, когда процесс выходит, заявлен или нет. Замените запасной, который выходит перед тем, как вы его заявите |845| `exited` | Завершается, когда процесс завершается, независимо от того, был ли он привязан. Замените резервный процесс, который завершился до привязки |

843| `close()` | Завершить процесс. До заявки это отклоняет запасной и отклоняет `claimed` |846| `close()` | Завершает процесс. До привязки это отбрасывает резервный процесс и отклоняет `claimed` |

844 847 

845`options.cwd` требуется. Заявка также может установить `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, наложение параметров флага в `settings`, `appendSystemPrompt`, `title`, `agents` и токены для каждого сеанса в `env`.848`options.cwd` обязателен. При привязке также можно задать `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, наложение настроек флагов в `settings`, `appendSystemPrompt`, `title`, `agents` и токены для отдельной сессии в `env`.

846 849 

847Claude Code может отказать в заявке, например, для папки, которая не существует, или той, чьи параметры проекта устанавливают `env`, `agent` или `model`. Когда `claimed` отклоняется с сообщением, которое начинается с `option_not_applied`, сеанс работает без `model` или `maxThinkingTokens`, которые вы запросили. После любого другого отказа ваша подсказка не запустилась, поэтому запустите сеанс с `query()` вместо этого.850Claude Code может отказать в привязке, например для несуществующей папки или папки, настройки проекта которой задают `env`, `agent` или `model`. После отказа промпт, который `claim()` уже отправил, получает результат с ошибкой, текст которой начинается с `not_claimed`, после чего возвращённый запрос выбрасывает исключение. Оберните цикл запроса в блок try, чтобы продолжить работу после исключения. Когда `claimed` отклоняется с сообщением, начинающимся с `option_not_applied`, сессия работает без запрошенных вами `model` или `maxThinkingTokens`. После любого другого отклонения ваш промпт не выполнялся, поэтому запустите сессию через `query()`.

848 851 

849<h3 id="sdkcontrolinitializeresponse">852<h3 id="sdkcontrolinitializeresponse">

850 `SDKControlInitializeResponse`853 `SDKControlInitializeResponse`

851</h3>854</h3>

852 855 

853Тип возврата `initializationResult()`. Содержит данные инициализации сеанса.856Тип возвращаемого значения `initializationResult()`. Содержит данные инициализации сессии.

854 857 

855```typescript theme={null}858```typescript theme={null}

856type SDKControlInitializeResponse = {859type SDKControlInitializeResponse = {


874};877};

875```878```

876 879 

877`hooks_applied` сообщает, зарегистрировал ли Claude Code `hooks`, которые несла запрос `initialize`. SDK отправляет этот запрос один раз при запуске сеанса и снова при каждом вызове [`reinitialize()`](#query-object). Поле требует Agent SDK v0.3.238 или позже.880`hooks_applied` сообщает, зарегистрировал ли Claude Code хуки `hooks`, переданные в запросе `initialize`. SDK отправляет этот запрос один раз при запуске сессии и повторно при каждом вызове [`reinitialize()`](#query-object). Поле требует Agent SDK v0.3.238 или новее.

878 881 

879Claude Code опускает поле, когда запрос не содержал hooks. Когда запрос содержал hooks, значение зависит от того, является ли запрос первой инициализацией сеанса и, для повторного, как он достиг сеанса:882Claude Code опускает это поле, если запрос не содержал хуков. Если запрос содержал хуки, значение зависит от того, является ли запрос первой инициализацией сессии, а для повторной — от того, каким путём он достиг сессии:

880 883 

881* `true`: Claude Code зарегистрировал hooks. Первая инициализация сеанса возвращает это значение. Повторная инициализация, отправленная через stdin CLI, также возвращает `true`. В этом случае hooks в новом запросе заменяют hooks, зарегистрированные ранее.884* `true`: Claude Code зарегистрировал хуки. Первая инициализация сессии возвращает это значение. Повторная инициализация, отправленная через stdin CLI, также возвращает `true`. В этом случае хуки из нового запроса заменяют зарегистрированные ранее.

882* `false`: Claude Code игнорировал hooks. Повторная инициализация, отправленная на удаленный сеанс, возвращает это значение, поэтому второй клиент, присоединяющийся к сеансу, не может заменить hooks, которые зарегистрировал первый клиент.885* `false`: Claude Code проигнорировал хуки. Повторная инициализация, отправленная в удалённую сессию, возвращает это значение, поэтому второй клиент, присоединившийся к сессии, не может заменить хуки, зарегистрированные первым клиентом.

883 886 

884До Agent SDK v0.3.238 ответ никогда не содержал поле, и Claude Code игнорировал `hooks` при каждой повторной инициализации.887До Agent SDK v0.3.238 ответ никогда не содержал этого поля, а Claude Code игнорировал `hooks` при каждой повторной инициализации.

885 888 

886Поле запроса `sdkMcpServerManifests` и поле ответа `sdk_mcp_manifests_parked` предназначены для внутрипроцессных [SDK MCP-серверов](/docs/ru/agent-sdk/custom-tools), созданных вами с помощью [`createSdkMcpServer()`](#createsdkmcpserver). Ваше приложение не задаёт и не читает ни одно из этих полей.889Поле запроса `sdkMcpServerManifests` и поле ответа `sdk_mcp_manifests_parked` предназначены для внутрипроцессных [SDK MCP-серверов](/docs/ru/agent-sdk/custom-tools), созданных вами с помощью [`createSdkMcpServer()`](#createsdkmcpserver). Ваше приложение не задаёт и не читает ни одно из этих полей.

887 890 

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

889 892 

890Оболочка управления-ответа для успешного `initialize` также содержит массив `pending_permission_requests`. Поле находится на самой оболочке ответа, а не в полезной нагрузке `SDKControlInitializeResponse` выше. Каждая запись — это полное сообщение `control_request` с той же формой `{ type: "control_request", request_id, request }`, которую сеанс потоком для запросов разрешений во время работы.893Обёртка управляющего ответа на успешный `initialize` также содержит массив `pending_permission_requests`. Это поле находится в самой обёртке ответа, а не в данных `SDKControlInitializeResponse` выше. Каждая запись — это полное сообщение `control_request` той же структуры `{ type: "control_request", request_id, request }`, которую сессия передаёт для запросов разрешений во время работы.

891 894 

892Массив перечисляет запросы разрешений, которые этот процесс Claude Code выдал и еще не разрешил. SDK читает массив для вас и отправляет каждую запись на ваш обратный вызов [`canUseTool`](#canusetool), то же переоформление, которое [`reinitialize()`](#query-object) запускает после разрыва транспорта. Обрабатывайте повторяющиеся ID запросов идемпотентно, потому что запись может повторить запрос, который обратный вызов уже получил перед отключением соединения.895Массив перечисляет запросы разрешений, которые этот процесс Claude Code отправил и которые ещё не разрешены. SDK читает массив за вас и передаёт каждую запись в ваш колбэк [`canUseTool`](#canusetool) — так же, как при повторной доставке, которую [`reinitialize()`](#query-object) запускает после разрыва транспорта. Обрабатывайте повторяющиеся ID запросов идемпотентно, потому что запись может повторять запрос, который колбэк уже получил до обрыва соединения.

893 896 

894Массив всегда присутствует в успешном ответе `initialize` и пуст, когда этот процесс не имеет неразрешенного запроса разрешения. Требует Claude Code v2.1.268 или позже. Более ранние версии могли опустить поле, поэтому если вы анализируете протокол проводов самостоятельно, рассматривайте отсутствующее поле как более старый CLI, а не как доказательство того, что ничего не ожидается.897Массив всегда присутствует в успешном ответе на `initialize` и пуст, если у этого процесса нет неразрешённых запросов разрешений. Требуется Claude Code v2.1.268 или новее. Более ранние версии могли опускать это поле, поэтому, если вы разбираете протокол самостоятельно, считайте отсутствие поля признаком более старого CLI, а не доказательством того, что ожидающих запросов нет.

895 898 

896<h3 id="sdkcontrolinterruptresponse">899<h3 id="sdkcontrolinterruptresponse">

897 `SDKControlInterruptResponse`900 `SDKControlInterruptResponse`

898</h3>901</h3>

899 902 

900Квитанция прерывания: значение, которое [`interrupt()`](#query-object) разрешает на CLI, который объявляет возможность `interrupt_receipt_v1` в [`SDKSystemMessage.capabilities`](#sdksystemmessage). Требует Claude Code v2.1.205 или позже. Более ранние CLI отвечают на прерывание с пустой полезной нагрузкой успеха, поэтому `interrupt()` разрешается `undefined`.903Квитанция о прерывании: значение, которым разрешается [`interrupt()`](#query-object) в CLI, объявляющем возможность `interrupt_receipt_v1` в [`SDKSystemMessage.capabilities`](#sdksystemmessage). Требуется Claude Code v2.1.205 или новее. Более ранние CLI отвечают на прерывание пустыми данными об успехе, поэтому `interrupt()` разрешается значением `undefined`.

901 904 

902```typescript theme={null}905```typescript theme={null}

903type SDKControlInterruptResponse = {906type SDKControlInterruptResponse = {


906};909};

907```910```

908 911 

909`still_queued` перечисляет UUID пользовательских сообщений, которые были в ожидании при поступлении прерывания: сообщения все еще в очереди, плюс любые сообщения, которые Claude Code уже вынул из очереди для следующего хода. После того как первый ход сеанса начался, Claude Code обрабатывает перечисленные сообщения после прерывания, если вы их не отмените первыми, и может объединить несколько в один ход. Если вы прерываете перед началом первого хода, Claude Code прерывает этот ход, как только он начинается, и перечисленные сообщения в этом ходе не получают ответ.912`still_queued` перечисляет UUID сообщений пользователя, ожидавших обработки в момент поступления прерывания: сообщения, всё ещё находящиеся в очереди, а также сообщения, которые Claude Code уже забрал из очереди для следующего хода. После начала первого хода сессии Claude Code обрабатывает перечисленные сообщения после прерывания, если вы предварительно их не отмените, и может объединить несколько из них в один ход. Если вы прерываете до начала первого хода, Claude Code прерывает этот ход сразу после его начала, и перечисленные сообщения в этом ходе не получают ответа.

910 913 

911Используйте квитанцию, чтобы решить, нужно ли что-то переотправлять. Перечисленное сообщение, которое вы не отмените, входит в разговор независимо от того, получит ли оно ответ, поэтому переотправка его доставляет его Claude дважды.914Используйте квитанцию, чтобы решить, нужно ли что-то отправить повторно. Перечисленное сообщение, которое вы не отменили, попадает в диалог независимо от того, получит ли оно ответ, поэтому его повторная отправка доставит его Claude дважды.

912 915 

913Интерпретируйте список с этими предостережениями:916Интерпретируйте список с учётом следующих оговорок:

914 917 

915* Появляются только сообщения, которые были поставлены в очередь с UUID. Пустой массив не означает, что ничего больше не будет работать.918* В списке появляются только сообщения, поставленные в очередь с UUID. Пустой массив не означает, что больше ничего не будет выполнено.

916* Перечислены только сообщения основного потока. Сообщения, адресованные подагенту, выходят за рамки.919* В списке есть только сообщения основного потока. Сообщения, адресованные субагенту, в него не входят.

917* Список может включать UUID, которые ваш клиент никогда не отправлял, такие как триггеры [запланированной задачи](/docs/ru/scheduled-tasks). Игнорируйте UUID, которые вы не узнаете, вместо того чтобы рассматривать их как ошибку.920* Список может содержать UUID, которые ваш клиент никогда не отправлял, например триггеры [запланированных задач](/docs/ru/scheduled-tasks). Игнорируйте незнакомые UUID, а не считайте их ошибкой.

918 921 

919Клиент, который управляет протоколом управления CLI напрямую, а не через `interrupt()`, может установить `cancel_queued: true` на запрос управления `interrupt`. Claude Code v2.1.219 и позже объявляет поддержку с возможностью `interrupt_cancel_queued_v1` в [`SDKSystemMessage.capabilities`](#sdksystemmessage); более старые CLI игнорируют поле и оставляют сообщения в очереди для обычного запуска. Такое прерывание также отменяет каждое сообщение, которое иначе было бы перечислено в `still_queued`: квитанция перечисляет их в `cancelled` вместо этого, `still_queued` пуст, и ни один из них не запускается.922Клиент, который работает с управляющим протоколом CLI напрямую, а не через `interrupt()`, может задать `cancel_queued: true` в управляющем запросе `interrupt`. Claude Code v2.1.219 и новее объявляет поддержку с помощью возможности `interrupt_cancel_queued_v1` в [`SDKSystemMessage.capabilities`](#sdksystemmessage); более старые CLI игнорируют это поле, и сообщения в очереди выполняются как обычно. Такое прерывание также отменяет все сообщения, которые иначе были бы перечислены в `still_queued`: квитанция перечисляет их в `cancelled`, `still_queued` пуст, и ни одно из них не выполняется.

920 923 

921Список `cancelled` содержит те же предостережения, что и `still_queued`. Метод `interrupt()` никогда не отправляет `cancel_queued`, поэтому квитанции, которые он разрешает, не содержат `cancelled`.924На список `cancelled` распространяются те же оговорки, что и на `still_queued`. Метод `interrupt()` никогда не отправляет `cancel_queued`, поэтому квитанции, которыми он разрешается, не содержат `cancelled`.

922 925 

923Квитанция — это снимок, сделанный в момент обработки прерывания, и при чистом прерывании она прибывает перед [`SDKResultMessage`](#sdkresultmessage) прерванного хода. Читайте квитанцию, а не проверяйте очередь после этого результата: цикл немедленно запускает следующий ход в очереди, поэтому очередь, которую вы проверяете после результата, уже изменилась.926Квитанция — это снимок, сделанный в момент обработки прерывания, и при чистом прерывании она приходит раньше [`SDKResultMessage`](#sdkresultmessage) прерванного хода. Читайте квитанцию, а не проверяйте очередь после этого результата: цикл сразу запускает следующий ход из очереди, поэтому очередь, которую вы проверяете после результата, уже изменилась.

924 927 

925<h3 id="sdkcontrolgetcontextusageresponse">928<h3 id="sdkcontrolgetcontextusageresponse">

926 `SDKControlGetContextUsageResponse`929 `SDKControlGetContextUsageResponse`

927</h3>930</h3>

928 931 

929Тип возврата [`getContextUsage()`](#query-object). С параметром по умолчанию `detail`, это та же полезная нагрузка, которую Claude Code отображает для команды `/context` в интерактивном сеансе, поэтому наряду с подсчетом токенов она содержит поля отображения, такие как `color` и `gridRows`, которые Claude Code использует для рисования сетки использования `/context`.932Тип возвращаемого значения [`getContextUsage()`](#query-object). При значении `detail` по умолчанию это те же данные, которые Claude Code отображает для команды `/context` в интерактивной сессии, поэтому наряду с количеством токенов они содержат поля для отображения, такие как `color` и `gridRows`, которые Claude Code использует для отрисовки сетки использования `/context`.

930 933 

931Аргумент `detail` метода выбирает, как Claude Code подсчитывает каждую категорию. Аргумент `detail` требует Agent SDK v0.3.257 или позже.934Необязательный аргумент `detail` метода определяет, как Claude Code подсчитывает каждую категорию. Аргумент `detail` требует Agent SDK v0.3.257 или новее.

932 935 

933* **`'full'`**: по умолчанию. Claude Code подсчитывает каждую категорию с запросами API [подсчета токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting). Эти запросы не появляются в потоке сообщений, поэтому отслеживание стоимости, которое читает поток, их не увидит. На API Anthropic подсчет токенов не выставляется счетом.936* **`'full'`**: значение по умолчанию. Claude Code подсчитывает каждую категорию с помощью API-запросов [подсчёта токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting). Эти запросы не появляются в потоке сообщений, поэтому отслеживание стоимости, основанное на чтении потока, их не увидит. В Anthropic API подсчёт токенов не тарифицируется.

934* **`'summary'`**: передайте `{ detail: 'summary' }` для получения ответа из использования последнего ответа и локальных оценок вместо этого. Никакие запросы подсчета токенов не выходят, и числа для каждой категории приблизительны.937* **`'summary'`**: передайте `{ detail: 'summary' }`, чтобы получить ответ на основе данных об использовании из последнего ответа и локальных оценок. Запросы подсчёта токенов не отправляются, а значения по категориям являются приблизительными.

935 938 

936Когда вы отправляете `/context` как подсказку вместо вызова метода, Claude Code прикрепляет полезную нагрузку [`SDKContextUsage`](#sdkcontextusage) к полю `context_usage` сообщения помощника, которое доставляет результат. Это поле требует Agent SDK v0.3.232 или позже.939Если вместо вызова метода вы отправляете `/context` как промпт, Claude Code прикрепляет данные [`SDKContextUsage`](#sdkcontextusage) к полю `context_usage` сообщения ассистента, которое доставляет результат. Это поле требует Agent SDK v0.3.232 или новее.

937 940 

938```typescript theme={null}941```typescript theme={null}

939type SDKControlGetContextUsageResponse = {942type SDKControlGetContextUsageResponse = {


1030};1033};

1031```1034```

1032 1035 

1033Читайте атрибуцию токенов из полей коллекции:1036Распределение токенов читайте из полей-коллекций:

1034 1037 

1035* `categories` содержит итоги для каждой категории. Каждая запись `kind` классифицирует строку с теми же значениями, что и [`SDKContextUsageCategory`](#sdkcontextusagecategory). Классифицируйте строки на нем, а не на отображаемом `name`. Поле требует Agent SDK v0.3.268 или позже.1038* `categories` содержит итоговые значения по категориям. Поле `kind` каждой записи классифицирует строку с помощью тех же значений, что и [`SDKContextUsageCategory`](#sdkcontextusagecategory). Классифицируйте строки по нему, а не по отображаемому `name`. Поле требует Agent SDK v0.3.268 или новее.

1036* `mcpTools` и `agents` атрибутируют токены отдельным инструментам MCP и подагентам.1039* `mcpTools` и `agents` распределяют токены по отдельным MCP-инструментам и субагентам.

1037* `memoryFiles` перечисляет каждый загруженный файл памяти с его стоимостью.1040* `memoryFiles` перечисляет каждый загруженный файл памяти с его стоимостью.

1038* `skills.skillFrontmatter` атрибутирует токены списка навыков каждому включенному навыку. Подсчеты для каждого навыка измеряют запись каждого навыка, как Claude Code фактически отправляет ее, что может быть короче полного frontmatter навыка. Сравните `skills.totalSkills` с `skills.includedSkills`, чтобы увидеть, попал ли каждый обнаруженный навык в список.1041* `skills.skillFrontmatter` распределяет токены списка скиллов по каждому включённому скиллу. Значения для отдельных скиллов измеряют запись каждого скилла в списке в том виде, в каком Claude Code её фактически отправляет, и она может быть короче полного frontmatter скилла. Сравните `skills.totalSkills` с `skills.includedSkills`, чтобы узнать, попали ли в список все обнаруженные скиллы.

1039 1042 

1040`totalTokens` — это текущее использование контекста сеанса, а `maxTokens` — это окно, против которого измеряется использование. Это окно — контекстное окно модели или более низкое окно автокомпактирования, когда оно применяется. `rawMaxTokens` содержит то же значение, что и `maxTokens`, и `percentage` — это `totalTokens` как округленный процент этого окна. `apiUsage` содержит использование из последнего ответа API, а не итоговое значение для сеанса.1043`totalTokens` — текущее использование контекста сессии, а `maxTokens` — окно, относительно которого измеряется это использование. Это контекстное окно модели или меньшее окно автосжатия, если оно применяется. `rawMaxTokens` содержит то же значение, что и `maxTokens`, а `percentage` — это `totalTokens` в виде округлённого процента от этого окна. `apiUsage` содержит данные об использовании из последнего ответа API, а не накопленный итог по сессии.

1041 1044 

1042Claude Code оставляет дополнительные диагностики `deferredBuiltinTools`, `systemTools` и `systemPromptSections` неустановленными, поэтому ожидайте их отсутствия, даже если тип их объявляет.1045Claude Code не заполняет необязательные диагностические поля `deferredBuiltinTools`, `systemTools` и `systemPromptSections`, поэтому ожидайте, что они будут отсутствовать, хотя тип их объявляет.

1043 1046 

1044<h3 id="sdkcontrolreadfileresponse">1047<h3 id="sdkcontrolreadfileresponse">

1045 `SDKControlReadFileResponse`1048 `SDKControlReadFileResponse`

1046</h3>1049</h3>

1047 1050 

1048Тип возврата [`readFile()`](#query-object).1051Тип возвращаемого значения [`readFile()`](#query-object).

1049 1052 

1050```typescript theme={null}1053```typescript theme={null}

1051type SDKControlReadFileResponse = {1054type SDKControlReadFileResponse = {


1056};1059};

1057```1060```

1058 1061 

1059`contents` содержит текст файла или данные base64, когда вы запросили `encoding: 'base64'`; поле `encoding` ответа установлено на `'base64'` в этом случае. `absPath` — это разрешенный абсолютный путь. `truncated` установлено, когда файл был длиннее ограничения `maxBytes` и содержимое было обрезано на этом пределе.1062`contents` содержит текст файла или данные в base64, если вы запросили `encoding: 'base64'`; в этом случае поле `encoding` ответа имеет значение `'base64'`. `absPath` — разрешённый абсолютный путь. `truncated` устанавливается, если файл был длиннее ограничения `maxBytes` и содержимое было обрезано на этом пределе.

1060 1063 

1061<h4 id="what-readfile-can-read">1064<h4 id="what-readfile-can-read">

1062 Что `readFile()` может читать1065 Что может читать `readFile()`

1063</h4>1066</h4>

1064 1067 

1065`readFile()` обслуживает более узкий набор файлов, чем инструмент Read:1068`readFile()` отдаёт более узкий набор файлов, чем инструмент Read:

1066 1069 

1067* Обычный файл внутри одного из рабочих каталогов сеанса, таких как `cwd` и `additionalDirectories`1070* Обычный файл внутри одного из рабочих каталогов сессии, таких как `cwd` и `additionalDirectories`

1068* Несколько собственных файлов Claude Code для сеанса, таких как результаты инструментов1071* Некоторые собственные файлы Claude Code для сессии, например результаты инструментов

1069 1072 

1070Правила отказа и запроса `Read` по-прежнему блокируют соответствующий путь, и широкое правило разрешения `Read` не открывает остальную часть файловой системы для `readFile()`. Для всего остального вызов разрешается с `null`.1073Правила запрета и запроса для `Read` по-прежнему блокируют соответствующий путь, а широкое правило разрешения для `Read` не открывает `readFile()` доступ к остальной файловой системе. Для всего остального вызов разрешается значением `null`.

1071 1074 

1072<h3 id="sdkcontrolreloadpluginsresponse">1075<h3 id="sdkcontrolreloadpluginsresponse">

1073 `SDKControlReloadPluginsResponse`1076 `SDKControlReloadPluginsResponse`

1074</h3>1077</h3>

1075 1078 

1076Тип возврата [`reloadPlugins()`](#query-object).1079Тип возвращаемого значения [`reloadPlugins()`](#query-object).

1077 1080 

1078```typescript theme={null}1081```typescript theme={null}

1079type SDKControlReloadPluginsResponse = {1082type SDKControlReloadPluginsResponse = {


1096};1099};

1097```1100```

1098 1101 

1099Поля коллекции описывают сеанс после вызова:1102Поля-коллекции описывают сессию после вызова:

1100 1103 

1101* `commands`, `agents` и `mcpServers`: команды, подагенты и статус MCP сервера сеанса в тех же формах, которые возвращают `supportedCommands()`, `supportedAgents()` и `mcpServerStatus()`. `supportedAgents()` продолжает возвращать список, захваченный при инициализации, поэтому читайте `agents` здесь для набора после перезагрузки1104* `commands`, `agents` и `mcpServers`: команды, субагенты и статусы MCP-серверов сессии в тех же структурах, которые возвращают `supportedCommands()`, `supportedAgents()` и `mcpServerStatus()`. `supportedAgents()` продолжает возвращать список, полученный при инициализации, поэтому набор после перезагрузки читайте из `agents` здесь

1102* `plugins`: каждый загруженный плагин с его `name` и установкой `path`. `version` повторяет то, что объявляет манифест плагина, и контролируется автором плагина, поэтому проверьте его перед доверием. Он опущен, когда манифест не объявляет ничего1105* `plugins`: каждый загруженный плагин с его `name` и `path` установки. `version` повторяет то, что объявлено в манифесте плагина, и контролируется автором плагина, поэтому проверяйте его, прежде чем доверять. Поле опускается, если манифест не объявляет версию

1103* `error_count`: количество ошибок при загрузке плагинов1106* `error_count`: количество ошибок при загрузке плагинов

1104 1107 

1105Передайте `{ holdOnCacheImpact: true }` в `reloadPlugins()` для удержания перезагрузки, которая инвалидировала бы кэш подсказок разговора, вместо применения. Claude Code запускает проверку, которую интерактивная команда `/reload-plugins` делает перед [предупреждением о стоимости кэша](/docs/ru/prompt-caching#enabling-or-disabling-a-plugin). Параметр требует Agent SDK v0.3.268 или позже. Исполняемый файл Claude Code старше v2.1.268, такой как тот, на который вы указываете `pathToClaudeCodeExecutable`, игнорирует параметр и применяет перезагрузку.1108Передайте `{ holdOnCacheImpact: true }` в `reloadPlugins()`, чтобы задержать перезагрузку, которая сделала бы недействительным кэш промптов диалога, вместо её применения. Claude Code выполняет ту же проверку, которую интерактивная команда `/reload-plugins` делает, прежде чем [предупредить о стоимости для кэша](/docs/ru/prompt-caching#enabling-or-disabling-a-plugin). Параметр требует Agent SDK v0.3.268 или новее. Исполняемый файл Claude Code старше v2.1.268, например тот, на который вы указываете через `pathToClaudeCodeExecutable`, игнорирует этот параметр и применяет перезагрузку.

1106 1109 

1107Когда вы передаете параметр, читайте `held`, чтобы узнать, что произошло:1110Если вы передаёте этот параметр, читайте `held`, чтобы узнать, что произошло:

1108 1111 

1109* `true`: перезагрузка не была применена, и поля коллекции описывают сеанс, как он все еще есть. `cache_impact` говорит, что применение изменит. Чтобы применить в любом случае, вызовите `reloadPlugins()` снова без параметра.1112* `true`: перезагрузка не была применена, и поля-коллекции описывают сессию в её текущем состоянии. `cache_impact` сообщает, что изменило бы применение. Чтобы всё равно применить перезагрузку, вызовите `reloadPlugins()` снова без этого параметра.

1110* `false`: проверка не нашла влияния на кэш, и перезагрузка была применена.1113* `false`: проверка не обнаружила влияния на кэш, и перезагрузка была применена.

1111* Отсутствует: вы не передали параметр, или исполняемый файл Claude Code старше v2.1.268 и применил перезагрузку.1114* Отсутствует: вы не передали этот параметр, или исполняемый файл Claude Code старше v2.1.268 и применил перезагрузку.

1112 1115 

1113`cache_impact` присутствует только рядом с `held: true`. `mcp_servers_added` и `mcp_servers_removed` называют MCP серверы плагина, которые перезагрузка зарегистрирует или удалит, как имена с областью действия `plugin:<plugin>:<server>`. Имена создаются автором плагина, поэтому проверьте их перед показом. `lsp_tool_change` говорит, добавит ли применение или удалит инструмент LSP, или `null`, когда оно не будет ни того, ни другого. Формы `may-` означают, что проверка не могла полностью увидеть ожидающий набор плагинов.1116`cache_impact` присутствует только вместе с `held: true`. `mcp_servers_added` и `mcp_servers_removed` называют MCP-серверы плагинов, которые перезагрузка зарегистрировала бы или удалила, в виде имён с областью действия `plugin:<plugin>:<server>`. Эти имена задаются авторами плагинов, поэтому проверяйте их перед отображением. `lsp_tool_change` сообщает, добавило бы или удалило применение инструмент LSP, либо равно `null`, если не произошло бы ни того, ни другого. Формы с `may-` означают, что проверка не смогла полностью увидеть ожидающий набор плагинов.

1114 1117 

1115<h3 id="sdkcontrolreloadskillsresponse">1118<h3 id="sdkcontrolreloadskillsresponse">

1116 `SDKControlReloadSkillsResponse`1119 `SDKControlReloadSkillsResponse`

1117</h3>1120</h3>

1118 1121 

1119Тип возврата [`reloadSkills()`](#query-object).1122Тип возвращаемого значения [`reloadSkills()`](#query-object).

1120 1123 

1121```typescript theme={null}1124```typescript theme={null}

1122type SDKControlReloadSkillsResponse = {1125type SDKControlReloadSkillsResponse = {


1124};1127};

1125```1128```

1126 1129 

1127`skills` перечисляет доступные навыки после перезагрузки в той же форме [`SlashCommand`](#slashcommand), которую возвращает `supportedCommands()`.1130`skills` перечисляет скиллы, доступные после перезагрузки, в той же структуре [`SlashCommand`](#slashcommand), которую возвращает `supportedCommands()`.

1128 1131 

1129<h3 id="sdkcontrolreloadoutputstylesresponse">1132<h3 id="sdkcontrolreloadoutputstylesresponse">

1130 `SDKControlReloadOutputStylesResponse`1133 `SDKControlReloadOutputStylesResponse`

1131</h3>1134</h3>

1132 1135 

1133Тип возврата [`reloadOutputStyles()`](#query-object).1136Тип возвращаемого значения [`reloadOutputStyles()`](#query-object).

1134 1137 

1135```typescript theme={null}1138```typescript theme={null}

1136type SDKControlReloadOutputStylesResponse = {1139type SDKControlReloadOutputStylesResponse = {


1138};1141};

1139```1142```

1140 1143 

1141`available_output_styles` перечисляет имена встроенных и пользовательских стилей вывода, доступные после перезагрузки.1144`available_output_styles` перечисляет имена встроенных и пользовательских стилей вывода, доступных после перезагрузки.

1142 1145 

1143<h3 id="sdkcontrolmcpreadresourceresponse">1146<h3 id="sdkcontrolmcpreadresourceresponse">

1144 `SDKControlMcpReadResourceResponse`1147 `SDKControlMcpReadResourceResponse`

1145</h3>1148</h3>

1146 1149 

1147Тип возврата [`readMcpResource()`](#query-object), несущий результат `resources/read` MCP сервера. Требует TypeScript Agent SDK v0.3.280 или позже.1150Тип возвращаемого значения [`readMcpResource()`](#query-object), содержащий результат `resources/read` MCP-сервера. Требуется TypeScript Agent SDK v0.3.280 или новее.

1148 1151 

1149```typescript theme={null}1152```typescript theme={null}

1150type SDKControlMcpReadResourceResponse = {1153type SDKControlMcpReadResourceResponse = {


1158};1161};

1159```1162```

1160 1163 

1161Передайте `readMcpResource()` имя сервера, как `mcpServerStatus()` его сообщает, и URI `ui://`, такой как `ui.resourceUri`, который инструмент объявляет в своем [`_meta`](#mcpserverstatus). Вызов отклоняется для любой другой схемы URI, для [SDK MCP сервера](#createsdkmcpserver), который ваше приложение размещает само, и для сервера, который не подключен. Это доступно, когда сообщение инициализации [`capabilities`](#sdksystemmessage) включает `mcp_read_resource_v1`.1164Передайте в `readMcpResource()` имя сервера в том виде, в каком его сообщает `mcpServerStatus()`, и URI `ui://`, например `ui.resourceUri`, который инструмент объявляет в своём [`_meta`](#mcpserverstatus). Вызов отклоняется для любой другой схемы URI, для [SDK MCP-сервера](#createsdkmcpserver), который ваше приложение размещает само, и для неподключённого сервера. Метод доступен, когда [`capabilities`](#sdksystemmessage) init-сообщения включают `mcp_read_resource_v1`.

1162 1165 

1163Каждая запись `contents` — это один элемент содержимого, как его отправил сервер, минус любой ключ `_meta` под префиксом `com.anthropic/`, который зарезервирован для Claude Code. `blob` содержит данные base64 для двоичного элемента, и `_meta` — это собственный `_meta` элемента, где MCP Apps сервер помещает `ui.csp` и `ui.permissions` ресурса.1166Каждая запись `contents` — это один элемент содержимого в том виде, в каком его отправил сервер, за исключением ключей `_meta` с префиксом `com.anthropic/`, который зарезервирован для Claude Code. `blob` содержит данные в base64 для бинарного элемента, а `_meta` — собственное поле `_meta` элемента, в которое сервер MCP Apps помещает `ui.csp` и `ui.permissions` ресурса.

1164 1167 

1165Содержимое — это ненадежный HTML третьей стороны, поэтому отобразите его в песочнице.1168Содержимое представляет собой недоверенный сторонний HTML, поэтому отображайте его в песочнице.

1166 1169 

1167<h3 id="agentdefinition">1170<h3 id="agentdefinition">

1168 `AgentDefinition`1171 `AgentDefinition`

1169</h3>1172</h3>

1170 1173 

1171Конфигурация для подагента, определенного программно.1174Конфигурация субагента, определённого программно.

1172 1175 

1173```typescript theme={null}1176```typescript theme={null}

1174type AgentDefinition = {1177type AgentDefinition = {


1190};1193};

1191```1194```

1192 1195 

1193| Поле | Требуется | Описание |1196| Поле | Обязательное | Описание |

1194| :- | :- | :- |1197| :- | :- | :- |

1195| `description` | Да | Описание на естественном языке, когда использовать этого агента |1198| `description` | Да | Описание на естественном языке того, когда следует использовать этого агента |

1196| `tools` | Нет | Массив разрешенных имен инструментов. Если опущено, наследует каждый [инструмент, доступный подагентам](/docs/ru/sub-agents#available-tools). Чтобы предварительно загрузить Skills в контекст агента, используйте поле `skills` вместо перечисления `'Skill'` здесь |1199| `tools` | Нет | Массив имён разрешённых инструментов. Если не указан, наследуются все [инструменты, доступные субагентам](/docs/ru/sub-agents#available-tools). Чтобы предварительно загрузить скиллы в контекст агента, используйте поле `skills`, а не указывайте здесь `'Skill'` |

1197| `disallowedTools` | Нет | Массив имен инструментов для явного запрета для этого агента. Также принимаются шаблоны уровня MCP сервера: `mcp__server` или `mcp__server__*` удаляет каждый инструмент с этого сервера, и `mcp__*` удаляет каждый инструмент MCP с любого сервера |1200| `disallowedTools` | Нет | Массив имён инструментов, явно запрещённых для этого агента. Также принимаются шаблоны уровня MCP-сервера: `mcp__server` или `mcp__server__*` удаляет все инструменты этого сервера, а `mcp__*` удаляет все MCP-инструменты любого сервера |

1198| `prompt` | Да | Системная подсказка агента |1201| `prompt` | Да | Системный промпт агента |

1199| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, такой как `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, или полный ID модели. `'inherit'` использует основную модель. Когда вы его опускаете, Claude Code выбирает модель в [порядке модели подагента](/docs/ru/sub-agents#choose-a-model) |1202| `model` | Нет | Переопределение модели для этого агента. Принимает псевдоним, например `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, или полный ID модели. `'inherit'` использует основную модель. Если поле не указано, Claude Code выбирает модель в [порядке выбора модели субагента](/docs/ru/sub-agents#choose-a-model) |

1200| `mcpServers` | Нет | Спецификации MCP сервера для этого агента |1203| `mcpServers` | Нет | Спецификации MCP-серверов для этого агента |

1201| `skills` | Нет | Массив имен навыков для предварительной загрузки в контекст агента |1204| `skills` | Нет | Массив имён скиллов для предварительной загрузки в контекст агента |

1202| `initialPrompt` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает как агент основного потока |1205| `initialPrompt` | Нет | Автоматически отправляется как первый ход пользователя, когда этот агент работает в качестве агента основного потока |

1203| `maxTurns` | Нет | Максимальное количество агентивных ходов (раунды API) перед остановкой |1206| `maxTurns` | Нет | Максимальное число ходов агента (циклов обращения к API) до остановки |

1204| `background` | Нет | Запустить этого агента как неблокирующую фоновую задачу при вызове |1207| `background` | Нет | Запускать этого агента при вызове как неблокирующую фоновую задачу |

1205| `omitClaudeMd` | Нет | Запустить этого агента без файлов CLAUDE.md пользователя, проекта и локальных файлов, когда он работает как подагент; управляемые файлы политики по-прежнему загружаются. Используйте его для агентов, которые берут все необходимое из подсказки инструмента Agent. Игнорируется, когда этот агент работает как агент основного потока. Требует TypeScript Agent SDK v0.3.271 или позже |1208| `omitClaudeMd` | Нет | Запускать этого агента без пользовательских, проектных и локальных файлов CLAUDE.md, когда он работает как субагент; файлы управляемой политики по-прежнему загружаются. Используйте для агентов, которые получают всё необходимое из промпта инструмента Agent. Игнорируется, когда этот агент работает в качестве агента основного потока. Требуется TypeScript Agent SDK v0.3.271 или новее |

1206| `memory` | Нет | Источник памяти для этого агента: `'user'`, `'project'` или `'local'` |1209| `memory` | Нет | Источник памяти для этого агента: `'user'`, `'project'` или `'local'` |

1207| `effort` | Нет | Уровень усилий рассуждения для этого агента. Принимает названный уровень или целое число |1210| `effort` | Нет | Уровень effort рассуждений для этого агента. Принимает название уровня или целое число |

1208| `permissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте. [Правила наследования подагента](/docs/ru/agent-sdk/permissions#available-modes) решают, когда он применяется. См. [`PermissionMode`](#permissionmode) |1211| `permissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте. Когда он применяется, определяют [правила наследования для субагентов](/docs/ru/agent-sdk/permissions#available-modes). См. [`PermissionMode`](#permissionmode) |

1209| `criticalSystemReminder_EXPERIMENTAL` | Нет | Экспериментальный: Критическое напоминание, добавленное в системную подсказку |1212| `criticalSystemReminder_EXPERIMENTAL` | Нет | Экспериментальное: критически важное напоминание, добавляемое в системный промпт |

1210 1213 

1211<h3 id="agentmcpserverspec">1214<h3 id="agentmcpserverspec">

1212 `AgentMcpServerSpec`1215 `AgentMcpServerSpec`

1213</h3>1216</h3>

1214 1217 

1215Указывает MCP серверы, доступные подагенту. Может быть именем сервера (строка, ссылающаяся на сервер из конфигурации `mcpServers` родителя) или встроенной записью конфигурации сервера, сопоставляющей имена серверов с конфигурациями.1218Определяет MCP-серверы, доступные субагенту. Может быть именем сервера (строкой, ссылающейся на сервер из конфигурации `mcpServers` родителя) или встроенной записью конфигурации сервера, сопоставляющей имена серверов с конфигурациями.

1216 1219 

1217```typescript theme={null}1220```typescript theme={null}

1218type AgentMcpServerSpec = string | Record<string, McpServerConfigForProcessTransport>;1221type AgentMcpServerSpec = string | Record<string, McpServerConfigForProcessTransport>;


1224 `SettingSource`1227 `SettingSource`

1225</h3>1228</h3>

1226 1229 

1227Контролирует, какие источники конфигурации на основе файловой системы SDK загружает параметры из.1230Определяет, из каких источников конфигурации в файловой системе SDK загружает настройки.

1228 1231 

1229```typescript theme={null}1232```typescript theme={null}

1230type SettingSource = "user" | "project" | "local";1233type SettingSource = "user" | "project" | "local";

1231```1234```

1232 1235 

1233| Значение | Описание | Местоположение |1236| Значение | Описание | Расположение |

1234| :- | :- | :- |1237| :- | :- | :- |

1235| `'user'` | Глобальные параметры пользователя | `~/.claude/settings.json` |1238| `'user'` | Глобальные пользовательские настройки | `~/.claude/settings.json` |

1236| `'project'` | Общие параметры проекта (контролируемые версией) | `.claude/settings.json` |1239| `'project'` | Общие настройки проекта (под контролем версий) | `.claude/settings.json` |

1237| `'local'` | Локальные параметры проекта, gitignored когда Claude Code сохраняет параметр в него | `.claude/settings.local.json` |1240| `'local'` | Локальные настройки проекта, добавляются в gitignore, когда Claude Code сохраняет в них настройку | `.claude/settings.local.json` |

1238 1241 

1239<h4 id="default-behavior">1242<h4 id="default-behavior">

1240 Поведение по умолчанию1243 Поведение по умолчанию

1241</h4>1244</h4>

1242 1245 

1243Когда `settingSources` опущен или `undefined`, `query()` загружает те же параметры файловой системы, что и CLI Claude Code: пользователя, проекта и локальные. См. [Что settingSources не контролирует](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control) для входов, которые читаются независимо от этого параметра, и как их отключить.1246Если `settingSources` не указан или равен `undefined`, `query()` загружает те же настройки из файловой системы, что и Claude Code CLI: пользовательские, проектные и локальные. Сведения о входных данных, которые считываются независимо от этого параметра, и о том, как их отключить, см. в разделе [Что не контролирует settingSources](/docs/ru/agent-sdk/claude-code-features#what-settingsources-does-not-control).

1244 1247 

1245<h4 id="why-use-settingsources">1248<h4 id="why-use-settingsources">

1246 Почему использовать settingSources1249 Зачем использовать settingSources

1247</h4>1250</h4>

1248 1251 

1249**Отключить параметры файловой системы:**1252**Отключение настроек из файловой системы:**

1250 1253 

1251```typescript theme={null}1254```typescript theme={null}

1252import { query } from "@anthropic-ai/claude-agent-sdk";1255import { query } from "@anthropic-ai/claude-agent-sdk";


1258});1261});

1259```1262```

1260 1263 

1261**Загрузить только определенные источники параметров:**1264**Загрузка только определённых источников настроек:**

1262 1265 

1263```typescript theme={null}1266```typescript theme={null}

1264import { query } from "@anthropic-ai/claude-agent-sdk";1267import { query } from "@anthropic-ai/claude-agent-sdk";


1272});1275});

1273```1276```

1274 1277 

1275Чтобы загрузить инструкции проекта CLAUDE.md, включите `"project"` в `settingSources`. См. [Изменить системные подсказки](/docs/ru/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions) для того, как загрузка CLAUDE.md взаимодействует с параметрами системной подсказки.1278Чтобы загрузить инструкции проекта из CLAUDE.md, включите `"project"` в `settingSources`. О том, как загрузка CLAUDE.md взаимодействует с параметрами системного промпта, см. в разделе [Изменение системных промптов](/docs/ru/agent-sdk/modifying-system-prompts#claude-md-files-for-project-level-instructions).

1276 1279 

1277<h4 id="settings-precedence">1280<h4 id="settings-precedence">

1278 Приоритет параметров1281 Приоритет настроек

1279</h4>1282</h4>

1280 1283 

1281Когда загружаются несколько источников, параметры объединяются с этим приоритетом (от наивысшего к наименьшему):1284Когда загружается несколько источников, настройки объединяются в следующем порядке приоритета (от высшего к низшему):

1282 1285 

12831. Локальные параметры (`.claude/settings.local.json`)12861. Локальные настройки (`.claude/settings.local.json`)

12842. Параметры проекта (`.claude/settings.json`)12872. Настройки проекта (`.claude/settings.json`)

12853. Параметры пользователя (`~/.claude/settings.json`)12883. Пользовательские настройки (`~/.claude/settings.json`)

1286 1289 

1287Программные параметры, такие как `agents`, `allowedTools` и `settings`, переопределяют параметры файловой системы пользователя, проекта и локальные. Параметры управляемой политики имеют приоритет над программными параметрами.1290Программные параметры, такие как `agents`, `allowedTools` и `settings`, переопределяют пользовательские, проектные и локальные настройки из файловой системы. Управляемые настройки политик имеют приоритет над программными параметрами.

1288 1291 

1289<h3 id="permissionmode">1292<h3 id="permissionmode">

1290 `PermissionMode`1293 `PermissionMode`


1306 1309 

1307Тип пользовательской функции разрешений для управления использованием инструментов.1310Тип пользовательской функции разрешений для управления использованием инструментов.

1308 1311 

1309Функция — это замена SDK для интерактивного запроса разрешений: она вызывается только когда [поток оценки разрешений](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) разрешается в запрос. Вызовы инструментов, уже одобренные записью `allowedTools`, правилом разрешения параметров или режимом разрешений, таким как `acceptEdits` или `bypassPermissions`, никогда не вызывают его. Чтобы контролировать каждый вызов инструмента, используйте hook [`PreToolUse`](/docs/ru/agent-sdk/hooks) вместо этого.1312Эта функция заменяет в SDK интерактивный запрос разрешения: она вызывается только тогда, когда [процесс оценки разрешений](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) приводит к запросу. Вызовы инструментов, уже одобренные записью `allowedTools`, разрешающим правилом в настройках или режимом разрешений, например `acceptEdits` или `bypassPermissions`, никогда её не вызывают. Чтобы контролировать каждый вызов инструмента, используйте вместо этого [хук `PreToolUse`](/docs/ru/agent-sdk/hooks).

1310 1313 

1311Правило разрешения не предварительно одобряет [действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves); см. [Как оцениваются разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated) для того, какие из них достигают обратного вызова и что происходит в режиме `dontAsk` и `auto`.1314Разрешающее правило не одобряет заранее [действия, которые не одобряются автоматически ни в одном режиме](/docs/ru/permission-modes#actions-no-mode-auto-approves); о том, какие из них доходят до callback-функции и что происходит в режимах `dontAsk` и `auto`, см. в разделе [Как оцениваются разрешения](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated).

1312 1315 

1313```typescript theme={null}1316```typescript theme={null}

1314type CanUseTool = (1317type CanUseTool = (


1331 1334 

1332| Параметр | Тип | Описание |1335| Параметр | Тип | Описание |

1333| :- | :- | :- |1336| :- | :- | :- |

1334| `signal` | `AbortSignal` | Сигнализируется, если операция должна быть прервана |1337| `signal` | `AbortSignal` | Срабатывает, если операцию следует прервать |

1335| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Предложенные обновления разрешений, чтобы пользователь не был запрошен снова для этого инструмента. Подсказки Bash включают предложение с назначением `localSettings` [destination](#permissionupdatedestination), поэтому возврат его в `updatedPermissions` записывает правило в `.claude/settings.local.json` и сохраняется между сеансами. |1338| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Предлагаемые обновления разрешений, чтобы пользователю не приходилось снова подтверждать этот инструмент. Запросы для Bash включают предложение с [назначением](#permissionupdatedestination) `localSettings`, поэтому его возврат в `updatedPermissions` записывает правило в `.claude/settings.local.json` и сохраняет его между сессиями. |

1336| `blockedPath` | `string` | Путь файла, который вызвал запрос разрешения, если применимо |1339| `blockedPath` | `string` | Путь к файлу, вызвавшему запрос разрешения, если применимо |

1337| `mcpServer` | `{ name: string; source: string }` | Для инструмента `mcp__*`, MCP сервер, который его обслуживает, и откуда определение этого сервера пришло, с полями [`McpServerProvenance`](#mcpserverprovenance). Отсутствует для других инструментов. Требует Agent SDK v0.3.274 или позже |1340| `mcpServer` | `{ name: string; source: string }` | Для инструмента `mcp__*` — MCP-сервер, который его предоставляет, и источник определения этого сервера, с полями [`McpServerProvenance`](#mcpserverprovenance). Отсутствует для других инструментов. Требуется Agent SDK v0.3.274 или новее |

1338| `decisionReason` | `string` | Объясняет, почему был вызван этот запрос разрешения |1341| `decisionReason` | `string` | Объясняет, почему был вызван этот запрос разрешения |

1339| `defaultToNo` | `boolean` | Когда `true`, одиночный случайный нажатие клавиши не должно одобрить этот запрос: откройте вашу подсказку на его опции отклонения, не предварительно выбирайте одобрение и не предлагайте ярлык одобрения одной клавишей. Требует Agent SDK v0.3.268 или позже |1342| `defaultToNo` | `boolean` | Если `true`, одно случайное нажатие клавиши не должно одобрять этот запрос: открывайте запрос с фокусом на варианте отказа, не выбирайте одобрение заранее и не предлагайте сочетание клавиш для одобрения одним нажатием. Требуется Agent SDK v0.3.268 или новее |

1340| `suppressAlwaysAllowRule` | `boolean` | Когда `true`, не предлагайте постоянный выбор всегда разрешить для этого запроса, потому что правило, которое он напишет, предоставляет больше, чем действие самого запроса. Требует Agent SDK v0.3.268 или позже |1343| `suppressAlwaysAllowRule` | `boolean` | Если `true`, не предлагайте для этого запроса постоянный вариант «всегда разрешать». Требуется Agent SDK v0.3.268 или новее |

1341| `toolUseID` | `string` | Уникальный идентификатор для этого конкретного вызова инструмента в сообщении помощника |1344| `toolUseID` | `string` | Уникальный идентификатор этого конкретного вызова инструмента в сообщении ассистента |

1342| `agentID` | `string` | Если работает в подагенте, ID подагента |1345| `agentID` | `string` | Если выполняется внутри субагента — ID субагента |

1343| `requestId` | `string` | `request_id` оболочки `control_request`. `control_response`, которую ваше приложение отправляет вне SDK, такую как подписанный HTTP POST, должна повторить это значение, чтобы процесс Claude Code мог сопоставить ответ с запросом |1346| `requestId` | `string` | `request_id` конверта `control_request`. `control_response`, который ваше приложение отправляет вне SDK, например подписанным HTTP POST, должен повторять это значение, чтобы процесс Claude Code мог сопоставить ответ с запросом |

1344 1347 

1345Обратный вызов обычно разрешает запрос, возвращая [`PermissionResult`](#permissionresult), который SDK записывает обратно через свой транспорт как `control_response`. Возвращайте `null` только когда ваше приложение уже отправило `control_response` для этого запроса через свой собственный канал, повторив `requestId`; SDK затем пропускает запись ответа на свой транспорт. Возврат `null` в любом другом случае оставляет вызов инструмента заблокированным неопределенно, потому что `control_response` никогда не отправляется и запросы разрешений не имеют тайм-аута.1348Обычно callback-функция разрешает запрос, возвращая [`PermissionResult`](#permissionresult), который SDK записывает обратно через свой транспорт как `control_response`. Возвращайте `null` только тогда, когда ваше приложение уже отправило `control_response` для этого запроса по собственному каналу, повторив `requestId`; в этом случае SDK не записывает ответ в свой транспорт. Возврат `null` в любом другом случае оставляет вызов инструмента заблокированным на неопределённый срок, поскольку `control_response` так и не отправляется, а у запросов разрешений нет таймаута.

1346 1349 

1347Параметр `requestId` и возвращаемое значение `null` требуют Claude Code v2.1.199 или позже.1350Параметр `requestId` и возвращаемое значение `null` требуют Claude Code v2.1.199 или новее.

1348 1351 

1349<h3 id="permissionresult">1352<h3 id="permissionresult">

1350 `PermissionResult`1353 `PermissionResult`


1372 `ToolConfig`1375 `ToolConfig`

1373</h3>1376</h3>

1374 1377 

1375Конфигурация для поведения встроенного инструмента.1378Конфигурация поведения встроенных инструментов.

1376 1379 

1377```typescript theme={null}1380```typescript theme={null}

1378type ToolConfig = {1381type ToolConfig = {


1384 1387 

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

1386| :- | :- | :- |1389| :- | :- | :- |

1387| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Включает поле `preview` на параметрах [`AskUserQuestion`](/docs/ru/agent-sdk/user-input#question-format) и устанавливает его формат содержимого. Когда не установлено, Claude не выдает предпросмотры |1390| `askUserQuestion.previewFormat` | `'markdown' \| 'html'` | Включает поле `preview` в вариантах [`AskUserQuestion`](/docs/ru/agent-sdk/user-input#question-format) и задаёт формат его содержимого. Если не задано, Claude не выводит превью |

1388 1391 

1389<h3 id="mcpserverconfig">1392<h3 id="mcpserverconfig">

1390 `McpServerConfig`1393 `McpServerConfig`

1391</h3>1394</h3>

1392 1395 

1393Конфигурация для MCP серверов.1396Конфигурация MCP-серверов.

1394 1397 

1395```typescript theme={null}1398```typescript theme={null}

1396type McpServerConfig =1399type McpServerConfig =


1480| :- | :- | :- |1483| :- | :- | :- |

1481| `type` | `'local'` | Должно быть `'local'` (в настоящее время поддерживаются только локальные плагины) |1484| `type` | `'local'` | Должно быть `'local'` (в настоящее время поддерживаются только локальные плагины) |

1482| `path` | `string` | Абсолютный или относительный путь к каталогу плагина |1485| `path` | `string` | Абсолютный или относительный путь к каталогу плагина |

1483| `skipMcpDiscovery` | `boolean` | Когда `true`, SDK загружает навыки, hooks, агентов и команды из этого плагина, но не читает его `.mcp.json` или манифест `mcpServers`. Установите это, когда ваше приложение владеет подключениями MCP плагина. |1486| `skipMcpDiscovery` | `boolean` | Если `true`, SDK загружает скиллы, хуки, агентов и команды из этого плагина, но не читает его `.mcp.json` или `mcpServers` из манифеста. Задайте этот параметр, если MCP-подключениями плагина управляет ваше приложение. |

1484 1487 

1485**Пример:**1488**Пример:**

1486 1489 


1491];1494];

1492```1495```

1493 1496 

1494Для полной информации о создании и использовании плагинов см. [Плагины](/docs/ru/agent-sdk/plugins).1497Полную информацию о создании и использовании плагинов см. в разделе [Плагины](/docs/ru/agent-sdk/plugins).

1495 1498 

1496<h2 id="message-types">1499<h2 id="message-types">

1497 Типы сообщений1500 Типы сообщений


3788};3791};

3789```3792```

3790 3793 

3791Сообщает о результатах проверки кода как структурированный список, чтобы Claude Code мог их отобразить вместо вывода их как текст. `level` — это уровень усилий, на котором выполнялась проверка. Результаты упорядочены от наиболее серьёзных, максимум 32 на вызов, и массив пуст, когда ничего не выжило. Требует Claude Code v2.1.196 или позже.3794Сообщает о результатах код-ревью как структурированный список, чтобы Claude Code мог их отобразить вместо вывода их как текст. Результаты упорядочены от наиболее серьёзных, максимум 32 на вызов, и массив пуст, когда ничего не выжило. Требует Claude Code v2.1.196 или позже.

3795 

3796`level` опционален и содержит уровень effort, который Claude сообщает для ревью. Claude Code не сравнивает его с уровнем, на котором фактически выполнялось ревью, поэтому они могут различаться.

3792 3797 

3793Каждый результат содержит эти поля:3798Каждый результат содержит эти поля:

3794 3799 


4838};4843};

4839```4844```

4840 4845 

4841Возвращает количество сообщённых находок, уровень effort, с которым выполнялась проверка, и находки, возвращённые обратно для тела результата. Требуется Claude Code v2.1.196 или новее. Для возвращаемого поля `short_summary` требуется Claude Code v2.1.212 или новее.4846Возвращает количество сообщённых находок, значение `level`, переданное Claude, и находки, возвращённые обратно для тела результата. Требуется Claude Code v2.1.196 или новее. Для возвращаемого поля `short_summary` требуется Claude Code v2.1.212 или новее.

4842 4847 

4843<h3 id="artifact-2">4848<h3 id="artifact-2">

4844 Artifact4849 Artifact


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

5460```5465```

5461 5466 

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

5463 5468 

5464<h3 id="spawnedprocess">5469<h3 id="spawnedprocess">

5465 `SpawnedProcess`5470 `SpawnedProcess`


5530 5535 

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

5532 5537 

5533* **Серверы, которые вызов не называет**: Claude Code оставляет серверы, предоставленные плагинами, работающими. Требует Agent SDK v0.3.210 или более поздней версии.5538* **Серверы, которые вызов не называет**: вне [облачной сессии](/docs/ru/claude-code-on-the-web) Claude Code отключает серверы, добавленные предыдущим вызовом `setMcpServers()`, и встроенные в процесс SDK-серверы, и перечисляет их в `removed`. Остальные серверы продолжают работать и не перечисляются в `removed`, в том числе stdio-, HTTP- и SSE-серверы из опции [`mcpServers`](#options), серверы из файлов настроек и серверы, предоставленные плагинами.

5534* **Серверы, которые вызов называет**: за исключением встроенных серверов, которые CLI запустил при старте, Claude Code заменяет работающий сервер, только если его конфигурация отличается от переданной вами.5539* **Серверы, которые вызов называет**: Claude Code заменяет stdio-, HTTP- или SSE-сервер, добавленный предыдущим вызовом `setMcpServers()`, только если его конфигурация отличается от переданной вами. Встроенный в процесс SDK-сервер, уже зарегистрированный под этим именем, остаётся без изменений, поэтому, чтобы заменить его, исключите его из одного вызова и добавьте в следующем.

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

5536 5541 

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


5851 tasks: {5856 tasks: {

5852 task_id: string;5857 task_id: string;

5853 task_type: string;5858 task_type: string;

5859 subagent_type?: string;

5854 description: string;5860 description: string;

5855 ambient?: boolean;5861 ambient?: boolean;

5856 }[];5862 }[];


5859};5865};

5860```5866```

5861 5867 

5868`subagent_type` называет тип субагента в записях, у которых [`task_type`](#sdktaskstartedmessage) имеет значение `"local_agent"`, например `general-purpose` или имя пользовательского субагента. Поле требует Agent SDK v0.3.293 или более поздней версии.

5869 

5862<h3 id="sdkthinkingtokensmessage">5870<h3 id="sdkthinkingtokensmessage">

5863 `SDKThinkingTokensMessage`5871 `SDKThinkingTokensMessage`

5864</h3>5872</h3>

agent-view.md +1 −0

Details

819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Удалить сессию, удаление которой было отклонено из-за неотправленных коммитов, отбросив worktree вместе с его веткой и коммитами. Передайте точное значение, которое вывело отклонение; см. [Что удаляет удаление сессии](#what-deleting-a-session-removes). Требуется v2.1.260 или позже |819| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Удалить сессию, удаление которой было отклонено из-за неотправленных коммитов, отбросив worktree вместе с его веткой и коммитами. Передайте точное значение, которое вывело отклонение; см. [Что удаляет удаление сессии](#what-deleting-a-session-removes). Требуется v2.1.260 или позже |

820| `claude rm <id> --force-remove-worktree <worktree-id>` | Удалить сессию, удаление которой было отклонено, потому что git или хук `WorktreeRemove` не смогли удалить её worktree, удалив каталог worktree в любом случае и оставив его ветку в репозитории. Передайте точное значение, которое вывело отклонение; см. [Что удаляет удаление сессии](#what-deleting-a-session-removes). Требуется v2.1.268 или позже |820| `claude rm <id> --force-remove-worktree <worktree-id>` | Удалить сессию, удаление которой было отклонено, потому что git или хук `WorktreeRemove` не смогли удалить её worktree, удалив каталог worktree в любом случае и оставив его ветку в репозитории. Передайте точное значение, которое вывело отклонение; см. [Что удаляет удаление сессии](#what-deleting-a-session-removes). Требуется v2.1.268 или позже |

821| `claude daemon status` | Вывести состояние [supervisor](#the-supervisor-process), версию, каталог сокета и количество рабочих процессов |821| `claude daemon status` | Вывести состояние [supervisor](#the-supervisor-process), версию, каталог сокета и количество рабочих процессов |

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

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

823 824 

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

agents.md +1 −1

Details

20 20 

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

22 22 

23* [Worktrees](/docs/ru/worktrees) дают каждому сеансу отдельный git checkout, поэтому параллельные сеансы никогда не редактируют одни и те же файлы. Используйте их для сеансов, которые вы запускаете сами. Сеанс, который вы отправляете из agent view, [переходит в свой собственный worktree перед редактированием файлов](/docs/ru/agent-view#how-file-edits-are-isolated), и подагенты, которых вы порождаете, могут получить свой собственный.23* [Worktrees](/docs/ru/worktrees) дают каждой сессии отдельный git checkout, поэтому параллельные сессии редактируют каждая свою копию файлов. Используйте их для сессий, которые вы запускаете сами. Сессия, которую вы отправляете из agent view, [переходит в свой собственный worktree перед редактированием файлов](/docs/ru/agent-view#how-file-edits-are-isolated), и субагенты, которых вы порождаете, тоже могут получить каждый свой.

24* [Cross-session messaging](/docs/ru/cross-session-messaging) позволяет Claude перечислять и отправлять сообщения вашим другим сеансам Claude Code на этой машине, на другой машине или [в облаке](/docs/ru/claude-code-on-the-web), поэтому сеансы, которые вы запускаете сами, могут передавать результаты и статус между собой.24* [Cross-session messaging](/docs/ru/cross-session-messaging) позволяет Claude перечислять и отправлять сообщения вашим другим сеансам Claude Code на этой машине, на другой машине или [в облаке](/docs/ru/claude-code-on-the-web), поэтому сеансы, которые вы запускаете сами, могут передавать результаты и статус между собой.

25* [`/batch`](/docs/ru/commands) — это [skill](/docs/ru/skills), который заставляет Claude разделить одно большое изменение на 5–30 worktree-изолированных подагентов. Это упакованное использование подагентов и worktrees, а не отдельный стиль координации.25* [`/batch`](/docs/ru/commands) — это [skill](/docs/ru/skills), который заставляет Claude разделить одно большое изменение на 5–30 worktree-изолированных подагентов. Это упакованное использование подагентов и worktrees, а не отдельный стиль координации.

26 26 

Details

188 188 

189Кэш охватывает все варианты учётных данных выше, кроме ключа API Amazon Bedrock, который не использует цепочку поставщика. Чтобы разрешить цепочку при каждом запросе, установите [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/ru/env-vars).189Кэш охватывает все варианты учётных данных выше, кроме ключа API Amazon Bedrock, который не использует цепочку поставщика. Чтобы разрешить цепочку при каждом запросе, установите [`CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`](/docs/ru/env-vars).

190 190 

191Каждое разрешение цепочки истекает через 60 секунд. Если шаг в цепочке зависает, например вспомогательный процесс `credential_process`, который ожидает входных данных, которые он не может получить, запрос завершается с ошибкой [`AWS default-chain credential resolve timed out`](/docs/ru/errors#aws-default-chain-credential-resolve-timed-out). Если ваша цепочка запускает интерактивный вход, который законно требует больше времени, например браузерный SSO с MFA через оболочку типа `aws-vault`, повысьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars). До v2.1.207 зависшее разрешение учётных данных оставляло запрос в ожидании неопределённо долго.191Разрешение, которое заполняет кэш, прерывается по таймауту через 60 секунд. Если шаг в цепочке зависает, например вспомогательный процесс `credential_process`, который ожидает входных данных, которые он не может получить, запрос завершается с ошибкой [`AWS default-chain credential resolve timed out`](/docs/ru/errors#aws-default-chain-credential-resolve-timed-out). Если ваша цепочка запускает интерактивный вход, который законно требует больше времени, например браузерный SSO с MFA через оболочку типа `aws-vault`, повысьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars). Если установлено `CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1`, каждый запрос к API разрешает цепочку без этого лимита.

192 192 

193За исключением случаев, когда вы аутентифицируетесь с помощью ключа API Amazon Bedrock, [мастер настройки](#sign-in-with-bedrock) применяет тот же лимит к каждому вызову AWS, который он делает при проверке учётных данных, и к поиску учётных данных перед каждой проверкой модели. Во время проверки учётных данных проверка, которая превышает лимит, завершается с ошибкой [`Timed out after 60s waiting for AWS`](/docs/ru/errors#bedrock-setup-verification-timed-out-waiting-for-aws).193За исключением случаев, когда вы аутентифицируетесь с помощью ключа API Amazon Bedrock, [мастер настройки](#sign-in-with-bedrock) применяет тот же лимит к каждому вызову AWS, который он делает при проверке учётных данных, и к поиску учётных данных перед каждой проверкой модели. Во время проверки учётных данных проверка, которая превышает лимит, завершается с ошибкой [`Timed out after 60s waiting for AWS`](/docs/ru/errors#bedrock-setup-verification-timed-out-waiting-for-aws).

194 194 


681 681 

682Amazon Bedrock передает ответы `InvokeModelWithResponseStream` в двоичном формате event-stream с заголовком `Content-Type: application/vnd.amazon.eventstream`. Шлюз или прокси между Claude Code и Amazon Bedrock должны передавать тело ответа и его заголовки, включая `Content-Type`, так как их отправил Amazon Bedrock.682Amazon Bedrock передает ответы `InvokeModelWithResponseStream` в двоичном формате event-stream с заголовком `Content-Type: application/vnd.amazon.eventstream`. Шлюз или прокси между Claude Code и Amazon Bedrock должны передавать тело ответа и его заголовки, включая `Content-Type`, так как их отправил Amazon Bedrock.

683 683 

684Если шлюз переписывает `Content-Type` на другое значение, Claude Code отклоняет ответ с ошибкой, которая начинается с `Bedrock streaming response has content-type`, указывая полученное значение. Обычная переписка — это `text/event-stream` из интеграции, которая повторно передает поток как события, отправляемые сервером.684Если шлюз переписывает `Content-Type` на другое значение, Claude Code отклоняет ответ с ошибкой, которая начинается с `Bedrock streaming response has content-type`, указывая полученное значение. Чаще всего значение переписывается на `text/event-stream` интеграцией, которая повторно передает поток как события, отправляемые сервером. О переменной `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD`, которую называет сообщение об ошибке, см. [Bedrock streaming response has an unexpected content-type](/docs/ru/errors#bedrock-streaming-response-has-an-unexpected-content-type).

685 685 

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

687 687 

authentication.md +16 −16

Details

12 Вход в Claude Code12 Вход в Claude Code

13</h2>13</h2>

14 14 

15После [установки Claude Code](/docs/ru/setup#install-claude-code) запустите `claude` в вашем терминале. При первом запуске Claude Code откроет окно браузера для входа. Если вы установили переменную окружения `ANTHROPIC_API_KEY`, Claude Code пропустит приглашение входа и вместо этого попросит вас одобрить ключ.15После [установки Claude Code](/docs/ru/setup#install-claude-code) выполните `claude` в терминале. При первом запуске Claude Code открывает окно браузера для входа. Если вы задали переменную окружения `ANTHROPIC_API_KEY` и одобрили этот ключ, когда Claude Code спросит, использовать ли его, Claude Code пропускает запрос на вход.

16 16 

17Если браузер не откроется автоматически, нажмите `c`, чтобы скопировать URL входа в буфер обмена, а затем вставьте его в браузер.17Если браузер не открывается автоматически, нажмите `c`, чтобы скопировать URL для входа в буфер обмена, а затем вставьте его в браузер.

18 18 

19Если ваш браузер показывает код входа вместо перенаправления после входа, вставьте его в терминал в приглашение `Paste code here if prompted`. Это происходит, когда браузер не может достичь локального сервера обратного вызова Claude Code, что часто встречается в WSL2, сеансах SSH и контейнерах.19Если после входа браузер показывает код входа вместо перенаправления обратно, вставьте его в терминал в ответ на запрос `Paste code here if prompted`. Это происходит, когда браузер не может связаться с локальным callback-сервером Claude Code, что часто бывает в WSL2, SSH-сессиях и контейнерах.

20 20 

21Когда вход завершится, терминал отобразит `Login successful` и предложит вам нажать `Enter` для продолжения.21Когда вход завершится, терминал покажет `Login successful` и предложит нажать `Enter`, чтобы продолжить.

22 22 

23Вы можете аутентифицироваться с помощью любого из этих типов учетных записей:23Вы можете пройти аутентификацию с любым из следующих типов учётных записей:

24 24 

25* **Подписка Claude Pro или Max**: войдите с помощью вашей учетной записи claude.ai. Подпишитесь на [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).25* **Подписка Claude Pro или Max**: войдите с помощью своей учётной записи claude.ai. Оформить подписку можно на [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

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

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

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

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

30 30 

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

32 32 

33Чтобы выйти и повторно аутентифицироваться, введите `/logout` в приглашение Claude Code. Выход также сбрасывает состояние первоначальной настройки, поэтому при следующем запуске `claude` вас проведут через вход и настройку снова.33Чтобы выйти и пройти аутентификацию заново, введите `/logout` в промпте Claude Code. Выход также сбрасывает состояние первоначальной настройки, поэтому при следующем запуске `claude` вы снова пройдёте через вход и настройку.

34 34 

35Если у вас возникли проблемы с входом, см. [устранение неполадок аутентификации](/docs/ru/troubleshoot-install#login-and-authentication).35Если у вас возникли проблемы со входом, см. [устранение неполадок аутентификации](/docs/ru/troubleshoot-install#login-and-authentication).

36 36 

37<h3 id="log-in-with-multiple-accounts">37<h3 id="log-in-with-multiple-accounts">

38 Вход с несколькими учетными записями38 Вход с несколькими учётными записями

39</h3>39</h3>

40 40 

41Чтобы оставаться в системе с несколькими учетными записями одновременно, например с рабочей и личной учетными записями, дайте каждой учетной записи свой собственный каталог конфигурации. Когда вы запускаете `claude`, установите переменную окружения [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars#variables) в каталог для учетной записи, которую вы хотите использовать. Каждый каталог имеет свои собственные параметры, историю сеансов и вход claude.ai или API ключ. Например, в Bash или Zsh добавьте этот псевдоним в `~/.bashrc` или `~/.zshrc`, чтобы `claude-work` использовал вашу рабочую учетную запись, а `claude` сохранял вашу личную:41Чтобы оставаться в системе одновременно в нескольких учётных записях, например рабочей и личной, выделите каждой учётной записи собственный каталог конфигурации. При запуске `claude` задайте переменную окружения [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars#variables), указав каталог нужной учётной записи. У каждого каталога свои настройки, история сессий и вход claude.ai или API-ключ. Например, в Bash или Zsh добавьте этот псевдоним в `~/.bashrc` или `~/.zshrc`, чтобы `claude-work` использовал вашу рабочую учётную запись, а `claude` — личную:

42 42 

43```bash theme={null}43```bash theme={null}

44alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'44alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

45```45```

46 46 

47После открытия нового терминала и первого запуска `claude-work` Claude Code проведет вас через вход и настройку для нового каталога. Отдельные каталоги не разделяют две учетные записи Claude Console [без API ключа](#sign-in-without-an-api-key), потому что Claude Code хранит этот тип входа вне каталога конфигурации.47Когда вы откроете новый терминал и впервые выполните `claude-work`, Claude Code проведёт вас через вход и настройку для нового каталога. Отдельные каталоги не разграничивают два входа в Claude Console [без API-ключа](#sign-in-without-an-api-key): такие входы не остаются независимыми друг от друга, поскольку Claude Code хранит этот тип входа вне каталога конфигурации.

48 48 

49<h2 id="set-up-team-authentication">49<h2 id="set-up-team-authentication">

50 Настройка аутентификации команды50 Настройка аутентификации команды

Details

351}351}

352```352```

353 353 

354Получите отзыв ИИ о ваших пользовательских правилах `allow`, `soft_deny` и `hard_deny`:354Получите отзыв ИИ о ваших пользовательских записях `allow`, `soft_deny`, `hard_deny` и `environment`:

355 355 

356```bash theme={null}356```bash theme={null}

357claude auto-mode critique357claude auto-mode critique

chrome.md +1 −1

Details

343 343 

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

345| - | - | - |345| - | - | - |

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

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

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

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

Details

75| - | - |75| - | - |

76| Claude Code v2.1.195 или позже | Подкоманда `claude gateway` и поток входа шлюза поставляются в v2.1.195. Более ранние общедоступные сборки их не включают. Как машина, запускающая сервер шлюза, так и машина каждого разработчика должны быть на v2.1.195 или позже; запустите `claude update`, чтобы получить последний выпуск. [Claude Platform on AWS upstream](/docs/ru/claude-apps-gateway-config#claude-platform-on-aws) требует Claude Code v2.1.198 или позже на сервере шлюза. |76| Claude Code v2.1.195 или позже | Подкоманда `claude gateway` и поток входа шлюза поставляются в v2.1.195. Более ранние общедоступные сборки их не включают. Как машина, запускающая сервер шлюза, так и машина каждого разработчика должны быть на v2.1.195 или позже; запустите `claude update`, чтобы получить последний выпуск. [Claude Platform on AWS upstream](/docs/ru/claude-apps-gateway-config#claude-platform-on-aws) требует Claude Code v2.1.198 или позже на сервере шлюза. |

77| Поставщик удостоверений OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak или Dex, или любой другой совместимый с OIDC IdP, такой как PingFederate. Шлюз запускает стандартное обнаружение OIDC и поток кода авторизации против него. SAML и LDAP не поддерживаются. |77| Поставщик удостоверений OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak или Dex, или любой другой совместимый с OIDC IdP, такой как PingFederate. Шлюз запускает стандартное обнаружение OIDC и поток кода авторизации против него. SAML и LDAP не поддерживаются. |

78| PostgreSQL 14 или позже | Поддерживает поток входа устройства, где обратный вызов браузера пишет, а опрашивающий CLI читает, плюс счётчики ограничения скорости. Любой управляемый Postgres работает, включая самый маленький уровень. Без настроенных ограничений расходов шлюз хранит несколько КБ краткосрочного состояния аутентификации; с [ограничениями расходов](/docs/ru/claude-apps-gateway-spend-limits) он также содержит долговечные таблицы расходов, аудита и идентификации, которые должны быть скопированы. TLS через `?sslmode=require` рекомендуется. |78| PostgreSQL 11 или позже | Обеспечивает работу потока входа устройства и счётчиков ограничения частоты запросов. Подойдёт управляемый сервис PostgreSQL, включая самый маленький уровень; см. [какие базы данных поддерживаются](/docs/ru/claude-apps-gateway-deploy#postgres). С [ограничениями расходов](/docs/ru/claude-apps-gateway-spend-limits) он также содержит долговечные таблицы расходов, аудита и идентификации, для которых следует создавать резервные копии. TLS через `?sslmode=require` рекомендуется. PostgreSQL 11, 12 и 13 требуют Claude Code v2.1.290 или позже на сервере шлюза. Проект PostgreSQL больше не поддерживает эти версии, поэтому по возможности используйте более новую. |

79| Вышестоящий уровень модели | Учётные данные Amazon Bedrock, учётные данные Claude Platform on AWS, учётные данные Google Cloud, ресурс Microsoft Foundry или ключ API Anthropic. Поддерживаются несколько вышестоящих уровней с отказоустойчивостью. |79| Вышестоящий уровень модели | Учётные данные Amazon Bedrock, учётные данные Claude Platform on AWS, учётные данные Google Cloud, ресурс Microsoft Foundry или ключ API Anthropic. Поддерживаются несколько вышестоящих уровней с отказоустойчивостью. |

80| HTTPS | Шлюз должен быть доступен по `https://` с ноутбуков разработчиков и из любого браузера, используемого для входа; шлюз служит страницей проверки устройства на том же слушателе. Либо предоставьте сертификат TLS через `listen.tls`, либо запустите позади завершающего TLS входа, и установите `listen.public_url` на внешнее происхождение в обоих случаях. При `/login` Claude Code принимает простое происхождение `http://` только когда хост шлюза является loopback: `localhost`, `127.0.0.1` или `::1`. |80| HTTPS | Шлюз должен быть доступен по `https://` с ноутбуков разработчиков и из любого браузера, используемого для входа; шлюз служит страницей проверки устройства на том же слушателе. Либо предоставьте сертификат TLS через `listen.tls`, либо запустите позади завершающего TLS входа, и установите `listen.public_url` на внешнее происхождение в обоих случаях. При `/login` Claude Code принимает простое происхождение `http://` только когда хост шлюза является loopback: `localhost`, `127.0.0.1` или `::1`. |

81| Адрес частной сети | При `/login` Claude Code требует, чтобы имя хоста или IP-адрес шлюза разрешались только в частные адреса: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` или loopback. Для шлюза, который вы размещаете, любой общедоступный адрес вне блока, который вы объявляете, отклоняется; см. [модель угроз](/docs/ru/claude-apps-gateway-deploy#threat-model-summary) в руководстве развёртывания. Если машины разработчиков маршрутизируют HTTPS через корпоративный прокси, вход также требует, чтобы хост прокси разрешался в частные адреса; если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался напрямую. Если ваша внутренняя сеть пронумерована из общедоступного пространства IPv4, которым владеет ваша организация, [объявите эти блоки](#allow-a-gateway-on-public-address-space-you-own), чтобы `/login` принял шлюз там. |81| Адрес частной сети | При `/login` Claude Code требует, чтобы имя хоста или IP-адрес шлюза разрешались только в частные адреса: RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` или loopback. Для шлюза, который вы размещаете, любой общедоступный адрес вне блока, который вы объявляете, отклоняется; см. [модель угроз](/docs/ru/claude-apps-gateway-deploy#threat-model-summary) в руководстве развёртывания. Если машины разработчиков маршрутизируют HTTPS через корпоративный прокси, вход также требует, чтобы хост прокси разрешался в частные адреса; если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался напрямую. Если ваша внутренняя сеть пронумерована из общедоступного пространства IPv4, которым владеет ваша организация, [объявите эти блоки](#allow-a-gateway-on-public-address-space-you-own), чтобы `/login` принял шлюз там. |


91 </Step>91 </Step>

92 92 

93 <Step title="Подготовьте базу данных PostgreSQL">93 <Step title="Подготовьте базу данных PostgreSQL">

94 Любой Postgres 14 или позже работает, включая самый маленький управляемый уровень. Шлюз запускает свои собственные миграции схемы при загрузке, поэтому пользователю базы данных нужны права для создания и изменения таблиц; см. [`store`](/docs/ru/claude-apps-gateway-config#store).94 Используйте PostgreSQL 11 или позже. Самого маленького управляемого уровня достаточно. Шлюз запускает свои собственные миграции схемы при загрузке, поэтому роли базы данных нужны права для создания и изменения таблиц; см. [`store`](/docs/ru/claude-apps-gateway-config#store).

95 </Step>95 </Step>

96 96 

97 <Step title="Напишите gateway.yaml">97 <Step title="Напишите gateway.yaml">

Details

158Шлюз читает ключ и сертификат один раз при загрузке, поэтому изменённый файл вступает в силу только после перезапуска. Выполняйте ротацию в таком порядке, чтобы ни один запрос токена не предъявлял сертификат, которого нет у IdP:158Шлюз читает ключ и сертификат один раз при загрузке, поэтому изменённый файл вступает в силу только после перезапуска. Выполняйте ротацию в таком порядке, чтобы ни один запрос токена не предъявлял сертификат, которого нет у IdP:

159 159 

1601. Загрузите новый сертификат в IdP в дополнение к старому.1601. Загрузите новый сертификат в IdP в дополнение к старому.

1612. Замените файлы ключа и сертификата, которые загружает `gateway.yaml`, затем перезапустите шлюз.1612. Замените файлы ключа и сертификата, которые загружает `gateway.yaml`, затем перезапустите шлюз. Если вы запускаете несколько реплик, подойдёт [последовательный перезапуск](/docs/ru/claude-apps-gateway-deploy#upgrades), потому что у IdP есть оба сертификата, пока вы не удалите старый.

1623. Удалите старый сертификат из IdP.1623. После перезапуска всех реплик удалите старый сертификат из IdP.

163 163 

164<h4 id="idp-requests-through-a-forward-proxy">164<h4 id="idp-requests-through-a-forward-proxy">

165 Запросы к IdP через прямой прокси165 Запросы к IdP через прямой прокси


227 227 

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

229| - | - | - |229| - | - | - |

230| `postgres_url` | Да | URL `postgres://` или `postgresql://`. Обязателен: точке встречи грантов устройств, куда пишет обратный вызов браузера и откуда читает опрашивающий CLI, нужно состояние, общее для реплик. Шлюз сам выполняет миграции схемы при загрузке и при обновлении, поэтому роли нужны права на создание и изменение таблиц в целевой схеме. См. [Обновления](/docs/ru/claude-apps-gateway-deploy#upgrades) и [Postgres](/docs/ru/claude-apps-gateway-deploy#postgres). |230| `postgres_url` | Да | URL `postgres://` или `postgresql://` с одним хостом, а не списком хостов через запятую. Шлюз сам выполняет миграции схемы при загрузке и при обновлении, поэтому роли нужны права на создание и изменение таблиц в целевой схеме. См. [Обновления](/docs/ru/claude-apps-gateway-deploy#upgrades) и [Postgres](/docs/ru/claude-apps-gateway-deploy#postgres). |

231| `username` | Нет | Переопределяет пользователя в `postgres_url` |231| `username` | Нет | Переопределяет пользователя в `postgres_url` |

232| `password` | Нет | Учётные данные базы данных. Задавайте их здесь, а не в `postgres_url`, чтобы учётные данные не попадали в URL. Принимает любые символы и имеет приоритет над учётными данными из URL. |232| `password` | Нет | Учётные данные базы данных. Задавайте их здесь, а не в `postgres_url`, чтобы учётные данные не попадали в URL. Принимает любые символы и имеет приоритет над учётными данными из URL. |

233| `max_connections` | Нет | Размер пула соединений Postgres на реплику. По умолчанию `5` — консервативное значение, подходящее для общих баз данных. При включённых [лимитах расходов](#admin) горячий путь выполняет несколько операций на каждый запрос инференса, поэтому увеличьте значение для выделенной базы данных под нагрузкой и следите, чтобы число реплик × это значение было меньше `max_connections` базы данных. |233| `max_connections` | Нет | Размер пула соединений Postgres на реплику. По умолчанию `5` — консервативное значение, подходящее для общих баз данных. При включённых [лимитах расходов](#admin) горячий путь выполняет несколько операций на каждый запрос инференса, поэтому увеличьте значение для выделенной базы данных под нагрузкой и следите, чтобы число реплик × это значение было меньше `max_connections` базы данных. |


376| В других средах | Передайте учётные данные через переменные окружения `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN` или задайте их явно в `auth:` с подстановкой `${VAR}` |376| В других средах | Передайте учётные данные через переменные окружения `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN` или задайте их явно в `auth:` с подстановкой `${VAR}` |

377| Регион | `region:` — регион эндпоинта API. Межрегиональные профили инференса маршрутизируют запросы в пределах географии (США, ЕС, APAC) независимо от выбранного региона. Для регионов за пределами США или ARN с выделенной пропускной способностью добавьте блок [`models:`](#models) с правильными ID для каждого upstream. |377| Регион | `region:` — регион эндпоинта API. Межрегиональные профили инференса маршрутизируют запросы в пределах географии (США, ЕС, APAC) независимо от выбранного региона. Для регионов за пределами США или ARN с выделенной пропускной способностью добавьте блок [`models:`](#models) с правильными ID для каждого upstream. |

378 378 

379<a id="apply-an-amazon-bedrock-guardrail" />

380 

379<h5 id="apply-an-amazon-bedrock-guardrail">381<h5 id="apply-an-amazon-bedrock-guardrail">

380 Применение guardrail Amazon Bedrock382 Применение guardrail Amazon Bedrock

381</h5>383</h5>


921 923 

922 Применяются два часов распространения:924 Применяются два часов распространения:

923 925 

924 * **Содержание политики**: редактирование политики и переразвёртывание достигает подключённых клиентов при их следующем опросе управляемых настроек, в течение часа, кроме [изменений, которые применяются только при следующем запуске](/docs/ru/server-managed-settings#fetch-and-caching-behavior)926 * **Содержание политики**: редактирование политики и переразвёртывание достигает подключённых клиентов Claude Code при их следующем опросе управляемых настроек, в течение часа, кроме [изменений, которые применяются только при следующем запуске](/docs/ru/server-managed-settings#fetch-and-caching-behavior)

925 * **Членство в группе**: изменение членства пользователя в группе изменяет, какая политика ему соответствует. Это вступает в силу при следующем перевыпуске сессии, то есть при следующем молчаливом обновлении, ограниченном `session.ttl_hours`.927 * **Членство в группе**: изменение членства пользователя в группе изменяет, какая политика ему соответствует. Это вступает в силу при следующем перевыпуске сессии, то есть при следующем молчаливом обновлении, ограниченном `session.ttl_hours`.

928 

929 Claude Desktop следует [собственному расписанию](#when-a-policy-change-reaches-claude-desktop).

926</Note>930</Note>

927 931 

928<h4 id="start-sessions-on-a-model-the-policy-allows">932<h4 id="start-sessions-on-a-model-the-policy-allows">


1086 Требует Claude Code v2.1.203 или позже на сервере шлюза и явное согласие: `/user/bootstrap` возвращает 404, если только политика, соответствующая пользователю, не содержит ключ `desktop`. Пустой `desktop: {}` включает политику, а ключ `desktop` на базовом слое `match: {}` включает каждую политику, которая его наследует. Журнал аудита записывает каждый запрос как `desktop_bootstrap.serve` или `desktop_bootstrap.denied`.1090 Требует Claude Code v2.1.203 или позже на сервере шлюза и явное согласие: `/user/bootstrap` возвращает 404, если только политика, соответствующая пользователю, не содержит ключ `desktop`. Пустой `desktop: {}` включает политику, а ключ `desktop` на базовом слое `match: {}` включает каждую политику, которая его наследует. Журнал аудита записывает каждый запрос как `desktop_bootstrap.serve` или `desktop_bootstrap.denied`.

1087</Note>1091</Note>

1088 1092 

1089Шлюз выводит большую часть ответа из блока `cli` соответствующей политики и из конфигурации шлюза верхнего уровня:1093Если вы не развёртываете Claude Desktop, полностью исключите `desktop` из ваших политик; шлюз затем возвращает 404 из `/user/bootstrap` для каждого пользователя.

1094 

1095<h5 id="settings-the-gateway-derives-for-claude-desktop">

1096 Настройки, которые шлюз выводит для Claude Desktop

1097</h5>

1098 

1099Шлюз выводит большую часть ответа bootstrap из блока `cli` соответствующей политики и из конфигурации шлюза верхнего уровня:

1090 1100 

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

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


1099 1109 

1100Шлюз опускает ключи без эквивалента Claude Desktop, такие как `hooks` и правила разрешений для каждой области, такие как `Bash(npm *)`, из ответа bootstrap.1110Шлюз опускает ключи без эквивалента Claude Desktop, такие как `hooks` и правила разрешений для каждой области, такие как `Bash(npm *)`, из ответа bootstrap.

1101 1111 

1102Добавьте опциональный блок `desktop` рядом с `cli`, чтобы установить настройки Claude Desktop напрямую. Напишите настройки из [справочника управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop как плоские имена ключей. Не указывайте ключи, которые Claude Desktop читает только из MDM или локальных файлов, такие как `bootstrapUrl`; шлюз отклоняет их при загрузке. До v2.1.232 шлюз принимал фиксированный список из 11 ключей функциональных ворот, таких как `chatTabEnabled` и `disableAutoUpdates`, и отклонял каждый другой ключ при загрузке. До v2.1.227 шлюз также отклонял `chatTabEnabled` и `chatAdvancedFileAnalysisEnabled` при загрузке.1112<h5 id="set-claude-desktop-settings-directly">

1113 Прямая установка настроек Claude Desktop

1114</h5>

1115 

1116Добавьте опциональный блок `desktop` рядом с `cli`, чтобы установить настройки Claude Desktop напрямую. Напишите настройки из [справочника управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop как плоские имена ключей. Не указывайте ключи, которые Claude Desktop читает только из MDM или локальных файлов, такие как `bootstrapUrl`; шлюз отклоняет их при загрузке.

1117 

1118Этот пример задаёт три ключа Claude Desktop для группы `eng-contractors` наряду с её настройками `cli`:

1103 1119 

1104```yaml theme={null}1120```yaml theme={null}

1105managed:1121managed:


1114 banner: { text: "Contractor build: internal use only" }1130 banner: { text: "Contractor build: internal use only" }

1115```1131```

1116 1132 

1117Каждый ключ опционален; Claude Desktop применяет свой собственный стандарт для любого ключа, который вы опустите. Шлюз проверяет каждый блок `desktop` при загрузке против схемы конфигурации, которую использует сам Claude Desktop, поэтому ошибка появляется при запуске шлюза как ошибка, называющая ключ, а не достигает каждого подключённого рабочего стола. Шлюз не запускается, когда блок содержит:1133Каждый ключ опционален; Claude Desktop применяет свой собственный стандарт для любого ключа, который вы опустите.

1134 

1135<h5 id="what-the-gateway-rejects-at-boot">

1136 Что шлюз отклоняет при загрузке

1137</h5>

1138 

1139Шлюз проверяет каждый блок `desktop` при загрузке против схемы конфигурации, которую использует сам Claude Desktop, поэтому ошибка появляется при запуске шлюза как ошибка, называющая ключ, а не достигает каждого подключённого рабочего стола. Шлюз не запускается, когда блок содержит:

1118 1140 

1119* Неизвестный ключ1141* Неизвестный ключ

1120* Распознанный ключ, чьё значение Claude Desktop отклонил бы или молча удалил, такое как пустое значение или неправильно написанный подключ внутри вложенной записи. До v2.1.260 шлюз молча удалял неправильно написанное поле внутри вложенного объекта записи `managedMcpServers` или `orgPluginSettings` вместо отказа при загрузке.1142* Распознанный ключ, чьё значение Claude Desktop отклонил бы или молча удалил, такое как пустое значение или неправильно написанный подключ внутри вложенной записи. До v2.1.260 шлюз молча удалял неправильно написанное поле внутри вложенного объекта записи `managedMcpServers` или `orgPluginSettings` вместо отказа при загрузке.


1123 1145 

1124Если вы используете устаревшее значение или форму записи, такую как запись `managedMcpServers` без `transport`, шлюз запускается и записывает в лог предупреждение, которое называет замену.1146Если вы используете устаревшее значение или форму записи, такую как запись `managedMcpServers` без `transport`, шлюз запускается и записывает в лог предупреждение, которое называет замену.

1125 1147 

1148До v2.1.232 шлюз принимал фиксированный список из 11 ключей функциональных ворот, таких как `chatTabEnabled` и `disableAutoUpdates`, и отклонял каждый другой ключ при загрузке. До v2.1.227 шлюз также отклонял `chatTabEnabled` и `chatAdvancedFileAnalysisEnabled` при загрузке.

1149 

1150<h5 id="keys-that-need-a-later-gateway-or-claude-desktop-version">

1151 Ключи, которым нужна более поздняя версия шлюза или Claude Desktop

1152</h5>

1153 

1126Шлюз проверяет блок `desktop` против схемы, поставляемой с его установленной версией, как он делает блок `cli`. Чтобы доставить настройку, введённую более новым выпуском Claude Desktop, сначала обновите шлюз. Например, `userPluginMarketplacesEnabled` и `userPluginUploadsEnabled` требуют Claude Code v2.1.260 или позже на сервере шлюза и Claude Desktop 1.37937.0 или позже на машинах членов.1154Шлюз проверяет блок `desktop` против схемы, поставляемой с его установленной версией, как он делает блок `cli`. Чтобы доставить настройку, введённую более новым выпуском Claude Desktop, сначала обновите шлюз. Например, `userPluginMarketplacesEnabled` и `userPluginUploadsEnabled` требуют Claude Code v2.1.260 или позже на сервере шлюза и Claude Desktop 1.37937.0 или позже на машинах членов.

1127 1155 

1128`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` и `sshClientPath` требуют Claude Code v2.1.281 или позже на сервере шлюза. Так же как значение `required` `microsoftAuthBroker` и поле `continuousAccessEvaluation` записи Microsoft 365 `managedMcpServers`. Выпуски Claude Desktop, которые предшествуют значению `required`, читают его как `disabled`, поэтому установите `required` только после того, как каждый член Claude Desktop его поддерживает. [Справочник управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop перечисляет выпуск, который первым читает каждый ключ.1156`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` и `sshClientPath` требуют Claude Code v2.1.281 или позже на сервере шлюза. Так же как значение `required` `microsoftAuthBroker` и поле `continuousAccessEvaluation` записи Microsoft 365 `managedMcpServers`. Выпуски Claude Desktop, которые предшествуют значению `required`, читают его как `disabled`, поэтому установите `required` только после того, как каждый член Claude Desktop его поддерживает. [Справочник управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop перечисляет выпуск, который первым читает каждый ключ.

1129 1157 

1130Если вы установите `orgPluginSettings` в блоке `desktop` политики, шлюз обслуживает его в форме массива, которую читают Claude Desktop 1.15200.0 и позже. Более старые рабочие столы игнорируют массив и не применяют политику инструмента плагина, поэтому обновите членов до 1.15200.0 или позже перед тем, как полагаться на это.1158Если вы установите `orgPluginSettings` в блоке `desktop` политики, шлюз обслуживает его в форме массива, которую читают Claude Desktop 1.15200.0 и позже. Более старые рабочие столы игнорируют массив и не применяют политику инструмента плагина, поэтому обновите членов до 1.15200.0 или позже перед тем, как полагаться на это.

1131 1159 

1160<h5 id="how-a-role-policy-inherits-the-base-desktop-block">

1161 Как политика роли наследует базовый блок `desktop`

1162</h5>

1163 

1132Шлюз заполняет ключи, которые блок `desktop` политики не устанавливает, из блока `desktop` catch-all `match: {}`, так же как он заполняет блок `cli` политики из базового. Если вы установите `disabledBuiltinTools` или `builtinToolPolicy` как в базовом, так и в политике роли, шлюз сохраняет ограничение базового:1164Шлюз заполняет ключи, которые блок `desktop` политики не устанавливает, из блока `desktop` catch-all `match: {}`, так же как он заполняет блок `cli` политики из базового. Если вы установите `disabledBuiltinTools` или `builtinToolPolicy` как в базовом, так и в политике роли, шлюз сохраняет ограничение базового:

1133 1165 

1134* `disabledBuiltinTools`: шлюз использует объединение списка базового и списка политики1166* `disabledBuiltinTools`: шлюз использует объединение списка базового и списка политики


1136 1168 

1137Для каждого другого ключа, если вы установите его в политике роли, шлюз использует значение политики роли. Шлюз заменяет массив или вложенный объект, такой как `banner`, целиком, поэтому если вы установите `banner.text` в политике роли, шлюз удаляет `banner.backgroundColor` базового.1169Для каждого другого ключа, если вы установите его в политике роли, шлюз использует значение политики роли. Шлюз заменяет массив или вложенный объект, такой как `banner`, целиком, поэтому если вы установите `banner.text` в политике роли, шлюз удаляет `banner.backgroundColor` базового.

1138 1170 

1139Если вы не развёртываете Claude Desktop, полностью исключите `desktop` из ваших политик; шлюз затем возвращает 404 из `/user/bootstrap` для каждого пользователя.1171<h5 id="when-a-policy-change-reaches-claude-desktop">

1172 Когда изменение политики достигает Claude Desktop

1173</h5>

1174 

1175После того как вы повторно развернёте шлюз с изменённой политикой, Claude Desktop применяет большинство настроек только при следующем запуске:

1176 

1177* **Закрыт**: Claude Desktop получает ответ bootstrap при запуске, поэтому изменение применяется со следующего запуска

1178* **Открыт**: Claude Desktop по умолчанию каждые 10 минут проверяет, изменился ли ответ, и применяет несколько настроек без перезапуска. Для остальных, таких как [`skillCreationEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#skillcreationenabled), пользователь видит карточку **Relaunch Claude Desktop** на боковой панели и сохраняет предыдущую конфигурацию, пока не перезапустит приложение. По умолчанию через 24 часа Claude Desktop показывает диалог перезапуска и перезапускается сам после 2 минут бездействия

1179 

1180Чтобы сократить эти 24 часа, задайте [`relaunchEnforcementHours`](https://claude.com/docs/third-party/claude-desktop/configuration#relaunchenforcementhours) в блоке `desktop` политики. Вам нужен Claude Code v2.1.260 или позже на сервере шлюза и Claude Desktop 1.40609.0 или позже на машинах членов. При значении `0` диалог появляется, как только Claude Desktop обнаружит изменение.

1140 1181 

1141<h4 id="extended-context-in-claude-desktop">1182<h4 id="extended-context-in-claude-desktop">

1142 Расширенный контекст в Claude Desktop1183 Расширенный контекст в Claude Desktop

Details

249 Postgres249 Postgres

250</h3>250</h3>

251 251 

252Шлюз хранит своё состояние в базе данных PostgreSQL:

253 

254* **База данных**: сам PostgreSQL, размещённый самостоятельно или управляемый, [минимальной версии](/docs/ru/claude-apps-gateway#prerequisites) или новее. Базы данных, которые лишь реализуют протокол Postgres, например распределённые SQL-базы данных, не поддерживаются.

255* **Адрес**: `store.postgres_url` принимает один хост. Если у базы данных несколько узлов, используйте адрес, стоящий перед ними, например эндпоинт вашего управляемого сервиса, балансировщик нагрузки или виртуальный IP. Установите [период благодати готовности](#readiness-grace-period) длиннее, чем занимает переключение при отказе.

256 

252Шлюз содержит пять таблиц данных плюс таблицу `_migrations`, все созданные его миграциями при загрузке:257Шлюз содержит пять таблиц данных плюс таблицу `_migrations`, все созданные его миграциями при загрузке:

253 258 

254| Таблица | Содержимое | Удержание |259| Таблица | Содержимое | Удержание |


396| CLI `/login`: `Could not resolve the configured HTTP proxy` | Имя хоста в `HTTPS_PROXY` или `HTTP_PROXY` не разрешается с машины разработчика, обычно потому что она не подключена к корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN и повторить попытку, или исправьте URL прокси |401| CLI `/login`: `Could not resolve the configured HTTP proxy` | Имя хоста в `HTTPS_PROXY` или `HTTP_PROXY` не разрешается с машины разработчика, обычно потому что она не подключена к корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN и повторить попытку, или исправьте URL прокси |

397| CLI `/login`: `Could not resolve gateway host <host>` | Машина не может разрешить внутреннее DNS-имя шлюза, обычно потому что она не в корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN, затем повторите попытку `/login` |402| CLI `/login`: `Could not resolve gateway host <host>` | Машина не может разрешить внутреннее DNS-имя шлюза, обычно потому что она не в корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN, затем повторите попытку `/login` |

398| Загрузка выходит с ошибкой валидации конфигурации, называющей `store.postgres_url` | Postgres не настроен; шлюз требует Postgres | Установите `store.postgres_url`. Для локальной разработки используйте одноразовый контейнер: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |403| Загрузка выходит с ошибкой валидации конфигурации, называющей `store.postgres_url` | Postgres не настроен; шлюз требует Postgres | Установите `store.postgres_url`. Для локальной разработки используйте одноразовый контейнер: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

404| Загрузка выходит: `store.postgres_url in <path> is not a URL the gateway can read` или, в версиях до v2.1.290, просто `Invalid URL` или `URI error` | URL не удаётся разобрать, например потому что в нём указано более одного хоста или пароль содержит незакодированные `/`, `?`, `#` или `%` | Укажите [один хост](#postgres) и перенесите пароль в [`store.password`](/docs/ru/claude-apps-gateway-config#store) |

399| Загрузка выходит: `requires the native binary` | Запуск под Node вместо нативного бинарного файла | Установите Claude Code одним из [методов автономной установки](/docs/ru/setup) |405| Загрузка выходит: `requires the native binary` | Запуск под Node вместо нативного бинарного файла | Установите Claude Code одним из [методов автономной установки](/docs/ru/setup) |

400| Загрузка выходит с ошибкой обнаружения OIDC после `config.load` | `oidc.issuer` недоступен или цепочке TLS нет доверия | Проверьте, что издатель доступен из pod и обслуживает `/.well-known/openid-configuration`. Установите `ca_cert_pem` для приватной PKI. Если pod достигает IdP только через forward proxy, установите [`oidc.use_proxy: true`](/docs/ru/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); на версиях до v2.1.227 вместо этого предоставьте pod прямой маршрут к каждому эндпоинту IdP. Если pod также не может разрешить имя хоста IdP или прокси отказывает в `CONNECT` на IP-адрес, см. [Proxy-only egress](/docs/ru/claude-apps-gateway-config#proxy-only-egress), что требует v2.1.277 или позже. |406| Загрузка выходит с ошибкой обнаружения OIDC после `config.load` | `oidc.issuer` недоступен или цепочке TLS нет доверия | Проверьте, что издатель доступен из pod и обслуживает `/.well-known/openid-configuration`. Установите `ca_cert_pem` для приватной PKI. Если pod достигает IdP только через forward proxy, установите [`oidc.use_proxy: true`](/docs/ru/claude-apps-gateway-config#idp-requests-through-a-forward-proxy); на версиях до v2.1.227 вместо этого предоставьте pod прямой маршрут к каждому эндпоинту IdP. Если pod также не может разрешить имя хоста IdP или прокси отказывает в `CONNECT` на IP-адрес, см. [Proxy-only egress](/docs/ru/claude-apps-gateway-config#proxy-only-egress), что требует v2.1.277 или позже. |

401| Загрузка выходит с ошибкой прав доступа Postgres | Роль базы данных не имеет прав DDL на своей схеме | Предоставьте роли `CREATE` на схему шлюза, чтобы она могла создавать и изменять свои таблицы при загрузке |407| Загрузка выходит с ошибкой прав доступа Postgres | Роль базы данных не имеет прав DDL на своей схеме | Предоставьте роли `CREATE` на схему шлюза, чтобы она могла создавать и изменять свои таблицы при загрузке |

402| Лог: `could not connect to Postgres at boot, attempt 1 of 3` | База данных ещё не была доступна, когда шлюз запустился, например на холодном экземпляре, чья сеть всё ещё поднимается | Если шлюз затем завершает загрузку, никаких действий не требуется. Когда база данных недоступна, шлюз пытается подключиться три раза, с интервалом в две секунды, перед выходом. Если он выходит с `could not connect to Postgres`, проверьте `store.postgres_url` и сетевой путь к базе данных. Если попытки завершаются по таймауту, а не отклоняются, поднимите [`store.connect_timeout_seconds`](/docs/ru/claude-apps-gateway-config#store), чтобы дать каждой больше времени. |408| Лог: `could not connect to Postgres at boot, attempt 1 of 3` | База данных ещё не была доступна, когда шлюз запустился, например на холодном экземпляре, чья сеть всё ещё поднимается | Если шлюз затем завершает загрузку, никаких действий не требуется. Когда база данных недоступна, шлюз пытается подключиться три раза, с интервалом в две секунды, перед выходом. Если он выходит с `could not connect to Postgres`, проверьте `store.postgres_url`, в том числе что в нём указан один хост, и сетевой путь к базе данных. Если попытки завершаются по таймауту, а не отклоняются, поднимите [`store.connect_timeout_seconds`](/docs/ru/claude-apps-gateway-config#store), чтобы дать каждой больше времени. |

403| `/oauth/callback` показывает "Sign-in could not be completed" | Домен email отклонён, валидация id\_token не удалась или `email_verified` явно `false`, что шлюз всегда отклоняет без возможности переопределения | Проверьте `allowed_email_domains` и что IdP возвращает проверенное утверждение `email`. Для `email_verified: false` исправьте проверку на стороне IdP. Если ваш IdP выдаёт email под другим именем утверждения, установите `oidc.email_claim`. |409| `/oauth/callback` показывает "Sign-in could not be completed" | Домен email отклонён, валидация id\_token не удалась или `email_verified` явно `false`, что шлюз всегда отклоняет без возможности переопределения | Проверьте `allowed_email_domains` и что IdP возвращает проверенное утверждение `email`. Для `email_verified: false` исправьте проверку на стороне IdP. Если ваш IdP выдаёт email под другим именем утверждения, установите `oidc.email_claim`. |

404| Лог: `token exchange failed request_id=<id>: id_token missing email claim` | IdP не включает `email` в id\_token по умолчанию. Это отклонение срабатывает только когда установлен `allowed_email_domains`; без него отсутствующий email создаёт сессию без email | Настройте IdP для выдачи `email` в id\_token. Okta: добавьте `email` к утверждениям ID-токена пользовательского сервера авторизации. Entra: добавьте `email` как опциональное утверждение в регистрации приложения. PingFederate: включите политику OpenID Connect, которая выдаёт `email`. Если IdP обслуживает `email` из эндпоинта userinfo, но не включает его в id\_token, как, например, сервер авторизации организации Okta, установите `oidc.userinfo_fallback: true`. |410| Лог: `token exchange failed request_id=<id>: id_token missing email claim` | IdP не включает `email` в id\_token по умолчанию. Это отклонение срабатывает только когда установлен `allowed_email_domains`; без него отсутствующий email создаёт сессию без email | Настройте IdP для выдачи `email` в id\_token. Okta: добавьте `email` к утверждениям ID-токена пользовательского сервера авторизации. Entra: добавьте `email` как опциональное утверждение в регистрации приложения. PingFederate: включите политику OpenID Connect, которая выдаёт `email`. Если IdP обслуживает `email` из эндпоинта userinfo, но не включает его в id\_token, как, например, сервер авторизации организации Okta, установите `oidc.userinfo_fallback: true`. |

405| Лог: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, и разработчики видят `Cloud gateway session expired` каждые `session.ttl_hours` | IdP принял refresh token, но не вернул вместе с ним id\_token, поэтому шлюз запросил утверждения пользователя у эндпоинта userinfo IdP. IdP отклонил там обновлённый access token. Шлюз отвечает `temporarily_unavailable`, поэтому Claude Code сохраняет refresh token, но не может обновить сессию. Версии шлюза до v2.1.260 логируют ту же строку без деталей `(at …)`. | Установите [`oidc.scope_on_refresh: true`](/docs/ru/claude-apps-gateway-config#oidc), доступно в шлюзе v2.1.260 или позже, чтобы запрос refresh снова запрашивал `openid`. Некоторые IdP, такие как Okta, возвращают id\_token при refresh только при явном запросе. На PingFederate вместо этого включите **Return ID Token On Refresh Grant** в разделе **Applications > OAuth > OpenID Connect Policy Management**. Ключ не изменяет поведение PingFederate. Для других IdP, которые всё ещё его опускают, проверьте, принимает ли эндпоинт userinfo access tokens, выданные при refresh. В качестве временного решения поднимите [`session.ttl_hours`](/docs/ru/claude-apps-gateway-config#session). См. [Identity provider setup](#identity-provider-setup) о компромиссе при deprovisioning. |411| Лог: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, и разработчики видят `Cloud gateway session expired` каждые `session.ttl_hours` | IdP принял refresh token, но не вернул вместе с ним id\_token, поэтому шлюз запросил утверждения пользователя у эндпоинта userinfo IdP. IdP отклонил там обновлённый access token. Шлюз отвечает `temporarily_unavailable`, поэтому Claude Code сохраняет refresh token, но не может обновить сессию. Версии шлюза до v2.1.260 логируют ту же строку без деталей `(at …)`. | Установите [`oidc.scope_on_refresh: true`](/docs/ru/claude-apps-gateway-config#oidc), доступно в шлюзе v2.1.260 или позже, чтобы запрос refresh снова запрашивал `openid`. Некоторые IdP, такие как Okta, возвращают id\_token при refresh только при явном запросе. На PingFederate вместо этого включите **Return ID Token On Refresh Grant** в разделе **Applications > OAuth > OpenID Connect Policy Management**. Ключ не изменяет поведение PingFederate. Для других IdP, которые всё ещё его опускают, проверьте, принимает ли эндпоинт userinfo access tokens, выданные при refresh. В качестве временного решения поднимите [`session.ttl_hours`](/docs/ru/claude-apps-gateway-config#session). См. [Identity provider setup](#identity-provider-setup) о компромиссе при deprovisioning. |

Details

161 --policy-name read-gateway-secrets --policy-document file://secrets-read.json161 --policy-name read-gateway-secrets --policy-document file://secrets-read.json

162 ```162 ```

163 163 

164 Политика называет один ARN на секрет, а не простой подстановочный знак `gateway-*`, который в общей учётной записи также совпадал бы с несвязанными секретами; конечный `-??????` совпадает ровно с случайным суффиксом из шести символов, который Secrets Manager добавляет к ARN каждого секрета. Конечный `-*` был бы простым глобусом префикса и также совпадал бы с более длинными именами, такими как `gateway-postgres-url-prod`.164 Политика называет один ARN на секрет, а не простой подстановочный знак `gateway-*`, который в общей учётной записи также совпадал бы с несвязанными секретами; конечный `-??????` совпадает ровно с случайным суффиксом из шести символов, который Secrets Manager добавляет к ARN каждого секрета. Конечный `-*` был бы простым глобом префикса и также совпадал бы с более длинными именами, такими как `gateway-postgres-url-prod`.

165 165 

166 Политика IAM предоставляет gateway разрешение на вызов Bedrock, и Bedrock включает доступ к модели по умолчанию в коммерческих регионах. Оставшиеся ворота на уровне учётной записи — это одноразовая форма использования Anthropic: если никто в вашей учётной записи её не отправил, откройте [консоль Amazon Bedrock](https://console.aws.amazon.com/bedrock/), выберите модель Anthropic из каталога моделей и заполните форму. Доступ предоставляется сразу после отправки; см. [Claude Code на Amazon Bedrock](/docs/ru/amazon-bedrock#1-submit-use-case-details) для формы AWS Organizations и разрешений IAM, которые нужны отправителю.166 Политика IAM предоставляет gateway разрешение на вызов Bedrock, и Bedrock включает доступ к модели по умолчанию в коммерческих регионах. Оставшиеся ворота на уровне учётной записи — это одноразовая форма использования Anthropic: если никто в вашей учётной записи её не отправил, откройте [консоль Amazon Bedrock](https://console.aws.amazon.com/bedrock/), выберите модель Anthropic из каталога моделей и заполните форму. Доступ предоставляется сразу после отправки; см. [Claude Code на Amazon Bedrock](/docs/ru/amazon-bedrock#1-submit-use-case-details) для формы AWS Organizations и разрешений IAM, которые нужны отправителю.

167 167 


169 </Step>169 </Step>

170 170 

171 <Step title="Подготовьте Amazon RDS для PostgreSQL">171 <Step title="Подготовьте Amazon RDS для PostgreSQL">

172 Экземпляр работает в приватных подсетях без публичного адреса и с включённым шифрованием хранилища. Версия движка закреплена на Postgres 16, что удовлетворяет поддерживаемому минимуму gateway PostgreSQL 14 и гарантирует, что семейство группы параметров ниже совпадает с экземпляром.172 Экземпляр работает на Postgres 16 в приватных подсетях без публичного адреса и с включённым шифрованием хранилища.

173 173 

174 Сначала создайте группу подсетей, которая размещает базу данных в приватных подсетях, и группу параметров с `rds.force_ssl=1`, чтобы сервер отклонял открытые соединения. Версия движка закреплена один раз, потому что семейство группы параметров должно совпадать с основной версией движка, которую запускает экземпляр:174 Сначала создайте группу подсетей, которая размещает базу данных в приватных подсетях, и группу параметров с `rds.force_ssl=1`, чтобы сервер отклонял открытые соединения. Версия движка закреплена один раз, потому что семейство группы параметров должно совпадать с основной версией движка, которую запускает экземпляр:

175 175 


203 203 

204 Буквальный аргумент `--master-user-password` виден в таблице процессов и в журналах аудита/EDR во время выполнения команды, то же самое воздействие, которое охватывает примечание шага секретов. На общем или контролируемом хосте передайте пароль через `--cli-input-json` из файла `0600` вместо этого, так же как это делает `setup.sh` пакета.204 Буквальный аргумент `--master-user-password` виден в таблице процессов и в журналах аудита/EDR во время выполнения команды, то же самое воздействие, которое охватывает примечание шага секретов. На общем или контролируемом хосте передайте пароль через `--cli-input-json` из файла `0600` вместо этого, так же как это делает `setup.sh` пакета.

205 205 

206 Дождитесь, пока экземпляр запустится, что может занять несколько минут, затем прочитайте его приватную конечную точку и соберите строку подключения, которую будет использовать gateway:206 Дождитесь, пока экземпляр запустится, что может занять несколько минут, затем прочитайте его приватный эндпоинт и соберите строку подключения, которую будет использовать gateway:

207 207 

208 ```bash theme={null}208 ```bash theme={null}

209 aws rds wait db-instance-available --db-instance-identifier claude-gateway-db209 aws rds wait db-instance-available --db-instance-identifier claude-gateway-db


214 214 

215 `sslmode=verify-full` заставляет gateway проверять цепь сертификата сервера RDS и имя хоста, а не только шифровать. Якорь доверия — это [пакет сертификатов AWS RDS](https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem), который шаг сборки образа ниже копирует в `/etc/claude/rds-global-bundle.pem` и доверяет через `NODE_EXTRA_CA_CERTS`. Не добавляйте параметр `sslrootcert=` в стиле libpq к URL: драйвер gateway читает только `sslmode` из строки запроса и передал бы `sslrootcert` Postgres как параметр запуска, который сервер отклоняет.215 `sslmode=verify-full` заставляет gateway проверять цепь сертификата сервера RDS и имя хоста, а не только шифровать. Якорь доверия — это [пакет сертификатов AWS RDS](https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem), который шаг сборки образа ниже копирует в `/etc/claude/rds-global-bundle.pem` и доверяет через `NODE_EXTRA_CA_CERTS`. Не добавляйте параметр `sslrootcert=` в стиле libpq к URL: драйвер gateway читает только `sslmode` из строки запроса и передал бы `sslrootcert` Postgres как параметр запуска, который сервер отклоняет.

216 216 

217 Сервис ECS или поды EKS должны работать в этом VPC, чтобы они могли достичь приватной конечной точки экземпляра, и группа безопасности `claude-gateway-db` допускает только группу безопасности gateway.217 Сервис ECS или поды EKS должны работать в этом VPC, чтобы они могли достичь приватного эндпоинта экземпляра, и группа безопасности `claude-gateway-db` допускает только группу безопасности gateway.

218 </Step>218 </Step>

219 219 

220 <Step title="Напишите gateway.yaml">220 <Step title="Напишите gateway.yaml">


223 Два поля `listen` описывают, что находится перед gateway:223 Два поля `listen` описывают, что находится перед gateway:

224 224 

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

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

227 227 

228 На обоих треках фронтенд — это внутренний ALB, создан ли он напрямую или AWS Load Balancer Controller, и узлы ALB берут адреса из подсетей, к которым он присоединён, поэтому установите `trusted_proxies` на CIDR этих подсетей. Это доверяет каждому хосту в этих подсетях как прокси. Не допускайте, чтобы источник входа ALB, ваша корпоративная CIDR, перекрывался с ними, и не делитесь подсетями с ненадёжными рабочими нагрузками, которые могли бы подделать IP клиентов через `X-Forwarded-For`.228 На обоих треках фронтенд — это внутренний ALB, создан ли он напрямую или AWS Load Balancer Controller, и узлы ALB берут адреса из подсетей, к которым он присоединён, поэтому установите `trusted_proxies` на CIDR этих подсетей. Это доверяет каждому хосту в этих подсетях как прокси. Не допускайте, чтобы источник входа ALB, ваша корпоративная CIDR, перекрывался с ними, и не делитесь подсетями с ненадёжными рабочими нагрузками, которые могли бы подделать IP клиентов через `X-Forwarded-For`.

229 229 

230 Атрибут сохранения клиентского порта ALB, `routing.http.xff_client_port.enabled`, может остаться в любом параметре: с ним включённым, ALB записывает клиента как `203.0.113.7:54321` или `[2001:db8::1]:54321`, и gateway читает оба с опущенным портом.230 Атрибут сохранения клиентского порта ALB, `routing.http.xff_client_port.enabled`, может остаться в любой настройке: с ним включённым, ALB записывает клиента как `203.0.113.7:54321` или `[2001:db8::1]:54321`, и gateway читает оба с опущенным портом.

231 231 

232 ```yaml gateway.yaml theme={null}232 ```yaml gateway.yaml theme={null}

233 listen:233 listen:


244 # Сервер авторизации организации Okta возвращает тонкий id_token, который опускает244 # Сервер авторизации организации Okta возвращает тонкий id_token, который опускает

245 # email и groups; gateway заполняет их из /userinfo.245 # email и groups; gateway заполняет их из /userinfo.

246 userinfo_fallback: true246 userinfo_fallback: true

247 # Okta выдаёт groups только когда запрашивается область `groups` и247 # Okta выдаёт groups только когда запрашивается scope `groups` и

248 # фильтр утверждения groups приложения их позволяет.248 # фильтр утверждения groups приложения их позволяет.

249 scopes: [openid, profile, email, offline_access, groups]249 scopes: [openid, profile, email, offline_access, groups]

250 250 


267 ```267 ```

268 268 

269 <Note>269 <Note>

270 Только блок `oidc` специфичен для Okta. Чтобы использовать Microsoft Entra ID вместо этого, установите `issuer` на `https://login.microsoftonline.com/<tenant-id>/v2.0`, удалите `userinfo_fallback` и область `groups`, и обратите внимание, что Entra выдаёт Object ID группы, а не имена, поэтому [`managed.policies`](/docs/ru/claude-apps-gateway-config#managed) должны совпадать на GUID, или на App Roles с `oidc.groups_claim: roles`. См. [Настройка поставщика идентификации](/docs/ru/claude-apps-gateway-deploy#identity-provider-setup).270 Только блок `oidc` специфичен для Okta. Чтобы использовать Microsoft Entra ID вместо этого, установите `issuer` на `https://login.microsoftonline.com/<tenant-id>/v2.0`, удалите `userinfo_fallback` и scope `groups`, и обратите внимание, что Entra выдаёт Object ID группы, а не имена, поэтому [`managed.policies`](/docs/ru/claude-apps-gateway-config#managed) должны совпадать на GUID, или на App Roles с `oidc.groups_claim: roles`. См. [Настройка поставщика идентификации](/docs/ru/claude-apps-gateway-deploy#identity-provider-setup).

271 </Note>271 </Note>

272 </Step>272 </Step>

273 273 


289 Буквальные аргументы `--secret-string` видны в таблице процессов и в журналах аудита/EDR во время выполнения каждой команды. На общем или контролируемом хосте поместите значение в файл `0600` и передайте `--secret-string file://<path>` вместо этого. `setup.sh` пакета держит значения секретов вне argv процесса так же, передавая временные файлы `0600` в `--cli-input-json`.289 Буквальные аргументы `--secret-string` видны в таблице процессов и в журналах аудита/EDR во время выполнения каждой команды. На общем или контролируемом хосте поместите значение в файл `0600` и передайте `--secret-string file://<path>` вместо этого. `setup.sh` пакета держит значения секретов вне argv процесса так же, передавая временные файлы `0600` в `--cli-input-json`.

290 </Note>290 </Note>

291 291 

292 В отличие от секретов, сам `gateway.yaml` не содержит значений секретов, потому что каждое учётное данные разрешается при загрузке через [`${VAR}` или `${file:...}` расширение](/docs/ru/claude-apps-gateway-config#secret-expansion). Как всё достигает контейнера, отличается по треку:292 В отличие от секретов, сам `gateway.yaml` не содержит значений секретов, потому что все учётные данные разрешаются при загрузке через [`${VAR}` или `${file:...}` расширение](/docs/ru/claude-apps-gateway-config#secret-expansion). Как всё достигает контейнера, отличается по треку:

293 293 

294 * На ECS, сборка следующего шага копирует `gateway.yaml` в образ в `/etc/claude/gateway.yaml`, и определение задачи внедряет три секрета как переменные окружения через его поле `secrets`, поэтому YAML ссылается на `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` и `${GATEWAY_POSTGRES_URL}`.294 * На ECS, сборка следующего шага копирует `gateway.yaml` в образ в `/etc/claude/gateway.yaml`, и определение задачи внедряет три секрета как переменные окружения через его поле `secrets`, поэтому YAML ссылается на `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` и `${GATEWAY_POSTGRES_URL}`.

295 * На EKS, смонтируйте `gateway.yaml` из ConfigMap и секреты как файлы в `/secrets`, на которые ссылаются как `${file:/secrets/...}`. Получите Kubernetes Secrets из Secrets Manager с External Secrets Operator или поставщиком AWS драйвера Secrets Store CSI, или создайте их напрямую с помощью `kubectl`.295 * На EKS, смонтируйте `gateway.yaml` из ConfigMap и секреты как файлы в `/secrets`, на которые ссылаются как `${file:/secrets/...}`. Получите Kubernetes Secrets из Secrets Manager с External Secrets Operator или поставщиком AWS драйвера Secrets Store CSI, или создайте их напрямую с помощью `kubectl`.


298 <Step title="Соберите и отправьте образ в Amazon ECR">298 <Step title="Соберите и отправьте образ в Amazon ECR">

299 Соберите образ согласно [требованиям образа контейнера](/docs/ru/claude-apps-gateway-deploy#container-image), разместив двоичный файл `linux-x64` glibc в `./claude` в контексте сборки. Напишите свой собственный Dockerfile согласно этим требованиям или начните с [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/examples/gateway/aws/Dockerfile) пакета, который копирует заполненный `gateway.yaml` из предыдущих шагов в образ в `/etc/claude/gateway.yaml`. На ECS эта встроенная копия — это то, как конфигурация достигает контейнера, поэтому сборка идёт после написания файла. Трек EKS вместо этого монтирует `gateway.yaml` из ConfigMap при развёртывании, поэтому встроенная копия там не используется.299 Соберите образ согласно [требованиям образа контейнера](/docs/ru/claude-apps-gateway-deploy#container-image), разместив двоичный файл `linux-x64` glibc в `./claude` в контексте сборки. Напишите свой собственный Dockerfile согласно этим требованиям или начните с [`Dockerfile`](https://github.com/anthropics/claude-code/blob/main/examples/gateway/aws/Dockerfile) пакета, который копирует заполненный `gateway.yaml` из предыдущих шагов в образ в `/etc/claude/gateway.yaml`. На ECS эта встроенная копия — это то, как конфигурация достигает контейнера, поэтому сборка идёт после написания файла. Трек EKS вместо этого монтирует `gateway.yaml` из ConfigMap при развёртывании, поэтому встроенная копия там не используется.

300 300 

301 Образ также содержит пакет сертификатов AWS RDS как якорь доверия для `sslmode=verify-full` строки подключения, поэтому загрузите его в контекст сборки сначала. AWS ротирует пакет (новые региональные CA добавляются), поэтому загружайте его при каждой сборке, а не закрепляйте контрольную сумму или фиксируйте её:301 Образ также содержит пакет сертификатов AWS RDS как якорь доверия для `sslmode=verify-full` строки подключения, поэтому загрузите его в контекст сборки сначала. AWS ротирует пакет (новые региональные CA добавляются), поэтому загружайте его при каждой сборке, а не закрепляйте контрольную сумму или фиксируйте его:

302 302 

303 ```bash theme={null}303 ```bash theme={null}

304 curl -fL --proto '=https' -o rds-global-bundle.pem \304 curl -fL --proto '=https' -o rds-global-bundle.pem \

305 https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem305 https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem

306 ```306 ```

307 307 

308 Требования образа контейнера не охватывают пакет, поэтому если вы напишете свой собственный Dockerfile, добавьте две строки, которые копируют и доверяют ему; `Dockerfile` пакета уже включает оба:308 Требования образа контейнера не охватывают пакет, поэтому если вы напишете свой собственный Dockerfile, добавьте две строки, которые копируют и доверяют ему; `Dockerfile` пакета уже включает обе:

309 309 

310 ```dockerfile theme={null}310 ```dockerfile theme={null}

311 COPY rds-global-bundle.pem /etc/claude/rds-global-bundle.pem311 COPY rds-global-bundle.pem /etc/claude/rds-global-bundle.pem

312 ENV NODE_EXTRA_CA_CERTS=/etc/claude/rds-global-bundle.pem312 ENV NODE_EXTRA_CA_CERTS=/etc/claude/rds-global-bundle.pem

313 ```313 ```

314 314 

315 Создайте репозиторий ECR и подпишите Docker в него. Неизменяемые теги означают, что тег `<version>`, который закрепляет шаг развёртывания, не может позже молча переуказываться на другой образ:315 Создайте репозиторий ECR и выполните вход Docker в него. Неизменяемые теги означают, что тег `<version>`, который закрепляет шаг развёртывания, не может позже молча переуказываться на другой образ:

316 316 

317 ```bash theme={null}317 ```bash theme={null}

318 aws ecr create-repository --repository-name claude-gateway \318 aws ecr create-repository --repository-name claude-gateway \


401 401 

402 Добавьте слушатель HTTPS. `--ssl-policy` закрепляет современный минимум TLS, так как его опущение возвращается к устаревшему значению по умолчанию `ELBSecurityPolicy-2016-08`, которое всё ещё принимает TLS 1.0/1.1.402 Добавьте слушатель HTTPS. `--ssl-policy` закрепляет современный минимум TLS, так как его опущение возвращается к устаревшему значению по умолчанию `ELBSecurityPolicy-2016-08`, которое всё ещё принимает TLS 1.0/1.1.

403 403 

404 ALB закрывает соединение после 60 секунд без данных по умолчанию. Keepalive пинги gateway держат потоки внутри этого значения по умолчанию, поэтому повышение времени ожидания добавляет запас выше кадра пинга; строка [Troubleshooting](#troubleshooting) на разорванных потоках охватывает механизм и более старые gateway. Команды ниже добавляют слушатель и повышают время ожидания:404 ALB закрывает соединение после 60 секунд без данных по умолчанию. Keepalive пинги gateway держат потоки внутри этого значения по умолчанию, поэтому повышение таймаута добавляет запас выше частоты пингов; строка [Устранение неполадок](#troubleshooting) о разорванных потоках охватывает механизм и более старые gateway. Команды ниже добавляют слушатель и повышают таймаут:

405 405 

406 ```bash theme={null}406 ```bash theme={null}

407 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \407 aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \


414 --attributes Key=idle_timeout.timeout_seconds,Value=3600414 --attributes Key=idle_timeout.timeout_seconds,Value=3600

415 ```415 ```

416 416 

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

418 418 

419 ```bash theme={null}419 ```bash theme={null}

420 aws ecs create-service --cluster claude-gateway --service-name claude-gateway \420 aws ecs create-service --cluster claude-gateway --service-name claude-gateway \


425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"425 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"

426 ```426 ```

427 427 

428 Период благодати в 60 секунд даёт холодной задаче время на извлечение образа, подключение к хранилищу и ответ на первую проверку здоровья перед тем, как ECS начнёт считать отказы против развёртывания. Проверка здоровья целевой группы на `GET /readyz` проверяет, что хранилище доступно, поэтому задача, которая не может достичь Postgres, никогда не входит в ротацию. Чтобы держать задачи проходящими проверку через короткий сбой базы данных, такой как отказ RDS, установите `store.readiness_grace_seconds`, как описано в [Поведение при сбое](/docs/ru/claude-apps-gateway-deploy#outage-behavior), которое также охватывает альтернативу `/healthz`.428 Период благодати в 60 секунд даёт холодной задаче время на извлечение образа, подключение к хранилищу и ответ на первую проверку здоровья перед тем, как ECS начнёт считать отказы против развёртывания.

429 429 

430 Задачи работают в приватных подсетях без публичного IP, поэтому весь исходящий трафик (в Bedrock, ваш IdP, Secrets Manager, ECR и CloudWatch Logs) проходит через NAT gateway. Чтобы держать трафик Bedrock вне публичного пути, создайте интерфейсную конечную точку VPC `bedrock-runtime` и укажите `base_url` upstream на неё, как показано в [справочнике upstream Bedrock](/docs/ru/claude-apps-gateway-config#amazon-bedrock); IdP всё ещё нуждается в исходящем доступе в интернет.430 Проверка здоровья целевой группы на `GET /readyz` проверяет, что хранилище доступно, поэтому задача, которая не может достичь Postgres, никогда не входит в ротацию. Чтобы держать задачи проходящими проверку через короткий сбой базы данных, такой как отказ RDS, установите `store.readiness_grace_seconds`, как описано в [Поведение при сбое](/docs/ru/claude-apps-gateway-deploy#outage-behavior), которое также охватывает альтернативу `/healthz`.

431 

432 Задачи работают в приватных подсетях без публичного IP, поэтому весь исходящий трафик (в Bedrock, ваш IdP, Secrets Manager, ECR и CloudWatch Logs) проходит через NAT gateway. Чтобы держать трафик Bedrock вне публичного пути, создайте интерфейсный эндпоинт VPC `bedrock-runtime` и укажите `base_url` upstream на него, как показано в [справочнике upstream Bedrock](/docs/ru/claude-apps-gateway-config#amazon-bedrock); IdP всё ещё нуждается в исходящем доступе в интернет.

431 433 

432 Завершите, дав разработчикам приватно разрешаемое имя хоста: в приватной зоне Route 53 создайте псевдоним внутреннего имени DNS gateway на ALB и установите `listen.public_url` на это имя хоста. Собственное имя `*.elb.amazonaws.com` ALB разрешается на приватные адреса на внутреннем ALB, но оно не может нести ваш сертификат ACM, поэтому используйте своё имя.434 Завершите, дав разработчикам приватно разрешаемое имя хоста: в приватной зоне Route 53 создайте псевдоним внутреннего имени DNS gateway на ALB и установите `listen.public_url` на это имя хоста. Собственное имя `*.elb.amazonaws.com` ALB разрешается на приватные адреса на внутреннем ALB, но оно не может нести ваш сертификат ACM, поэтому используйте своё имя.

433 435 

434 Обновите URI перенаправления авторизованного клиента OAuth на `<public_url>/oauth/callback` перед первым входом. После изменения `public_url`, пересоберите и отправьте образ под новым тегом, зарегистрируйте новую редакцию определения задачи и переразвёртывайте. На ECS параметр живёт в встроенном `gateway.yaml` образа, и gateway строит свой публичный источник только из этого параметра, игнорируя `X-Forwarded-Host` и `X-Forwarded-Proto`. `X-Forwarded-For` соблюдается для IP клиентов только когда установлен `listen.trusted_proxies`.436 Обновите URI перенаправления авторизованного клиента OAuth на `<public_url>/oauth/callback` перед первым входом. После изменения `public_url`, пересоберите и отправьте образ под новым тегом, зарегистрируйте новую редакцию определения задачи и переразвёртывайте. На ECS настройка живёт во встроенном `gateway.yaml` образа, и gateway строит свой публичный источник только из этой настройки, игнорируя `X-Forwarded-Host` и `X-Forwarded-Proto`. `X-Forwarded-For` соблюдается для IP клиентов только когда установлен `listen.trusted_proxies`.

435 </Tab>437 </Tab>

436 438 

437 <Tab title="EKS">439 <Tab title="EKS">

438 Этот трек нуждается в установленных `kubectl` и `eksctl` локально, и существующем кластере EKS с поставщиком IAM OIDC и установленным AWS Load Balancer Controller. Кластер должен быть на `$VPC_ID`, чтобы поды могли достичь приватной конечной точки RDS, и группа безопасности `claude-gateway-db` должна допускать группу безопасности пода или узла кластера вместо `$GW_SG`.440 Этот трек нуждается в установленных `kubectl` и `eksctl` локально, и существующем кластере EKS с поставщиком IAM OIDC и установленным AWS Load Balancer Controller. Кластер должен быть на `$VPC_ID`, чтобы поды могли достичь приватного эндпоинта RDS, и группа безопасности `claude-gateway-db` должна допускать группу безопасности пода или узла кластера вместо `$GW_SG`.

439 441 

440 На EKS gateway получает свои учётные данные Bedrock через IRSA, а не роли ECS. Политика доверия `ecs-tasks.amazonaws.com` из шага IAM не применяется здесь; IRSA нуждается в роли, чья политика доверия федерирует на поставщика OIDC кластера, ограниченном `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` создаёт эту роль, присоединяет политики и аннотирует учётную запись сервиса Kubernetes с ARN роли в один шаг. Превратите два документа политики из шага IAM в управляемые политики, которые он может присоединить:442 На EKS gateway получает свои учётные данные Bedrock через IRSA, а не роли ECS. Политика доверия `ecs-tasks.amazonaws.com` из шага IAM не применяется здесь; IRSA нуждается в роли, чья политика доверия федерирует на поставщика OIDC кластера, ограниченной `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` создаёт эту роль, присоединяет политики и аннотирует учётную запись сервиса Kubernetes с ARN роли в один шаг. Превратите два документа политики из шага IAM в управляемые политики, которые он может присоединить:

441 443 

442 ```bash theme={null}444 ```bash theme={null}

443 BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \445 BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \


464 Для фронтенда, Ingress, управляемый AWS Load Balancer Controller, предусматривает внутренний ALB. Аннотируйте его с:466 Для фронтенда, Ingress, управляемый AWS Load Balancer Controller, предусматривает внутренний ALB. Аннотируйте его с:

465 467 

466 * `alb.ingress.kubernetes.io/scheme: internal` и `alb.ingress.kubernetes.io/target-type: ip`468 * `alb.ingress.kubernetes.io/scheme: internal` и `alb.ingress.kubernetes.io/target-type: ip`

467 * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, поэтому записи AAAA общественного диапазона не публикуются для проверки приватной сети `/login` [private-network check](/docs/ru/claude-apps-gateway#prerequisites) отклонить469 * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, чтобы не публиковались записи AAAA общественного диапазона, которые [проверка приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклонила бы

468 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, поэтому контроллер-управляемая группа безопасности фронтенда допускает только вашу корпоративную сеть вместо значения по умолчанию `0.0.0.0/0`470 * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, поэтому контроллер-управляемая группа безопасности фронтенда допускает только вашу корпоративную сеть вместо значения по умолчанию `0.0.0.0/0`

469 * `alb.ingress.kubernetes.io/certificate-arn` с сертификатом ACM471 * `alb.ingress.kubernetes.io/certificate-arn` с сертификатом ACM

470 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, поэтому слушатель не возвращается к устаревшей политике по умолчанию, которая принимает TLS 1.0 и 1.1472 * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, поэтому слушатель не возвращается к устаревшей политике по умолчанию, которая принимает TLS 1.0 и 1.1

471 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, запас выше keepalive потоков gateway; см. [Troubleshooting](#troubleshooting)473 * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, запас выше keepalive потоковой передачи gateway; см. [Устранение неполадок](#troubleshooting)

472 474 

473 С IRSA, AWS SDK читает спроецированный токен учётной записи сервиса и обменивает его с AWS STS, поэтому под никогда не нуждается в сервисе метаданных экземпляра EC2; NetworkPolicy исходящего трафика может блокировать `169.254.169.254` для подов gateway. Проблема с лимитом переходов узла в [Troubleshooting](#troubleshooting) ниже применяется только к кластерам, которые пропускают IRSA и полагаются на роли экземпляра узла.475 С IRSA, AWS SDK читает спроецированный токен учётной записи сервиса и обменивает его с AWS STS, поэтому под никогда не нуждается в сервисе метаданных экземпляра EC2; NetworkPolicy исходящего трафика может блокировать `169.254.169.254` для подов gateway. Проблема с лимитом переходов узла в разделе [Устранение неполадок](#troubleshooting) ниже применяется только к кластерам, которые пропускают IRSA и полагаются на роли экземпляра узла.

474 </Tab>476 </Tab>

475 </Tabs>477 </Tabs>

476 </Step>478 </Step>

477 479 

478 <Step title="Отправьте URL gateway на машины разработчиков">480 <Step title="Отправьте URL gateway на машины разработчиков">

479 Gateway теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL gateway не будет на их машинах. Установите `forceLoginMethod` и `forceLoginGatewayUrl` в [файле управляемых параметров](/docs/ru/claude-apps-gateway#set-the-gateway-url), который вы развёртываете на каждом устройстве через MDM. Нет опции gateway в средстве выбора входа для разработчика, чтобы выбрать вручную.481 Gateway теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL gateway не будет на их машинах. Установите `forceLoginMethod` и `forceLoginGatewayUrl` в [файле управляемых настроек](/docs/ru/claude-apps-gateway#set-the-gateway-url), который вы развёртываете на каждом устройстве через MDM. Нет опции gateway в средстве выбора входа для разработчика, чтобы выбрать вручную.

480 </Step>482 </Step>

481</Steps>483</Steps>

482 484 

Details

416* **Изолированные виртуальные машины**: каждая сессия запускается в изолированной, управляемой Anthropic виртуальной машине. Сессии, которые ваша организация маршрутизирует в [самостоятельно размещённое окружение](/docs/ru/self-hosted-environments), запускаются на вашей собственной инфраструктуре вместо этого, где изоляция — это ответственность вашего развёртывания416* **Изолированные виртуальные машины**: каждая сессия запускается в изолированной, управляемой Anthropic виртуальной машине. Сессии, которые ваша организация маршрутизирует в [самостоятельно размещённое окружение](/docs/ru/self-hosted-environments), запускаются на вашей собственной инфраструктуре вместо этого, где изоляция — это ответственность вашего развёртывания

417* <span id="default-allowed-domains" />**Элементы управления сетевым доступом**: в окружениях, размещённых Anthropic, сетевой доступ ограничен по умолчанию и может быть отключен. См. [Сетевой доступ](/docs/ru/cloud-environments#network-access) для уровней доступа, [доменов, разрешённых по умолчанию](/docs/ru/cloud-environments#default-allowed-domains), и трафика, который не проходит через список разрешений. В самостоятельно размещённом окружении вы ограничиваете исходящий трафик сессии на вашей собственной границе сети. При запуске с отключённым сетевым доступом Claude Code всё ещё может общаться с API Anthropic, что может позволить данным выйти из виртуальной машины.417* <span id="default-allowed-domains" />**Элементы управления сетевым доступом**: в окружениях, размещённых Anthropic, сетевой доступ ограничен по умолчанию и может быть отключен. См. [Сетевой доступ](/docs/ru/cloud-environments#network-access) для уровней доступа, [доменов, разрешённых по умолчанию](/docs/ru/cloud-environments#default-allowed-domains), и трафика, который не проходит через список разрешений. В самостоятельно размещённом окружении вы ограничиваете исходящий трафик сессии на вашей собственной границе сети. При запуске с отключённым сетевым доступом Claude Code всё ещё может общаться с API Anthropic, что может позволить данным выйти из виртуальной машины.

418* **Защита учётных данных**: в окружениях, размещённых Anthropic, учётные данные git и ключи подписи остаются вне песочницы, и прокси аутентифицирует от имени сессии с ограниченными учётными данными. В самостоятельно размещённом окружении ваше развёртывание предоставляет учётные данные git; см. [Configure git](/docs/ru/self-hosted-environments-deploy#configure-git)418* **Защита учётных данных**: в окружениях, размещённых Anthropic, учётные данные git и ключи подписи остаются вне песочницы, и прокси аутентифицирует от имени сессии с ограниченными учётными данными. В самостоятельно размещённом окружении ваше развёртывание предоставляет учётные данные git; см. [Configure git](/docs/ru/self-hosted-environments-deploy#configure-git)

419* **API учётные данные**: в окружениях, размещённых Anthropic, на планах Pro и Max, ключи, которые вы [добавляете в облачное окружение](/docs/ru/cloud-environments#add-api-credentials), остаются вне песочницы так же, прикреплённые к совпадающим запросам после того, как они покидают сессию. Самостоятельно размещённое окружение не имеет API учётных данных, и планы Team и Enterprise их ещё не имеют419* **Сетевые секреты**: в окружениях, размещённых Anthropic, на планах Pro и Max, ключи, которые вы [добавляете в облачное окружение](/docs/ru/cloud-environments#add-api-credentials), остаются вне песочницы так же, прикреплённые к совпадающим запросам после того, как они покидают сессию. Самостоятельно размещённое окружение не имеет сетевых секретов, и планы Team и Enterprise их ещё не имеют

420* **Безопасный анализ**: код анализируется и изменяется в изолированной среде сессии перед созданием PR420* **Безопасный анализ**: код анализируется и изменяется в изолированной среде сессии перед созданием PR

421 421 

422<h2 id="troubleshooting">422<h2 id="troubleshooting">


442`claude --cloud` и `claude --teleport` требуют входа с аккаунтом claude.ai. Если вы аутентифицируетесь с помощью API-ключа или ваши сохранённые данные аккаунта устарели, вы увидите одно из следующего:442`claude --cloud` и `claude --teleport` требуют входа с аккаунтом claude.ai. Если вы аутентифицируетесь с помощью API-ключа или ваши сохранённые данные аккаунта устарели, вы увидите одно из следующего:

443 443 

444* `Unable to get organization UUID`444* `Unable to get organization UUID`

445* Сообщение о том, что аутентификации с помощью API-ключа недостаточно445* ``Cloud sessions need a claude.ai sign-in. Run `claude auth login` (or /login in a local session), then try again.``

446* `Error loading Claude Code sessions` в окне выбора сессии, если вы запускаете `claude --teleport` без ID сессии446* `Error loading Claude Code sessions` в окне выбора сессии, если вы запускаете `claude --teleport` без ID сессии

447 447 

448Запустите `/login` для входа с вашим аккаунтом claude.ai, затем повторите команду. Если вместо этого в ошибке указан ваш поставщик, см. [таблицу ошибок](#errors-when-sending-to-a-cloud-session): облачные сессии недоступны через сторонних поставщиков.448Запустите [`claude auth login`](/docs/ru/cli-reference#cli-commands) в оболочке, чтобы войти с вашим аккаунтом claude.ai, затем повторите команду. Внутри запущенной сессии то же самое делает `/login`. Если вместо этого в ошибке указан ваш поставщик, см. [таблицу ошибок](#errors-when-sending-to-a-cloud-session): облачные сессии недоступны через сторонних поставщиков.

449 

450В версиях с v2.1.274 по v2.1.289 сообщение о входе было таким: `Claude Code cloud sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.`

449 451 

450<h3 id="remote-control-session-expired-or-access-denied">452<h3 id="remote-control-session-expired-or-access-denied">

451 Remote Control session expired or access denied453 Remote Control session expired or access denied

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> in place of a <C>CLAUDE.md</C></>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


164 icon: 'folder',164 icon: 'folder',

165 color: '#9B7BC4',165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when Claude reads, writes, or edits a matching file</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads, writes, or edits a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads, writes, or edits a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',170 docsLink: '/en/memory#organize-rules-with-claude/rules/',


176 color: '#9B7BC4',176 color: '#9B7BC4',

177 badge: 'committed',177 badge: 'committed',

178 oneLiner: 'Test conventions scoped to test files',178 oneLiner: 'Test conventions scoped to test files',

179 when: <>Loaded when Claude reads a file matching the <C>paths:</C> globs below</>,179 when: <>Loaded when Claude reads, writes, or edits a file matching the <C>paths:</C> globs below</>,

180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,180 description: <>An example rule that only loads when Claude is working on test files. The <C>paths:</C> globs in the frontmatter define which files trigger it; here, anything ending in .test.ts or .test.tsx. For other files, this rule is not loaded into context.</>,

181 example: `---181 example: `---

182paths:182paths:


197 color: '#9B7BC4',197 color: '#9B7BC4',

198 badge: 'committed',198 badge: 'committed',

199 oneLiner: 'API conventions scoped to backend code',199 oneLiner: 'API conventions scoped to backend code',

200 when: <>Loaded when Claude reads a file matching the <C>paths:</C> glob below</>,200 when: <>Loaded when Claude reads, writes, or edits a file matching the <C>paths:</C> glob below</>,

201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is editing API routes.</>,201 description: <>A second example showing a rule scoped to backend code. The <C>paths:</C> glob matches files under src/api/, so these conventions load only when Claude is working on API routes.</>,

202 example: `---202 example: `---

203paths:203paths:

204 - "src/api/**/*.ts"204 - "src/api/**/*.ts"


605 icon: 'folder',605 icon: 'folder',

606 color: '#9B7BC4',606 color: '#9B7BC4',

607 oneLiner: 'User-level rules that apply to every project',607 oneLiner: 'User-level rules that apply to every project',

608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,608 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when Claude reads, writes, or edits a matching file</>,

609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',609 description: 'Same as project .claude/rules/ but applies everywhere. Use this for conventions you want across all your work, like personal code style or commit message format.',

610 docsLink: '/en/memory#organize-rules-with-claude/rules/',610 docsLink: '/en/memory#organize-rules-with-claude/rules/',

611 children: []611 children: []


1434 1434 

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

1436 1436 

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

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 Изучите директорию1440 Изучите директорию


1452 1452 

1453| Файл | Расположение | Назначение |1453| Файл | Расположение | Назначение |

1454| - | - | - |1454| - | - | - |

1455| `managed-settings.json` | Уровень системы, варьируется в зависимости от ОС | Параметры, установленные предприятием, которые вы не можете переопределить, за исключением [узких исключений](/docs/ru/settings#security-keys-where-the-stricter-value-applies). См. [где сохранить файл](/docs/ru/managed-settings#deploy-a-managed-settings-file) и [какой управляемый источник использует Claude Code](/docs/ru/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Уровень системы, варьируется в зависимости от ОС | Настройки, применяемые предприятием, которые не могут переопределить ни ваши собственные файлы настроек, ни значения `--settings`, за исключением [узких исключений](/docs/ru/settings#exceptions-to-managed-settings-precedence). См. [где сохранить файл](/docs/ru/managed-settings#deploy-a-managed-settings-file) и [какой управляемый источник использует Claude Code](/docs/ru/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Корень проекта | Ваши личные предпочтения для этого проекта, загружаемые вместе с CLAUDE.md. Создайте его вручную и добавьте в `.gitignore`. |1456| `CLAUDE.local.md` | Корень проекта | Ваши личные предпочтения для этого проекта, загружаемые вместе с CLAUDE.md. Создайте его вручную и добавьте в `.gitignore`. |

1457| `AGENTS.md` | Корень проекта, `.claude/` или любой каталог | Инструкции проекта, которые вы пишете для агентов AI кодирования. Claude Code может [загрузить его](/docs/ru/memory#agents-md) самостоятельно или вместе с `CLAUDE.md`. |1457| `AGENTS.md` | Корень проекта, `.claude/` или любой каталог | Инструкции проекта, которые вы пишете для агентов AI кодирования. Claude Code может [загрузить его](/docs/ru/memory#agents-md) вместо `CLAUDE.md`. |

1458| Установленные плагины | `~/.claude/plugins` | Клонированные маркетплейсы, установленные версии плагинов, запись установки `installed_plugins.json` и данные для каждого плагина, управляемые командами `claude plugin`. Плагины, [синхронизированные с вашей учётной записью claude.ai](/docs/ru/plugins/loading#synced-plugins), загружаются в `~/.claude/plugins/synced/`. Для плагина, установленного из маркетплейса с источником [`command`](/docs/ru/plugins/marketplace-reference#command-plugin-source) в режиме ссылки, Claude Code хранит здесь ссылки вместо копии, и файлы плагина остаются в каталоге, который выводит команда. Источник `command` требует Claude Code v2.1.229 или позже. Плагин, указанный относительным путём в маркетплейсе, который вы добавили из локального пути, также [загружается на месте](/docs/ru/plugins/loading#find-plugins-on-disk) из своего исходного каталога, а не из копии в кэше. См. [кэширование плагинов](/docs/ru/plugins/loading#find-plugins-on-disk), чтобы узнать, как очищаются заброшенные версии. |1458| Установленные плагины | `~/.claude/plugins` | Клонированные маркетплейсы, установленные версии плагинов, запись установки `installed_plugins.json` и данные для каждого плагина, управляемые командами `claude plugin`. Плагины, [синхронизированные с вашей учётной записью claude.ai](/docs/ru/plugins/loading#synced-plugins), загружаются в `~/.claude/plugins/synced/`. Для плагина, установленного из маркетплейса с источником [`command`](/docs/ru/plugins/marketplace-reference#command-plugin-source) в режиме ссылки, Claude Code хранит здесь ссылки вместо копии, и файлы плагина остаются в каталоге, который выводит команда. Источник `command` требует Claude Code v2.1.229 или позже. Плагин, указанный относительным путём в маркетплейсе, который вы добавили из локального пути, также [загружается на месте](/docs/ru/plugins/loading#find-plugins-on-disk) из своего исходного каталога, а не из копии в кэше. См. [кэширование плагинов](/docs/ru/plugins/loading#find-plugins-on-disk), чтобы узнать, как очищаются заброшенные версии. |

1459 1459 

1460`~/.claude` также содержит данные, которые Claude Code записывает во время работы: стенограммы, историю подсказок, снимки файлов, кэши и журналы. См. [данные приложения](#application-data) ниже.1460`~/.claude` также содержит данные, которые Claude Code записывает во время работы: стенограммы, историю подсказок, снимки файлов, кэши и журналы. См. [данные приложения](#application-data) ниже.


1487<Note>1487<Note>

1488 Несколько вещей могут переопределить то, что вы поместили в эти файлы:1488 Несколько вещей могут переопределить то, что вы поместили в эти файлы:

1489 1489 

1490 * [Управляемые параметры](/docs/ru/server-managed-settings), развёрнутые вашей организацией, имеют приоритет над всем остальным, за исключением [исключений в разделе Приоритет параметров](/docs/ru/settings#exceptions-to-managed-settings-precedence)1490 * [Управляемые настройки](/docs/ru/server-managed-settings), развёрнутые вашей организацией, имеют приоритет над всеми файлами настроек и значениями `--settings`, за исключением [исключений, описанных в разделе «Приоритет настроек»](/docs/ru/settings#exceptions-to-managed-settings-precedence)

1491 * Флаги CLI, такие как `--permission-mode` или `--settings`, переопределяют `settings.json` для этого сеанса1491 * Флаги CLI, такие как `--permission-mode` или `--settings`, переопределяют `settings.json` для этого сеанса

1492 * Некоторые переменные окружения имеют приоритет над их эквивалентным параметром, но это варьируется: проверьте [справочник переменных окружения](/docs/ru/env-vars) для каждого из них1492 * Некоторые переменные окружения имеют приоритет над их эквивалентным параметром, но это варьируется: проверьте [справочник переменных окружения](/docs/ru/env-vars) для каждого из них

1493 1493 


1708 1708 

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

1710 1710 

1711В скрипте проверяйте вывод, а не только код выхода. Запуск, который удаляет всё из своего плана, завершается строкой `Purged N item(s)`. Считайте эту строку признаком успеха.

1712 

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

1714 1712 

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

claude-projects.md +18 −18

Details

49Проект использует те же лимиты плана, что и другие сеансы Claude Code, и использует их быстрее. [Использование и стоимость](#usage-and-cost) охватывает то, что использует ваш план и как его снизить.49Проект использует те же лимиты плана, что и другие сеансы Claude Code, и использует их быстрее. [Использование и стоимость](#usage-and-cost) охватывает то, что использует ваш план и как его снизить.

50 50 

51<h2 id="how-a-project-is-organized">51<h2 id="how-a-project-is-organized">

52 Как организован проект52 Как устроен проект

53</h2>53</h2>

54 54 

55Проект — это один координирующий разговор с Claude плюс потоки, которые он запускает для выполнения работы. Вот его части:55Проект — это один координирующий диалог с Claude плюс потоки, которые он запускает для выполнения работы. Вот его составные части:

56 56 

57* **Разговор проекта**: один долгоживущий сеанс, где Claude действует как координатор. Он берет то, что вы отправляете, решает, что становится потоком, и отслеживает каждый запущенный поток. Он видит, что потоки сообщают обратно, а не каждый шаг, который они предпринимают.57* **Диалог проекта**: одна долгоживущая сессия, в которой Claude выступает координатором. Он принимает то, что вы отправляете, решает, что станет потоком, и отслеживает каждый запущенный им поток. Он видит то, о чём потоки отчитываются, а не каждый их шаг.

58* **Потоки**: рабочие. Каждый — это отдельный сеанс с собственным контекстным окном, который выполняет одну часть работы и сообщает обратно в разговор, когда завершается. Облачный поток работает на собственной ветке и открывает pull request, когда работа это требует.58* **Потоки**: исполнители. Каждый из них — отдельная сессия со своим собственным контекстным окном, которая выполняет одну часть работы и отчитывается перед диалогом по завершении. Облачный поток работает в своей собственной ветке и открывает pull request, когда этого требует работа.

59* **С чего начинает каждый облачный поток**:59* **С чем начинает каждый облачный поток**:

60 * Репозитории и файлы проекта, плюс его [инструкции и память](#give-a-project-standing-context)60 * Репозитории и файлы проекта, а также его [инструкции и память](#give-a-project-standing-context)

61 * `CLAUDE.md` и skills в [каждом из репозиториев проекта](#what-threads-pick-up-from-your-repositories), и в проекте с одним репозиторием также правила разрешений и hooks этого репозитория61 * `CLAUDE.md` и скиллы в [каждом из репозиториев проекта](#what-threads-pick-up-from-your-repositories), а в проекте с одним репозиторием — также правила разрешений и хуки этого репозитория

62 * [Connectors](#get-skills-plugins-connectors-and-tools-into-threads) на вашем аккаунте claude.ai62 * [Коннекторы](#get-skills-plugins-connectors-and-tools-into-threads) в вашей учётной записи claude.ai

63 * [Облачная среда](#choose-an-environment-for-threads), которая устанавливает его сетевой доступ, переменные окружения, учетные данные API и установленные инструменты63 * [Облачное окружение](#choose-an-environment-for-threads), которое задаёт сетевой доступ, переменные окружения, сетевые секреты и установленные инструменты

64* **Панель Overview**: где вы [видите все потоки сразу](#see-what-needs-you-in-overview) и какие из них вам нужны. Его другие вкладки — **Library** для добавленных вами файлов и файлов, созданных потоками, **Pull requests** для открытых потоками, и **Routines** для запланированной работы в проекте.64* **Панель Overview**: здесь вы [видите все потоки сразу](#see-what-needs-you-in-overview), а также какие из них требуют вашего участия. Другие её вкладки: **Library** для добавленных вами файлов и файлов, созданных потоками, **Pull requests** для pull request, открытых потоками, и **Routines** для запланированной работы в проекте.

65 65 

66Облачные потоки не берут ничего из настройки Claude Code на вашей машине. [Получить skills, plugins, connectors и инструменты в потоки](#get-skills-plugins-connectors-and-tools-into-threads) охватывает, как дать им то, что им иначе не хватает.66Облачные потоки ничего не берут из настроек Claude Code на вашем собственном компьютере. В разделе [Передача скиллов, плагинов, коннекторов и инструментов в потоки](#get-skills-plugins-connectors-and-tools-into-threads) описано, как предоставить им то, чего им иначе не хватало бы.

67 67 

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

69 69 

70<Frame>70<Frame>

71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Диаграмма проекта. Вы пишете в разговор проекта, где Claude отвечает или запускает поток. Каждый облачный поток работает на собственной ветке и открывает pull request. Панель Overview перечисляет потоки по состоянию, например готовы к проверке, ожидают вас и работают." width="600" height="250" data-path="images/claude-projects-overview.svg" />71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Схема проекта. Вы пишете в диалоге проекта, где Claude отвечает или запускает поток. Каждый облачный поток работает в своей собственной ветке и pull request. Панель Overview перечисляет потоки по состоянию, например готов к проверке, ожидает вас и в работе." width="600" height="250" data-path="images/claude-projects-overview.svg" />

72 72 

73 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Диаграмма проекта. Вы пишете в разговор проекта, где Claude отвечает или запускает поток. Каждый облачный поток работает на собственной ветке и открывает pull request. Панель Overview перечисляет потоки по состоянию, например готовы к проверке, ожидают вас и работают." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />73 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Схема проекта. Вы пишете в диалоге проекта, где Claude отвечает или запускает поток. Каждый облачный поток работает в своей собственной ветке и pull request. Панель Overview перечисляет потоки по состоянию, например готов к проверке, ожидает вас и в работе." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />

74</Frame>74</Frame>

75 75 

76<h2 id="create-a-project">76<h2 id="create-a-project">


92 92 

93* **План**: вы на Pro или Max и **Projects** отображается на вашей боковой панели.93* **План**: вы на Pro или Max и **Projects** отображается на вашей боковой панели.

94* **GitHub, если проект будет работать с кодом**: ваш код находится на github.com, а не на GitHub Enterprise Server, GitLab или Bitbucket, ваш подключенный аккаунт GitHub имеет доступ на push к нему, и Claude GitHub App установлено на нем. Если вы подключили GitHub с помощью [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal), этот токен позволяет вашим другим облачным сеансам достичь репозитория, но недостаточно для облачных потоков проекта, которым нужно Claude GitHub App. [Настройка доступа GitHub](#set-up-github-access) содержит шаги.94* **GitHub, если проект будет работать с кодом**: ваш код находится на github.com, а не на GitHub Enterprise Server, GitLab или Bitbucket, ваш подключенный аккаунт GitHub имеет доступ на push к нему, и Claude GitHub App установлено на нем. Если вы подключили GitHub с помощью [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal), этот токен позволяет вашим другим облачным сеансам достичь репозитория, но недостаточно для облачных потоков проекта, которым нужно Claude GitHub App. [Настройка доступа GitHub](#set-up-github-access) содержит шаги.

95* **Сеть, учетные данные и инструменты**: для облачных потоков они поступают из [облачной среды](#choose-an-environment-for-threads) проекта. Среда по умолчанию уже достигает [общих реестров пакетов](/docs/ru/cloud-environments#default-allowed-domains), поэтому проверьте это только если работе нужны другие домены, секрет или инструмент, который не предустановлен. Если работе нужен MCP server, проверьте, что он отображается как подключенный в ваших [claude.ai connectors](https://claude.ai/customize/connectors).95* **Сеть, секреты и инструменты**: для облачных потоков они поступают из [облачной среды](#choose-an-environment-for-threads) проекта. Среда по умолчанию уже имеет доступ к [распространенным реестрам пакетов](/docs/ru/cloud-environments#default-allowed-domains), поэтому проверяйте это, только если работе нужны другие домены, секрет или инструмент, который не предустановлен. Если работе нужен MCP-сервер, проверьте, что он отображается как подключенный в ваших [коннекторах claude.ai](https://claude.ai/customize/connectors).

96 96 

97<h3 id="start-a-new-project-from-scratch">97<h3 id="start-a-new-project-from-scratch">

98 Запуск нового проекта с нуля98 Запуск нового проекта с нуля


396 Выбор среды для потоков396 Выбор среды для потоков

397</h3>397</h3>

398 398 

399Каждый новый облачный поток начинается в [облачной среде](/docs/ru/cloud-environments) проекта. Среда устанавливает, какие домены могут достичь потоки, какие переменные окружения они имеют, какие учетные данные API добавляются в их запросы и что скрипт настройки устанавливает перед началом Claude. Облачные потоки используют среду по умолчанию, размещенную Anthropic, пока вы не выберете одну в **Project settings > Environment**.399Каждый новый облачный поток начинается в [облачной среде](/docs/ru/cloud-environments) проекта. Среда определяет, к каким доменам могут обращаться потоки, какие переменные окружения у них есть, какие сетевые секреты добавляются в их запросы и что устанавливает скрипт настройки до запуска Claude. Облачные потоки используют среду по умолчанию, размещенную Anthropic, пока вы не выберете другую в **Project settings > Environment**.

400 400 

401Если облачным потокам нужно достичь внутреннего API или приватного реестра пакетов, или нужен токен, который ваша машина обычно держит, измените среду, а не проект: см. [Сетевой доступ](/docs/ru/cloud-environments#network-access), [Добавить учетные данные API](/docs/ru/cloud-environments#add-api-credentials) и [Скрипты настройки](/docs/ru/cloud-environments#setup-scripts).401Если облачным потокам нужно обращаться к внутреннему API или приватному реестру пакетов либо нужен токен, который обычно хранится на вашей машине, измените среду, а не проект: см. [Сетевой доступ](/docs/ru/cloud-environments#network-access), [Добавление сетевых секретов](/docs/ru/cloud-environments#add-api-credentials) и [Скрипты настройки](/docs/ru/cloud-environments#setup-scripts).

402 402 

403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">403<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

404 Получить skills, plugins, connectors и инструменты в потоки404 Получить skills, plugins, connectors и инструменты в потоки


590</h2>590</h2>

591 591 

592* [Используйте Claude Code в облаке](/docs/ru/claude-code-on-the-web): как работают облачные сеансы за каждым потоком, включая варианты доступа GitHub и auto-fix на pull request592* [Используйте Claude Code в облаке](/docs/ru/claude-code-on-the-web): как работают облачные сеансы за каждым потоком, включая варианты доступа GitHub и auto-fix на pull request

593* [Настройте облачные среды](/docs/ru/cloud-environments): измените, что потоки могут достичь в сети, дайте им переменные окружения и учетные данные API и установите инструменты со скриптом настройки593* [Настройте облачные среды](/docs/ru/cloud-environments): измените, что облачные потоки могут достичь в сети, дайте им переменные окружения и сетевые секреты и установите инструменты со скриптом настройки

594* [Автоматизируйте работу с routines](/docs/ru/routines): расписания, триггеры и управление для routines, включая те, которые Claude создает из проекта594* [Автоматизируйте работу с routines](/docs/ru/routines): расписания, триггеры и управление для routines, включая те, которые Claude создает из проекта

595* [Управляйте несколькими агентами с agent view](/docs/ru/agent-view): запускайте и отслеживайте несколько сеансов на вашей собственной машине, когда работе требуются инструменты или сервисы, которые может достичь только ваша машина595* [Управляйте несколькими агентами с agent view](/docs/ru/agent-view): запускайте и отслеживайте несколько сеансов на вашей собственной машине, когда работе требуются инструменты или сервисы, которые может достичь только ваша машина

596* [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned): объявление о запуске с объяснением идеи превращения проекта в беседу с Claude596* [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned): объявление о запуске с объяснением идеи превращения проекта в беседу с Claude

Details

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

35| `claude daemon run` | Запустить [супервизор](/docs/ru/agent-view#the-supervisor-process) фоновых сессий на переднем плане этого терминала с выводом его лога | `claude daemon run` |

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

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

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


94| `--exec` | Запустить команду shell как фоновое задание с поддержкой PTY вместо запуска сеанса Claude. Используйте с `--bg` для запуска из shell | `claude --bg --exec 'pytest -x'` |96| `--exec` | Запустить команду shell как фоновое задание с поддержкой PTY вместо запуска сеанса Claude. Используйте с `--bg` для запуска из shell | `claude --bg --exec 'pytest -x'` |

95| `--fallback-model` | Включить автоматический переход на указанную модель (модели) при перегрузке или недоступности основной модели, например снятая с производства модель. Принимает разделённый запятыми список, пробуемый по порядку. См. [Цепочки резервных моделей](/docs/ru/model-config#fallback-model-chains). Чтобы сохранить цепочку между сеансами, используйте параметр [`fallbackModel`](/docs/ru/settings-reference#fallbackmodel), который этот флаг переопределяет | `claude --fallback-model sonnet,haiku` |97| `--fallback-model` | Включить автоматический переход на указанную модель (модели) при перегрузке или недоступности основной модели, например снятая с производства модель. Принимает разделённый запятыми список, пробуемый по порядку. См. [Цепочки резервных моделей](/docs/ru/model-config#fallback-model-chains). Чтобы сохранить цепочку между сеансами, используйте параметр [`fallbackModel`](/docs/ru/settings-reference#fallbackmodel), который этот флаг переопределяет | `claude --fallback-model sonnet,haiku` |

96| `--fork-session` | При возобновлении создать новый ID сеанса вместо повторного использования исходного (используйте с `--resume` или `--continue`) | `claude --resume abc123 --fork-session` |98| `--fork-session` | При возобновлении создать новый ID сеанса вместо повторного использования исходного (используйте с `--resume` или `--continue`) | `claude --resume abc123 --fork-session` |

97| `--forward-subagent-text` | Выдать текст [subagent](/docs/ru/sub-agents) и блоки thinking в выходной поток как сообщения `assistant` и `user` с установленным `parent_tool_use_id`, чтобы вы могли восстановить транскрипт каждого subagent. Без этого флага Claude Code опускает текст и блоки thinking subagent, который работает на [переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background). Требует `--print` и `--output-format stream-json`. Claude Code также пересылает сообщения от [вложенных subagents](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), устанавливая `parent_tool_use_id` на ID вызова инструмента Agent или Skill, который порождает каждый; это требует Claude Code v2.1.219 или позже, и сообщения subagents, которые forked skill порождает, и вложенных forked skills, требуют v2.1.275 или позже. Переменная окружения [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ru/env-vars) включает то же поведение. Требует Claude Code v2.1.211 или позже | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |99| `--forward-subagent-text` | Выводить текст и блоки размышлений [субагентов](/docs/ru/sub-agents) в выходной поток как сообщения `assistant` и `user` с установленным `parent_tool_use_id`, чтобы можно было восстановить транскрипт каждого субагента. Без этого флага Claude Code опускает текст и блоки размышлений субагента, работающего на [переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background). Требует `--print` и `--output-format stream-json`. О вложенных субагентах, ответвлённых скиллах и версиях, необходимых для каждого из них, см. [Отслеживание сообщений субагентов](/docs/ru/headless#follow-subagent-messages). Переменная окружения [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ru/env-vars) включает то же поведение. Требует Claude Code v2.1.211 или новее | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |

98| `--from-pr` | Открыть выбор сеанса, отфильтрованный по сеансам, связанным с конкретным pull request. Принимает номер PR, URL GitHub или GitHub Enterprise PR, URL GitLab merge request или URL Bitbucket pull request. Сеансы автоматически связываются при создании Claude pull request | `claude --from-pr 123` |100| `--from-pr` | Открыть выбор сеанса, отфильтрованный по сеансам, связанным с конкретным pull request. Принимает номер PR, URL GitHub или GitHub Enterprise PR, URL GitLab merge request или URL Bitbucket pull request. Сеансы автоматически связываются при создании Claude pull request | `claude --from-pr 123` |

99| `--ide` | Автоматически подключиться к IDE при запуске, если доступна ровно одна действительная IDE | `claude --ide` |101| `--ide` | Автоматически подключиться к IDE при запуске, если доступна ровно одна действительная IDE | `claude --ide` |

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

Details

10 Облачные среды применяются к [облачным сеансам](/docs/ru/claude-code-on-the-web), которые доступны на планах Pro, Max и Team, а также для пользователей Enterprise с [премиум-местами или местами Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Облачные среды применяются к [облачным сеансам](/docs/ru/claude-code-on-the-web), которые доступны на планах Pro, Max и Team, а также для пользователей Enterprise с [премиум-местами или местами Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Каждый [облачный сеанс](/docs/ru/claude-code-on-the-web) выполняется в облачной среде. Вы можете настроить среду, чтобы разрешить или запретить [доступ в сеть](#access-levels), [установить переменные окружения](#set-environment-variables) для сеанса, на планах Pro и Max сохранять [учётные данные API](#add-api-credentials), которые сеансы используют без их просмотра, и запустить [скрипт настройки](#setup-scripts) перед тем, как Claude начнёт работу.13Каждая [облачная сессия](/docs/ru/claude-code-on-the-web) выполняется в облачной среде. Вы можете настроить среду, чтобы разрешить или запретить [доступ в сеть](#access-levels), [установить переменные окружения](#set-environment-variables) для сессии, на планах Pro и Max сохранять [сетевые секреты](#add-api-credentials), которые сессии используют, не видя их, и запускать [скрипт настройки](#setup-scripts) перед тем, как Claude начнёт работу.

14 14 

15Одни и те же среды применяются везде, где вы запускаете облачный сеанс: [приложение Desktop](/docs/ru/desktop), [мобильное приложение Claude](/docs/ru/mobile), ваш браузер на [claude.ai/code](https://claude.ai/code), терминал с [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), [процедуры](/docs/ru/routines) и [Claude Tag](https://claude.com/docs/claude-tag/overview). Каждая из этих поверхностей также может маршрутизировать в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments). [Доступность и ограничения](/docs/ru/self-hosted-environments#availability-and-limitations) охватывает то, что Claude ещё не может использовать, когда сеанс Claude Tag работает в одной.15Одни и те же среды применяются везде, где вы запускаете облачный сеанс: [приложение Desktop](/docs/ru/desktop), [мобильное приложение Claude](/docs/ru/mobile), ваш браузер на [claude.ai/code](https://claude.ai/code), терминал с [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), [процедуры](/docs/ru/routines) и [Claude Tag](https://claude.com/docs/claude-tag/overview). Каждая из этих поверхностей также может маршрутизировать в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments). [Доступность и ограничения](/docs/ru/self-hosted-environments#availability-and-limitations) охватывает то, что Claude ещё не может использовать, когда сеанс Claude Tag работает в одной.

16 16 


58 <Step title="Добавьте или отредактируйте среду">58 <Step title="Добавьте или отредактируйте среду">

59 Выберите **Cloud** для отображения ваших сред. Затем выберите **Add cloud environment** или наведите на существующую среду и выберите значок параметров, который появляется справа.59 Выберите **Cloud** для отображения ваших сред. Затем выберите **Add cloud environment** или наведите на существующую среду и выберите значок параметров, который появляется справа.

60 60 

61 Диалог включает имя, уровень сетевого доступа, переменные окружения и скрипт установки. Когда вы редактируете существующую облачную среду на плане Pro или Max, диалог также включает [учётные данные API](#add-api-credentials).61 Диалог включает имя, уровень сетевого доступа, переменные окружения и скрипт установки. Когда вы редактируете существующую облачную среду на плане Pro или Max, диалог также включает [сетевые секреты](#add-api-credentials).

62 62 

63 <Frame>63 <Frame>

64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="Диалог New cloud environment. Поле Name с заполнителем Default, селектор Network access установлен на Trusted со ссылками на политику сети и уровни доступа, поле Environment variables, показывающее текст-заполнитель в формате .env с примечанием, что значения видны всем, кто использует среду, поле Setup script, описанное как скрипт Bash, который запускается при запуске нового сеанса перед запуском Claude Code, и кнопки Cancel и Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />64 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="Диалог New cloud environment. Поле Name с заполнителем Default, селектор Network access установлен на Trusted со ссылками на политику сети и уровни доступа, поле Environment variables, показывающее текст-заполнитель в формате .env с примечанием, что значения видны всем, кто использует среду, поле Setup script, описанное как скрипт Bash, который запускается при запуске нового сеанса перед запуском Claude Code, и кнопки Cancel и Create environment." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />


91 91 

92Облачный сеанс также устанавливает некоторые переменные сам, когда запускается. Для [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ru/claude-code-on-the-web#manage-context) значение, которое устанавливает сеанс, переопределяет то, которое вы добавляете здесь, поэтому добавление этого ключа здесь не имеет эффекта.92Облачный сеанс также устанавливает некоторые переменные сам, когда запускается. Для [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ru/claude-code-on-the-web#manage-context) значение, которое устанавливает сеанс, переопределяет то, которое вы добавляете здесь, поэтому добавление этого ключа здесь не имеет эффекта.

93 93 

94Любой, кто использует среду, может читать значения. На планах Pro и Max используйте [учётные данные API](#add-api-credentials) вместо этого для ключа, который прокси агента может прикрепить к запросу. [Запросы, которые никогда не получают учётные данные](#requests-that-never-get-the-credential), перечислены там.94Любой, кто использует среду, может читать значения. На планах Pro и Max вместо этого используйте [сетевой секрет](#add-api-credentials) для ключа, который прокси агента может прикрепить к запросу. [Запросы, которые никогда не получают секрет](#requests-that-never-get-the-credential), перечислены там.

95 95 

96<h3 id="add-api-credentials">96<h3 id="add-api-credentials">

97 Добавление учётных данных API97 Добавление сетевых секретов

98</h3>98</h3>

99 99 

100Учётные данные API — это ключ API или токен, который вы сохраняете в облачной среде, чтобы Claude мог вызывать этот API из любого сеанса в среде без просмотра ключа. Прокси агента Anthropic добавляет ключ к запросам для хостов, которые вы перечисляете, после того как каждый запрос покидает виртуальную машину сеанса. Ключ никогда не достигает Claude, команд, которые он запускает, или переменных окружения сеанса.100Сетевой секрет — это API-ключ или токен, который вы сохраняете в облачной среде, чтобы Claude мог вызывать этот API из любой сессии в среде, не видя ключа. Прокси агента Anthropic добавляет ключ к запросам для перечисленных вами хостов после того, как каждый запрос покидает виртуальную машину сессии, поэтому сам ключ остаётся за пределами виртуальной машины.

101 101 

102Учётные данные API доступны на планах Pro и Max. Они недоступны на планах Team или Enterprise пока, поэтому раздел **API credentials** не появляется в диалоге среды на этих планах.102Сетевые секреты доступны на планах Pro и Max. На планах Team и Enterprise они пока недоступны, поэтому раздел **Network secrets** не появляется в диалоге среды на этих планах.

103 103 

104<h4 id="requirements">104<h4 id="requirements">

105 Требования105 Требования

106</h4>106</h4>

107 107 

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

109 109 

110* **Роль**: роль администратора организации в вашей организации claude.ai110* **Роль**: роль администратора организации в вашей организации claude.ai

111 * На Team и Enterprise её держат владельцы, а администраторы нет111 * На Team и Enterprise её держат владельцы, а администраторы нет

112 * На Pro и Max вы её держите в своей собственной организации112 * На Pro и Max вы её держите в своей собственной организации

113* **Тип среды**: облачная среда, размещённая Anthropic, которая уже существует. [Самостоятельно размещённая среда](/docs/ru/self-hosted-environments) не имеет учётных данных API113* **Тип среды**: облачная среда, размещённая Anthropic, которая уже существует. У [самостоятельно размещённой среды](/docs/ru/self-hosted-environments) нет сетевых секретов

114* **Доступность API**: API принимает соединения из интернета, потому что запросы выходят из сети Anthropic114* **Доступность API**: API принимает соединения из интернета, потому что запросы выходят из сети Anthropic

115* **Ключи шифрования**: если ваша организация использует управляемые клиентом ключи шифрования, вы не можете сохранять учётные данные115* **Ключи шифрования**: если ваша организация использует управляемые клиентом ключи шифрования, вы не можете сохранять сетевые секреты

116 116 

117<h4 id="add-a-credential">117<h4 id="add-a-credential">

118 Добавление учётных данных118 Добавление секрета

119</h4>119</h4>

120 120 

121Вы добавляете учётные данные по одному и не можете редактировать их после добавления. Чтобы изменить хосты или значение учётных данных, удалите их и добавьте снова.121Вы добавляете секреты по одному и не можете редактировать секрет после добавления. Чтобы изменить хосты или значение секрета, удалите его и добавьте снова.

122 122 

123<Steps>123<Steps>

124 <Step title="Откройте учётные данные API среды">124 <Step title="Откройте сетевые секреты среды">

125 [Откройте среду для редактирования](#configure-your-environment) на [claude.ai/code](https://claude.ai/code). В диалоге **Edit environment** найдите раздел **API credentials**. Вы видите учётные данные, уже находящиеся в среде, каждые с хостами, к которым они применяются.125 [Откройте среду для редактирования](#configure-your-environment) на [claude.ai/code](https://claude.ai/code). В диалоге **Edit environment** найдите раздел **Network secrets**. Вы увидите секреты, уже добавленные в среду, каждый с хостами, к которым он применяется.

126 </Step>126 </Step>

127 127 

128 <Step title="Добавьте учётные данные">128 <Step title="Добавьте секрет">

129 Выберите **Add credential** и заполните форму. Оставьте **Credential type** по умолчанию, **Bearer**, для API-ключа, который передаётся в заголовке запроса, и заполните эти поля:129 Выберите **Add secret** и заполните форму. Оставьте **Credential type** по умолчанию, **Bearer**, для API-ключа, который передаётся в заголовке запроса, и заполните эти поля:

130 130 

131 * **Name**: метка для учётных данных, такая как `Internal billing API`131 * **Name**: метка для секрета, например `Internal billing API`

132 * **Allowed websites**: хосты API, такие как `api.example.com`. Ведущий `*.` соответствует каждому поддомену132 * **Allowed websites**: хосты API, например `api.example.com`. Префикс `*.` соответствует любому поддомену

133 * **Custom headers**: одна строка для заголовка, который несёт ключ. Строка начинается с `Authorization` как **Name** заголовка и `Bearer` как его **Prefix**; вставьте сам ключ как **Value**. Для заголовка, такого как `X-Api-Key`, который принимает голое значение, измените имя и очистите префикс133 * **Custom headers**: одна строка для заголовка, который несёт ключ. Строка начинается с `Authorization` в качестве **Name** заголовка и `Bearer` в качестве его **Prefix**; вставьте сам ключ в качестве **Value**. Для заголовка вроде `X-Api-Key`, который принимает значение без префикса, измените имя и очистите префикс

134 134 

135 Для API, который аутентифицируется другим способом, выберите другой **Credential type**. Список — это тот же, который [Claude Tag](https://claude.com/docs/claude-tag/overview), интеграция Slack для планов Team и Enterprise, предлагает для [соединений](https://claude.com/docs/claude-tag/admins/add-connections).135 Для API, который использует другой способ аутентификации, выберите другой **Credential type**. Это тот же список, который [Claude Tag](https://claude.com/docs/claude-tag/overview), интеграция со Slack для планов Team и Enterprise, предлагает для [соединений](https://claude.com/docs/claude-tag/admins/add-connections).

136 </Step>136 </Step>

137 137 

138 <Step title="Сохраните учётные данные">138 <Step title="Сохраните секрет">

139 Выберите **Connect**. Учётные данные появляются в списке с его хостами, сохранённые без кнопки **Save changes** диалога. Вы не можете просмотреть значение снова после сохранения.139 Выберите **Connect**. Секрет появляется в списке со своими хостами и сохраняется без кнопки **Save changes** диалога. После сохранения просмотреть значение снова нельзя.

140 </Step>140 </Step>

141</Steps>141</Steps>

142 142 

143Чтобы подтвердить, что учётные данные работают, запустите сеанс в среде и попросите Claude вызвать API, например с помощью `curl`. API отвечает так, как если бы ключ был в запросе, и ключ не появляется в переменных окружения сеанса или в любом файле. Если список отмечает учётные данные **Not sent** вместо этого, примечание под ним говорит почему и что делать. Два учётных данных, чьи хосты перекрываются без точного совпадения, не получают маркер, и прокси агента отправляет только один из них.143Чтобы убедиться, что секрет работает, запустите сессию в среде и попросите Claude вызвать API, например с помощью `curl`. API отвечает так, как если бы ключ был в запросе, а ключ не появляется ни в переменных окружения сессии, ни в каком-либо файле. Если вместо этого список помечает секрет как **Not sent**, примечание под ним объясняет причину и что делать. Два секрета, хосты которых пересекаются без точного совпадения, не получают отметки, и прокси агента отправляет только один из них.

144 144 

145<h4 id="which-requests-get-the-credential">145<h4 id="which-requests-get-the-credential">

146 Какие запросы получают учётные данные146 Какие запросы получают секрет

147</h4>147</h4>

148 148 

149Прокси агента прикрепляет учётные данные к запросу, когда хост запроса соответствует одному, который вы перечислили на этих учётных данных. Сеансы могут достичь этих хостов, даже когда [уровень доступа в сеть](#access-levels) среды иначе их не разрешал бы, кроме [хостов, которые никогда не получают учётные данные](#requests-that-never-get-the-credential). Учётные данные применяются в каждом сеансе, который работает в среде, кто бы его ни запустил, пока вы их не удалите.149Прокси агента прикрепляет секрет к запросу, когда хост запроса совпадает с одним из хостов, которые вы указали для этого секрета. Сессии могут обращаться к этим хостам, даже если [уровень сетевого доступа](#access-levels) среды иначе бы их не разрешал, за исключением [хостов, которые никогда не получают секрет](#requests-that-never-get-the-credential). Секрет применяется в каждой сессии, работающей в среде, кто бы её ни запустил, пока вы его не удалите.

150 150 

151<h4 id="requests-that-never-get-the-credential">151<h4 id="requests-that-never-get-the-credential">

152 Запросы, которые никогда не получают учётные данные152 Запросы, которые никогда не получают секрет

153</h4>153</h4>

154 154 

155Прокси агента никогда не прикрепляет учётные данные, которые вы добавляете, к этим запросам:155Прокси агента никогда не прикрепляет добавленный вами секрет к следующим запросам:

156 156 

157* **GitHub**: [прокси GitHub](#github-proxy) аутентифицирует запросы к GitHub вместо этого, поэтому вам не нужны учётные данные API для этого157* **GitHub**: запросы к GitHub вместо этого аутентифицирует [прокси GitHub](#github-proxy), поэтому сетевой секрет для него не нужен

158* **API Anthropic и общедоступные реестры пакетов**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` и `proxy.golang.org`158* **API Anthropic и общедоступные реестры пакетов**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` и `proxy.golang.org`

159* **Запросы скрипта установки**: Claude Code подключается к прокси агента, когда он запускается, после того как [скрипт установки](#setup-scripts) запустился159* **Запросы скрипта установки**: Claude Code подключается к прокси агента, когда он запускается, после того как [скрипт установки](#setup-scripts) запустился

160* **Экспорт телеметрии Claude Code**: Claude Code отправляет свой [экспорт телеметрии](/docs/ru/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) сам, а не через команду, которую он запускает, и этот запрос не проходит через прокси агента160* **Экспорт телеметрии Claude Code**: Claude Code отправляет свой [экспорт телеметрии](/docs/ru/monitoring-usage#telemetry-from-cloud-sessions-and-claude-tag) сам, а не через команду, которую он запускает, и этот запрос не проходит через прокси агента


179 179 

180* Сеансы, которые уже работают в среде, продолжают работать.180* Сеансы, которые уже работают в среде, продолжают работать.

181* Среда исчезает из селектора и из `/remote-env`, поэтому вы не можете выбрать её для новых сеансов.181* Среда исчезает из селектора и из `/remote-env`, поэтому вы не можете выбрать её для новых сеансов.

182* Учётные данные API в среде остаются прикреплены в её работающих сеансах. Удалите те, которые вам больше не нужны, перед архивированием.182* Сетевые секреты среды остаются прикреплёнными в её работающих сессиях. Перед архивированием удалите те, которые вам больше не нужны.

183* Ни один новый сеанс не может запуститься в архивированной среде на любой поверхности. Если среда была вашим сохранённым [значением по умолчанию CLI](#select-an-environment-from-the-cli), Claude Code запускает облачные сеансы CLI в среде, размещённой Anthropic, когда ваш список имеет одну, и в противном случае в первой среде в вашем списке, которая не является [мостовой средой Remote Control](#the-default-environment). Всё, что явно настроено с помощью среды, такое как [процедура](/docs/ru/routines#environments-and-network-access), не может запустить новые сеансы в ней. Укажите её на другую среду.183* Ни один новый сеанс не может запуститься в архивированной среде на любой поверхности. Если среда была вашим сохранённым [значением по умолчанию CLI](#select-an-environment-from-the-cli), Claude Code запускает облачные сеансы CLI в среде, размещённой Anthropic, когда ваш список имеет одну, и в противном случае в первой среде в вашем списке, которая не является [мостовой средой Remote Control](#the-default-environment). Всё, что явно настроено с помощью среды, такое как [процедура](/docs/ru/routines#environments-and-network-access), не может запустить новые сеансы в ней. Укажите её на другую среду.

184 184 

185<h3 id="organization-shared-environments">185<h3 id="organization-shared-environments">


197 197 

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

199 199 

200Каждый сеанс члена в общей среде читает её переменные, поэтому не включайте секреты в них. [Учётные данные API](#add-api-credentials), которые дают сеансам ключ, который они не могут читать, недоступны на планах Team или Enterprise пока.200Сессии каждого участника в общей среде считывают её переменные, поэтому не включайте в них секреты. [Сетевые секреты](#add-api-credentials), которые дают сессиям ключ, недоступный им для чтения, пока недоступны на планах Team и Enterprise.

201 201 

202<h3 id="set-the-environment-a-claude-tag-channel-uses">202<h3 id="set-the-environment-a-claude-tag-channel-uses">

203 Установка среды, которую использует канал Claude Tag203 Установка среды, которую использует канал Claude Tag


239 239 

240* GitHub, через его [отдельный прокси](#github-proxy)240* GitHub, через его [отдельный прокси](#github-proxy)

241* [Соединители MCP](#network-access), которые вы включаете, трафик которых проходит через серверы Anthropic241* [Соединители MCP](#network-access), которые вы включаете, трафик которых проходит через серверы Anthropic

242* Хосты, которые вы указали в [учётных данных API](#add-api-credentials) среды, кроме [хостов, которые никогда не получают учётные данные](#requests-that-never-get-the-credential)242* Хосты, которые вы указали в [сетевых секретах](#add-api-credentials) среды, кроме [хостов, которые никогда не получают секрет](#requests-that-never-get-the-credential)

243* API Anthropic, для собственных запросов Claude Code, даже при **None**, как отмечено в разделе [Безопасность и изоляция](/docs/ru/claude-code-on-the-web#security-and-isolation)243* API Anthropic, для собственных запросов Claude Code, даже при **None**, как отмечено в разделе [Безопасность и изоляция](/docs/ru/claude-code-on-the-web#security-and-isolation)

244 244 

245<h3 id="allow-specific-domains">245<h3 id="allow-specific-domains">


254registry.example.com254registry.example.com

255```255```

256 256 

257Сеансы в этой среде теперь могут достичь `api.example.com`, любого поддомена `internal.example.com` и `registry.example.com`, и никаких других доменов через сеть сеанса. [Трафик GitHub](#github-proxy), [трафик соединителя MCP](#network-access) и запросы к хостам [учётных данных API](#add-api-credentials) среды, кроме [хостов, которые никогда не получают учётные данные](#requests-that-never-get-the-credential), не проходят через этот список разрешённых. Ведущий `*.` соответствует каждому поддомену. Чтобы сохранить [домены Trusted](#default-allowed-domains) также, установите флажок **Also include default list of common package managers**; оставьте его без флажка, чтобы разрешить только то, что вы указали.257Теперь сессии в этой среде могут обращаться к `api.example.com`, любому поддомену `internal.example.com` и `registry.example.com` и ни к каким другим доменам через сеть сессии. [Трафик GitHub](#github-proxy), [трафик коннекторов MCP](#network-access) и запросы к хостам [сетевых секретов](#add-api-credentials) среды, кроме [хостов, которые никогда не получают секрет](#requests-that-never-get-the-credential), не проходят через этот список разрешённых доменов. Ведущий `*.` соответствует любому поддомену. Чтобы также сохранить [домены Trusted](#default-allowed-domains), установите флажок **Also include default list of common package managers**; оставьте его снятым, чтобы разрешить только то, что вы указали.

258 258 

259Если ваша организация использует [артефакты](/docs/ru/artifacts#availability), вам не нужно добавлять `*.frame.claudeusercontent.com` в список, чтобы сеансы могли их читать. Когда список исключает этот хост, Claude Code читает содержимое артефакта через соединение сеанса с Anthropic. Сохраняйте хост в списке разрешённых в двух ситуациях:259Если ваша организация использует [артефакты](/docs/ru/artifacts#availability), вам не нужно добавлять `*.frame.claudeusercontent.com` в список, чтобы сеансы могли их читать. Когда список исключает этот хост, Claude Code читает содержимое артефакта через соединение сеанса с Anthropic. Сохраняйте хост в списке разрешённых в двух ситуациях:

260 260 


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

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

274* **Ограничения push**: прокси отклоняет удаление веток и push чего-либо, кроме ветки, например тега. Он не ограничивает, какие ветки может обновлять push. Для этого используйте правила защиты веток или rulesets на GitHub.274* **Ограничения push**: прокси отклоняет удаление веток и push чего-либо, кроме ветки, например тега. Он не ограничивает, какие ветки может обновлять push. Для этого используйте правила защиты веток или rulesets на GitHub.

275* **Область репозитория**: запросы GitHub API и запросы активов выпуска достигают только репозиториев, прикреплённых к сеансу, поэтому скрипт установки, который загружает активы выпуска из неприкреплённого репозитория, получает 403.275* **Область действия репозиториев**: прокси обслуживает запросы GitHub API для репозиториев, прикреплённых к сессии. Запрос API к другому репозиторию получает 403 с сообщением, которое начинается с `GitHub access to` и содержит `is not enabled for this session`.

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

277 277 

278Зафиксированные файлы из публичных репозиториев поступают через `raw.githubusercontent.com`, который обрабатывает [прокси безопасности](#security-proxy). Этот домен находится в списке [Trusted](#default-allowed-domains) по умолчанию, поэтому эти файлы остаются доступными, если [уровень доступа](#access-levels) среды их не исключает.278Зафиксированные файлы из публичных репозиториев поступают через `raw.githubusercontent.com`, который обрабатывает [прокси безопасности](#security-proxy). Этот домен находится в списке [Trusted](#default-allowed-domains) по умолчанию, поэтому эти файлы остаются доступными, если [уровень доступа](#access-levels) среды их не исключает.

279 279 


285 285 

286* Защиту от вредоносных запросов286* Защиту от вредоносных запросов

287* Ограничение скорости и предотвращение злоупотреблений287* Ограничение скорости и предотвращение злоупотреблений

288* Фильтрацию содержимого для повышенной безопасности

289* Журнал аудита на уровне DNS запрошенных имён хостов

290 288 

291<h2 id="what’s-available-in-cloud-sessions">289<h2 id="what’s-available-in-cloud-sessions">

292 Что доступно в облачных сеансах290 Что доступно в облачных сессиях

293</h2>291</h2>

294 292 

295В среде, размещённой Anthropic, каждый сеанс получает свежую виртуальную машину (VM) под управлением Ubuntu 24.04 на x86\_64, независимо от вашей собственной операционной системы и архитектуры CPU, с клонированным репозиторием и предустановленными общими цепочками инструментов. Когда зависимость предоставляет предкомпилированные двоичные файлы, такие как Ruby gems с собственными расширениями или предварительно построенные колёса Python, используйте его сборку x86\_64 Linux, чтобы соответствовать VM. Этот раздел охватывает значения по умолчанию, размещённые Anthropic, встроенные инструменты GitHub, как [запускать тесты и сервисы](#run-tests-start-services-and-add-packages), [ограничения ресурсов](#resource-limits), которые получает каждая VM, и [ограничения времени](#time-limits) на долгоживущую работу.293В среде, размещённой Anthropic, каждая сессия получает свежую виртуальную машину (VM) под управлением Ubuntu 24.04 на x86\_64, независимо от вашей собственной операционной системы и архитектуры CPU, с клонированным репозиторием и предустановленными распространёнными цепочками инструментов. Когда зависимость предоставляет предкомпилированные двоичные файлы, такие как Ruby gems с нативными расширениями или предварительно собранные колёса Python, используйте её сборку для x86\_64 Linux, чтобы она соответствовала VM. Этот раздел охватывает значения по умолчанию в среде, размещённой Anthropic, встроенные инструменты GitHub, то, как [запускать тесты и сервисы](#run-tests-start-services-and-add-packages), [ограничения ресурсов](#resource-limits), которые получает каждая VM, и [ограничения времени](#time-limits) для длительной работы.

296 294 

297<Note>295<Note>

298 Сеансы, которые ваша организация маршрутизирует в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments), работают на ваших собственных runners вместо этого, с инструментами, которые предоставляет образ вашего runner.296 Сессии, которые ваша организация направляет в [самостоятельно размещённую среду](/docs/ru/self-hosted-environments), вместо этого работают на ваших собственных runners, с инструментами, которые предоставляет образ вашего runner.

299</Note>297</Note>

300 298 

301<h3 id="what-carries-over-from-your-setup">299<h3 id="what-carries-over-from-your-setup">

302 Что переносится из вашей установки300 Что переносится из вашей конфигурации

303</h3>301</h3>

304 302 

305Облачные сеансы начинаются со свежего клона вашего репозитория. Всё, что вы зафиксировали в репозитории, доступно. Всё, что вы установили или настроили только на своей собственной машине, недоступно в сеансе. Политика вашей организации поступает отдельно через [параметры, управляемые сервером](/docs/ru/server-managed-settings).303Облачные сессии начинаются со свежего клона вашего репозитория. Всё, что вы закоммитили в репозиторий, доступно. Всё, что вы установили или настроили только на своей собственной машине, в сессии недоступно. Политика вашей организации поступает отдельно через [настройки, управляемые сервером](/docs/ru/server-managed-settings).

306 304 

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

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

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

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

311| Ваши репозитория `.mcp.json` MCP серверы | Да, в сеансе с одним репозиторием | Часть клона, найденная из рабочего каталога сеанса |309| MCP-серверы в `.mcp.json` вашего репозитория | Да, в сессии с одним репозиторием | Часть клона, находится из рабочего каталога сессии |

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

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

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

315| [Параметры, управляемые сервером](/docs/ru/server-managed-settings) вашей организации | Да, кроме в сеансах [Claude Tag](https://claude.com/docs/claude-tag/overview) | Получены с серверов Anthropic при запуске сеанса. Смотрите [Охват поверхности](/docs/ru/model-config#surface-coverage) для того, как `availableModels` применяется в облачных сеансах. Параметры, развёрнутые на вашем устройстве через MDM или файлы управляемых параметров, не применяются, потому что сеанс работает на управляемой Anthropic виртуальной машине; в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) сеансы также читают файл управляемых параметров в образе runner, согласно [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) |313| [Настройки, управляемые сервером](/docs/ru/server-managed-settings), вашей организации | Да, кроме сессий [Claude Tag](https://claude.com/docs/claude-tag/overview) | Загружаются с серверов Anthropic при запуске сессии. О том, как `availableModels` применяется в облачных сессиях, смотрите в разделе [Охват интерфейсов](/docs/ru/model-config#surface-coverage). Настройки, развёрнутые на вашем устройстве через MDM или файлы управляемых настроек, не применяются, потому что сессия работает на виртуальной машине, управляемой Anthropic; в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) сессии также читают файл управляемых настроек в образе runner, согласно разделу [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) |

316| Ваш пользовательский `~/.claude/CLAUDE.md` | Нет | Находится на вашей машине, не в репозитории |314| Ваш пользовательский `~/.claude/CLAUDE.md` | Нет | Находится на вашей машине, а не в репозитории. Смотрите [Добавление личных предпочтений без коммита в репозиторий](#add-personal-preferences-without-committing-to-the-repo) |

317| Ваши пользовательские `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Нет | Находятся на вашей машине, не в репозитории. Зафиксируйте их в каталоге `.claude/` репозитория вместо этого. Облачные сеансы автоматически загружают skills, которые вы включаете на claude.ai |315| Ваши пользовательские `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` | Нет | Находятся на вашей машине, а не в репозитории. Вместо этого закоммитьте их в каталог `.claude/` репозитория. Облачные сессии автоматически загружают скиллы, которые вы включили на claude.ai |

318| Плагины, включённые только в ваши пользовательские параметры | Нет | Пользовательский `enabledPlugins` находится в `~/.claude/settings.json` на вашей машине |316| Плагины, включённые только в ваших пользовательских настройках | Нет | Пользовательский `enabledPlugins` находится в `~/.claude/settings.json` на вашей машине |

319| MCP серверы, которые вы добавили с `claude mcp add` в область по умолчанию local или область пользователя | Нет | Те записывают в `~/.claude.json` на вашей машине, не в репозитории. Добавьте сервер с `claude mcp add --scope project`, который записывает [`.mcp.json`](/docs/ru/mcp#project-scope) репозитория, и зафиксируйте этот файл. Сеанс с одним репозиторием загружает его |317| MCP-серверы, которые вы добавили с помощью `claude mcp add` в области действия по умолчанию local или в области действия user | Нет | Они записываются в `~/.claude.json` на вашей машине, а не в репозиторий. Добавьте сервер с помощью `claude mcp add --scope project`, который записывает [`.mcp.json`](/docs/ru/mcp#project-scope) репозитория, и закоммитьте этот файл. Сессия с одним репозиторием загружает его |

320| Переменные транспорта в блоке `env` вашего `.claude/settings.json` репозитория, такие как `NODE_EXTRA_CA_CERTS` и [переменные сертификата клиента mTLS](/docs/ru/network-config#mtls-authentication) | Нет | Среда хостинга управляет соединением API сеанса, поэтому Claude Code игнорирует эти ключи и отмечает каждый игнорируемый ключ в журнале отладки сеанса |318| Транспортные переменные в блоке `env` файла `.claude/settings.json` вашего репозитория, такие как `NODE_EXTRA_CA_CERTS` и [переменные клиентского сертификата mTLS](/docs/ru/network-config#mtls-authentication) | Нет | Среда хостинга управляет API-соединением сессии, поэтому Claude Code игнорирует эти ключи и отмечает каждый проигнорированный ключ в отладочном логе сессии |

321| Ключи API и токены для сервисов, которые Claude вызывает | На планах Pro и Max, как [учётные данные API](#add-api-credentials) | Вы добавляете ключ один раз в среду и прокси агента прикрепляет его к запросам для хостов, которые вы перечисляете. Ключ, который прокси агента [не может прикрепить](#requests-that-never-get-the-credential), или любой ключ на плане Team или Enterprise, остаётся в переменной окружения |319| API-ключи и токены для сервисов, которые вызывает Claude | На планах Pro и Max, как [сетевые секреты](#add-api-credentials) | Вы добавляете ключ один раз в среду, и прокси агента прикрепляет его к запросам к перечисленным вами хостам. Ключ, который прокси агента [не может прикрепить](#requests-that-never-get-the-credential), или любой ключ на плане Team или Enterprise остаётся в переменной окружения |

322| Интерактивная аутентификация, такая как AWS SSO | Нет | Не поддерживается. SSO требует вход на основе браузера, который не может работать в облачном сеансе |320| Интерактивная аутентификация, такая как AWS SSO | Нет | Не поддерживается. SSO требует входа через браузер, который невозможен в облачной сессии |

323 321 

324Чтобы сделать вашу собственную конфигурацию доступной в облачных сеансах, зафиксируйте её в репозитории.322Чтобы сделать вашу собственную конфигурацию доступной в облачных сессиях, закоммитьте её в репозиторий.

325 323 

326Любой, кто использует среду, может читать её переменные окружения и скрипт установки. Примечание диалога под **Environment variables** говорит об этом и предупреждает против добавления секретов там. На планах Pro и Max сохраняйте ключ, который прокси агента может прикрепить, как [учётные данные API](#add-api-credentials) вместо этого.324Любой, кто использует среду, может читать её переменные окружения и скрипт настройки. Об этом говорит примечание в диалоге под **Environment variables**, которое также предупреждает не размещать там секреты. На планах Pro и Max вместо этого храните ключ, который прокси агента может прикрепить, как [сетевой секрет](#add-api-credentials).

325 

326<h4 id="add-personal-preferences-without-committing-to-the-repo">

327 Добавление личных предпочтений без коммита в репозиторий

328</h4>

329 

330В среде, размещённой Anthropic, добавьте [скрипт настройки](#setup-scripts), который записывает `~/.claude/CLAUDE.md`, для предпочтений, которые вы не хотите помещать в общий репозиторий. Claude Code загружает этот файл в сессии как [пользовательские инструкции](/docs/ru/memory#choose-where-to-put-claude-md-files). Этот пример задаёт предпочтение для сообщений коммитов:

331 

332```bash theme={null}

333#!/bin/bash

334mkdir -p ~/.claude

335cat > ~/.claude/CLAUDE.md <<'EOF'

336Use conventional commit messages.

337EOF

338```

339 

340Поместите скрипт в одну из своих собственных сред, а не в [общую](#organization-shared-environments).

341 

342Выполните `/context` в следующей облачной сессии и убедитесь, что `/root/.claude/CLAUDE.md` отображается в разделе **Memory files**.

327 343 

328<h3 id="installed-tools">344<h3 id="installed-tools">

329 Установленные инструменты345 Установленные инструменты

330</h3>346</h3>

331 347 

332Облачные сеансы поставляются с предустановленными общими рантаймами языков, инструментами сборки и базами данных. Таблица ниже суммирует, что включено по категориям.348Облачные сессии поставляются с предустановленными распространёнными средами выполнения языков, инструментами сборки и базами данных. В таблице ниже приведено, что включено, по категориям.

333 349 

334| Категория | Включено |350| Категория | Включено |

335| :- | :- |351| :- | :- |


345| **Базы данных** | PostgreSQL 16, Redis 7.0 |361| **Базы данных** | PostgreSQL 16, Redis 7.0 |

346| **Утилиты** | git, gh, jq, yq, ripgrep, tmux, vim, nano |362| **Утилиты** | git, gh, jq, yq, ripgrep, tmux, vim, nano |

347 363 

348¹ Bun установлен, но имеет известные [проблемы совместимости с прокси](#install-dependencies-with-a-sessionstart-hook) для получения пакетов.364¹ Bun установлен, но имеет известные [проблемы совместимости с прокси](#install-dependencies-with-a-sessionstart-hook) при загрузке пакетов.

349 365 

350Чтобы получить версии большинства инструментов в этой таблице, попросите Claude запустить `check-tools` в облачном сеансе. Это команда оболочки, установленная на виртуальной машине сеанса, а не команда, которую вы вводите с `/`; вы просите Claude, потому что [Claude запускает все команды виртуальной машины для вас](#run-tests-start-services-and-add-packages). Для инструмента, который он не сообщает, такого как Ruby, PHP, bun, PostgreSQL или Redis, попросите Claude запустить команду версии самого инструмента, например `psql --version`.366Чтобы узнать версии большинства инструментов из этой таблицы, попросите Claude выполнить `check-tools` в облачной сессии. Это shell-команда, установленная на виртуальной машине сессии, а не команда, которую вы вводите с `/`; вы просите Claude, потому что [Claude выполняет все команды на виртуальной машине за вас](#run-tests-start-services-and-add-packages). Для инструмента, о котором она не сообщает, например Ruby, PHP, bun, PostgreSQL или Redis, попросите Claude выполнить собственную команду вывода версии этого инструмента, например `psql --version`.

351 367 

352Версии Node.js установлены в `/opt/node20`, `/opt/node21` и `/opt/node22`, с 22 на `PATH` по умолчанию. Чтобы работать с другой версией, попросите Claude добавить в начало каталог `bin` этой версии, такой как `/opt/node20/bin`, к `PATH`.368Версии Node.js установлены в `/opt/node20`, `/opt/node21` и `/opt/node22`, при этом по умолчанию в `PATH` находится 22. Чтобы работать с другой версией, попросите Claude добавить каталог `bin` этой версии, например `/opt/node20/bin`, в начало `PATH`.

353 369 

354Цепочки инструментов вне этого списка, такие как .NET SDK, не предустановлены, даже когда их реестры пакетов находятся в [списке разрешений по умолчанию](#default-allowed-domains). Установите их с помощью [скрипта установки](#setup-scripts).370Цепочки инструментов, не входящие в этот список, такие как .NET SDK, не предустановлены, даже если их реестры пакетов находятся в [списке разрешённых доменов по умолчанию](#default-allowed-domains). Установите их с помощью [скрипта настройки](#setup-scripts).

355 371 

356<h3 id="work-with-github-issues-and-pull-requests">372<h3 id="work-with-github-issues-and-pull-requests">

357 Работа с проблемами GitHub и запросами на слияние373 Работа с issues и pull requests GitHub

358</h3>374</h3>

359 375 

360Облачные сеансы включают встроенные инструменты GitHub, которые позволяют Claude читать проблемы, перечислять запросы на слияние, получать различия и публиковать комментарии без какой-либо установки. Эти инструменты аутентифицируются через [GitHub прокси](#github-proxy), используя любой метод, который вы настроили в [параметрах аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options), поэтому ваш токен никогда не входит в контейнер.376Облачные сессии включают встроенные инструменты GitHub, которые позволяют Claude читать issues, просматривать список pull requests, получать diff и публиковать комментарии без какой-либо настройки. Эти инструменты проходят аутентификацию через [прокси GitHub](#github-proxy), используя тот метод, который вы настроили в разделе [Варианты аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options), поэтому ваш токен никогда не попадает в контейнер.

361 377 

362Вы можете установить `GH_TOKEN` или `GITHUB_TOKEN` сами в [параметрах среды](#set-environment-variables), или оставить оба неустановленными и позволить [GitHub прокси](#github-proxy) аутентифицировать вас:378Вы можете сами задать `GH_TOKEN` или `GITHUB_TOKEN` в [настройках среды](#set-environment-variables) или оставить обе переменные незаданными и позволить [прокси GitHub](#github-proxy) выполнять аутентификацию за вас:

363 379 

364* Если вы установите токен, он проходит в контейнер без изменений, поэтому ваши скрипты и GitHub [`gh` CLI](https://cli.github.com) используют его напрямую.380* Если вы задали токен, он передаётся в контейнер без изменений, поэтому ваши скрипты и [`gh` CLI](https://cli.github.com) от GitHub используют его напрямую.

365* Если вы не установите ни один и [GitHub прокси](#github-proxy) обрабатывает аутентификацию для вашего сеанса, обе переменные читаются как строка заполнителя `proxy-injected` в командах, которые запускает Claude, и прокси подставляет ваши реальные учётные данные в исходящих запросах GitHub. `gh` работает без вашего собственного токена, но скрипт, который читает `GITHUB_TOKEN` напрямую, получает заполнитель, а не используемый токен.381* Если вы не задали ни одну из переменных и аутентификацию для вашей сессии выполняет [прокси GitHub](#github-proxy), обе переменные в командах, которые выполняет Claude, содержат строку-заполнитель `proxy-injected`, а прокси подставляет ваши реальные учётные данные в исходящие запросы к GitHub. Вызовы `gh api` для подключённых репозиториев работают без вашего собственного токена, но скрипт, который читает `GITHUB_TOKEN` напрямую, получает заполнитель, а не пригодный для использования токен.

366 382 

367Токен, который вы установили, является обычной переменной окружения, поэтому любой, кто использует среду, может его читать; путь прокси держит учётные данные вне конфигурации среды и виртуальной машины сеанса.383Заданный вами токен является обычной переменной окружения, поэтому любой, кто использует среду, может его прочитать; при использовании прокси учётные данные не попадают ни в конфигурацию среды, ни на виртуальную машину сессии.

368 384 

369Чтобы проверить, какой случай применяется к вашему сеансу, попросите Claude запустить `echo $GH_TOKEN`.385Чтобы проверить, какой вариант применяется к вашей сессии, попросите Claude выполнить `echo $GH_TOKEN`.

370 386 

371GitHub [`gh` CLI](https://cli.github.com) предустановлен. Если вам нужна команда `gh`, которую встроенные инструменты не охватывают, такая как `gh release` или `gh workflow run`, попросите Claude запустить её. `gh` читает `GH_TOKEN` автоматически, поэтому вам не нужно запускать `gh auth login`.387[`gh` CLI](https://cli.github.com) от GitHub предустановлен. Если вам нужна операция GitHub, которую не охватывают встроенные инструменты, попросите Claude вызвать REST API с помощью `gh api`. Подкоманды `gh`, использующие REST API, такие как `gh workflow list`, тоже работают. Прокси [отклоняет подкоманды, использующие GraphQL](#github-proxy), такие как `gh pr` и `gh issue`. `gh` автоматически читает `GH_TOKEN`, поэтому вам не нужно выполнять `gh auth login`.

372 388 

373<h3 id="link-output-back-to-the-session">389<h3 id="link-output-back-to-the-session">

374 Связь вывода обратно с сеансом390 Связь результатов с сессией

375</h3>391</h3>

376 392 

377Каждый облачный сеанс имеет URL стенограммы на claude.ai, и сеанс может читать свой собственный ID из переменной окружения `CLAUDE_CODE_REMOTE_SESSION_ID`. Используйте это, чтобы поместить отслеживаемую ссылку в тела PR, сообщения коммитов, посты Slack или созданные отчёты, чтобы рецензент мог открыть запуск, который их произвёл.393У каждой облачной сессии есть URL транскрипта на claude.ai, и сессия может прочитать свой собственный ID из переменной окружения `CLAUDE_CODE_REMOTE_SESSION_ID`. Используйте это, чтобы добавлять отслеживаемую ссылку в описания PR, сообщения коммитов, публикации в Slack или сгенерированные отчёты, чтобы рецензент мог открыть запуск, который их создал.

378 394 

379Коммиты, которые Claude создаёт в облачном сеансе, включают трейлер git `Claude-Session: <url>`, и тела PR включают URL сеанса на отдельной строке. Чтобы опустить трейлер и ссылку в теле PR, установите [`attribution.sessionUrl`](/docs/ru/settings-reference#attribution-sessionurl) на `false`.395Коммиты, которые Claude создаёт в облачной сессии, содержат git-трейлер `Claude-Session: <url>`, а описания PR содержат URL сессии на отдельной строке. Чтобы не добавлять трейлер и ссылку в описании PR, установите [`attribution.sessionUrl`](/docs/ru/settings-reference#attribution-sessionurl) в значение `false`.

380 396 

381Чтобы включить ссылку сеанса в что-то другое, чем коммит или PR, такое как сообщение Slack, которое публикует Claude, или файл отчёта, который он пишет, попросите Claude запустить следующую команду и использовать её вывод. Команда преобразует префикс `cse_` в значении переменной окружения в префикс `session_`, который ожидает URL стенограммы:397Чтобы добавить ссылку на сессию во что-то, кроме коммита или PR, например в сообщение Slack, которое публикует Claude, или в файл отчёта, который он записывает, попросите Claude выполнить следующую команду и использовать её вывод. Команда заменяет префикс `cse_` в значении переменной окружения на префикс `session_`, который ожидает URL транскрипта:

382 398 

383```bash theme={null}399```bash theme={null}

384echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"400echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"


388 Запуск тестов, запуск сервисов и добавление пакетов404 Запуск тестов, запуск сервисов и добавление пакетов

389</h3>405</h3>

390 406 

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

392 408 

393<h4 id="run-tests">409<h4 id="run-tests">

394 Запуск тестов410 Запуск тестов

395</h4>411</h4>

396 412 

397Claude запускает тесты как часть работы над задачей. Попросите это в вашем приглашении, например "исправьте неудачные тесты в `tests/`" или "запустите pytest после каждого изменения." Средства запуска тестов, которые поставляются с [предустановленными цепочками инструментов](#installed-tools), такие как pytest и cargo test, работают без дополнительной установки. Средство запуска, которое ваш проект объявляет как зависимость, такое как jest, устанавливается с вашими зависимостями.413Claude запускает тесты в ходе работы над задачей. Попросите об этом в промпте, например «исправь падающие тесты в `tests/`» или «запускай pytest после каждого изменения». Средства запуска тестов, поставляемые с [предустановленными цепочками инструментов](#installed-tools), такие как pytest и cargo test, работают без дополнительной настройки. Средство запуска, которое ваш проект объявляет как зависимость, например jest, устанавливается вместе с вашими зависимостями.

398 414 

399<h4 id="start-services">415<h4 id="start-services">

400 Запуск сервисов416 Запуск сервисов

401</h4>417</h4>

402 418 

403PostgreSQL и Redis предустановлены, но не работают по умолчанию. Попросите Claude запустить тот, который вам нужен; команды, которые он запускает:419PostgreSQL и Redis предустановлены, но по умолчанию не запущены. Попросите Claude запустить нужный вам сервис; он выполняет следующие команды:

404 420 

405```bash theme={null}421```bash theme={null}

406service postgresql start422service postgresql start


410service redis-server start426service redis-server start

411```427```

412 428 

413Docker доступен для запуска контейнеризованных сервисов. Попросите Claude запустить `docker compose up`, чтобы запустить сервисы вашего проекта. Сетевой доступ для получения образов следует [уровню доступа](#access-levels) вашей среды, и [доверенные значения по умолчанию](#default-allowed-domains) включают Docker Hub и другие общие реестры.429Docker доступен для запуска контейнеризованных сервисов. Попросите Claude выполнить `docker compose up`, чтобы запустить сервисы вашего проекта. Сетевой доступ для загрузки образов определяется [уровнем доступа](#access-levels) вашей среды, а [доверенные значения по умолчанию](#default-allowed-domains) включают Docker Hub и другие распространённые реестры.

414 430 

415Если ваши образы большие или медленно получаются, добавьте `docker compose pull` или `docker compose build` в ваш [скрипт установки](#setup-scripts). [Кэш среды](#environment-caching) сохраняет полученные образы, поэтому каждый новый сеанс имеет их на диске. Кэш хранит только файлы, а не работающие процессы, поэтому Claude всё ещё запускает контейнеры каждый сеанс.431Если ваши образы большие или загружаются медленно, добавьте `docker compose pull` или `docker compose build` в ваш [скрипт настройки](#setup-scripts). [Кэш среды](#environment-caching) сохраняет загруженные образы, поэтому в каждой новой сессии они уже есть на диске. Кэш хранит только файлы, а не запущенные процессы, поэтому Claude по-прежнему запускает контейнеры в каждой сессии.

416 432 

417<h4 id="add-packages">433<h4 id="add-packages">

418 Добавление пакетов434 Добавление пакетов

419</h4>435</h4>

420 436 

421Чтобы добавить пакеты, которые не предустановлены, используйте [скрипт установки](#setup-scripts). [Кэш среды](#environment-caching) сохраняет то, что устанавливает скрипт, поэтому пакеты, которые вы устанавливаете там, доступны в начале каждого сеанса без переустановки каждый раз. Вы также можете попросить Claude установить пакеты в середине сеанса, но эти установки не переносятся в другие сеансы.437Чтобы добавить пакеты, которые не предустановлены, используйте [скрипт настройки](#setup-scripts). [Кэш среды](#environment-caching) сохраняет то, что устанавливает скрипт, поэтому установленные там пакеты доступны в начале каждой сессии без повторной установки. Вы также можете попросить Claude установить пакеты посреди сессии, но такие установки не переносятся в другие сессии.

422 438 

423<h3 id="resource-limits">439<h3 id="resource-limits">

424 Ограничения ресурсов440 Ограничения ресурсов

425</h3>441</h3>

426 442 

427Облачные сеансы в среде, размещённой Anthropic, работают с приблизительными потолками ресурсов, которые могут меняться со временем:443Облачные сессии в среде, размещённой Anthropic, работают с приблизительными лимитами ресурсов, которые могут меняться со временем:

428 444 

429* 4 vCPU445* 4 vCPU

430* 16 ГБ ОЗУ446* 16 ГБ оперативной памяти

431* 30 ГБ диска447* 30 ГБ дискового пространства

432 448 

433Виртуальная машина может остановить задачи, которые требуют значительно больше памяти, такие как большие работы сборки или тесты, требующие много памяти. Для рабочих нагрузок, превышающих эти ограничения, используйте [Remote Control](/docs/ru/remote-control), чтобы запустить Claude Code на вашем собственном оборудовании, или запустите облачные сеансы в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) на вычислениях, которые работает ваша организация.449Виртуальная машина может останавливать задачи, которым требуется значительно больше памяти, например крупные задания сборки или тесты, интенсивно использующие память. Для рабочих нагрузок, превышающих эти ограничения, используйте [Remote Control](/docs/ru/remote-control), чтобы запускать Claude Code на собственном оборудовании, или запускайте облачные сессии в [самостоятельно размещённой среде](/docs/ru/self-hosted-environments) на вычислительных ресурсах, которыми управляет ваша организация.

434 450 

435<h3 id="time-limits">451<h3 id="time-limits">

436 Ограничения времени452 Ограничения времени

437</h3>453</h3>

438 454 

439В среде, размещённой Anthropic, эти ограничения времени применяются к долгоживущей работе в облачном сеансе, такой как сборка, установка или запуск теста. Каждая запись ссылается на раздел, который определяет ограничение.455В среде, размещённой Anthropic, следующие ограничения времени применяются к длительной работе в облачной сессии, такой как сборка, установка или прогон тестов. Каждый пункт ссылается на раздел, в котором определено ограничение.

440 456 

441* **Команды, которые запускает Claude**: облачная среда не устанавливает свой собственный timeout команды, поэтому применяются значения по умолчанию инструмента Bash. Claude ждёт 2 минуты для команды переднего плана по умолчанию и может запросить до 10 минут.457* **Команды, которые выполняет Claude**: облачная среда не задаёт собственный таймаут команд, поэтому применяются значения по умолчанию инструмента Bash. По умолчанию Claude ждёт команду переднего плана 2 минуты и может запросить до 10 минут.

442 458 

443 Когда команда достигает своего [timeout](/docs/ru/tools-reference#timeout-and-output-limits), Claude Code [перемещает её в фон](/docs/ru/tools-reference#foreground-commands-that-move-to-the-background) вместо того, чтобы остановить её, если только команда не начинается с `sleep`. Команда, перемещённая таким образом, может продолжать работать до 30 дополнительных минут, прежде чем Claude Code остановит её в её [ограничении времени фона](/docs/ru/tools-reference#time-limit-for-background-commands). Установка `BASH_DEFAULT_TIMEOUT_MS` выше `1800000` миллисекунд удлиняет это ограничение, а также значение по умолчанию переднего плана.459 Когда команда достигает своего [таймаута](/docs/ru/tools-reference#timeout-and-output-limits), Claude Code [переводит её в фоновый режим](/docs/ru/tools-reference#foreground-commands-that-move-to-the-background), а не останавливает, если только команда не начинается с `sleep`. Команда, переведённая таким образом, может продолжать работать ещё до 30 минут, после чего Claude Code останавливает её по достижении [ограничения времени для фоновых команд](/docs/ru/tools-reference#time-limit-for-background-commands). Установка `BASH_DEFAULT_TIMEOUT_MS` выше `1800000` миллисекунд увеличивает это ограничение, а также значение по умолчанию для команд переднего плана.

444* **SessionStart hooks**: Claude Code отменяет hook `command` после 600 секунд, если вы не установите [`timeout`](/docs/ru/hooks#common-fields), в секундах, на запись hook. Claude Code не применяет timeout на hook, который вы запускаете с [`async: true`](/docs/ru/hooks#run-hooks-in-the-background).460* **Хуки SessionStart**: Claude Code отменяет хук `command` через 600 секунд, если вы не задали [`timeout`](/docs/ru/hooks#common-fields) в секундах в записи хука. Claude Code не применяет таймаут к хуку, который вы запускаете с [`async: true`](/docs/ru/hooks#run-hooks-in-the-background).

445* **Setup script**: скрипт, который занимает больше примерно пяти минут, не кэшируется. [Требования скрипта](#script-requirements) охватывает, как оставаться ниже этого.461* **Скрипт настройки**: скрипт, выполнение которого занимает больше примерно пяти минут, не кэшируется. О том, как уложиться в это время, рассказывается в разделе [Требования к скрипту](#script-requirements).

446* **Idle sessions**: после нескольких минут без активности, VM сеанса приостанавливается с сохранёнными файлами, и приостановленная VM может позже быть восстановлена. [Установка переменных среды](#set-environment-variables) описывает, что сеанс подхватывает в каждом случае, и [Environment expired](/docs/ru/claude-code-on-the-web#environment-expired) охватывает, как повторно открыть сеанс, чей VM был восстановлен.462* **Неактивные сессии**: после нескольких минут без активности виртуальная машина сессии приостанавливается с сохранением файлов, а приостановленная виртуальная машина позже может быть освобождена. В разделе [Установка переменных окружения](#set-environment-variables) описано, что сессия подхватывает в каждом случае, а в разделе [Environment expired](/docs/ru/claude-code-on-the-web#environment-expired) — как заново открыть сессию, виртуальная машина которой была освобождена.

447 463 

448Чтобы повысить timeouts команд для сеансов среды, добавьте [`BASH_DEFAULT_TIMEOUT_MS` и `BASH_MAX_TIMEOUT_MS`](/docs/ru/env-vars#variables) в её [переменные среды](#set-environment-variables). Оба принимают миллисекунды. Например, `BASH_DEFAULT_TIMEOUT_MS=600000` делает 10 минут значением по умолчанию.464Чтобы увеличить таймауты команд для сессий среды, добавьте [`BASH_DEFAULT_TIMEOUT_MS` и `BASH_MAX_TIMEOUT_MS`](/docs/ru/env-vars#variables) в её [переменные окружения](#set-environment-variables). Обе переменные принимают значения в миллисекундах. Например, `BASH_DEFAULT_TIMEOUT_MS=600000` устанавливает 10 минут в качестве значения по умолчанию.

449 465 

450<h2 id="setup-scripts">466<h2 id="setup-scripts">

451 Скрипты установки467 Скрипты установки

code-review.md +1 −1

Details

386 Настройте усилие и аргументы386 Настройте усилие и аргументы

387</h3>387</h3>

388 388 

389Передайте [уровень усилий](/docs/ru/model-config#adjust-effort-level) для компромисса между охватом и уверенностью. На `low` и `medium` проверка сообщает только о результатах, в которых она наиболее уверена, поэтому вы видите меньше ложных срабатываний; `high` через `max` расширяют охват и могут включать результаты, в которых проверка менее уверена.389Передайте [уровень усилий](/docs/ru/model-config#adjust-effort-level) для компромисса между охватом и уверенностью. На `low` проверка сообщает о результатах, в которых она наиболее уверена, поэтому вы видите меньше ложных срабатываний. От `medium` до `max` проверка расширяет охват.

390 390 

391Когда вы не вводите уровень, проверка повторно использует последний уровень от `low` до `max`, который вы вводили, даже в более раннем сеансе, и Claude Code показывает уведомление, такое как `Reusing high effort, the level you typed last time`. Введите уровень, например `/code-review high`, чтобы изменить то, что позже повторно используют; уровень, который вы передаёте в неинтерактивном запуске `-p`, его не обновляет. `ultra` ни обновляет, ни использует запомненный уровень. Если вы никогда не вводили уровень, проверка использует текущее усилие сеанса. До версии v2.1.223 `/code-review` без уровня всегда использовал текущее усилие сеанса.391Когда вы не вводите уровень, проверка повторно использует последний уровень от `low` до `max`, который вы вводили, даже в более раннем сеансе, и Claude Code показывает уведомление, такое как `Reusing high effort, the level you typed last time`. Введите уровень, например `/code-review high`, чтобы изменить то, что позже повторно используют; уровень, который вы передаёте в неинтерактивном запуске `-p`, его не обновляет. `ultra` ни обновляет, ни использует запомненный уровень. Если вы никогда не вводили уровень, проверка использует текущее усилие сеанса. До версии v2.1.223 `/code-review` без уровня всегда использовал текущее усилие сеанса.

392 392 

context-window.md +18 −18

Details

1586 1586 

1587Сеанс проходит через реалистичный поток с репрезентативными подсчётами токенов:1587Сеанс проходит через реалистичный поток с репрезентативными подсчётами токенов:

1588 1588 

1589* **Перед тем, как вы что-либо введёте**: CLAUDE.md, автоматическая память, имена инструментов MCP и описания skills загружаются в контекст. [Файлы AGENTS.md](/docs/ru/memory#agents-md) также могут загружаться, самостоятельно или вместе с CLAUDE.md. Ваша собственная настройка может добавить больше здесь, например [стиль вывода](/docs/ru/output-styles) или текст из [`--append-system-prompt`](/docs/ru/cli-reference).1589* **Перед тем, как вы что-либо введёте**: CLAUDE.md, автоматическая память, имена инструментов MCP и описания скиллов загружаются в контекст. [Файлы AGENTS.md](/docs/ru/memory#agents-md) могут загружаться вместо CLAUDE.md. Ваша собственная настройка может добавить больше здесь, например [стиль вывода](/docs/ru/output-styles) или текст из [`--append-system-prompt`](/docs/ru/cli-reference).

1590* **Во время работы Claude**: каждое чтение файла добавляется в контекст, [правила с областью действия пути](/docs/ru/memory#path-specific-rules) загружаются автоматически вместе с соответствующими файлами, и [hook PostToolUse](/docs/ru/hooks-guide) срабатывает после каждого редактирования.1590* **Во время работы Claude**: каждое чтение файла добавляется в контекст, [правила с областью действия пути](/docs/ru/memory#path-specific-rules) загружаются автоматически вместе с соответствующими файлами, и [hook PostToolUse](/docs/ru/hooks-guide) срабатывает после каждого редактирования.

1591* **Последующий prompt**: [subagent](/docs/ru/sub-agents) обрабатывает исследование в своём собственном отдельном контекстном окне, поэтому большие чтения файлов остаются вне вашего. Только резюме и небольшой трейлер метаданных возвращаются.1591* **Последующий prompt**: [subagent](/docs/ru/sub-agents) обрабатывает исследование в своём собственном отдельном контекстном окне, поэтому большие чтения файлов остаются вне вашего. Только резюме и небольшой трейлер метаданных возвращаются.

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

1593 1593 

1594<h2 id="what-survives-compaction">1594<h2 id="what-survives-compaction">

1595 Что сохраняется при компактировании1595 Что сохраняется при сжатии контекста

1596</h2>1596</h2>

1597 1597 

1598Когда длительный сеанс компактируется, Claude Code суммирует историю разговора, чтобы она поместилась в контекстное окно. Начиная с версии 2.1.198, запрос суммирования наследует конфигурацию [extended thinking](/docs/ru/model-config#extended-thinking) вашего сеанса, поэтому он рассуждает с включённым thinking, когда в вашем сеансе он включён, и остаётся отключённым в противном случае. Thinking влияет только на то, как создаётся сводка; параметры вашего сеанса остаются неизменными после этого. Что происходит с каждым видом контента, зависит от того, как он был загружен:1598Когда длительная сессия сжимается, Claude Code суммирует историю диалога, чтобы она поместилась в контекстное окно. Начиная с версии 2.1.198, запрос суммирования наследует конфигурацию [расширенного мышления](/docs/ru/model-config#extended-thinking) вашей сессии, поэтому он рассуждает с включённым мышлением, когда в вашей сессии оно включено, и остаётся отключённым в противном случае. Мышление влияет только на то, как создаётся сводка; настройки вашей сессии после этого остаются неизменными. Что происходит с каждым видом контента, зависит от того, как он был загружен:

1599 1599 

1600| Механизм | После компактирования |1600| Механизм | После сжатия контекста |

1601| :- | :- |1601| :- | :- |

1602| Системный prompt и стиль вывода | Оба по-прежнему применяются |1602| Системный промпт и стиль вывода | Оба по-прежнему применяются |

1603| CLAUDE.md в корне проекта и правила без области действия | Переинжектированы с диска |1603| CLAUDE.md в корне проекта и правила без области действия | Повторно внедряются с диска |

1604| Автоматическая память | Переинжектирована с диска |1604| Автоматическая память | Повторно внедряется с диска |

1605| [Git status snapshot](/docs/ru/settings-reference#includegitinstructions) | Claude Code читает свежий снимок из вашего репозитория |1605| [Снимок Git status](/docs/ru/settings-reference#includegitinstructions) | Claude Code читает свежий снимок из вашего репозитория |

1606| План, который Claude написал в [plan mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) | Переинжектирован с диска |1606| План, который Claude написал в [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) | Повторно внедряется с диска |

1607| Правила с frontmatter `paths:` | Claude Code перезагружает их [по требованию](/docs/ru/memory#path-specific-rules) |1607| Правила с frontmatter `paths:` | Claude Code перезагружает их [по требованию](/docs/ru/memory#path-specific-rules) |

1608| Вложенные CLAUDE.md в подкаталогах | Claude Code перезагружает их [по требованию](/docs/ru/memory#how-claude-md-files-load) |1608| Вложенные CLAUDE.md в подкаталогах | Claude Code перезагружает их [по требованию](/docs/ru/memory#how-claude-md-files-load) |

1609| Файлы, которые Claude прочитал или отредактировал | Claude Code повторно читает до пяти, самые недавно изменённые в первую очередь |1609| Файлы, которые Claude прочитал или отредактировал | Claude Code повторно читает до пяти, начиная с самых недавно изменённых |

1610| Тела вызванных skills | Переинжектированы, ограничены 5000 токенами на skill и 25000 токенами всего; самые старые удаляются первыми |1610| Тела вызванных скиллов | Повторно внедряются, с ограничением 5000 токенов на скилл и 25 000 токенов всего; самые старые удаляются первыми |

1611| [Background commands](/docs/ru/interactive-mode#background-bash-commands) и фоновые [subagents](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) | Продолжают работать. Claude Code напоминает Claude, какие из них всё ещё работают, чтобы он не запустил дубликат |1611| [Фоновые команды](/docs/ru/interactive-mode#background-bash-commands) и фоновые [субагенты](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) | Продолжают работать. Claude Code напоминает Claude, какие из них всё ещё работают, чтобы он не запустил дубликат |

1612| Контекст, который hooks добавили ранее | Суммирован вместе с остальной частью разговора |1612| Контекст, который хуки добавили ранее | Суммируется вместе с остальной частью диалога |

1613| [SessionStart hooks](/docs/ru/hooks-guide#re-inject-context-after-compaction), которые соответствуют источнику `compact` | Claude Code запускает их и добавляет их вывод в компактированный контекст |1613| [Хуки SessionStart](/docs/ru/hooks-guide#re-inject-context-after-compaction), которые соответствуют источнику `compact` | Claude Code запускает их и добавляет их вывод в сжатый контекст |

1614 1614 

1615Правила с областью действия пути и вложенные файлы CLAUDE.md загружаются в историю сообщений при чтении их триггерного файла, поэтому компактирование суммирует их вместе со всем остальным. Если правило должно сохраняться при компактировании, удалите frontmatter `paths:` или переместите его в CLAUDE.md в корне проекта.1615Сразу после сжатия контекста Claude Code повторно читает до пяти файлов, которые Claude прочитал или отредактировал в сессии, выбирая те, которые были изменены совсем недавно. Файл размером более 5000 токенов возвращается как ссылка на путь без его содержимого, отображаемая как `Referenced file` вместо `Read`.

1616 1616 

1617Сразу после компактирования Claude Code повторно читает до пяти файлов, которые Claude прочитал или отредактировал в сеансе, выбирая те, которые были изменены совсем недавно. Файл размером более 5000 токенов возвращается как ссылка на путь без его содержимого, отображаемая как `Referenced file` вместо `Read`.1617Правила с областью действия по пути и вложенные файлы CLAUDE.md загружаются в историю сообщений, когда Claude читает, записывает или редактирует их триггерный файл, поэтому при сжатии контекста они суммируются вместе со всем остальным. Если правило должно сохраняться после сжатия контекста, удалите frontmatter `paths:` или переместите его в CLAUDE.md в корне проекта.

1618 1618 

1619Тела skills переинжектируются после компактирования, но большие skills усекаются, чтобы соответствовать лимиту на skill, и самые старые вызванные skills удаляются после превышения общего бюджета. Усечение сохраняет начало файла, поэтому поместите наиболее важные инструкции в начало `SKILL.md`.1619Тела скиллов повторно внедряются после сжатия контекста, но большие скиллы усекаются, чтобы уложиться в лимит на скилл, а самые старые вызванные скиллы удаляются после превышения общего бюджета. Усечение сохраняет начало файла, поэтому размещайте наиболее важные инструкции в начале `SKILL.md`.

1620 1620 

1621<h2 id="when-your-context-fills-up">1621<h2 id="when-your-context-fills-up">

1622 Когда ваш контекст заполняется1622 Когда ваш контекст заполняется


1632* **Очищайте между задачами**: запустите `/clear` при переходе на несвязанную работу. Старый разговор вытесняет файлы, которые вам нужны дальше, и стоит токены на каждом сообщении.1632* **Очищайте между задачами**: запустите `/clear` при переходе на несвязанную работу. Старый разговор вытесняет файлы, которые вам нужны дальше, и стоит токены на каждом сообщении.

1633* **Делегируйте большие чтения**: отправьте исследование [subagent](/docs/ru/sub-agents), чтобы содержимое файла оставалось в его контекстном окне, а не в вашем.1633* **Делегируйте большие чтения**: отправьте исследование [subagent](/docs/ru/sub-agents), чтобы содержимое файла оставалось в его контекстном окне, а не в вашем.

1634 1634 

1635Если вам нужно большее окно, а не меньший разговор, модели Fable, Sonnet 5 и более поздние версии, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают контекстное окно в 1 миллион токенов. Смотрите [Extended context](/docs/ru/model-config#extended-context) для доступности по плану и как выбрать вариант модели `[1m]`. Компактирование работает так же при большем лимите.1635Если вам нужно большее окно, а не более короткий диалог, модели Fable, Sonnet 5 и более поздние версии, Haiku 5.5, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают контекстное окно в 1 миллион токенов. Смотрите [Extended context](/docs/ru/model-config#extended-context), чтобы узнать о доступности в зависимости от плана и о том, как выбрать вариант модели `[1m]`. Сжатие контекста работает так же и при большем лимите.

1636 1636 

1637Sonnet 5.5 и Sonnet 5 работают с контекстным окном 1M и не имеют варианта `[1m]` для выбора. Смотрите [Sonnet 5.5 and Sonnet 5 context window](/docs/ru/model-config#sonnet-5-5-and-sonnet-5-context-window) для их пороговых значений автокомпактирования и [the context window behind a gateway](/docs/ru/model-config#context-window-behind-a-gateway) для того, как Claude Code определяет размер окна, когда вы устанавливаете `ANTHROPIC_BASE_URL` на [LLM gateway](/docs/ru/llm-gateway).1637Sonnet 5.5 и Sonnet 5 работают с контекстным окном 1M и не имеют варианта `[1m]` для выбора. Смотрите [Sonnet 5.5 and Sonnet 5 context window](/docs/ru/model-config#sonnet-5-5-and-sonnet-5-context-window) для их пороговых значений автокомпактирования и [the context window behind a gateway](/docs/ru/model-config#context-window-behind-a-gateway) для того, как Claude Code определяет размер окна, когда вы устанавливаете `ANTHROPIC_BASE_URL` на [LLM gateway](/docs/ru/llm-gateway).

1638 1638 

costs.md +29 −29

Details

252 Снижение использования токенов252 Снижение использования токенов

253</h2>253</h2>

254 254 

255Затраты на токены масштабируются с размером контекста: чем больше контекста обрабатывает Claude, тем больше токенов вы используете. Claude Code автоматически оптимизирует затраты через [prompt caching](/docs/ru/prompt-caching), что снижает затраты на повторяющееся содержимое, такое как системные prompts, и auto-compact, что суммирует историю разговора при приближении к лимитам контекста.255Затраты на токены масштабируются с размером контекста: чем больше контекста обрабатывает Claude, тем больше токенов вы используете. Claude Code автоматически оптимизирует затраты через [кэширование промптов](/docs/ru/prompt-caching), что снижает затраты на повторяющееся содержимое, такое как системные промпты, и автосжатие, которое суммирует историю диалога при приближении к лимитам контекста.

256 256 

257Следующие стратегии помогают вам сохранять контекст небольшим и снижать затраты на сообщение.257Следующие стратегии помогают вам сохранять контекст небольшим и снижать затраты на сообщение.

258 258 


263Используйте `/usage` для проверки текущего использования токенов или [настройте вашу строку состояния](/docs/ru/statusline#context-window-usage) для непрерывного отображения.263Используйте `/usage` для проверки текущего использования токенов или [настройте вашу строку состояния](/docs/ru/statusline#context-window-usage) для непрерывного отображения.

264 264 

265* **Очищайте между задачами**: Используйте `/clear` для начала с чистого листа при переходе на несвязанную работу. Устаревший контекст тратит токены на каждое последующее сообщение. Используйте `/rename` перед очисткой, чтобы вы могли найти сессию позже, затем `/resume` для возврата к ней.265* **Очищайте между задачами**: Используйте `/clear` для начала с чистого листа при переходе на несвязанную работу. Устаревший контекст тратит токены на каждое последующее сообщение. Используйте `/rename` перед очисткой, чтобы вы могли найти сессию позже, затем `/resume` для возврата к ней.

266* **Добавляйте пользовательские инструкции компактирования**: `/compact Focus on code samples and API usage` говорит Claude, что сохранять во время суммирования.266* **Добавляйте пользовательские инструкции сжатия контекста**: `/compact Focus on code samples and API usage` говорит Claude, что сохранять во время суммирования.

267 267 

268Вы также можете настроить поведение компактирования в вашем CLAUDE.md файле в корне вашего проекта:268Вы также можете настроить поведение сжатия контекста в вашем файле CLAUDE.md в корне вашего проекта:

269 269 

270```markdown theme={null}270```markdown theme={null}

271# Compact instructions271# Compact instructions


277 Выберите правильную модель277 Выберите правильную модель

278</h3>278</h3>

279 279 

280Sonnet хорошо справляется с большинством задач кодирования и стоит дешевле, чем Opus. Зарезервируйте Opus для сложных архитектурных решений или многошаговых рассуждений. Используйте `/model` для переключения моделей в середине сессии или установите значение по умолчанию в `/config`. Переключение на Opus также применяется к [subagents, которые наследуют модель вашей сессии](/docs/ru/model-config#setting-your-model). Для простых задач subagent укажите `model: haiku` в вашей [конфигурации subagent](/docs/ru/sub-agents#choose-a-model).280Sonnet хорошо справляется с большинством задач кодирования и стоит дешевле, чем Opus. Зарезервируйте Opus для сложных архитектурных решений или многошаговых рассуждений. Используйте `/model` для переключения моделей в середине сессии или установите значение по умолчанию в `/config`. Переключение на Opus также применяется к [субагентам, которые наследуют модель вашей сессии](/docs/ru/model-config#setting-your-model). Для простых задач субагента укажите `model: haiku` в вашей [конфигурации субагента](/docs/ru/sub-agents#choose-a-model).

281 281 

282<h3 id="reduce-mcp-server-overhead">282<h3 id="reduce-mcp-server-overhead">

283 Снижение накладных расходов MCP server283 Снижение накладных расходов MCP-серверов

284</h3>284</h3>

285 285 

286Определения инструментов MCP [отложены по умолчанию](/docs/ru/mcp#scale-with-mcp-tool-search), поэтому только имена инструментов и инструкции сервера входят в контекст до тех пор, пока Claude не использует конкретный инструмент. Запустите `/context` для просмотра того, что потребляет пространство.286Определения инструментов MCP [отложены по умолчанию](/docs/ru/mcp#scale-with-mcp-tool-search), поэтому только имена инструментов и инструкции сервера входят в контекст до тех пор, пока Claude не использует конкретный инструмент. Запустите `/context` для просмотра того, что потребляет пространство.

287 287 

288* **Предпочитайте CLI инструменты, когда доступны**: Инструменты, такие как `gh`, `aws`, `gcloud` и `sentry-cli`, более эффективны по контексту, чем MCP servers, потому что они не добавляют никакой список инструментов. Claude может запускать CLI команды напрямую.288* **Предпочитайте CLI-инструменты, когда доступны**: Инструменты, такие как `gh`, `aws`, `gcloud` и `sentry-cli`, по-прежнему более эффективны по контексту, чем MCP-серверы, потому что они не добавляют никакого списка инструментов. Claude может запускать CLI-команды напрямую.

289* **Отключайте неиспользуемые servers**: Запустите `/mcp` для просмотра настроенных servers и отключите любые, которые вы не активно используете.289* **Отключайте неиспользуемые серверы**: Запустите `/mcp` для просмотра настроенных серверов и отключите любые, которые вы не активно используете.

290 290 

291<h3 id="install-code-intelligence-plugins-for-typed-languages">291<h3 id="install-code-intelligence-plugins-for-typed-languages">

292 Установите плагины code intelligence для типизированных языков292 Установите плагины code intelligence для типизированных языков


295[Плагины code intelligence](/docs/ru/plugins/code-intelligence) дают Claude точную навигацию по символам вместо поиска на основе текста, снижая ненужные чтения файлов при изучении незнакомого кода. Один вызов "go to definition" заменяет то, что в противном случае могло бы быть grep, за которым следует чтение нескольких файлов-кандидатов. Установленные языковые серверы также автоматически сообщают об ошибках типов после редактирования, поэтому Claude ловит ошибки без запуска компилятора.295[Плагины code intelligence](/docs/ru/plugins/code-intelligence) дают Claude точную навигацию по символам вместо поиска на основе текста, снижая ненужные чтения файлов при изучении незнакомого кода. Один вызов "go to definition" заменяет то, что в противном случае могло бы быть grep, за которым следует чтение нескольких файлов-кандидатов. Установленные языковые серверы также автоматически сообщают об ошибках типов после редактирования, поэтому Claude ловит ошибки без запуска компилятора.

296 296 

297<h3 id="offload-processing-to-hooks-and-skills">297<h3 id="offload-processing-to-hooks-and-skills">

298 Делегируйте обработку hooks и skills298 Делегируйте обработку хукам и скиллам

299</h3>299</h3>

300 300 

301Пользовательские [hooks](/docs/ru/hooks) могут предварительно обрабатывать данные перед тем, как Claude их увидит. Вместо того, чтобы Claude читал файл логов из 10,000 строк для поиска ошибок, hook может выполнить grep для `ERROR` и вернуть только совпадающие строки, снижая контекст с десятков тысяч токенов до сотен.301Пользовательские [хуки](/docs/ru/hooks) могут предварительно обрабатывать данные перед тем, как Claude их увидит. Вместо того, чтобы Claude читал лог-файл из 10,000 строк для поиска ошибок, хук может выполнить grep для `ERROR` и вернуть только совпадающие строки, снижая контекст с десятков тысяч токенов до сотен.

302 302 

303[Skill](/docs/ru/skills) может дать Claude знание предметной области, чтобы ему не пришлось исследовать. Например, skill "codebase-overview" может описать архитектуру вашего проекта, ключевые директории и соглашения об именовании. Когда Claude вызывает skill, он получает этот контекст немедленно вместо того, чтобы тратить токены на чтение нескольких файлов для понимания структуры.303[Скилл](/docs/ru/skills) может дать Claude знание предметной области, чтобы ему не пришлось исследовать. Например, скилл "codebase-overview" может описать архитектуру вашего проекта, ключевые директории и соглашения об именовании. Когда Claude вызывает скилл, он получает этот контекст немедленно вместо того, чтобы тратить токены на чтение нескольких файлов для понимания структуры.

304 304 

305Например, этот hook PreToolUse фильтрует вывод тестов для отображения только сбоев:305Например, этот хук PreToolUse фильтрует вывод тестов для отображения только сбоев:

306 306 

307<Tabs>307<Tabs>

308 <Tab title="settings.json">308 <Tab title="settings.json">

309 Добавьте это в ваш [settings.json](/docs/ru/settings#where-settings-live) для запуска hook перед каждой командой Bash:309 Добавьте это в ваш [settings.json](/docs/ru/settings#where-settings-live) для запуска хука перед каждой командой Bash:

310 310 

311 ```json theme={null}311 ```json theme={null}

312 {312 {


328 </Tab>328 </Tab>

329 329 

330 <Tab title="filter-test-output.sh">330 <Tab title="filter-test-output.sh">

331 Hook вызывает этот скрипт. Создайте папку с помощью `mkdir -p ~/.claude/hooks`, сохраните скрипт ниже как `~/.claude/hooks/filter-test-output.sh` и сделайте его исполняемым с помощью `chmod +x ~/.claude/hooks/filter-test-output.sh`. Он проверяет, является ли команда тестовым бегуном, и изменяет её для отображения только сбоев:331 Хук вызывает этот скрипт. Создайте папку с помощью `mkdir -p ~/.claude/hooks`, сохраните скрипт ниже как `~/.claude/hooks/filter-test-output.sh` и сделайте его исполняемым с помощью `chmod +x ~/.claude/hooks/filter-test-output.sh`. Он проверяет, является ли команда запуском тестов, и изменяет её для отображения только сбоев:

332 332 

333 ```bash theme={null}333 ```bash theme={null}

334 #!/bin/bash334 #!/bin/bash


347 </Tab>347 </Tab>

348</Tabs>348</Tabs>

349 349 

350Для проверки настройки запустите `/hooks` и проверьте, что hook появляется под PreToolUse. Вы также можете запустить Claude Code с помощью `claude --debug-file ./claude-debug.txt` и попросить Claude запустить `npm test`. Когда hook переписывает команду, этот файл логов содержит строку `modified tool input keys`, в которой указаны `command` и другие поля ввода Bash.350Для проверки настройки запустите `/hooks` и проверьте, что хук появляется под PreToolUse. Вы также можете запустить Claude Code с помощью `claude --debug-file ./claude-debug.txt` и попросить Claude запустить `npm test`. Когда хук переписывает команду, этот лог-файл содержит строку `modified tool input keys`, в которой указаны `command` и другие поля ввода Bash.

351 351 

352<h3 id="move-instructions-from-claude-md-to-skills">352<h3 id="move-instructions-from-claude-md-to-skills">

353 Переместите инструкции из CLAUDE.md в skills353 Переместите инструкции из CLAUDE.md в скиллы

354</h3>354</h3>

355 355 

356Ваш файл [CLAUDE.md](/docs/ru/memory) загружается в контекст при запуске сессии. Если он содержит подробные инструкции для конкретных рабочих процессов (такие как PR reviews или миграции баз данных), эти токены присутствуют даже когда вы выполняете несвязанную работу. [Skills](/docs/ru/skills) загружаются по требованию только при вызове, поэтому перемещение специализированных инструкций в skills сохраняет ваш базовый контекст меньшим. Стремитесь сохранять CLAUDE.md под 200 строк, включая только необходимое.356Ваш файл [CLAUDE.md](/docs/ru/memory) загружается в контекст при запуске сессии. Если он содержит подробные инструкции для конкретных рабочих процессов (такие как ревью PR или миграции баз данных), эти токены присутствуют даже когда вы выполняете несвязанную работу. [Скиллы](/docs/ru/skills) загружаются по требованию только при вызове, поэтому перемещение специализированных инструкций в скиллы сохраняет ваш базовый контекст меньшим. Стремитесь сохранять CLAUDE.md под 200 строк, включая только необходимое.

357 357 

358<h3 id="adjust-extended-thinking">358<h3 id="adjust-extended-thinking">

359 Отрегулируйте расширенное мышление359 Отрегулируйте расширенное мышление

360</h3>360</h3>

361 361 

362Расширенное мышление включено по умолчанию, потому что оно значительно улучшает производительность на сложных задачах планирования и рассуждения. Токены мышления выставляются как выходные токены, и бюджет по умолчанию может быть десятки тысяч токенов на запрос в зависимости от модели.362Расширенное мышление включено по умолчанию, потому что оно значительно улучшает производительность на сложных задачах планирования и рассуждения. Токены мышления тарифицируются как выходные токены, и бюджет по умолчанию может составлять десятки тысяч токенов на запрос в зависимости от модели.

363 363 

364Для более простых задач, где глубокое рассуждение не требуется, вы можете снизить затраты, понизив [уровень усилий](/docs/ru/model-config#adjust-effort-level) с помощью `/effort` или в `/model`, или отключив мышление в `/config`. Вы не можете отключить мышление на Opus 5.5, Sonnet 5.5 или моделях Fable, которые всегда используют расширенное мышление.364Для более простых задач, где глубокое рассуждение не требуется, вы можете снизить затраты, понизив [уровень effort](/docs/ru/model-config#adjust-effort-level) с помощью `/effort` или в `/model`, или отключив мышление в `/config`. Вы не можете отключить мышление на Opus 5.5, Sonnet 5.5, Haiku 5.5 или моделях Fable, которые всегда используют расширенное мышление.

365 365 

366На моделях с [фиксированным бюджетом мышления](/docs/ru/model-config#adaptive-reasoning-and-fixed-thinking-budgets), вы также можете понизить бюджет путём установки переменной окружения `MAX_THINKING_TOKENS` [environment variable](/docs/ru/env-vars), например `MAX_THINKING_TOKENS=8000`. Модели адаптивного рассуждения игнорируют ненулевые бюджеты, поэтому используйте вместо этого уровни усилий.366На моделях с [фиксированным бюджетом мышления](/docs/ru/model-config#adaptive-reasoning-and-fixed-thinking-budgets) вы также можете понизить бюджет путём установки [переменной окружения](/docs/ru/env-vars) `MAX_THINKING_TOKENS`, например `MAX_THINKING_TOKENS=8000`. Модели адаптивного рассуждения игнорируют ненулевые бюджеты, поэтому используйте вместо этого уровни effort.

367 367 

368<h3 id="delegate-verbose-operations-to-subagents">368<h3 id="delegate-verbose-operations-to-subagents">

369 Делегируйте многословные операции subagents369 Делегируйте многословные операции субагентам

370</h3>370</h3>

371 371 

372Запуск тестов, получение документации или обработка файлов логов может потребить значительный контекст. Делегируйте эти [subagents](/docs/ru/sub-agents#isolate-high-volume-operations), чтобы многословный вывод оставался в контексте subagent, в то время как только резюме возвращается в вашу основную беседу.372Запуск тестов, получение документации или обработка лог-файлов может потребить значительный контекст. Делегируйте это [субагентам](/docs/ru/sub-agents#isolate-high-volume-operations), чтобы многословный вывод оставался в контексте субагента, в то время как только резюме возвращается в ваш основной диалог.

373 373 

374Собственные запросы subagent по-прежнему используют вашу квоту. Чтобы потратить меньше на них, [выберите меньшую модель для subagent](/docs/ru/sub-agents#choose-a-model) или [запустите каждый subagent на одной модели](/docs/ru/sub-agents#run-every-subagent-on-one-model).374Собственные запросы субагента по-прежнему расходуют вашу квоту. Чтобы потратить на них меньше, [выберите меньшую модель для субагента](/docs/ru/sub-agents#choose-a-model) или [запускайте каждого субагента на одной модели](/docs/ru/sub-agents#run-every-subagent-on-one-model).

375 375 

376<h3 id="manage-agent-team-costs">376<h3 id="manage-agent-team-costs">

377 Управление затратами команды агентов377 Управление затратами команды агентов

378</h3>378</h3>

379 379 

380Команды агентов используют примерно в 7 раз больше токенов, чем стандартные сессии, когда товарищи по команде работают в plan mode, потому что каждый товарищ по команде поддерживает своё собственное контекстное окно и работает как отдельный экземпляр Claude. Держите задачи команды небольшими и самостоятельными, чтобы ограничить использование токенов на товарища по команде. См. [команды агентов](/docs/ru/agent-teams) для деталей.380Команды агентов используют примерно в 7 раз больше токенов, чем стандартные сессии, когда участники команды работают в режиме планирования, потому что каждый участник команды поддерживает своё собственное контекстное окно и работает как отдельный экземпляр Claude. Держите задачи команды небольшими и самостоятельными, чтобы ограничить использование токенов на каждого участника команды. См. [команды агентов](/docs/ru/agent-teams) для деталей.

381 381 

382<h3 id="write-specific-prompts">382<h3 id="write-specific-prompts">

383 Пишите конкретные prompts383 Пишите конкретные промпты

384</h3>384</h3>

385 385 

386Расплывчатые запросы, такие как "улучшить эту кодовую базу", запускают широкое сканирование. Конкретные запросы, такие как "добавить проверку входных данных в функцию входа в auth.ts", позволяют Claude работать эффективно с минимальными чтениями файлов.386Расплывчатые просьбы, такие как "улучшить эту кодовую базу", запускают широкое сканирование. Конкретные просьбы, такие как "добавить проверку входных данных в функцию входа в auth.ts", позволяют Claude работать эффективно с минимальными чтениями файлов.

387 387 

388<h3 id="work-efficiently-on-complex-tasks">388<h3 id="work-efficiently-on-complex-tasks">

389 Работайте эффективно над сложными задачами389 Работайте эффективно над сложными задачами


391 391 

392Для более длительной или сложной работы эти привычки помогают избежать потраченных впустую токенов от неправильного направления:392Для более длительной или сложной работы эти привычки помогают избежать потраченных впустую токенов от неправильного направления:

393 393 

394* **Используйте plan mode для сложных задач**: Нажмите Shift+Tab для входа в [plan mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) перед реализацией. Claude исследует кодовую базу и предлагает подход для вашего одобрения, предотвращая дорогостоящую переделку, когда первоначальное направление неправильно.394* **Используйте режим планирования для сложных задач**: Нажмите Shift+Tab для переключения в [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) перед реализацией. Claude исследует кодовую базу и предлагает подход на ваше утверждение, предотвращая дорогостоящую переделку, когда первоначальное направление неправильно.

395* **Корректируйте курс рано**: Если Claude начинает идти в неправильном направлении, нажмите Escape для немедленной остановки. Используйте `/rewind` или двойное нажатие Escape для восстановления разговора и кода к предыдущей контрольной точке.395* **Корректируйте курс рано**: Если Claude начинает идти в неправильном направлении, нажмите Escape для немедленной остановки. Используйте `/rewind` или двойное нажатие Escape для восстановления диалога и кода к предыдущему чекпоинту.

396* **Дайте цели проверки**: Включите тестовые случаи, вставьте скриншоты или определите ожидаемый вывод в вашем prompt. Когда Claude может проверить свою собственную работу, он ловит проблемы перед тем, как вам нужно запросить исправления.396* **Дайте цели проверки**: Включите тестовые случаи, вставьте скриншоты или определите ожидаемый вывод в вашем промпте. Когда Claude может проверить свою собственную работу, он ловит проблемы перед тем, как вам нужно запросить исправления.

397* **Тестируйте постепенно**: Напишите один файл, протестируйте его, затем продолжайте. Это ловит проблемы рано, когда они дешевы в исправлении.397* **Тестируйте постепенно**: Напишите один файл, протестируйте его, затем продолжайте. Это позволяет выявить проблемы рано.

398 398 

399<h2 id="background-token-usage">399<h2 id="background-token-usage">

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

desktop.md +59 −8

Details

108 Доступность авторежима108 Доступность авторежима

109</h4>109</h4>

110 110 

111Авторежим доступен всем пользователям на Anthropic API и требует Claude Opus 4.6 или новее, Sonnet 4.6 или новее, или [модель Fable](/docs/ru/model-config#work-with-fable). Администраторы организации могут отключить авторежим с помощью ключа `disableAutoMode` в [управляемых настройках](#managed-settings).111Авторежим доступен всем пользователям на Anthropic API и требует Claude Opus 4.6 или новее, Sonnet 4.6 или новее, Haiku 5.5 или [модель Fable](/docs/ru/model-config#work-with-fable). Администраторы организации могут отключить авторежим с помощью ключа `disableAutoMode` в [управляемых настройках](#managed-settings).

112 112 

113В развёртываниях Enterprise, которые маршрутизируют Desktop на Google Cloud's Agent Platform, авторежим также доступен по умолчанию; см. [Авторежим на Bedrock, Agent Platform или Foundry](/docs/ru/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) для поддерживаемых моделей.113В развёртываниях Enterprise, которые маршрутизируют Desktop на Google Cloud's Agent Platform, авторежим также доступен по умолчанию; см. [Авторежим на Bedrock, Agent Platform или Foundry](/docs/ru/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) для поддерживаемых моделей.

114 114 


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

226</h3>226</h3>

227 227 

228Интегрированный терминал позволяет вам запускать команды рядом с вашей сессией без переключения на другое приложение. Нажмите **Terminal** в строке заголовка сессии или нажмите **Ctrl+\`** на macOS или Windows. Терминал открывается в рабочем каталоге вашей сессии и делит то же окружение с Claude, поэтому команды, такие как `npm test` или `git status`, видят те же файлы, которые редактирует Claude. Чтобы открыть вторую вкладку терминала, нажмите **+** в заголовке панели терминала или щелкните правой кнопкой мыши на папке в чате, чтобы выбрать **Open in terminal**. Терминал доступен только в локальных сессиях.228Интегрированный терминал позволяет вам запускать команды рядом с вашей сессией без переключения на другое приложение. Нажмите **Terminal** в строке заголовка сессии или нажмите **Ctrl+\`** на macOS или Windows. Терминал открывается в рабочем каталоге вашей сессии и делит то же окружение с Claude, поэтому команды, такие как `npm test` или `git status`, видят те же файлы, которые редактирует Claude. Чтобы открыть вторую вкладку терминала, нажмите **+** в заголовке панели терминала или щелкните правой кнопкой мыши на папке в чате, чтобы выбрать **Open in terminal**. Терминал доступен в локальных и [SSH](#ssh-sessions)-сессиях.

229 229 

230<h3 id="open-and-edit-files">230<h3 id="open-and-edit-files">

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


743 743 

744Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/docs/ru/env-vars) для полного списка поддерживаемых переменных.744Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/docs/ru/env-vars) для полного списка поддерживаемых переменных.

745 745 

746[Extended thinking](/docs/ru/model-config#extended-thinking) включен по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. На API Anthropic установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения, чтобы отключить thinking; это не влияет на Opus 5.5, Sonnet 5.5 или модели Fable, которые всегда используют extended thinking. С отключённым thinking на API Anthropic Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как известно, [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), такие как Opus 5.746[Расширенное мышление](/docs/ru/model-config#extended-thinking) включено по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. На API Anthropic установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения, чтобы отключить мышление; это не влияет на Opus 5.5, Sonnet 5.5, Haiku 5.5 или модели Fable, которые всегда используют расширенное мышление. С отключённым мышлением на API Anthropic Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как известно, [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), таким как Opus 5.

747 747 

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

749 749 

750<h4 id="local-sessions-on-managed-devices">750<h4 id="local-sessions-on-managed-devices">

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


783 783 

784Удалённая машина должна работать на Linux или macOS. Desktop автоматически устанавливает Claude Code на удалённой машине при первом подключении. После подключения SSH-сеансы поддерживают режимы разрешений, коннекторы, plugins и MCP servers.784Удалённая машина должна работать на Linux или macOS. Desktop автоматически устанавливает Claude Code на удалённой машине при первом подключении. После подключения SSH-сеансы поддерживают режимы разрешений, коннекторы, plugins и MCP servers.

785 785 

786<h4 id="open-an-ssh-session-from-a-link">

787 Открытие SSH-сессии по ссылке

788</h4>

789 

790Ссылка `claude://code/new` открывает страницу новой сессии в Desktop и может указывать SSH-соединение. Разместите такую ссылку в runbook, на дашборде или вики-странице, чтобы открывать Desktop, уже настроенный на нужную машину и папку. О платформах, которые удаляют такие ссылки, см. [Ссылка отображается как обычный текст, а не как кликабельная](/docs/ru/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable).

791 

792Для SSH-ссылок требуется Claude Desktop v2.110.0 или более поздней версии.

793 

794Следующая ссылка указывает пользователя `dev` на `build.example.com`, порт 2222 и папку `/srv/payments`, а также заполняет промпт:

795 

796```text theme={null}

797claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy

798```

799 

800SSH-ссылка принимает следующие параметры, из которых обязателен только `ssh_host`:

801 

802| Параметр | Значение |

803| :- | :- |

804| `ssh_host` | `host` или `user@host`, в том же виде, что и в поле **SSH host**. Значение не может начинаться с `-`, а часть с хостом допускает только буквы, цифры, `.`, `_`, `:` и `-` |

805| `ssh_port` | Номер порта от 1 до 65535 |

806| `ssh_folder` | Папка на удалённой машине. Начинайте её с `/` или `~/` либо используйте `~` |

807| `q` | URL-кодированный текст для поля промпта |

808 

809Псевдоним из `~/.ssh/config` работает в качестве `ssh_host` только у тех, у кого есть эта запись. Чтобы ссылка соответствовала уже имеющемуся у людей соединению, укажите в ней тех же пользователя, хост и порт, что и в этом соединении.

810 

811Когда вы открываете ссылку, Desktop просит вас подтвердить выбор соединения:

812 

813* **Соединение, которое у вас уже есть**: если хост, пользователь и порт совпадают с одним из ваших соединений, Desktop спрашивает, использовать ли его, и показывает имя и хост соединения, а также папку, если ссылка её указывает.

814* **Новое соединение**: в противном случае Desktop открывает диалог добавления SSH-соединения. Когда вы добавляете соединение, Desktop перед сохранением чего-либо спрашивает, нужно ли подключиться, и показывает хост из ссылки, а также порт и папку, если ссылка их указывает.

815 

816Пока вы не подтвердите, Desktop не сохраняет хост, порт или папку из ссылки и не выбирает и не открывает соединение с ними. Если SSH-соединение уже выбрано, страница новой сессии всё равно может подключиться к нему самостоятельно, как и без ссылки, даже если ссылка указывает тот же хост. Ссылка не может содержать файл ключа, пароль или команду.

817 

818Ссылку может написать кто угодно, поэтому проверяйте, что она заполнила:

819 

820* **Перед подтверждением**: проверьте хост и папку.

821* **Перед отправкой**: проверьте промпт и выбранное окружение.

822 

823Desktop заполняет промпт при открытии ссылки, заменяя любой неотправленный текст, и никогда не отправляет его за вас. Промпт обрабатывается как обычный текст, поэтому начальные `/` или `!` и упоминание файла через `@` не работают как команда или упоминание. Если вы отмените действие, промпт останется в поле, а выбранное вами окружение не изменится.

824 

825Ссылка не обходит [`sshHostAllowlist`](#restrict-which-ssh-hosts-users-can-connect-to). Desktop проверяет список разрешённых хостов при подключении.

826 

827Если ссылка открывает Desktop без диалога о соединении, проверьте одну из следующих причин:

828 

829* **Вы вышли из системы**: войдите в систему, затем снова откройте ссылку.

830* **Открыт другой диалог**: закройте его, затем снова откройте ссылку.

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

832* **Версия Desktop старше v2.110.0**: более ранние версии игнорируют параметры SSH и открывают страницу новой сессии только с промптом.

833* **SSH-сессии отключены**: если ваш администратор задал пустой массив в качестве списка разрешённых хостов, Desktop отклоняет SSH-ссылки.

834 

786<h4 id="pre-configure-ssh-connections-for-your-team">835<h4 id="pre-configure-ssh-connections-for-your-team">

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

788</h4>837</h4>


805}854}

806```855```

807 856 

808Каждая запись требует `id`, `name` и `sshHost`. Поля `sshPort` и `sshIdentityFile` являются необязательными. Пользователи также могут добавить `sshConfigs` в свой собственный `~/.claude/settings.json`, где хранятся соединения, добавленные через диалог.857Каждая запись требует `id`, `name` и `sshHost`. Поля `sshPort` и `sshIdentityFile` являются необязательными. Пользователи также могут добавить `sshConfigs` в свой собственный `~/.claude/settings.json`.

809 858 

810<h4 id="restrict-which-ssh-hosts-users-can-connect-to">859<h4 id="restrict-which-ssh-hosts-users-can-connect-to">

811 Ограничение SSH-хостов, к которым могут подключаться пользователи860 Ограничение SSH-хостов, к которым могут подключаться пользователи


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

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

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

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

869| `managedMcpServers` | отправьте конфигурации MCP-серверов всем пользователям. Доступно только в сторонних (3P) развёртываниях Desktop. В каждой записи укажите транспорт `"http"`, `"sse"` или `"stdio"`, параметры подключения и, при необходимости, карту `toolPolicy`, ограничивающую, какие инструменты этого сервера пользователи могут вызывать. Доставляйте её через файл управляемых настроек, MDM или [блок `desktop`](/docs/ru/claude-apps-gateway-config#claude-desktop-overlay) политики шлюза приложений Claude, поскольку развёртывания 3P не получают настройки консоли администратора. Для доставки через шлюз на сервере шлюза нужен Claude Code v2.1.232 или новее. Это собственный ключ приложения desktop; Claude Code читает собственную [одноимённую управляемую настройку](/docs/ru/managed-mcp#provide-servers-through-managed-settings) с другой структурой записи. |919| `managedMcpServers` | отправьте конфигурации MCP-серверов всем пользователям. Доступно только в сторонних (3P) развёртываниях Desktop. В каждой записи укажите транспорт `"http"`, `"sse"` или `"stdio"`, параметры подключения и, при необходимости, карту `toolPolicy`, ограничивающую, какие инструменты этого сервера пользователи могут вызывать. Доставляйте её через файл управляемых настроек, MDM или [блок `desktop`](/docs/ru/claude-apps-gateway-config#claude-desktop-overlay) политики шлюза приложений Claude, поскольку развёртывания 3P не получают настройки консоли администратора. Для доставки через шлюз на сервере шлюза нужен Claude Code v2.1.232 или новее. Это собственный ключ приложения desktop; Claude Code читает собственную [одноимённую управляемую настройку](/docs/ru/managed-mcp#provide-servers-through-managed-settings) с другой структурой записи. |

870 920 

871Какие управляемые настройки доходят до сессии Desktop, зависит от того, где эта сессия выполняется. Ограничения моделей, такие как [`availableModels`](/docs/ru/model-config#restrict-model-selection), применяются в сессиях Claude Code в Desktop так же, как в CLI в терминале; см. [охват интерфейсов](/docs/ru/model-config#surface-coverage).921Какие управляемые настройки доходят до сессии Desktop, зависит от того, где эта сессия выполняется. Ограничения моделей, такие как [`availableModels`](/docs/ru/model-config#restrict-model-selection), применяются в сессиях Claude Code в Desktop так же, как в CLI в терминале; см. [охват интерфейсов](/docs/ru/model-config#surface-coverage).

872 922 

873* **Локальные сессии на этой машине**: применяется файл управляемых настроек, развёрнутый на диске. Управляемые настройки, отправленные удалённо через консоль администратора, также доходят до этих сессий в API Anthropic, когда сессия проходит аутентификацию с помощью [подходящего входа или ключа](/docs/ru/server-managed-settings#platform-availability), с тем же [приоритетом настроек](/docs/ru/settings#settings-precedence), что и в CLI в терминале.923* **Локальные сессии на этой машине**: применяется файл управляемых настроек, развёрнутый на диске. Управляемые настройки, отправленные удалённо через консоль администратора, также доходят до этих сессий в API Anthropic, когда сессия проходит аутентификацию с помощью [подходящего входа или ключа](/docs/ru/server-managed-settings#platform-availability), с тем же [приоритетом настроек](/docs/ru/settings#settings-precedence), что и в CLI в терминале.

874* **[Облачные сессии](#cloud-sessions)**: получают [настройки, управляемые сервером](/docs/ru/server-managed-settings); файлы, развёрнутые на устройстве, до них не доходят, поскольку такие сессии выполняются на виртуальных машинах под управлением Anthropic. Сессии, направленные в [самостоятельно размещённое окружение](/docs/ru/self-hosted-environments), также читают файл управляемых настроек в образе runner. В разделе [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) описано, когда этот файл применяется.924* **[Облачные сессии](#cloud-sessions)**: получают [настройки, управляемые сервером](/docs/ru/server-managed-settings); файлы, развёрнутые на устройстве, до них не доходят, поскольку такие сессии выполняются на виртуальных машинах под управлением Anthropic. Сессии, направленные в [самостоятельно размещённое окружение](/docs/ru/self-hosted-environments), также читают файл управляемых настроек в образе runner. В разделе [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) описано, когда этот файл применяется.

875* **[SSH-сессии](#ssh-sessions)**: сессия читает файл управляемых настроек с удалённого хоста. Сам Desktop читает `sshConfigs`, `sshHostAllowlist` и `disableDesktopLocalSessions` из управляемых настроек локальной машины.925* **[SSH-сессии](#ssh-sessions)**: сессия читает файл управляемых настроек с удалённого хоста. Сам Desktop читает `sshConfigs`, `sshHostAllowlist`, `disableSshSavedPasswords` и `disableDesktopLocalSessions` из управляемых настроек локальной машины.

876* **Сессии [Cowork](https://claude.com/docs/cowork/overview)**: в сессии Cowork на этой машине Claude Code никогда не получает настройки консоли администратора, даже если пользователь входит с учётной записью Team или Enterprise, и читает политику, развёрнутую на машине, если только ваша конфигурация Claude Desktop не задаёт `requireCoworkFullVmSandbox`. Удалённые сессии Cowork не получают ни то, ни другое. О том, какие файлы устройства доходят до Cowork, см. [где и когда применяется политика](/docs/ru/managed-settings#where-and-when-a-policy-applies), а о том, как правила `Bash` и `WebFetch` применяются к инструментам Cowork, — [правила разрешений MCP](/docs/ru/permissions#mcp).926* **Сессии [Cowork](https://claude.com/docs/cowork/overview)**: в сессии Cowork на этой машине Claude Code никогда не получает настройки консоли администратора, даже если пользователь входит с учётной записью Team или Enterprise, и читает политику, развёрнутую на машине, если только ваша конфигурация Claude Desktop не задаёт `requireCoworkFullVmSandbox`. Удалённые сессии Cowork не получают ни то, ни другое. О том, какие файлы устройства доходят до Cowork, см. [где и когда применяется политика](/docs/ru/managed-settings#where-and-when-a-policy-applies), а о том, как правила `Bash` и `WebFetch` применяются к инструментам Cowork, — [правила разрешений MCP](/docs/ru/permissions#mcp).

877 927 

878В локальных и SSH-сессиях приложение desktop передаёт подключённые коннекторы claude.ai каждого пользователя напрямую в Claude Code. Ни одна настройка MCP и ни один `managed-mcp.json` не влияют на эти коннекторы, какой бы источник настроек или расположение файла вы ни использовали. Чтобы заблокировать инструменты коннектора в этих сессиях, используйте [элементы управления инструментами коннекторов](/docs/ru/mcp#organization-controls-on-connector-tools) вашей организации. В разделе [Как коннекторы попадают в Claude Code](/docs/ru/mcp#how-connectors-reach-claude-code) показано, какие настройки управляют коннекторами в каждом виде сессий.928В локальных и SSH-сессиях приложение desktop передаёт подключённые коннекторы claude.ai каждого пользователя напрямую в Claude Code. Ни одна настройка MCP и ни один `managed-mcp.json` не влияют на эти коннекторы, какой бы источник настроек или расположение файла вы ни использовали. Чтобы заблокировать инструменты коннектора в этих сессиях, используйте [элементы управления инструментами коннекторов](/docs/ru/mcp#organization-controls-on-connector-tools) вашей организации. В разделе [Как коннекторы попадают в Claude Code](/docs/ru/mcp#how-connectors-reach-claude-code) показано, какие настройки управляют коннекторами в каждом виде сессий.


885 Политики управления устройствами935 Политики управления устройствами

886</h3>936</h3>

887 937 

888IT-отделы могут управлять приложением desktop через MDM на macOS или групповые политики на Windows. Доступные политики включают включение и отключение функции Claude Code, управление автоматическими обновлениями и задание пользовательского URL развёртывания.938IT-отделы могут управлять приложением desktop через MDM на macOS, групповые политики на Windows или файл политики на Linux. Доступные политики включают включение и отключение функции Claude Code, управление автоматическими обновлениями на macOS и Windows и задание пользовательского URL развёртывания.

889 939 

890* **macOS**: настройте через домен настроек `com.anthropic.claudefordesktop` с помощью таких инструментов, как Jamf или Kandji940* **macOS**: настройте через домен настроек `com.anthropic.claudefordesktop` с помощью таких инструментов, как Jamf или Kandji

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

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

892 943 

893<h3 id="network-access-requirements">944<h3 id="network-access-requirements">

894 Требования к доступу к сети945 Требования к доступу к сети


1092Чтобы увидеть, какую версию приложения desktop вы запускаете:1143Чтобы увидеть, какую версию приложения desktop вы запускаете:

1093 1144 

1094* **macOS**: нажмите **Claude** в строке меню, затем **About Claude**1145* **macOS**: нажмите **Claude** в строке меню, затем **About Claude**

1095* **Windows**: нажмите **Help**, затем **About**1146* **Windows**: нажмите **Help**, затем **About Claude**

1096 1147 

1097Нажмите на номер версии, чтобы скопировать его в буфер обмена.1148Нажмите на номер версии, чтобы скопировать его в буфер обмена.

1098 1149 

Details

92* Сохранить снимок экрана с помощью **Cmd+S** или запись экрана с помощью **Cmd+R**, используя кнопки захвата панели или сочетания клавиш; файлы сохраняются на ваш Desktop92* Сохранить снимок экрана с помощью **Cmd+S** или запись экрана с помощью **Cmd+R**, используя кнопки захвата панели или сочетания клавиш; файлы сохраняются на ваш Desktop

93* Остановить трансляцию устройства без его выключения, нажав **Detach simulator**, что вернёт панель в состояние **Attach simulator**93* Остановить трансляцию устройства без его выключения, нажав **Detach simulator**, что вернёт панель в состояние **Attach simulator**

94 94 

95Чтобы настроить видеопоток от симулятора, откройте меню **Display** панели. Снизьте **Frame rate** или **Resolution**, если панель перегружает ваш Mac. Обе настройки изменяют способ отображения устройства панелью, а не способ работы приложения.95Если на панели отображается меню **Display**, используйте его, чтобы настроить видеопоток от симулятора. Снизьте **Frame rate** или **Resolution**, если панель перегружает ваш Mac. Обе настройки изменяют способ отображения устройства панелью, а не способ работы приложения.

96 96 

97Вы и Claude управляете одним и тем же устройством, поэтому ваши касания изменяют состояние приложения, которое видит Claude. Чтобы Claude проверил конкретный экран, перейдите к нему, касаясь, затем попросите. Пока Claude управляет устройством, панель показывает значок **Claude is using this device** над экраном; воздержитесь от касания до тех пор, пока значок не исчезнет, чтобы результат отражал приложение, а не ваш ввод.97Вы и Claude управляете одним и тем же устройством, поэтому ваши касания изменяют состояние приложения, которое видит Claude. Чтобы Claude проверил конкретный экран, перейдите к нему, касаясь, затем попросите. Пока Claude управляет устройством, панель показывает значок **Claude is using this device** над экраном; воздержитесь от касания до тех пор, пока значок не исчезнет, чтобы результат отражал приложение, а не ваш ввод.

98 98 

env-vars.md +293 −289

Details

19 Установка переменных окружения19 Установка переменных окружения

20</h2>20</h2>

21 21 

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

23 23 

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

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


34 claude34 claude

35 ```35 ```

36 36 

37 Чтобы установить её для каждого сеанса, добавьте строку `export` в `~/.bashrc`, `~/.zshrc` или файл профиля вашей оболочки.37 Чтобы установить её для каждой сессии, добавьте строку `export` в `~/.bashrc`, `~/.zshrc` или файл профиля вашей оболочки.

38 </Tab>38 </Tab>

39 39 

40 <Tab title="Windows PowerShell">40 <Tab title="Windows PowerShell">


43 claude43 claude

44 ```44 ```

45 45 

46 Чтобы установить её для каждого сеанса, выполните `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` и откройте новый терминал.46 Чтобы установить её для каждой сессии, выполните `[Environment]::SetEnvironmentVariable("API_TIMEOUT_MS", "1200000", "User")` и откройте новый терминал.

47 </Tab>47 </Tab>

48 48 

49 <Tab title="Windows CMD">49 <Tab title="Windows CMD">


52 claude52 claude

53 ```53 ```

54 54 

55 Чтобы установить её для каждого сеанса, выполните `setx API_TIMEOUT_MS "1200000"` и откройте новый терминал.55 Чтобы установить её для каждой сессии, выполните `setx API_TIMEOUT_MS "1200000"` и откройте новый терминал.

56 </Tab>56 </Tab>

57</Tabs>57</Tabs>

58 58 


79</Tabs>79</Tabs>

80 80 

81<h3 id="in-settings-files">81<h3 id="in-settings-files">

82 В файлах параметров82 В файлах настроек

83</h3>83</h3>

84 84 

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

86 86 

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

88{88{


93}93}

94```94```

95 95 

96Claude Code копирует эти значения в своё окружение как есть. Никакая оболочка их не обрабатывает, поэтому сокращения, такие как `~` или `$HOME`, остаются в том виде, в каком они введены. Для переменной, принимающей путь, например `CLAUDE_CONFIG_DIR`, укажите абсолютный путь: `"CLAUDE_CONFIG_DIR": "/home/you/.claude-work"`.

97 

96Выбранный вами файл определяет, к кому применяются переменные:98Выбранный вами файл определяет, к кому применяются переменные:

97 99 

98| Файл | Применяется к |100| Файл | Применяется к |

99| :- | :- |101| :- | :- |

100| `~/.claude/settings.json` | Вам, в каждом проекте |102| `~/.claude/settings.json` | Вам, в каждом проекте |

101| `.claude/settings.json` | Всем, кто работает в проекте, проверено в системе управления версиями |103| `.claude/settings.json` | Всем, кто работает в проекте, добавлен в систему управления версиями |

102| `.claude/settings.local.json` | Вам, только в этом проекте, игнорируется git, когда Claude Code сохраняет параметр; добавьте его в gitignore, если создадите вручную |104| `.claude/settings.local.json` | Вам, только в этом проекте, игнорируется git, когда Claude Code сохраняет в него настройку; добавьте его в gitignore, если создадите вручную |

103| Управляемые параметры | Всем в вашей организации, развёрнуто администратором |105| Управляемые настройки | Всем в вашей организации, развёрнуто администратором |

104 106 

105См. [Файлы параметров](/docs/ru/settings#where-settings-live) для информации о том, где находится каждый файл, и [Приоритет параметров](/docs/ru/settings#settings-precedence) для информации о том, как они объединяются, когда более одного устанавливает одну и ту же переменную.107См. [Файлы настроек](/docs/ru/settings#where-settings-live) для информации о том, где находится каждый файл, и [Приоритет настроек](/docs/ru/settings#settings-precedence) для информации о том, как они объединяются, когда более одного устанавливает одну и ту же переменную.

106 108 

107<h2 id="precedence">109<h2 id="precedence">

108 Приоритет110 Приоритет


124 Переменные126 Переменные

125</h2>127</h2>

126 128 

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

128 130 

129<Note>131<Note>

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

131 133 

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

133 135 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`136 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`137 * `DISABLE_TELEMETRY`


138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`140 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`141 * `IS_DEMO`

140 142 

141 Ещё одна переменная следует собственному правилу: `FORCE_HYPERLINK` читает число, поэтому отключает её только `0`. В строке каждой переменной также указано её собственное правило.143 У ещё одной переменной своё правило: `FORCE_HYPERLINK` читает число, поэтому отключает её только `0`. В строке каждой переменной также указано её собственное правило.

142</Note>144</Note>

143 145 

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

145| :- | :- |147| :- | :- |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Отображаемое имя закреплённой модели Fable в селекторе `/model`. Если не задано, строка показывает название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — сам закреплённый ID. См. [Конфигурация модели](/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) |

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

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

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

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Отображаемое имя закреплённой модели Haiku в селекторе `/model`. Если не задано, строка показывает название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — сам закреплённый ID. См. [Конфигурация модели](/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) |

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

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

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

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

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Отображаемое имя закреплённой модели Opus в селекторе `/model`. Если не задано, строка показывает название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — сам закреплённый ID. См. [Конфигурация модели](/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) |

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

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

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

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Отображаемое имя закреплённой модели Sonnet в селекторе `/model`. Если не задано, строка показывает название модели, если Claude Code распознаёт закреплённый ID, а в противном случае — сам закреплённый ID. См. [Конфигурация модели](/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) |

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

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

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

181| `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 или новее |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 или новее |

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

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

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

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

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

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

188| `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) в регионе сессии |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) в регионе сессии |

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

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

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

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

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

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

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

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

197| `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 или новее |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 или новее |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

217| `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, по-прежнему исключаются, чтобы запросы не завершались ошибкой |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, по-прежнему исключаются, чтобы запросы не завершались ошибкой |

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

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

220| `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 или новее |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 или новее |

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

222| `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 напрямую |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 напрямую |

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

224| `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` в строке состояния всегда отсчитывается от полного контекстного окна модели, поэтому, когда эта переменная задана, этот процент больше не показывает, когда будет выполнено сжатие |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` строки состояния всегда отсчитывается от полного контекстного окна модели, поэтому, когда задана эта переменная, этот процент больше не указывает, когда произойдёт сжатие контекста |

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

226| `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 или новее |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 или новее |

227| `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`. Применяется везде, где Claude Code выполняет подпись с цепочкой по умолчанию: в [Amazon Bedrock](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и [эндпоинте Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). Требуется Claude Code v2.1.207 или новее |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 или новее |

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

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

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

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

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

233| `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 или новее |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 или новее |

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

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

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

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

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

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

240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Задайте `1`, чтобы отключить поддержку [контекстного окна 1M](/docs/ru/model-config#extended-context). Если задана, варианты моделей с 1M недоступны в селекторе моделей, и Claude Code ограничивает сессии на моделях с нативным окном 1M, таких как [Sonnet 5.5](/docs/ru/model-config#sonnet-5-5-and-sonnet-5-context-window) и модели Fable, окном 200K; о том, как применяется это ограничение, см. [Расширенный контекст](/docs/ru/model-config#extended-context). Полезно для корпоративных сред с требованиями соответствия нормативам. О её роли в корректировке окна для нераспознанного ID модели `[1m]` см. [Корректировка окна для ID модели шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |242| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Задайте `1`, чтобы отключить поддержку [контекстного окна 1M](/docs/ru/model-config#extended-context). Если переменная задана, варианты моделей с 1M недоступны в меню выбора модели, а Claude Code ограничивает сессии на моделях с нативным окном 1M, таких как [Sonnet 5.5](/docs/ru/model-config#sonnet-5-5-and-sonnet-5-context-window) и модели Fable, окном 200K; как применяется это ограничение, см. в разделе [Расширенный контекст](/docs/ru/model-config#extended-context). Полезно для корпоративных сред с требованиями соответствия нормативам. О роли этой переменной в исправлении окна для нераспознанного ID модели `[1m]` см. [Исправление окна для ID модели шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

241| `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 и новее или Opus 4.7 и новее, которые всегда используют адаптивные рассуждения |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 и новее, которые всегда используют адаптивное рассуждение |

242| `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 или новее |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 или новее |

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

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

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

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

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

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

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

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

251| `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 или новее |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 или новее |

252| `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 или новее |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 или новее |

253| `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 или новее |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 или новее |

254| `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 или новее |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 или новее |

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

256| `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 или новее |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 или новее |

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

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

259| `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 или новее |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 или новее |

260| `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 продолжает отправлять |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 продолжает отправлять |

261| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Задайте `1`, чтобы отключить встроенные [субагенты Explore и Plan](/docs/ru/sub-agents#built-in-subagents). Вместо них Claude исследует код с помощью своих инструментов поиска или субагента general-purpose, а [режим планирования](/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 или новее |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 или новее |

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

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

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

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

266| `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 или новее |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 или новее |

267| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Задайте `1`, чтобы предотвратить автоматическое переназначение Opus 4.0 и 4.1 на текущую версию Opus в Anthropic API. Используйте, если вы намеренно хотите закрепить более старую модель. Переназначение не выполняется в Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry |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 |

268| `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 или новее |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 или новее |

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

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

271| `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 или новее |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 или новее |

272| `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), у которого есть собственное явное включение |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), для которого предусмотрено отдельное включение |

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

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

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

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

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

278| `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 или новее |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 или новее |

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

280| `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 или новее |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 или новее |

281| `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 или новее |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 или новее |

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

283| `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 или моделях Fable, в которых мышление отключить нельзя. У [сторонних провайдеров](/docs/ru/third-party-integrations) `MAX_THINKING_TOKENS=0` также исключает параметр, поэтому там обе переменные ведут себя одинаково |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` также исключает параметр, поэтому там обе переменные ведут себя одинаково |

284| `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 или новее |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 или новее |

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

286| `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 или новее |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 или новее |

287| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Задайте `1`, чтобы в Windows запускать команды [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool) напрямую, а не через запускающий процесс `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 или новее |289| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Задайте `1`, чтобы в Windows запускать команды [инструмента PowerShell](/docs/ru/tools-reference#powershell-tool) напрямую, а не через средство запуска `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 или новее |

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

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

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

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

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

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

294| `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` и политика организации в отношении отзывов о продукте имеют приоритет |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` и политика организации в отношении отзывов о продукте имеют приоритет |

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

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

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

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

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

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

301| `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 или новее |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 или новее |

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

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

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

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

306| `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, где было удалено обнаружение вложенных сессий, которое она переопределяет |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, где обнаружение вложенных сессий, которое она переопределяет, было удалено |

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

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

309| `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`, чтобы включить режим ответвления |311| `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`, чтобы включить режим ветвления |

310| `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 или новее |312| `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 или новее |

311| `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 или новее |313| `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 или новее |

312| `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 или новее |314| `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 или новее |

313| `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) |315| `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) |

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

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

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

317| `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 или новее |319| `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 или новее |

318| `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 не может обнаружить, неправильно обрабатывает сжатые запросы |320| `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 не может обнаружить, неправильно обрабатывает сжатые запросы |

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

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

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

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

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

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

325| `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 или новее |327| `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 или новее |

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

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

328| `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) по-прежнему действуют |330| `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) по-прежнему действуют |

329| `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 или новее |331| `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 или новее |

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

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

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

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

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

335| `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 или новее |337| `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 или новее |

336| `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-серверы были исключены из таймаута простоя |338| `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-серверы таймаут простоя не распространялся |

337| `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 или новее |339| `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 или новее |

338| `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 или новее |340| `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 или новее |

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

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

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

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

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

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

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

346| `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 использует заданный вами токен на протяжении всей сессии. Чтобы заменить истёкший токен, сгенерируйте новый и перезапустите |348| `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 использует заданный вами токен на протяжении всей сессии. Чтобы заменить истёкший токен, сгенерируйте новый и перезапустите |

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

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

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

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

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

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

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

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

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

356| `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) |358| `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) |

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

358| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Установите `1`, чтобы пропустить попытку повторного клонирования и продолжить использовать существующую копию маркетплейса, когда при обновлении маркетплейса не удаётся связаться с удалённым репозиторием или пройти аутентификацию. Полезно в автономных или изолированных средах, где повторное клонирование завершилось бы такой же ошибкой. См. [Обновления маркетплейса не выполняются в автономных средах](/docs/ru/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |360| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Таймаут в миллисекундах для клонирования или обновления маркетплейса плагинов (по умолчанию: 120000). Увеличьте это значение для больших репозиториев или медленных сетевых подключений. См. [Истёк таймаут git clone](/docs/ru/plugins/troubleshooting#git-clone-timed-out-after-120s) |

359| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Установите `1`, чтобы клонировать источники GitHub в сокращённой форме `owner/repo` по HTTPS вместо SSH. Применяется к установке и обновлению плагинов, а также к `/plugin marketplace add` и `update`. Полезно в CI-раннерах, контейнерах или любых средах без настроенного SSH-ключа для `github.com` |361| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Установите `1`, чтобы пропустить попытку повторного клонирования и продолжать использовать существующую копию маркетплейса, когда при обновлении маркетплейса не удаётся подключиться к удалённому репозиторию или пройти аутентификацию. Полезно в офлайн-средах или изолированных средах, где повторное клонирование завершилось бы ошибкой по той же причине. См. [Обновления маркетплейса завершаются ошибкой в офлайн-средах](/docs/ru/plugins/troubleshooting#marketplace-updates-keep-failing-offline) |

360| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Путь к одному или нескольким каталогам начальных плагинов только для чтения, разделённым символом `:` в Unix или `;` в Windows. Используйте, чтобы включить заранее заполненный каталог плагинов в образ контейнера. Claude Code регистрирует маркетплейсы из этих каталогов при запуске и использует заранее кэшированные плагины без повторного клонирования. См. [Предварительное заполнение плагинов для контейнеров](/docs/ru/plugins/org#seed-containers-and-ci) |362| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Установите `1`, чтобы клонировать источники GitHub в сокращённой форме `owner/repo` по HTTPS вместо SSH. Применяется к установке и обновлению плагинов, а также к `/plugin marketplace add` и `update`. Полезно в CI-раннерах, контейнерах или любой среде без настроенного SSH-ключа для `github.com` |

361| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Установите `1`, чтобы Claude Code не передавал `-ExecutionPolicy Bypass` при запуске PowerShell для вызовов инструментов, хуков и команд строки состояния, а вместо этого соблюдал действующую политику выполнения на компьютере. По умолчанию Claude Code обходит политику выполнения на уровне процесса, чтобы скрипты `.ps1` и импорт модулей работали в установках Windows с политикой Restricted по умолчанию. Обход на уровне процесса никогда не переопределяет групповые политики `MachinePolicy` или `UserPolicy`, независимо от этой настройки |363| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Путь к одному или нескольким начальным каталогам плагинов только для чтения, разделённым символом `:` в Unix или `;` в Windows. Используйте для включения заранее заполненного каталога плагинов в образ контейнера. Claude Code регистрирует маркетплейсы из этих каталогов при запуске и использует предварительно кэшированные плагины без повторного клонирования. См. [Предварительное заполнение плагинов для контейнеров](/docs/ru/plugins/org#seed-containers-and-ci) |

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

363| `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 или новее |365| `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 или новее |

364| `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 или новее |366| `CLAUDE_CODE_PROCESS_WRAPPER` | Запускает процессы, которые Claude Code стартует из собственного бинарного файла, например фоновую службу, в которой работают сессии [представления агентов](/docs/ru/agent-view), через корпоративный лаунчер, заданный как префикс argv, например `/opt/corp/launcher`. Задавайте её в блоке `env` пользовательских или [управляемых настроек](/docs/ru/managed-settings), а не через export в оболочке, чтобы отсоединённая фоновая служба её унаследовала; настройки проекта и локальные настройки не могут её задать. Эквивалентна [настройке `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 или новее |

365| `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 или новее |367| `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 или новее |

366| `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) |368| `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 тарифицирует запись в часовой кэш по более высокой ставке. Требуется Claude Code v2.1.242 или новее |

367| `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) |369| `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) |

368| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Установите `1`, чтобы разрешить прокси выполнять DNS-разрешение вместо вызывающей стороны. Включается явно для сред, где разрешением имён хостов должен заниматься прокси |370| `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) |

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

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

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

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

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

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

374| `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.`. Пустая строка означает использование значения по умолчанию |377| `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.`. Пустая строка означает использование значения по умолчанию |

375| `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 или новее |378| `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 или новее |

376| `CLAUDE_CODE_SAFE_MODE` | Установите `1`, чтобы запуститься в безопасном режиме: CLAUDE.md, скиллы, плагины, хуки, MCP-серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и подсказок файлов, LSP-серверы и автоматическая память не загружаются — для устранения неполадок в сломанной конфигурации. Политика управляемых настроек по-прежнему применяется, включая хуки, строку состояния и команды подсказок файлов, настроенные политикой; управляемые плагины, управляемые скиллы, управляемый CLAUDE.md и MCP-серверы, настроенные политикой, не применяются. Эквивалентно передаче [`--safe-mode`](/docs/ru/cli-reference#cli-flags). Непосредственно порождённые дочерние процессы наследуют эту переменную |379| `CLAUDE_CODE_SAFE_MODE` | Установите `1`, чтобы запустить в безопасном режиме: CLAUDE.md, скиллы, плагины, хуки, MCP-серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и подсказок файлов, LSP-серверы и автоматическая память не загружаются — для устранения неполадок в неработающей конфигурации. Политика управляемых настроек по-прежнему применяется, включая настроенные политикой хуки, строку состояния и команды подсказок файлов; управляемые плагины, управляемые скиллы, управляемый CLAUDE.md и настроенные политикой MCP-серверы — нет. Эквивалентно передаче [`--safe-mode`](/docs/ru/cli-reference#cli-flags). Непосредственно запущенные дочерние процессы наследуют эту переменную |

377| `CLAUDE_CODE_SCRIPT_CAPS` | Объект JSON, ограничивающий, сколько раз определённые скрипты могут вызываться за сессию, когда задана `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — подстроки, сопоставляемые с текстом команды; значения — целочисленные лимиты вызовов. Например, `{"deploy.sh": 2}` позволяет вызвать `deploy.sh` не более двух раз. Сопоставление выполняется по подстроке, поэтому уловки с раскрытием в оболочке, такие как `./scripts/deploy.sh $(evil)`, всё равно засчитываются в лимит. Размножение вызовов во время выполнения через `xargs` или `find -exec` не обнаруживается; это мера эшелонированной защиты |380| `CLAUDE_CODE_SCRIPT_CAPS` | JSON-объект, ограничивающий, сколько раз определённые скрипты могут быть вызваны за сессию, когда задана `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — подстроки, сопоставляемые с текстом команды; значения — целочисленные ограничения на количество вызовов. Например, `{"deploy.sh": 2}` позволяет вызвать `deploy.sh` не более двух раз. Сопоставление выполняется по подстроке, поэтому приёмы с раскрытием в оболочке, такие как `./scripts/deploy.sh $(evil)`, всё равно учитываются в ограничении. Размножение вызовов во время выполнения через `xargs` или `find -exec` не обнаруживается; это мера эшелонированной защиты |

378| `CLAUDE_CODE_SCROLL_SPEED` | Задаёт множитель прокрутки колёсиком мыши в [полноэкранном рендеринге](/docs/ru/fullscreen#mouse-wheel-scrolling). Принимает любое положительное значение до 20, включая дробные значения меньше 1, например `0.5`, чтобы замедлить ускоренную прокрутку тачпадом и колёсиком в терминалах, которые уже усиливают события колёсика. Установите `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колёсика на каждый щелчок без усиления. Игнорируется во встроенном терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |381| `CLAUDE_CODE_SCROLL_SPEED` | Задаёт множитель прокрутки колёсиком мыши при [полноэкранной отрисовке](/docs/ru/fullscreen#mouse-wheel-scrolling). Принимает любое положительное значение до 20, включая дробные значения меньше 1, например `0.5`, чтобы замедлить ускоренную прокрутку трекпадом и колёсиком в терминалах, которые уже усиливают события колёсика. Установите `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колёсика на щелчок без усиления. Игнорируется в терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |

379| `CLAUDE_CODE_SEND_FEEDBACK` | Установите `0`, чтобы отключить [отзывы, составленные Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), для сессии. Установите `1`, чтобы включить их там, где у вашего аккаунта уже есть доступ; сама переменная не может предоставить доступ, а другие переключатели, отключающие отзывы, такие как `DISABLE_FEEDBACK_COMMAND` и значение `off` настройки [`feedbackDrafts`](/docs/ru/settings-reference#feedbackdrafts), по-прежнему действуют |382| `CLAUDE_CODE_SEND_FEEDBACK` | Установите `0`, чтобы отключить [отзывы, составляемые Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), для сессии. Установите `1`, чтобы включить их там, где у вашей учётной записи уже есть доступ; сама переменная не может предоставить доступ, а другие переключатели, отключающие отзывы, такие как `DISABLE_FEEDBACK_COMMAND` и значение `off` настройки [`feedbackDrafts`](/docs/ru/settings-reference#feedbackdrafts), по-прежнему действуют |

380| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределяет бюджет времени в миллисекундах для хуков [SessionEnd](/docs/ru/hooks#sessionend). Это значение также служит таймаутом для каждого хука, у которого не задан собственный `timeout`. Применяется при выходе из сессии, `/clear` и переключении сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды и автоматически повышается до наибольшего `timeout` отдельного хука, настроенного в файлах настроек, но не более 60 секунд. Таймауты хуков, предоставляемых плагинами, не повышают бюджет |383| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределяет бюджет времени в миллисекундах для хуков [SessionEnd](/docs/ru/hooks#sessionend). Это значение также служит таймаутом для каждого хука, у которого не задан собственный `timeout`. Применяется при выходе из сессии, `/clear` и переключении сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды и автоматически повышается до наибольшего `timeout` отдельного хука, настроенного в файлах настроек, но не более 60 секунд. Таймауты хуков, предоставляемых плагинами, не повышают бюджет |

381| `CLAUDE_CODE_SESSION_ID` | Автоматически устанавливается в идентификатор текущей сессии в подпроцессах инструментов Bash и PowerShell, подпроцессах [команд хуков](/docs/ru/hooks) и подпроцессах stdio [MCP-серверов](/docs/ru/mcp). Для Bash, PowerShell и хуков совпадает с полем `session_id` во входных данных JSON хука и обновляется при `/clear`. Подпроцесс MCP-сервера сохраняет идентификатор, с которым был запущен. При `--resume <session-id>` он получает идентификатор возобновлённой сессии, совпадающий с хуками и Bash. При `--continue` или `--resume` без явного идентификатора он может вместо этого получить исходный идентификатор, полученный при запуске. Используйте, чтобы сопоставлять скрипты и внешние инструменты с сессией Claude Code, которая их запустила |384| `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, которая их запустила |

382| `CLAUDE_CODE_SHELL` | Задаёт оболочку, которую Claude Code использует для выполнения команд инструмента Bash. Принимает путь к бинарному файлу `bash` или `zsh`, например `/opt/homebrew/bin/bash`. Другие оболочки, такие как `fish`, не поддерживаются. Если значение не является рабочим путём к `bash` или `zsh`, Claude Code игнорирует его и переключается на автоматическое определение. Автоматическое определение использует ваш `$SHELL`, если он указывает на `bash` или `zsh`, иначе выбирает первый рабочий `zsh`, а затем `bash`, найденный в вашем `PATH` и стандартных местах установки |385| `CLAUDE_CODE_SHELL` | Задаёт оболочку, которую Claude Code использует для выполнения команд инструмента Bash. Принимает путь к бинарному файлу `bash` или `zsh`, например `/opt/homebrew/bin/bash`. Другие оболочки, такие как `fish`, не поддерживаются. Если значение не является рабочим путём к `bash` или `zsh`, Claude Code игнорирует его и переключается на автоматическое определение. Автоматическое определение использует ваш `$SHELL`, если он указывает на `bash` или `zsh`, в противном случае выбирает первый рабочий `zsh`, а затем `bash`, найденный в вашем `PATH` и стандартных местах установки |

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

384| `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) |387| `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) |

385| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите `1`, чтобы использовать более короткий системный промпт и сокращённые описания инструментов на любой модели. Установите `0`, `false`, `no` или `off`, чтобы отказаться даже на моделях, где это иначе включил бы эксперимент или конфигурация сервера. Полный набор инструментов, хуки, MCP-серверы и обнаружение CLAUDE.md остаются включёнными |388| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите `1`, чтобы использовать более короткий системный промпт и сокращённые описания инструментов на любой модели. Установите `0`, `false`, `no` или `off`, чтобы отказаться от этого даже на моделях, где эксперимент или конфигурация сервера иначе включили бы это. Полный набор инструментов, хуки, MCP-серверы и обнаружение CLAUDE.md остаются включёнными |

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

387| `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 или новее |390| `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 или новее |

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

389| `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» |392| `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 по-прежнему учитывает ответ «отключено вашей организацией» |

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

391| `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-ключ |394| `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-ключ |

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

393| `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 или новее |396| `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 или новее |

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

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

396| `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 или новее |399| `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 или новее |

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

398| `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` определения |401| `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` в определении |

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

400| `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 или новее |403| `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 тарифицирует запись в часовой кэш по более высокой ставке. Требуется Claude Code v2.1.242 или новее |

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

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

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

404| `CLAUDE_CODE_SYNC_SKILLS` | Установите `1` в неинтерактивном режиме с флагом `-p`, чтобы Claude Code загрузил скиллы, включённые для вашего аккаунта claude.ai, в этом запуске и дождался их списка — не дольше `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, — прежде чем выполнить первый запрос. Сами загрузки завершаются в фоновом режиме, а Claude ожидает загрузки скилла, когда вызывает его. Требуется аутентификация через claude.ai. Терминальные сессии, в которых вы входите с аккаунтом claude.ai, [загружают эти скиллы](/docs/ru/skills#where-synced-skills-load) в `~/.claude/skills/synced/` и повторно синхронизируют их примерно каждые 10 минут без этой переменной, поэтому задавайте её, только когда запуску `-p` нужны ваши текущие скиллы уже при первом запросе. До v2.1.273 терминальные сессии загружали их только в запуске `-p` с заданной переменной. Имя папки `synced` [зарезервировано для этой загрузки](/docs/ru/skills#where-skills-live). До v2.1.227 скиллы загружались непосредственно в `~/.claude/skills/`. Claude Code применяет к загруженным скиллам [дополнительные правила](/docs/ru/skills#how-synced-skills-behave), например не выполняет их команды `!` на вашем компьютере |407| `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` нужны ваши актуальные скиллы уже в первом запросе |

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

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

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

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

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

410| `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) |413| `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) |

411| `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) |414| `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) |

412| `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 или новее |415| `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 или новее |

413| `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 или новее |416| `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 или новее |

414| `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 или новее |417| `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 или новее |

415| `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` или отрицательное значение отключает срок |418| `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` или отрицательное значение отключает срок |

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

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

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

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

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

421| `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) |424| `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) |

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

423| `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 или новее |426| `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 или новее |

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

425| `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 или новее |428| `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 или новее |

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

427| `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 или новее |430| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Верхний предел в миллисекундах для времени, в течение которого агент [workflow](/docs/ru/workflows) ожидает начала первого ответа соседнего агента с тем же префиксом, прежде чем отправить собственный первый запрос. Когда при распараллеливании запускается несколько агентов с общим [префиксом кэша промптов](/docs/ru/workflows#prompt-caching-in-a-fan-out), Claude Code задерживает всех агентов, кроме первого, не дольше этого времени, чтобы остальные читали префикс из кэша, а не обрабатывали его каждый без кэша. Значение по умолчанию — `5000`. Установите `0`, чтобы отключить ожидание. Когда задана `DISABLE_PROMPT_CACHING`, агенты никогда не ждут. Требуется Claude Code v2.1.229 или новее |

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

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

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

431| `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) |434| `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) |

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

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

434| `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) |437| `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) |

435| `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 в этом каталоге не запрашивают разрешения, а сам каталог удаляется при удалении сессии |438| `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 в этом каталоге не запрашивают разрешения, а сам каталог удаляется при удалении сессии |

436| `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 или новее |439| `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 или новее |

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

438| `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 или новее |441| `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 или новее |

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

440| `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) |443| `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) |

441| `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:*`, заданные для других инструментов, его не активируют |444| `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:*`, заданные для других инструментов, его не активируют |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

466| `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) в настройках |469| `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) |

467| `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). Пользователи подписки в пределах включённого использования автоматически получают 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`, которые имеют приоритет над этой переменной |470| `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 в [основном диалоге](/docs/ru/prompt-caching#which-ttl-each-request-gets). Пользователи подписки, расходующие [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), могут задать её, чтобы сохранить часовой TTL. Запись в часовой кэш тарифицируется по более высокой ставке. Чтобы вместо этого выбирать TTL для каждой группы запросов, используйте `CLAUDE_CODE_PROMPT_CACHE_TTL` и `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, которые имеют приоритет над этой переменной |

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

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

470| `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), поэтому эта переменная не влияет на переключение на резервную модель |473| `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) при повторяющихся ошибках перегрузки для любой основной модели, поэтому эта переменная не влияет на переключение на резервную модель |

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

472| `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`, чтобы отображать значок обычным текстом |475| `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`, чтобы отображать значок как обычный текст |

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

474| `HTTP_PROXY` | Задаёт прокси-сервер HTTP для сетевых подключений |477| `HTTP_PROXY` | Указывает HTTP-прокси-сервер для сетевых соединений |

475| `HTTPS_PROXY` | Задаёт прокси-сервер HTTPS для сетевых подключений |478| `HTTPS_PROXY` | Указывает HTTPS-прокси-сервер для сетевых соединений |

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

477| `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) независимо от этой переменной |480| `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) независимо от этой переменной |

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

479| `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 и моделей 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` отключает адаптивное рассуждение |482| `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` отключает адаптивные рассуждения |

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

481| `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), срок ожидания больше; об исключении для кэшированных серверов см. описание этого флага |484| `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), ожидание имеет более длинный срок; об исключении для кэшированных серверов см. описание этого флага |

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

483| `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 или новее |486| `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 или новее |

484| `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 не ограничивал значение |487| `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 не ограничивал значение |

485| `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 или новее |488| `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 или новее |

486| `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 не ограничивал значение |489| `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 не ограничивал значение |

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

488| `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 или новее |491| `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 или новее |

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

490| `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 проверяет издателя, которого OAuth-сервер MCP возвращает в ответе на авторизацию, и при несовпадении завершает вход ошибкой, начинающейся с `Issuer mismatch in authorization response`. Среда выполнения v1 эту проверку не выполняет. Если вы зададите нераспознанное значение, Claude Code проигнорирует его и запишет предупреждение в лог отладки. Claude Code считывает значение один раз за процесс. Требуется Claude Code v2.1.218 или новее |493| `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 или новее |

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

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

493| `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 игнорируются |496| `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 игнорируются |

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

495| `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) |498| `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) |

496| `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) |499| `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) |

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

498| `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) |501| `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) |

499| `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) |502| `OTEL_LOG_TOOL_CONTENT` | Установите `1`, чтобы включать содержимое инструментов в событие span OpenTelemetry `tool.output`. Атрибуты span передают содержимое инструментов при [собственных условиях](/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) |

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

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

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

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

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

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

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

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

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

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

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

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

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


527| `VERTEX_REGION_CLAUDE_FABLE_5` | Переопределяет регион для Claude Fable 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.170 |530| `VERTEX_REGION_CLAUDE_FABLE_5` | Переопределяет регион для Claude Fable 5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.170 |

528| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Переопределяет регион для Claude Fable 5.1 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.257 |531| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Переопределяет регион для Claude Fable 5.1 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.257 |

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

533| `VERTEX_REGION_CLAUDE_HAIKU_5_5` | Переопределяет регион для Claude Haiku 5.5 при использовании Google Cloud's Agent Platform. Добавлено в v2.1.293 |

530 534 

531Также поддерживаются стандартные переменные экспортера 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).535Также поддерживаются стандартные переменные экспортёра 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).

532 536 

533Задавайте `CLAUDE_CODE_ENABLE_TELEMETRY` и переменные OpenTelemetry, которые включают экспорт, выбирают его назначение или захватывают содержимое, в оболочке, пользовательских настройках или управляемых настройках. Claude Code [игнорирует их в настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений отключения, описанных в том разделе. `OTEL_RESOURCE_ATTRIBUTES` и переменные интервала экспорта, таймаута и сжатия, такие как `OTEL_METRIC_EXPORT_INTERVAL`, по-прежнему применяются из настроек проекта и локальных настроек.537Задавайте `CLAUDE_CODE_ENABLE_TELEMETRY` и переменные OpenTelemetry, которые включают экспорт, выбирают его назначение или захватывают содержимое, в оболочке, пользовательских настройках или управляемых настройках. Claude Code [игнорирует их в настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env), за исключением значений выключения, описанных в том разделе. `OTEL_RESOURCE_ATTRIBUTES` и переменные интервала экспорта, таймаута и сжатия, такие как `OTEL_METRIC_EXPORT_INTERVAL`, по-прежнему применяются из настроек проекта и локальных настроек.

534 538 

535<h2 id="what-the-subprocess-environment-scrub-removes">539<h2 id="what-the-subprocess-environment-scrub-removes">

536 Что удаляет очистка окружения подпроцессов540 Что удаляет очистка окружения подпроцессов

errors.md +4 −5

Details

130| `unable to get local issuer certificate` | [Network](#ssl-certificate-errors) |130| `unable to get local issuer certificate` | [Network](#ssl-certificate-errors) |

131| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Network](#host-not-allowed-in-a-cloud-session) |131| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Network](#host-not-allowed-in-a-cloud-session) |

132| `proxy refused the connection` | [Network](#the-proxy-refused-the-connection) |132| `proxy refused the connection` | [Network](#the-proxy-refused-the-connection) |

133| `403` with `This GraphQL query is not enabled for this session` in a cloud session | [GitHub proxy](/docs/ru/cloud-environments#github-proxy) |133| `403` с `GitHub GraphQL is not available from Claude Code sessions` в облачной сессии | [GitHub proxy](/docs/ru/cloud-environments#github-proxy) |

134| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Network](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |134| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Network](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |

135| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |135| `Couldn't reconnect to your Remote Control session` | [Network](#couldnt-reconnect-to-your-remote-control-session) |

136| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |136| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Network](#sessions-ended-while-this-machine-was-offline) |


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

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

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

200| `Cloud sessions need a claude.ai sign-in` | [Unable to get organization UUID](/docs/ru/claude-code-on-the-web#unable-to-get-organization-uuid) |

200| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#the-json-schema-value-is-not-a-valid-json-schema) |201| `Error: --json-schema is not a valid JSON Schema` | [Command-line errors](#the-json-schema-value-is-not-a-valid-json-schema) |

201| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |202| `Error: Invalid --agents configuration:` | [Command-line errors](#invalid-agents-configuration) |

202| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |203| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |


387* Соединение, которое, как обнаружил Claude Code, было разорвано тем, что ваш компьютер перешёл в режим сна в середине запроса. Claude Code считает это разорванным соединением в соответствии с приведёнными выше правилами; как только метка повторной попытки назовёт конкретную причину, она будет читаться как `Connection lost while your computer was asleep`, и если ход завершается после того, как Claude завершил размышления, но до любого текста или вызова инструмента, сообщение читается как `Your computer went to sleep 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`.

388* Застопорившийся поток ответа, когда заголовки ответа прибыли, но ни одна часть ответа Claude не прибыла, или когда Claude завершил размышления, но не начал какой-либо текст или вызов инструмента: Claude Code прерывает застопорившееся соединение и повторно отправляет запрос максимум один раз, вне бюджета из 10 попыток выше. Если ответ застопорится во второй раз после того, как Claude завершил размышления, но до любого текста или вызова инструмента, Claude Code завершает ход с `The response stalled before a response was produced`.389* Застопорившийся поток ответа, когда заголовки ответа прибыли, но ни одна часть ответа Claude не прибыла, или когда Claude завершил размышления, но не начал какой-либо текст или вызов инструмента: Claude Code прерывает застопорившееся соединение и повторно отправляет запрос максимум один раз, вне бюджета из 10 попыток выше. Если ответ застопорится во второй раз после того, как Claude завершил размышления, но до любого текста или вызова инструмента, Claude Code завершает ход с `The response stalled before a response was produced`.

389* Потоковый запрос, на который 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`, ограничение на одну повторную попытку не применяется.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`, ограничение на одну повторную попытку не применяется.

391* Потоковый ответ, который выходной фильтр содержимого API останавливает до того, как Claude либо завершил размышления, либо начал какой-либо текст или вызов инструмента. Claude Code повторно отправляет запрос один раз, в пределах бюджета повторных попыток, и показывает [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy), если фильтр останавливает и второй ответ.

390* Временные дроссели 429, но не `429` лимита расходов шлюза, который не является дросселем; см. [Spend limit reached](#spend-limit-reached).392* Временные дроссели 429, но не `429` лимита расходов шлюза, который не является дросселем; см. [Spend limit reached](#spend-limit-reached).

391 * Когда вы вошли с подпиской claude.ai, это включает дроссели 429, которые не содержат заголовков квоты вашего плана. До v2.1.199 Claude Code повторял эти дроссели только при входе с API-ключом и через Enterprise.393 * Когда вы вошли с подпиской claude.ai, это включает дроссели 429, которые не содержат заголовков квоты вашего плана. До v2.1.199 Claude Code повторял эти дроссели только при входе с API-ключом и через Enterprise.

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


405* [Amazon Bedrock streaming response with an unexpected content-type](#bedrock-streaming-response-has-an-unexpected-content-type), потому что шлюз или прокси, переписывающие ответ, переписали бы повторную попытку таким же образом. Требуется Claude Code v2.1.208 или позже.407* [Amazon Bedrock streaming response with an unexpected content-type](#bedrock-streaming-response-has-an-unexpected-content-type), потому что шлюз или прокси, переписывающие ответ, переписали бы повторную попытку таким же образом. Требуется Claude Code v2.1.208 или позже.

406* Непотоковая повторная попытка неудавшегося потокового запроса, которая получает статус успеха, но [no Claude API message in the body](#api-returned-an-empty-or-malformed-response). Claude Code завершает ход с этой ошибкой.408* Непотоковая повторная попытка неудавшегося потокового запроса, которая получает статус успеха, но [no Claude API message in the body](#api-returned-an-empty-or-malformed-response). Claude Code завершает ход с этой ошибкой.

407* Запрос, который проверка политики вашей организации отклонила, который отображается как строка `API Error:`, содержащая сообщение об отказе. Администраторы вашей организации настроили проверку с помощью [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), функции Claude Enterprise, и сообщение заканчивается инструкциями, которые они настроили, или по умолчанию говорит вам связаться с ними. Claude Code не отправляет отклонённый запрос повторно на ту же модель или на [резервную модель](/docs/ru/model-config#fallback-model-chains), потому что отказ касается содержимого запроса, а не модели. До v2.1.239 Claude Code мог повторно отправить отклонённый запрос без потоковой передачи или на настроенную резервную модель перед отображением отказа.409* Запрос, который проверка политики вашей организации отклонила, который отображается как строка `API Error:`, содержащая сообщение об отказе. Администраторы вашей организации настроили проверку с помощью [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), функции Claude Enterprise, и сообщение заканчивается инструкциями, которые они настроили, или по умолчанию говорит вам связаться с ними. Claude Code не отправляет отклонённый запрос повторно на ту же модель или на [резервную модель](/docs/ru/model-config#fallback-model-chains), потому что отказ касается содержимого запроса, а не модели. До v2.1.239 Claude Code мог повторно отправить отклонённый запрос без потоковой передачи или на настроенную резервную модель перед отображением отказа.

408* Ответ, который заблокировал выходной фильтр содержимого API. Claude Code сразу показывает [Output blocked by content filtering policy](#output-blocked-by-content-filtering-policy) и не повторяет и не отправляет этот запрос повторно.

409 410 

410<h3 id="what-you-see-while-claude-code-retries-or-waits">411<h3 id="what-you-see-while-claude-code-retries-or-waits">

411 Что вы видите, пока Claude Code повторяет или ждёт412 Что вы видите, пока Claude Code повторяет или ждёт


2299 2300 

2300**Что делать:**2301**Что делать:**

2301 2302 

2302* Уменьшите изображение перед вставкой. API принимает изображения размером до 8000 пикселей по длинной стороне для одного изображения или до 2000 пикселей, когда в контексте много изображений.2303* Уменьшите изображение перед вставкой. API принимает изображения размером до 8000 пикселей по длинной стороне для одного изображения или до 3000 пикселей, когда в контексте более 20 изображений.

2303* Сделайте снимок только нужной области вместо всего экрана2304* Сделайте снимок только нужной области вместо всего экрана

2304 2305 

2305<h3 id="unable-to-resize-image">2306<h3 id="unable-to-resize-image">


2905API Error: Output blocked by content filtering policy2906API Error: Output blocked by content filtering policy

2906```2907```

2907 2908 

2908Claude Code показывает ошибку сразу после получения блокировки и на этом завершает запрос. Он не повторяет запрос, не отправляет его повторно без потоковой передачи и не переключается на [резервную модель](/docs/ru/model-config#fallback-model-chains). До версии 2.1.285 Claude Code мог повторно отправлять заблокированный запрос и повторять попытки, иногда в течение нескольких минут, прежде чем показать ошибку.

2909 

2910**Что делать:**2909**Что делать:**

2911 2910 

2912* Переформулируйте последнее сообщение или выберите другой подход2911* Переформулируйте последнее сообщение или выберите другой подход

fast-mode.md +1 −1

Details

88 88 

89Цены на быстрый режим одинаковы по всему контекстному окну из 1M токенов. Для сравнения со стандартной ставкой Opus см. [справочник по ценам Claude](https://platform.claude.com/docs/ru/about-claude/pricing).89Цены на быстрый режим одинаковы по всему контекстному окну из 1M токенов. Для сравнения со стандартной ставкой Opus см. [справочник по ценам Claude](https://platform.claude.com/docs/ru/about-claude/pricing).

90 90 

91Первый раз, когда вы включаете быстрый режим в разговоре, вы платите полную цену быстрого режима без кэша за входные токены для всего контекста разговора. Чем глубже вы находитесь в разговоре, тем больше это стоит, поэтому включение быстрого режима с самого начала дешевле. Стоимость применяется один раз за разговор, поэтому отключение и повторное включение быстрого режима позже не повторяет её. Для механизма см. [как быстрый режим взаимодействует с кэшем подсказок](/docs/ru/prompt-caching#turning-on-fast-mode).91Когда вы впервые включаете быстрый режим в диалоге, вы платите полную цену быстрого режима за некэшированные входные токены для всего контекста диалога. Чем дальше вы продвинулись в диалоге, тем дороже это обходится, поэтому плата минимальна, если включить быстрый режим в самом начале. Эта стоимость взимается один раз за диалог, поэтому если позже отключить и снова включить быстрый режим, она не повторится. Описание механизма см. в разделе [как быстрый режим взаимодействует с кэшем промптов](/docs/ru/prompt-caching#turning-on-fast-mode).

92 92 

93<h3 id="see-where-fast-mode-spend-appears">93<h3 id="see-where-fast-mode-spend-appears">

94 Посмотрите, где появляются расходы быстрого режима94 Посмотрите, где появляются расходы быстрого режима

Details

220</table>220</table>

221 221 

222<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> На Google Cloud's Agent Platform веб-поиск доступен для моделей Claude 4 и более поздних версий.<br />222<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> На Google Cloud's Agent Platform веб-поиск доступен для моделей Claude 4 и более поздних версий.<br />

223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> На этих поставщиках auto mode поддерживает только Claude Sonnet 5, Opus 4.7 или более поздние версии и модели Fable. См. [Конфигурация Auto mode](/docs/ru/auto-mode-config). Для режима разрешений, в котором сеанс начинается на этих поставщиках, см. [В каком режиме начинается сеанс](/docs/ru/permission-modes#which-mode-a-session-starts-in). В v2.1.158 через v2.1.206 auto mode на этих поставщиках также требовал установки `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 удалил это требование.<br />223<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> На этих поставщиках авторежим поддерживает только Claude Sonnet 5 или более поздние версии, Opus 4.7 или более поздние версии, Haiku 5.5 и модели Fable. См. [Конфигурация авторежима](/docs/ru/auto-mode-config). Для режима разрешений, в котором сессия начинается на этих поставщиках, см. [В каком режиме начинается сессия](/docs/ru/permission-modes#which-mode-a-session-starts-in). В версиях с v2.1.158 по v2.1.206 авторежим на этих поставщиках также требовал установки `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 удалил это требование.<br />

224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> В соответствии с вашим соглашением с поставщиком облачных услуг.<br />224<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> В соответствии с вашим соглашением с поставщиком облачных услуг.<br />

225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Только панель управления и API. [Contribution metrics](/docs/ru/analytics#enable-contribution-metrics) требует организацию claude.ai Team или Enterprise.<br />225<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> Только панель управления и API. [Contribution metrics](/docs/ru/analytics#enable-contribution-metrics) требует организацию claude.ai Team или Enterprise.<br />

226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Требует Claude Code v2.1.224 или более поздней версии на macOS и Linux, включая Linux внутри WSL 2. На нативной Windows требует Claude Code v2.1.234 или более поздней версии. При аутентификации с помощью ключа API передача сообщений доступна только на одной машине. На Amazon Bedrock, Claude Platform на AWS, Google Cloud's Agent Platform и Microsoft Foundry передача сообщений доступна только на одной машине и требует Claude Code v2.1.248 или более поздней версии. Claude может найти ваши [облачные сеансы](/docs/ru/claude-code-on-the-web) и ваши сеансы на других машинах только из сеанса, подключённого к [Remote Control](/docs/ru/remote-control). Для подключения вам нужна учётная запись claude.ai и другие [требования Remote Control](/docs/ru/remote-control#requirements). См. [Передача сообщений между сеансами на других машинах](/docs/ru/cross-session-messaging#message-sessions-on-other-machines).226<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> Требует Claude Code v2.1.224 или более поздней версии на macOS и Linux, включая Linux внутри WSL 2. На нативной Windows требует Claude Code v2.1.234 или более поздней версии. При аутентификации с помощью API-ключа передача сообщений доступна только на одной машине. На Amazon Bedrock, Claude Platform на AWS, Google Cloud's Agent Platform и Microsoft Foundry передача сообщений доступна только на одной машине и требует Claude Code v2.1.248 или более поздней версии. Claude может найти ваши [облачные сессии](/docs/ru/claude-code-on-the-web) и ваши сессии на других машинах только из сессии, подключённой к [Remote Control](/docs/ru/remote-control). Для подключения вам нужен вход в claude.ai и выполнение других [требований Remote Control](/docs/ru/remote-control#requirements). См. [Передача сообщений сессиям на других машинах](/docs/ru/cross-session-messaging#message-sessions-on-other-machines).

227 227 

228<Note>228<Note>

229 Если вы аутентифицируетесь через [LLM gateway](/docs/ru/llm-gateway), доступность функций соответствует базовому поставщику, на который шлюз перенаправляет запросы, за исключением функций, которые сам Claude Code отключает. Когда `ANTHROPIC_BASE_URL` указывает на хост, отличный от `api.anthropic.com`, Claude Code отключает функции такие как [Remote Control](/docs/ru/remote-control#requirements) и [server-managed settings](/docs/ru/server-managed-settings#platform-availability), независимо от того, что перенаправляет шлюз. Некоторые функции, доступные только для Anthropic, такие как [Advisor](/docs/ru/advisor), работают только если шлюз перенаправляет запросы без изменений на API Anthropic.229 Если вы аутентифицируетесь через [LLM gateway](/docs/ru/llm-gateway), доступность функций соответствует базовому поставщику, на который шлюз перенаправляет запросы, за исключением функций, которые сам Claude Code отключает. Когда `ANTHROPIC_BASE_URL` указывает на хост, отличный от `api.anthropic.com`, Claude Code отключает функции такие как [Remote Control](/docs/ru/remote-control#requirements) и [server-managed settings](/docs/ru/server-managed-settings#platform-availability), независимо от того, что перенаправляет шлюз. Некоторые функции, доступные только для Anthropic, такие как [Advisor](/docs/ru/advisor), работают только если шлюз перенаправляет запросы без изменений на API Anthropic.


244 **Частичная поддержка:**244 **Частичная поддержка:**

245 245 

246 * [Desktop](/docs/ru/desktop): только через [Claude Desktop на 3P](https://claude.com/docs/third-party/claude-desktop/overview)246 * [Desktop](/docs/ru/desktop): только через [Claude Desktop на 3P](https://claude.com/docs/third-party/claude-desktop/overview)

247 * [Auto mode](/docs/ru/auto-mode-config): только Sonnet 5, Opus 4.7 или более поздние версии и модели Fable247 * [Авторежим](/docs/ru/auto-mode-config): только Sonnet 5 или более поздние версии, Opus 4.7 или более поздние версии, Haiku 5.5 и модели Fable

248 * [Cross-session messaging](/docs/ru/cross-session-messaging): между вашими сеансами на этой машине только <sup><a href="#fn5">5</a></sup>248 * [Cross-session messaging](/docs/ru/cross-session-messaging): между вашими сеансами на этой машине только <sup><a href="#fn5">5</a></sup>

249 * [Zero Data Retention](/docs/ru/zero-data-retention): в соответствии с вашим соглашением AWS249 * [Zero Data Retention](/docs/ru/zero-data-retention): в соответствии с вашим соглашением AWS

250 250 


270 270 

271 * [Desktop](/docs/ru/desktop): через [управляемые параметры](https://claude.com/docs/third-party/claude-desktop/configuration) или [Claude Desktop на 3P](https://claude.com/docs/third-party/claude-desktop/overview)271 * [Desktop](/docs/ru/desktop): через [управляемые параметры](https://claude.com/docs/third-party/claude-desktop/configuration) или [Claude Desktop на 3P](https://claude.com/docs/third-party/claude-desktop/overview)

272 * [Web search](/docs/ru/tools-reference#websearch-tool-behavior): модели Claude 4 и более поздние272 * [Web search](/docs/ru/tools-reference#websearch-tool-behavior): модели Claude 4 и более поздние

273 * [Auto mode](/docs/ru/auto-mode-config): только Sonnet 5, Opus 4.7 или более поздние версии и модели Fable273 * [Авторежим](/docs/ru/auto-mode-config): только Sonnet 5 или более поздние версии, Opus 4.7 или более поздние версии, Haiku 5.5 и модели Fable

274 * [Cross-session messaging](/docs/ru/cross-session-messaging): между вашими сеансами на этой машине только <sup><a href="#fn5">5</a></sup>274 * [Cross-session messaging](/docs/ru/cross-session-messaging): между вашими сеансами на этой машине только <sup><a href="#fn5">5</a></sup>

275 * [Zero Data Retention](/docs/ru/zero-data-retention): в соответствии с вашим соглашением Google Cloud275 * [Zero Data Retention](/docs/ru/zero-data-retention): в соответствии с вашим соглашением Google Cloud

276 276 


284 284 

285 * [Desktop](/docs/ru/desktop): только через [Claude Desktop на 3P](https://claude.com/docs/third-party/claude-desktop/overview)285 * [Desktop](/docs/ru/desktop): только через [Claude Desktop на 3P](https://claude.com/docs/third-party/claude-desktop/overview)

286 * [Web search](/docs/ru/tools-reference#websearch-tool-behavior): [развёртывания размещённые на Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) только286 * [Web search](/docs/ru/tools-reference#websearch-tool-behavior): [развёртывания размещённые на Anthropic](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) только

287 * [Auto mode](/docs/ru/auto-mode-config): только Sonnet 5, Opus 4.7 или более поздние версии и модели Fable287 * [Авторежим](/docs/ru/auto-mode-config): только Sonnet 5 или более поздние версии, Opus 4.7 или более поздние версии, Haiku 5.5 и модели Fable

288 * [Cross-session messaging](/docs/ru/cross-session-messaging): между вашими сеансами на этой машине только <sup><a href="#fn5">5</a></sup>288 * [Cross-session messaging](/docs/ru/cross-session-messaging): между вашими сеансами на этой машине только <sup><a href="#fn5">5</a></sup>

289 * [Zero Data Retention](/docs/ru/zero-data-retention): в соответствии с вашим соглашением Azure289 * [Zero Data Retention](/docs/ru/zero-data-retention): в соответствии с вашим соглашением Azure

290 290 

glossary.md +27 −27

Details

130 130 

131Файл markdown с постоянными инструкциями, которые вы пишете для Claude, загружаемый в начале каждого сеанса как пользовательское сообщение после системного prompt. Поместите сюда соглашения проекта, заметки об архитектуре и правила "всегда делай X". CLAUDE.md в корне проекта сохраняется при [compaction](#compaction) и перечитывается свежим с диска после этого.131Файл markdown с постоянными инструкциями, которые вы пишете для Claude, загружаемый в начале каждого сеанса как пользовательское сообщение после системного prompt. Поместите сюда соглашения проекта, заметки об архитектуре и правила "всегда делай X". CLAUDE.md в корне проекта сохраняется при [compaction](#compaction) и перечитывается свежим с диска после этого.

132 132 

133Вы можете разместить CLAUDE.md в области проекта в `./CLAUDE.md` или `./.claude/CLAUDE.md`, в области пользователя в `~/.claude/CLAUDE.md` или как [managed policy](#managed-settings) для вашей организации. Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга, упорядочены от самой широкой области к наиболее специфичной. Claude Code также может загружать файлы [AGENTS.md](#agents-md) проекта, отдельно или вместе с CLAUDE.md.133Вы можете разместить CLAUDE.md на уровне проекта в `./CLAUDE.md` или `./.claude/CLAUDE.md`, на уровне пользователя в `~/.claude/CLAUDE.md` или как [управляемую политику](#managed-settings) для вашей организации. Все обнаруженные файлы объединяются в контексте, а не переопределяют друг друга, и упорядочиваются от самой широкой области действия к наиболее конкретной. Claude Code также может загружать файлы [AGENTS.md](#agents-md) проекта вместо CLAUDE.md.

134 134 

135Подробнее: [CLAUDE.md files](/docs/ru/memory#claude-md-files)135Подробнее: [CLAUDE.md files](/docs/ru/memory#claude-md-files)

136 136 


196 Effort level196 Effort level

197</h3>197</h3>

198 198 

199Параметр, который управляет адаптивным рассуждением, позволяя модели решать, нужно ли и сколько думать на каждом шаге. Более высокий effort означает больше thinking tokens и более глубокое рассуждение; более низкий effort быстрее и дешевле. Effort поддерживается на Fable моделях, на Opus 4.6 и более поздних версиях, а также на Sonnet 4.6 и более поздних версиях.199Параметр, который управляет адаптивным рассуждением, позволяя модели решать, нужно ли и сколько думать на каждом шаге. Более высокий effort означает больше thinking tokens и более глубокое рассуждение; более низкий effort быстрее и дешевле. Effort поддерживается на Fable моделях, на Opus 4.6 и более поздних версиях, на Sonnet 4.6 и более поздних версиях, а также на Haiku 5.5.

200 200 

201Подробнее: [Adjust effort level](/docs/ru/model-config#adjust-effort-level)201Подробнее: [Adjust effort level](/docs/ru/model-config#adjust-effort-level)

202 202 


380 Sandboxing380 Sandboxing

381</h3>381</h3>

382 382 

383Изоляция файловой системы и сети уровня ОС для Bash tool. Команды выполняются внутри границы, которую вы определяете заранее, поэтому Claude может свободно работать внутри неё без запросов на одобрение для каждой команды. Sandboxing — это отдельный слой от [permission rules](#permission-rule).383Изоляция файловой системы и сети на уровне ОС для инструмента Bash. Команды выполняются внутри границы, которую вы определяете заранее, поэтому Claude может свободно работать в её пределах без запросов подтверждения для каждой команды. Изоляция в песочнице — это отдельный уровень, независимый от [правил разрешений](#permission-rule).

384 384 

385Подробнее: [Sandboxing](/docs/ru/sandboxing)385Подробнее: [Изоляция в песочнице](/docs/ru/sandboxing)

386 386 

387<h3 id="session">387<h3 id="session">

388 Session388 Session

389</h3>389</h3>

390 390 

391Разговор, привязанный к вашему текущему каталогу, с собственным независимым [context window](#context-window). Сеансы можно возобновить с помощью `claude -c`, разветвить с помощью `--fork-session` для сохранения истории под новым ID сеанса или запустить параллельно на разных терминалах. Запуск `/clear` начинает новый сеанс; предыдущий остаётся сохранённым и доступен через `/resume`. Стенограмма каждого сеанса хранится в `~/.claude/projects/`.391Диалог, привязанный к вашему текущему каталогу, с собственным независимым [контекстным окном](#context-window). Сессии можно возобновить с помощью `claude -c`, разветвить с помощью `--fork-session`, чтобы сохранить историю под новым ID сессии, или запускать параллельно в разных терминалах. Команда `/clear` начинает новую сессию; предыдущая остаётся сохранённой и доступна через `/resume`. Транскрипт каждой сессии хранится в `~/.claude/projects/`.

392 392 

393Подробнее: [Work with sessions](/docs/ru/how-claude-code-works#work-with-sessions)393Подробнее: [Работа с сессиями](/docs/ru/how-claude-code-works#work-with-sessions)

394 394 

395<h3 id="settings-layers">395<h3 id="settings-layers">

396 Settings layers396 Settings layers

397</h3>397</h3>

398 398 

399Иерархия, из которой Claude Code читает конфигурацию, в порядке приоритета от наивысшего к наинизшему: [managed policy](#managed-settings), аргументы командной строки, локальные settings в `.claude/settings.local.json`, settings проекта в `.claude/settings.json`, затем пользовательские settings в `~/.claude/settings.json`. Массивы объединяются по слоям; скаляры на более высоком слое переопределяют более низкие. См. [Settings precedence](/docs/ru/settings#settings-precedence).399Иерархия, из которой Claude Code считывает конфигурацию, в порядке приоритета от высшего к низшему: [управляемая политика](#managed-settings), настройки, переданные с флагом `--settings`, локальные настройки в `.claude/settings.local.json`, настройки проекта в `.claude/settings.json`, затем пользовательские настройки в `~/.claude/settings.json`. Массивы объединяются между уровнями; скалярные значения на более высоком уровне переопределяют значения на более низких. См. [Приоритет настроек](/docs/ru/settings#settings-precedence).

400 400 

401Подробнее: [Settings files](/docs/ru/settings#where-settings-live)401Подробнее: [Файлы настроек](/docs/ru/settings#where-settings-live)

402 402 

403<h3 id="skill">403<h3 id="skill">

404 Skill404 Skill

405</h3>405</h3>

406 406 

407Файл `SKILL.md`, содержащий инструкции, знания или рабочий процесс, который Claude добавляет в свой набор инструментов. Claude загружает skill автоматически, когда это релевантно, или вы вызываете его напрямую с помощью `/skill-name`. Skills следуют открытому стандарту Agent Skills; Claude Code расширяет его с помощью управления вызовом и выполнения subagent.407Файл `SKILL.md`, содержащий инструкции, знания или рабочий процесс, который Claude добавляет в свой набор инструментов. Claude загружает скилл автоматически, когда это уместно, или вы вызываете его напрямую с помощью `/skill-name`. Скиллы следуют открытому стандарту Agent Skills; Claude Code расширяет его управлением вызовом и выполнением в субагентах.

408 408 

409Skills — это рекомендуемый преемник пользовательских команд. Файл в `.claude/commands/deploy.md` и один в `.claude/skills/deploy/SKILL.md` оба создают `/deploy` и работают одинаково; существующие файлы команд продолжают работать.409Скиллы — это рекомендуемая замена пользовательских команд. Файл `.claude/commands/deploy.md` и файл `.claude/skills/deploy/SKILL.md` оба создают `/deploy` и работают одинаково; существующие файлы команд продолжают работать.

410 410 

411Подробнее: [Extend Claude with skills](/docs/ru/skills)411Подробнее: [Расширение возможностей Claude с помощью скиллов](/docs/ru/skills)

412 412 

413<h3 id="subagent">413<h3 id="subagent">

414 Subagent414 Subagent

415</h3>415</h3>

416 416 

417Специализированный ИИ-ассистент, который работает в собственном окне контекста с пользовательским системным prompt, определённым доступом к tool и независимыми разрешениями. Он работает над делегированной задачей и возвращает резюме в основной разговор. Используйте subagents, чтобы держать большие исследования вне вашего основного контекста или запускать параллельные исследования. Subagent остаётся внутри сеанса, который его создал. Для передачи результатов между отдельными сеансами, которые вы запускаете сами, используйте [cross-session messaging](/docs/ru/cross-session-messaging).417Специализированный ИИ-ассистент, который работает в собственном контекстном окне с пользовательским системным промптом, определённым доступом к инструментам и независимыми разрешениями. Он работает над делегированной задачей и возвращает сводку в основной диалог. Используйте субагентов, чтобы крупные исследования не занимали ваш основной контекст, или для параллельных исследований. Субагент остаётся внутри сессии, которая его создала. Чтобы передавать результаты между отдельными сессиями, которые вы запускаете сами, используйте [обмен сообщениями между сессиями](/docs/ru/cross-session-messaging).

418 418 

419Встроенные subagents включают Explore, Plan и общего назначения.419Встроенные субагенты включают Explore, Plan и general-purpose.

420 420 

421Подробнее: [Create custom subagents](/docs/ru/sub-agents)421Подробнее: [Создание пользовательских субагентов](/docs/ru/sub-agents)

422 422 

423<h3 id="surface">423<h3 id="surface">

424 Surface424 Surface

425</h3>425</h3>

426 426 

427Любое место, где вы получаете доступ к Claude Code: CLI, VS Code, JetBrains, Desktop или claude.ai. Все surfaces используют один и тот же engine. Сеансы на вашей машине читают ваш локальный CLAUDE.md, settings и skills; [cloud sessions](/docs/ru/cloud-environments#what-carries-over-from-your-setup) начинаются со свежего клона вашего репозитория и не читают `~/.claude/` на вашей машине. Slack и расширение Chrome — это интеграции, которые подключаются к surface, а не сами surfaces.427Любое место, где вы работаете с Claude Code: CLI, VS Code, JetBrains, Desktop или claude.ai. Все интерфейсы используют один и тот же движок. Сессии на вашем компьютере читают ваш локальный CLAUDE.md, настройки и скиллы; [облачные сессии](/docs/ru/cloud-environments#what-carries-over-from-your-setup) начинаются со свежего клона вашего репозитория и не читают `~/.claude/` на вашем компьютере. Slack и расширение Chrome — это интеграции, которые подключаются к интерфейсу, а не самостоятельные интерфейсы.

428 428 

429Подробнее: [Platforms and integrations](/docs/ru/platforms)429Подробнее: [Платформы и интеграции](/docs/ru/platforms)

430 430 

431<h3 id="system-prompt">431<h3 id="system-prompt">

432 System prompt432 System prompt

433</h3>433</h3>

434 434 

435Инструкции, которые Claude Code отправляет перед вашим разговором при каждом запросе, охватывающие то, как Claude использует tools, ведёт себя безопасно и форматирует свои ответы. Вы можете добавить к системному prompt с помощью `--append-system-prompt` или заменить его с помощью `--system-prompt`. System prompt — это первый слой [prompt cache](/docs/ru/prompt-caching#how-the-cache-is-organized).435Инструкции, которые Claude Code отправляет перед вашим диалогом в каждом запросе: они описывают, как Claude использует инструменты, как безопасно себя ведёт и как форматирует свои ответы. Вы можете дополнить системный промпт с помощью `--append-system-prompt` или заменить его с помощью `--system-prompt`. Системный промпт — это первый уровень [кэша промптов](/docs/ru/prompt-caching#how-the-cache-is-organized).

436 436 

437Ваши файлы [CLAUDE.md](#claude-md) и инструкции вашего [output style](#output-style) не являются частью system prompt. Claude Code доставляет их в разговор как [system reminders](#system-reminder).437Ваши файлы [CLAUDE.md](#claude-md) и инструкции вашего [стиля вывода](#output-style) не входят в системный промпт. Claude Code передаёт их в диалоге как [системные напоминания](#system-reminder).

438 438 

439Подробнее: [System prompt flags](/docs/ru/cli-reference#system-prompt-flags)439Подробнее: [Флаги системного промпта](/docs/ru/cli-reference#system-prompt-flags)

440 440 

441<h3 id="system-reminder">441<h3 id="system-reminder">

442 System reminder442 System reminder

443</h3>443</h3>

444 444 

445Сообщение, которое Claude Code, как [harness](#agentic-harness), добавляет в разговор, чтобы дать Claude контекст. Вы не отправляете system reminders сами. Claude Code вставляет их по мере выполнения сеанса, например когда сеанс начинается, когда hook возвращает текст или когда файл изменяется на диске. Claude читает их вместе с вашими сообщениями. Все следующие достигают Claude как system reminders:445Сообщение, которое Claude Code как [агентная обвязка](#agentic-harness) добавляет в диалог, чтобы дать Claude контекст. Вы не отправляете системные напоминания сами. Claude Code вставляет их по ходу сессии, например при запуске сессии, когда хук возвращает текст или когда файл изменяется на диске. Claude читает их вместе с вашими сообщениями. Всё перечисленное ниже поступает к Claude в виде системных напоминаний:

446 446 

447* Ваши файлы [CLAUDE.md](#claude-md)447* Ваши файлы [CLAUDE.md](#claude-md)

448* Инструкции вашего [output style](#output-style)448* Инструкции вашего [стиля вывода](#output-style)

449* Текст, который [hook](#hook) возвращает как `additionalContext`449* Текст, который [хук](#hook) возвращает как `additionalContext`

450* Список доступных [skills](#skill)450* Список доступных [скиллов](#skill)

451* Примечание о том, что файл, который Claude читал ранее, изменился на диске451* Уведомление о том, что файл, который Claude читал ранее, изменился на диске

452* Строки атрибуции commit и pull request452* Строки атрибуции коммитов и pull request

453 453 

454В залогированном API запросе system reminder появляется обёрнутым в теги `<system-reminder>` внутри пользовательского сообщения или на некоторых моделях как отдельное сообщение с ролью `system`.454В залогированном запросе API системное напоминание отображается обёрнутым в теги `<system-reminder>` внутри пользовательского сообщения, а на некоторых моделях — как отдельное сообщение с ролью `system`.

455 455 

456Подробнее: [Context Claude Code adds outside the system prompt](/docs/ru/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)456Подробнее: [Контекст, который Claude Code добавляет вне системного промпта](/docs/ru/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)

457 457 

458<h2 id="t">458<h2 id="t">

459 T459 T

Details

210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1210export VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1

211```211```

212 212 

213Большинство версий моделей имеют соответствующую переменную `VERTEX_REGION_CLAUDE_*`. Полный список см. в [справочнике переменных окружения](/docs/ru/env-vars). Проверьте [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), чтобы определить, какие модели поддерживают глобальные конечные точки в сравнении с региональными только.213Большинство версий моделей имеют соответствующую переменную `VERTEX_REGION_CLAUDE_*`. Полный список см. в [справочнике переменных окружения](/docs/ru/env-vars#variables). Проверьте [Google Cloud's Agent Platform Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), чтобы определить, какие модели поддерживают глобальные эндпоинты, а какие только региональные.

214 214 

215Если значение региона не похоже на имя региона или местоположения, Claude Code рассматривает его как неустановленное. Например, Claude Code рассматривает значение, содержащее косую черту, точку или пробел, как неустановленное. Claude Code откатывается на другой источник для каждой переменной:215Если значение региона не похоже на имя региона или местоположения, Claude Code рассматривает его как неустановленное. Например, Claude Code рассматривает значение, содержащее косую черту, точку или пробел, как неустановленное. Claude Code откатывается на другой источник для каждой переменной:

216 216 


364 364 

365* Подтвердите, что модель включена в [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)365* Подтвердите, что модель включена в [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)

366* Проверьте, что модель доступна в указанном вами местоположении. Некоторые модели предлагаются только на `global` или многорегиональных местоположениях, таких как `eu` и `us`, а не в конкретных регионах366* Проверьте, что модель доступна в указанном вами местоположении. Некоторые модели предлагаются только на `global` или многорегиональных местоположениях, таких как `eu` и `us`, а не в конкретных регионах

367* Если вы используете `CLOUD_ML_REGION=global`, проверьте, что ваши модели поддерживают глобальные конечные точки в [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) в разделе "Supported features". Для моделей, которые не поддерживают глобальные конечные точки, либо:367* Если вы используете `CLOUD_ML_REGION=global`, проверьте, что ваши модели поддерживают глобальные эндпоинты в [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) в разделе "Supported features". Для моделей, которые не поддерживают глобальные эндпоинты, либо:

368 * Укажите поддерживаемую модель через `ANTHROPIC_MODEL` или `ANTHROPIC_DEFAULT_HAIKU_MODEL`, либо368 * Укажите поддерживаемую модель через `ANTHROPIC_MODEL` или `ANTHROPIC_DEFAULT_HAIKU_MODEL`, либо

369 * Установите регион или многорегиональное местоположение, используя переменные окружения `VERTEX_REGION_<MODEL_NAME>`369 * Установите регион или многорегиональное местоположение с помощью переменной `VERTEX_REGION_CLAUDE_*` для соответствующей модели, указанной в [справочнике по переменным окружения](/docs/ru/env-vars#variables)

370 370 

371Если вы столкнулись с ошибками 429:371Если вы столкнулись с ошибками 429:

372 372 

headless.md +22 −6

Details

219 Отслеживание сообщений подагентов219 Отслеживание сообщений подагентов

220</h4>220</h4>

221 221 

222Сообщения от [подагентов](/docs/ru/sub-agents) появляются в потоке как сообщения `assistant` и `user`, чьё поле `parent_tool_use_id` — это ID вызова инструмента, который породил подагента. Сообщения из основного разговора содержат `null` в этом поле.222Сообщения от [субагентов](/docs/ru/sub-agents) и от скиллов, которые [работают в субагенте](/docs/ru/skills#run-skills-in-a-subagent), появляются в потоке как сообщения `assistant` и `user`. Их поле `parent_tool_use_id` указывает, к какому запуску относится каждое из них. Сообщения из основного диалога содержат `null` в этом поле.

223 223 

224Первое сообщение от подагента, работающего на [переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), — это сообщение `user`, содержащее приглашение, которое его управляет. После этого первого сообщения Claude Code выдаёт:224Первое сообщение от разветвлённого скилла или от субагента, работающего на [переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), — это сообщение `user`, содержащее промпт или содержимое скилла, которое им управляет. После этого первого сообщения Claude Code выдаёт:

225 225 

226* **По умолчанию**: блоки `tool_use` и `tool_result` подагента.226* **По умолчанию**: блоки `tool_use` и `tool_result` запуска.

227* **С [`--forward-subagent-text`](/docs/ru/cli-reference#cli-flags) или [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ru/env-vars)**: также текстовые и thinking блоки подагента, чтобы вы могли восстановить транскрипт каждого подагента. Это требует Claude Code версии 2.1.211 или позже.227* **С [`--forward-subagent-text`](/docs/ru/cli-reference#cli-flags) или [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/ru/env-vars)**: также текстовые блоки и блоки размышлений запуска, чтобы вы могли восстановить транскрипт каждого запуска.

228 228 

229Когда вы включаете любой из этих параметров, Claude Code пересылает сообщения от [подагентов на каждом уровне вложенности](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), независимо от того, был ли каждый порождён инструментом Agent или запущен как [разветвлённый skill](/docs/ru/skills#run-skills-in-a-subagent). Сообщения подагентов, которых разветвлённый skill порождает, и разветвлённых skills, запущенных внутри подагента или другого разветвлённого skill, требуют Claude Code версии 2.1.275 или позже. В `parent_tool_use_id` сообщения вложенного подагента содержат ID вызова инструмента Agent или Skill, который его запустил, поэтому вы можете перестроить полное дерево вложенности, следуя этим ID. До версии 2.1.219 сообщения от вложенных подагентов не появлялись в потоке.229Когда вы включаете любой из этих параметров, Claude Code пересылает сообщения от [субагентов на каждом уровне вложенности](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), независимо от того, был ли каждый из них порождён инструментом Agent или запущен как разветвлённый скилл. В `parent_tool_use_id` сообщения вложенного субагента содержат ID вызова инструмента Agent или Skill, который его запустил, поэтому вы можете перестроить полное дерево вложенности, следуя этим ID.

230 230 

231Skills, которые [работают в подагенте](/docs/ru/skills#run-skills-in-a-subagent), появляются в потоке так же: первое сообщение разветвлённого skill — это сообщение `user`, содержащее содержимое skill, которое управляет запуском. Если вы включаете любой из этих параметров, поток также содержит текстовые и thinking блоки разветвлённого skill. До версии 2.1.265 в потоке появлялись только блоки `tool_use` и `tool_result` разветвлённого skill.231Запуск, который Claude начинает вызовом инструмента, содержит ID этого вызова инструмента. У разветвлённого скилла, который вы запускаете, передавая `/<skill-name>` в качестве промпта, нет вызова инструмента, поэтому его сообщения содержат значение `forked-command-` и поступают после его завершения. Найдите способ запуска в первом столбце:

232 

233| Как начинается запуск | `parent_tool_use_id` | Когда поступают его сообщения |

234| :- | :- | :- |

235| Claude вызывает инструмент Agent из основного диалога | ID этого блока `tool_use` инструмента Agent | Пока субагент работает |

236| Claude вызывает инструмент Skill для разветвлённого скилла из основного диалога | ID этого блока `tool_use` инструмента Skill | Пока разветвлённый скилл работает |

237| Вы передаёте `/<skill-name>` в качестве промпта | Значение, начинающееся с `forked-command-` | Вместе и по порядку после завершения разветвлённого скилла |

238 

239Для разветвлённого скилла, запущенного из промпта, сопоставляйте `parent_tool_use_id` по префиксу `forked-command-`, потому что имя после него может отличаться от того, которое вы ввели.

240 

241Если каких-то из этих сообщений нет в вашем потоке, сверьте версию Claude Code с этими минимальными требованиями:

242 

243* **`--forward-subagent-text` и `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`**: версия 2.1.211 или позже

244* **Пересылка на каждом уровне вложенности**: версия 2.1.219 или позже

245* **Разветвлённый скилл, который Claude запускает инструментом Skill из основного диалога**: версия 2.1.86 или позже для его блоков `tool_use` и `tool_result` и версия 2.1.265 или позже для его первого сообщения `user`, а также текстовых блоков и блоков размышлений

246* **Сообщения субагентов, которых порождает разветвлённый скилл, и разветвлённых скиллов, запущенных внутри субагента или другого разветвлённого скилла**: версия 2.1.275 или позже

247* **Сообщения разветвлённого скилла, который вы запускаете, передавая `/<skill-name>` в качестве промпта**: версия 2.1.287 или позже

232 248 

233<h4 id="handle-api-retries">249<h4 id="handle-api-retries">

234 Обработка повторных попыток API250 Обработка повторных попыток API

hooks.md +8 −6

Details

63| `DirectoryAdded` | Когда рабочий каталог добавляется в середине сеанса через `/add-dir` или запрос управления SDK `register_repo_root` |63| `DirectoryAdded` | Когда рабочий каталог добавляется в середине сеанса через `/add-dir` или запрос управления SDK `register_repo_root` |

64| `FileChanged` | Когда наблюдаемый файл изменяется на диске. Поле `matcher` указывает, какие имена файлов отслеживать |64| `FileChanged` | Когда наблюдаемый файл изменяется на диске. Поле `matcher` указывает, какие имена файлов отслеживать |

65| `WorktreeCreate` | Когда worktree создаётся через `--worktree`, `isolation: "worktree"`, или для фонового сеанса. Заменяет поведение git по умолчанию |65| `WorktreeCreate` | Когда worktree создаётся через `--worktree`, `isolation: "worktree"`, или для фонового сеанса. Заменяет поведение git по умолчанию |

66| `WorktreeRemove` | Когда worktree удаляется при выходе из сеанса, когда подагент завершает работу, или когда вы удаляете фоновый сеанс |66| `WorktreeRemove` | Когда удаляется worktree, созданный хуком `WorktreeCreate` |

67| `PreCompact` | Перед компактизацией контекста |67| `PreCompact` | Перед компактизацией контекста |

68| `PostCompact` | После завершения компактизации контекста |68| `PostCompact` | После завершения компактизации контекста |

69| `PreModelSwitch` | Перед тем как Claude Code применяет переключение модели, которое вы или клиент запросили. Может заблокировать переключение |69| `PreModelSwitch` | Перед тем как Claude Code применяет переключение модели, которое вы или клиент запросили. Может заблокировать переключение |


3274 WorktreeRemove3274 WorktreeRemove

3275</h3>3275</h3>

3276 3276 

3277Выполняется при удалении worktree. Это парный хук очистки для [WorktreeCreate](#worktreecreate). Событие срабатывает, когда:3277Выполняется, когда Claude Code удаляет worktree, созданный вашим хуком [`WorktreeCreate`](#worktreecreate). Событие срабатывает, когда:

3278 3278 

3279* вы выходите из сессии `--worktree` и выбираете её удаление3279* Вы выходите из интерактивной [сессии worktree](/docs/ru/worktrees#start-claude-in-a-worktree) и выбираете удаление worktree, когда Claude Code предлагает это сделать

3280* завершается субагент с `isolation: "worktree"`3280* Вы выходите из интерактивной сессии worktree, которой не [присвоили имя](/docs/ru/sessions#name-your-sessions), Claude Code не находит изменённых или неотслеживаемых файлов и удаляет worktree без запроса

3281* вы удаляете [фоновую сессию](/docs/ru/agent-view#what-deleting-a-session-removes), worktree которой создал хук3281* Вы удаляете [фоновую сессию](/docs/ru/agent-view#what-deleting-a-session-removes), которая работает в этом worktree

3282 

3283Claude Code использует git для поиска изменённых или неотслеживаемых файлов, поэтому не находит их в worktree, который не является git checkout и не находится внутри него, даже если в каталоге есть незакоммиченная работа. Проверяйте наличие такой работы в вашем хуке WorktreeRemove, прежде чем он что-либо удалит.

3282 3284 

3283Для worktree на основе git Claude Code выполняет очистку автоматически с помощью `git worktree remove`. Если вы настроили хук WorktreeCreate, добавьте к нему хук WorktreeRemove, чтобы управлять очисткой создаваемых им worktree:3285Для worktree на основе git Claude Code выполняет очистку автоматически с помощью `git worktree remove`. Если вы настроили хук WorktreeCreate, добавьте к нему хук WorktreeRemove, чтобы управлять очисткой создаваемых им worktree:

3284 3286 

3285* **Нет хука WorktreeRemove**: когда вы выходите из сессии `--worktree` и выбираете удаление, Claude Code использует как резервный вариант `git worktree remove --force` для пути, который вернул ваш хук WorktreeCreate, поэтому worktree, который распознаёт git, удаляется. Worktree, который git не распознаёт, например созданный вашим хуком с помощью системы контроля версий, отличной от git, остаётся на диске. О том, что происходит с созданным хуком worktree при удалении [фоновой сессии](/docs/ru/agent-view#what-deleting-a-session-removes), см. правила удаления в agent view.3287* **Нет хука WorktreeRemove**: когда Claude Code удаляет worktree при выходе из сессии worktree, он использует как резервный вариант `git worktree remove --force` для пути, возвращённого вашим хуком WorktreeCreate, поэтому worktree, распознаваемый git, удаляется. Worktree, который git не распознаёт, например созданный вашим хуком с помощью системы контроля версий, отличной от git, остаётся на диске. О том, что происходит с созданным хуком worktree при удалении [фоновой сессии](/docs/ru/agent-view#what-deleting-a-session-removes), см. правила удаления в agent view.

3286* **Хук завершается с кодом 0**: worktree считается удалённым. Claude Code больше ничего не читает из хука, поэтому убедитесь, что ваш хук удалил каталог.3288* **Хук завершается с кодом 0**: worktree считается удалённым. Claude Code больше ничего не читает из хука, поэтому убедитесь, что ваш хук удалил каталог.

3287* **Хук завершается с ненулевым кодом**: удаление завершается ошибкой, если каталог по пути `worktree_path` после этого всё ещё существует, и worktree остаётся на диске без резервного варианта через git. Хук, удаливший каталог перед завершением с ненулевым кодом, считается выполнившим удаление. О том, как сообщается об ошибке, см. [Входные данные WorktreeRemove](#worktreeremove-input).3289* **Хук завершается с ненулевым кодом**: удаление завершается ошибкой, если каталог по пути `worktree_path` после этого всё ещё существует, и worktree остаётся на диске без резервного варианта через git. Хук, удаливший каталог перед завершением с ненулевым кодом, считается выполнившим удаление. О том, как сообщается об ошибке, см. [Входные данные WorktreeRemove](#worktreeremove-input).

3288 3290 

hooks-guide.md +1 −1

Details

526| `DirectoryAdded` | Когда рабочий каталог добавляется в середине сеанса через `/add-dir` или запрос управления SDK `register_repo_root` |526| `DirectoryAdded` | Когда рабочий каталог добавляется в середине сеанса через `/add-dir` или запрос управления SDK `register_repo_root` |

527| `FileChanged` | Когда наблюдаемый файл изменяется на диске. Поле `matcher` указывает, какие имена файлов отслеживать |527| `FileChanged` | Когда наблюдаемый файл изменяется на диске. Поле `matcher` указывает, какие имена файлов отслеживать |

528| `WorktreeCreate` | Когда worktree создаётся через `--worktree`, `isolation: "worktree"`, или для фонового сеанса. Заменяет поведение git по умолчанию |528| `WorktreeCreate` | Когда worktree создаётся через `--worktree`, `isolation: "worktree"`, или для фонового сеанса. Заменяет поведение git по умолчанию |

529| `WorktreeRemove` | Когда worktree удаляется при выходе из сеанса, когда подагент завершает работу, или когда вы удаляете фоновый сеанс |529| `WorktreeRemove` | Когда удаляется worktree, созданный хуком `WorktreeCreate` |

530| `PreCompact` | Перед компактизацией контекста |530| `PreCompact` | Перед компактизацией контекста |

531| `PostCompact` | После завершения компактизации контекста |531| `PostCompact` | После завершения компактизации контекста |

532| `PreModelSwitch` | Перед тем как Claude Code применяет переключение модели, которое вы или клиент запросили. Может заблокировать переключение |532| `PreModelSwitch` | Перед тем как Claude Code применяет переключение модели, которое вы или клиент запросили. Может заблокировать переключение |

Details

76* **Вашему проекту.** Файлы в вашем каталоге и подкаталогах, а также файлы в других местах с вашего разрешения.76* **Вашему проекту.** Файлы в вашем каталоге и подкаталогах, а также файлы в других местах с вашего разрешения.

77* **Вашему терминалу.** Любой команде, которую вы можете запустить: инструменты сборки, git, менеджеры пакетов, системные утилиты, скрипты. Если вы можете это сделать из командной строки, Claude тоже может.77* **Вашему терминалу.** Любой команде, которую вы можете запустить: инструменты сборки, git, менеджеры пакетов, системные утилиты, скрипты. Если вы можете это сделать из командной строки, Claude тоже может.

78* **Вашему состоянию git.** Текущей ветке, незафиксированным изменениям и истории недавних коммитов.78* **Вашему состоянию git.** Текущей ветке, незафиксированным изменениям и истории недавних коммитов.

79* **Вашему [CLAUDE.md](/docs/ru/memory).** Файл markdown, где вы храните инструкции, специфичные для проекта, соглашения и контекст, который Claude должен знать в каждом сеансе. Если ваш репозиторий содержит AGENTS.md для других агентов кодирования, Claude [может прочитать это](/docs/ru/memory#agents-md) самостоятельно или вместе с CLAUDE.md.79* **Вашему [CLAUDE.md](/docs/ru/memory).** Файл markdown, где вы храните инструкции, специфичные для проекта, соглашения и контекст, который Claude должен знать в каждой сессии. Если ваш репозиторий содержит AGENTS.md для других агентов кодирования, Claude [может прочитать его](/docs/ru/memory#agents-md) вместо CLAUDE.md.

80* **[Автоматической памяти](/docs/ru/memory#auto-memory).** Обучение, которое Claude сохраняет автоматически по мере работы, например ваши предпочтения. Первые 200 строк или 25 КБ MEMORY.md, в зависимости от того, что меньше, загружаются в начале каждого сеанса.80* **[Автоматической памяти](/docs/ru/memory#auto-memory).** Обучение, которое Claude сохраняет автоматически по мере работы, например ваши предпочтения. Первые 200 строк или 25 КБ MEMORY.md, в зависимости от того, что меньше, загружаются в начале каждого сеанса.

81* **Расширениям, которые вы настраиваете.** [MCP servers](/docs/ru/mcp) для внешних сервисов, [skills](/docs/ru/skills) для рабочих процессов, [subagents](/docs/ru/sub-agents) для делегированной работы и [Claude в Chrome](/docs/ru/chrome) для взаимодействия с браузером.81* **Расширениям, которые вы настраиваете.** [MCP servers](/docs/ru/mcp) для внешних сервисов, [skills](/docs/ru/skills) для рабочих процессов, [subagents](/docs/ru/sub-agents) для делегированной работы и [Claude в Chrome](/docs/ru/chrome) для взаимодействия с браузером.

82 82 

Details

42| `Ctrl+Enter` или `Ctrl+X Ctrl+S` | Отправить очередные сообщения сейчас | Отправляет ваши [очередные сообщения](#queue-messages-while-claude-works) и ваш черновик с ними прямо сейчас. [Когда Claude Code отправляет то, что вы поставили в очередь](#when-claude-code-sends-what-you-queued) охватывает то, что происходит с ходом, над которым работает Claude. В [режиме shell](#shell-mode-with-prefix) клавиша ставит вашу команду в очередь. В терминалах, которые не сообщают о расширенных клавишах, `Ctrl+Enter` приходит как простой `Enter`; `Ctrl+X Ctrl+S` работает в любом терминале. Требует Claude Code v2.1.275 или более поздней версии |42| `Ctrl+Enter` или `Ctrl+X Ctrl+S` | Отправить очередные сообщения сейчас | Отправляет ваши [очередные сообщения](#queue-messages-while-claude-works) и ваш черновик с ними прямо сейчас. [Когда Claude Code отправляет то, что вы поставили в очередь](#when-claude-code-sends-what-you-queued) охватывает то, что происходит с ходом, над которым работает Claude. В [режиме shell](#shell-mode-with-prefix) клавиша ставит вашу команду в очередь. В терминалах, которые не сообщают о расширенных клавишах, `Ctrl+Enter` приходит как простой `Enter`; `Ctrl+X Ctrl+S` работает в любом терминале. Требует Claude Code v2.1.275 или более поздней версии |

43| `Shift+Tab`, или `Alt+M` на Windows, когда среда выполнения Node или Bun не включает режим ввода VT | Циклический переход по режимам разрешений | Циклический переход через `default` (помечено как Manual в индикаторе режима), `acceptEdits`, `plan` и, если доступно, `bypassPermissions` и затем `auto`. Из `auto` первое нажатие переключается на `default`. См. [режимы разрешений](/docs/ru/permission-modes). На подсказке разрешения файла то же самое ключевое слово закрывает открытое [поле комментария](/docs/ru/permissions#add-a-comment-when-you-answer-a-permission-prompt). Без открытого поля выбирает параметр, который разрешает действие на остаток сеанса, когда подсказка предлагает этот параметр |43| `Shift+Tab`, или `Alt+M` на Windows, когда среда выполнения Node или Bun не включает режим ввода VT | Циклический переход по режимам разрешений | Циклический переход через `default` (помечено как Manual в индикаторе режима), `acceptEdits`, `plan` и, если доступно, `bypassPermissions` и затем `auto`. Из `auto` первое нажатие переключается на `default`. См. [режимы разрешений](/docs/ru/permission-modes). На подсказке разрешения файла то же самое ключевое слово закрывает открытое [поле комментария](/docs/ru/permissions#add-a-comment-when-you-answer-a-permission-prompt). Без открытого поля выбирает параметр, который разрешает действие на остаток сеанса, когда подсказка предлагает этот параметр |

44| `Option+P` (macOS) или `Alt+P` (Windows/Linux) | Переключение модели | Переключение моделей без очистки подсказки |44| `Option+P` (macOS) или `Alt+P` (Windows/Linux) | Переключение модели | Переключение моделей без очистки подсказки |

45| `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключение расширенного мышления | Включение или отключение режима расширенного мышления. Не влияет на Opus 5.5, Sonnet 5.5 или модели Fable, которые всегда используют расширенное мышление. Работает на macOS без настройки Option как Meta |45| `Option+T` (macOS) или `Alt+T` (Windows/Linux) | Переключение расширенного мышления | Включение или отключение режима расширенного мышления. Не влияет на Opus 5.5, Sonnet 5.5, Haiku 5.5 или модели Fable, которые всегда используют расширенное мышление. Работает на macOS без настройки Option как Meta |

46| `Option+O` (macOS) или `Alt+O` (Windows/Linux) | Переключение быстрого режима | Включение или отключение [быстрого режима](/docs/ru/fast-mode) |46| `Option+O` (macOS) или `Alt+O` (Windows/Linux) | Переключение быстрого режима | Включение или отключение [быстрого режима](/docs/ru/fast-mode) |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">

keybindings.md +3 −2

Details

299| :- | :- | :- |299| :- | :- | :- |

300| `footer:next` | Right | Следующий элемент нижнего колонтитула |300| `footer:next` | Right | Следующий элемент нижнего колонтитула |

301| `footer:previous` | Left | Предыдущий элемент нижнего колонтитула |301| `footer:previous` | Left | Предыдущий элемент нижнего колонтитула |

302| `footer:up` | Up | Навигация вверх в нижнем колонтитуле (отмена выбора в верхней части) |302| `footer:up` | Up, Ctrl+P | Навигация вверх в нижнем колонтитуле (отмена выбора в верхней части) |

303| `footer:down` | Down | Навигация вниз в нижнем колонтитуле |303| `footer:down` | Down, Ctrl+N | Навигация вниз в нижнем колонтитуле |

304| `footer:openSelected` | Enter | Открыть выбранный элемент нижнего колонтитула |304| `footer:openSelected` | Enter | Открыть выбранный элемент нижнего колонтитула |

305| `footer:clearSelection` | Escape | Очистить выбор нижнего колонтитула |305| `footer:clearSelection` | Escape | Очистить выбор нижнего колонтитула |

306| `footer:close` | x | Остановить выбранного [агента](/docs/ru/sub-agents#observe-and-steer-running-forks) или выбранный [рабочий процесс](/docs/ru/workflows#manage-runs) либо скрыть его строку, если он больше не выполняется |

306| `footer:dismiss` | (не привязано) | Привязка клавиши к этому действию не имеет эффекта, и `keybindings.json`, который называет его, остаётся действительным. До v2.1.281 Backspace и Delete были привязаны к нему и удаляли выбранную ссылку артефакта из нижнего колонтитула. |307| `footer:dismiss` | (не привязано) | Привязка клавиши к этому действию не имеет эффекта, и `keybindings.json`, который называет его, остаётся действительным. До v2.1.281 Backspace и Delete были привязаны к нему и удаляли выбранную ссылку артефакта из нижнего колонтитула. |

307 308 

308Пока элемент нижнего колонтитула выбран, например строка в панели агента ниже подсказки, `Enter` открывает его даже если вы переназначили `Enter` в контексте `Chat` на `chat:queueSubmit` или `chat:newline`.309Пока элемент нижнего колонтитула выбран, например строка в панели агента ниже подсказки, `Enter` открывает его даже если вы переназначили `Enter` в контексте `Chat` на `chat:queueSubmit` или `chat:newline`.

Details

216* **Распределено администратором**: если ваша организация [развернула конфигурацию](/docs/ru/llm-gateway-rollout#distribute-through-managed-settings), настольное приложение маршрутизирует через шлюз без каких-либо действий с вашей стороны216* **Распределено администратором**: если ваша организация [развернула конфигурацию](/docs/ru/llm-gateway-rollout#distribute-through-managed-settings), настольное приложение маршрутизирует через шлюз без каких-либо действий с вашей стороны

217* **Настроено локально**: для устройств без распределенной администратором конфигурации откройте Help → Troubleshooting → Включить режим разработчика, который перезагружает приложение с меню Developer. Затем откройте Developer → Configure Third-Party Inference и введите базовый URL вашего шлюза. Распределенная администратором конфигурация имеет приоритет и делает эту форму доступной только для чтения217* **Настроено локально**: для устройств без распределенной администратором конфигурации откройте Help → Troubleshooting → Включить режим разработчика, который перезагружает приложение с меню Developer. Затем откройте Developer → Configure Third-Party Inference и введите базовый URL вашего шлюза. Распределенная администратором конфигурация имеет приоритет и делает эту форму доступной только для чтения

218 218 

219При активной конфигурации шлюза настольное приложение запускает сеансы только на вашем локальном компьютере: средство выбора окружения не предлагает сеансы SSH или размещенные в облаке окружения Anthropic, и [Remote Control](/docs/ru/remote-control) недоступен. Чтобы использовать Claude Code на удаленном хосте через шлюз, запустите CLI на этом хосте с установленными [`ANTHROPIC_BASE_URL` и учетными данными шлюза](#set-the-base-url-and-credential).219При активной конфигурации шлюза средство выбора окружения не предлагает размещённые в облаке окружения Anthropic, и [Remote Control](/docs/ru/remote-control) недоступен.

220 

221Сессии SSH с конфигурацией шлюза находятся в бета-версии и требуют Claude Desktop v1.40609.0 или новее. Перед подключением проверьте список разрешённых хостов и адрес шлюза:

222 

223* **Разрешённые хосты**: сессии SSH по умолчанию отключены. Чтобы включить их, вы или ваш администратор указываете разрешённые хосты в ключе [`sshHostAllowlist`](https://claude.com/docs/third-party/claude-desktop/configuration#sshhostallowlist) конфигурации сторонних поставщиков

224* **Адрес шлюза**: удалённый компьютер подключается к шлюзу самостоятельно, поэтому шлюз по адресу `localhost` на вашем компьютере не работает для сессий SSH

225 

226См. [Удалённые сессии SSH в Claude Desktop со сторонними поставщиками](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions). Вы также можете запустить CLI на удалённом хосте, установив там [`ANTHROPIC_BASE_URL` и учётные данные шлюза](#set-the-base-url-and-credential).

220 227 

221Если настольное приложение показывает `Gateway was unreachable`, приложение не смогло достичь настроенный базовый URL при запуске; проверьте URL и сетевой путь с помощью [теста curl выше](#verify-the-connection).228Если настольное приложение показывает `Gateway was unreachable`, приложение не смогло достичь настроенный базовый URL при запуске; проверьте URL и сетевой путь с помощью [теста curl выше](#verify-the-connection).

222 229 

managed-mcp.md +17 −5

Details

347 Как сопоставляются записи `serverUrl`347 Как сопоставляются записи `serverUrl`

348</h4>348</h4>

349 349 

350URL поддерживают подстановочные знаки `*` в любом месте шаблона, включая схему. Сопоставление имени хоста не учитывает регистр и игнорирует завершающую точку FQDN, поэтому `https://Mcp.Example.com/*` совпадает с `https://mcp.example.com/api`. Пути остаются чувствительными к регистру.350URL поддерживают подстановочные знаки `*`, включая `*` в качестве всей схемы. Сопоставление имени хоста не учитывает регистр и игнорирует завершающую точку FQDN, поэтому `https://Mcp.Example.com/*` совпадает с `https://mcp.example.com/api`. Пути остаются чувствительными к регистру. Если порт не указан, от того, как записано имя хоста, зависит, совпадает ли шаблон только с портом схемы по умолчанию или с любым портом:

351 

352* **Имя хоста записано полностью**: только порт по умолчанию, 443 для `https` и 80 для `http`

353* **Имя хоста содержит `*`**: любой порт

351 354 

352В таблице показано, что разрешают распространённые шаблоны:355В таблице показано, что разрешают распространённые шаблоны:

353 356 

354| Шаблон | Разрешает |357| Шаблон | Разрешает |

355| :- | :- |358| :- | :- |

356| `https://mcp.example.com/*` | Все пути на определенном домене |359| `https://mcp.example.com/*` | Все пути на определенном домене, только на порту 443 |

357| `https://mcp.example.com` | Также все пути на этом домене. Шаблон без пути совпадает с любым путем |360| `https://mcp.example.com` | Также все пути на этом домене, только на порту 443. Шаблон без пути совпадает с любым путем |

358| `https://*.example.com/*` | Любой поддомен `example.com` |361| `https://mcp.example.com:8443/*` | Все пути на этом домене, только на порту 8443 |

362| `https://mcp.example.com:*/*` | Все пути на этом домене, на любом порту, включая 443 |

363| `https://*.example.com/*` | Любой поддомен `example.com`, на любом порту |

359| `http://localhost:*/*` | Любой порт на localhost |364| `http://localhost:*/*` | Любой порт на localhost |

360| `*://mcp.example.com/*` | Любая схема к определенному домену |365| `*://mcp.example.com/*` | Любая схема к определенному домену, каждая схема только на своём порту по умолчанию |

366 

367Записи в `deniedMcpServers` сопоставляются с портами так же, поэтому выбирайте запись для `staging.example.com` в зависимости от портов и схем, которые нужно заблокировать:

368 

369* `https://staging.example.com/*`: блокирует серверы `https` на этом хосте только на порту 443, поэтому не блокирует сервер по адресу `https://staging.example.com:8443/api`

370* `https://staging.example.com:*/*`: блокирует серверы `https` на этом хосте на всех портах

371* `*://staging.example.com:*/*`: блокирует этот хост по любой схеме и на любом порту

361 372 

362<h4 id="how-policy-entries-expand">373<h4 id="how-policy-entries-expand">

363 Переменные окружения в записях `serverCommand` и `serverUrl`374 Переменные окружения в записях `serverCommand` и `serverUrl`


529 | :- | :- |540 | :- | :- |

530 | HTTP сервер в `https://mcp.example.com/api` | Разрешен: совпадает с шаблоном URL списка разрешений, нет совпадения списка запретов |541 | HTTP сервер в `https://mcp.example.com/api` | Разрешен: совпадает с шаблоном URL списка разрешений, нет совпадения списка запретов |

531 | HTTP сервер в `https://staging.example.com/api` | Заблокирован: совпадает с обоими, но список запретов имеет приоритет |542 | HTTP сервер в `https://staging.example.com/api` | Заблокирован: совпадает с обоими, но список запретов имеет приоритет |

543 | HTTP сервер в `https://staging.example.com:8443/api` | Разрешен: совпадает с шаблоном URL списка разрешённых серверов, [нет совпадения со списком запрещённых на этом порту](#how-serverurl-entries-match) |

532 | HTTP сервер в `https://other.com/mcp` | Заблокирован: не совпадает со списком разрешений |544 | HTTP сервер в `https://other.com/mcp` | Заблокирован: не совпадает со списком разрешений |

533</Accordion>545</Accordion>

534 546 

memory.md +2 −2

Details

8 8 

9Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:9Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:

10 10 

11* **Файлы CLAUDE.md**: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст. Claude также может читать файлы [`AGENTS.md`](#agents-md) репозитория отдельно или вместе с CLAUDE.md11* **Файлы CLAUDE.md**: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст. Claude также может читать файлы [`AGENTS.md`](#agents-md) репозитория вместо CLAUDE.md

12* **Auto memory**: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений12* **Auto memory**: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений

13 13 

14На этой странице рассматривается, как:14На этой странице рассматривается, как:

15 15 

16* [Писать и организовывать файлы CLAUDE.md](#claude-md-files)16* [Писать и организовывать файлы CLAUDE.md](#claude-md-files)

17* [Использовать существующий AGENTS.md](#agents-md) как инструкции вашего проекта отдельно или вместе с CLAUDE.md17* [Использовать существующий AGENTS.md](#agents-md) как инструкции вашего проекта

18* [Ограничивать правила определёнными типами файлов](#organize-rules-with-claude/rules/) с помощью `.claude/rules/`18* [Ограничивать правила определёнными типами файлов](#organize-rules-with-claude/rules/) с помощью `.claude/rules/`

19* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки19* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки

20* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются20* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются

mobile.md +1 −1

Details

89Мобильный клиент охватывает большую часть того, что нужно сеансу, с несколькими ограничениями:89Мобильный клиент охватывает большую часть того, что нужно сеансу, с несколькими ограничениями:

90 90 

91* **Команды только для локального использования**: команды, которые работают только в интерфейсе терминала, такие как `/plugin` и `/resume`, не работают из приложения. [Ограничения Remote Control](/docs/ru/remote-control#limitations) перечисляют команды, которые работают с мобильного устройства, и как их поведение отличается.91* **Команды только для локального использования**: команды, которые работают только в интерфейсе терминала, такие как `/plugin` и `/resume`, не работают из приложения. [Ограничения Remote Control](/docs/ru/remote-control#limitations) перечисляют команды, которые работают с мобильного устройства, и как их поведение отличается.

92* **Режимы разрешений**: облачные сеансы предлагают Accept edits, Plan и Auto в раскрывающемся меню режима, а сеансы Remote Control предлагают Manual, Accept edits и Plan. Вы не можете выбрать Bypass permissions из приложения ни в одном случае, и вы не можете выбрать Auto для сеанса Remote Control. См. [переключение режимов разрешений](/docs/ru/permission-modes#switch-permission-modes).92* **Режимы разрешений**: облачные сессии предлагают Accept edits, Plan и Auto, а сессии Remote Control предлагают Manual, Accept edits, Plan и Auto. Вы не можете выбрать Bypass permissions из приложения ни в одном случае. См. [переключение режимов разрешений](/docs/ru/permission-modes#switch-permission-modes), чтобы узнать, когда доступен Auto.

93* **Планы Dispatch**: Dispatch требует план Pro или Max и недоступен для Team или Enterprise.93* **Планы Dispatch**: Dispatch требует план Pro или Max и недоступен для Team или Enterprise.

94 94 

95<h2 id="related-resources">95<h2 id="related-resources">

model-config.md +36 −23

Details

43| **`opus[1m]`** | Использует Opus с [контекстным окном в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) для длительных сеансов |43| **`opus[1m]`** | Использует Opus с [контекстным окном в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) для длительных сеансов |

44| **`opusplan`** | Специальный режим, который использует `opus` во время режима плана, затем переключается на `sonnet` для выполнения |44| **`opusplan`** | Специальный режим, который использует `opus` во время режима плана, затем переключается на `sonnet` для выполнения |

45 45 

46Версия, на которую разрешаются псевдонимы `opus` и `sonnet`, зависит от поставщика:46Псевдонимы `opus`, `sonnet` и `haiku` разрешаются на новейшую версию в Anthropic API и на более раннюю версию у некоторых других поставщиков:

47 47 

48| Поставщик | `opus` | `sonnet` |48| Поставщик | `opus` | `sonnet` | `haiku` |

49| :- | :- | :- |49| :- | :- | :- | :- |

50| Anthropic API | Opus 5.5 | Sonnet 5.5 |50| Anthropic API | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 |

51| [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 | Haiku 4.5 |

52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 | Sonnet 4.5 | Haiku 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 | Haiku 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />

56 56 


58 58 

59Шлюз, который не настроен на обслуживание `claude-fable-5-1`, отклоняет запросы для этой модели. Чтобы использовать Fable 5.1 через шлюз, который его обслуживает, выберите его с помощью `/model claude-fable-5-1`.59Шлюз, который не настроен на обслуживание `claude-fable-5-1`, отклоняет запросы для этой модели. Чтобы использовать Fable 5.1 через шлюз, который его обслуживает, выберите его с помощью `/model claude-fable-5-1`.

60 60 

61Где псевдоним разрешается на более старую модель, более новые модели доступны путём явного выбора полного имени модели или установки `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`.61Где `opus` или `sonnet` разрешается на более старую модель, более новые модели доступны путём явного выбора полного имени модели или установки `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`.

62 62 

63Более ранние версии разрешают эти псевдонимы на более старые модели. Для версии, в которой каждый псевдоним изменился, см. [Version history](#version-history).63Более ранние версии разрешают эти псевдонимы на более старые модели. Для версии, в которой каждый псевдоним изменился, см. [Version history](#version-history).

64 64 

65Псевдонимы указывают на рекомендуемую версию для вашего поставщика и обновляются со временем. Чтобы закрепить определённую версию, используйте полное имя модели, например `claude-opus-5-5`, или установите соответствующую переменную окружения, например `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Псевдонимы указывают на рекомендуемую версию для вашего поставщика и обновляются со временем. Чтобы закрепить определённую версию, используйте полное имя модели, например `claude-opus-5-5`, или установите соответствующую переменную окружения, например `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Sonnet 5.5 требует Claude Code версии 2.1.284 или позже, а Opus 5.5 требует версии 2.1.280 или позже. Если запрос для одной из них из более старой версии не удаётся, см. [Claude Code does not support this model](/docs/ru/errors#claude-code-does-not-support-this-model). Запустите `claude update` для обновления.68 Sonnet 5.5 требует Claude Code версии 2.1.284 или позже, а Opus 5.5 требует версии 2.1.280 или позже. Если запрос для одной из них из более старой версии не удаётся, см. [Claude Code does not support this model](/docs/ru/errors#claude-code-does-not-support-this-model). Используйте версию 2.1.293 или позже с Haiku 5.5. Запустите `claude update` для обновления.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


156 156 

157Цены в средстве выбора `/model` появляются, когда Claude Code разговаривает с Anthropic API, напрямую или через [шлюз LLM](/docs/ru/llm-gateway), который его проксирует, и цена в строке — это цена модели, которую выбирает эта строка. На [поставщиках третьих сторон](/docs/ru/third-party-integrations), таких как Amazon Bedrock, и на [шлюзе Claude apps gateway](/docs/ru/claude-apps-gateway), ваш поставщик или шлюз определяет, что вы платите, поэтому строки средства выбора не показывают цену. Цена — это только метка отображения; она не влияет на то, какую модель выбирает строка, или что выставляет в счёт ваш поставщик. До версии 2.1.206 [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и сеансы шлюза показывали цены списка Anthropic, и строка могла показывать цену другой модели, чем та, которую она выбирала.157Цены в средстве выбора `/model` появляются, когда Claude Code разговаривает с Anthropic API, напрямую или через [шлюз LLM](/docs/ru/llm-gateway), который его проксирует, и цена в строке — это цена модели, которую выбирает эта строка. На [поставщиках третьих сторон](/docs/ru/third-party-integrations), таких как Amazon Bedrock, и на [шлюзе Claude apps gateway](/docs/ru/claude-apps-gateway), ваш поставщик или шлюз определяет, что вы платите, поэтому строки средства выбора не показывают цену. Цена — это только метка отображения; она не влияет на то, какую модель выбирает строка, или что выставляет в счёт ваш поставщик. До версии 2.1.206 [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и сеансы шлюза показывали цены списка Anthropic, и строка могла показывать цену другой модели, чем та, которую она выбирала.

158 158 

159Возобновлённые сеансы, начатые с помощью `claude --resume`, `--continue` или средства выбора `/resume`, сохраняют модель, которую они использовали, когда стенограмма была сохранена, независимо от текущего параметра `model`. Если восстановленная модель была снята с производства или исключена [`availableModels`](#restrict-model-selection), сеанс переходит к нормальному порядку приоритета. Это предотвращает изменение модели при возобновлении из-за выбора `/model` другого сеанса. На поставщиках, которые используют специфичные для поставщика ID развёртывания вместо ID моделей Anthropic, таких как Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, модель стенограммы вообще не восстанавливается, и сеанс разрешает свою модель через нормальный порядок приоритета.159Возобновлённые сессии, начатые с помощью `claude --resume`, `--continue` или средства выбора `/resume`, сохраняют модель, которую они использовали, когда транскрипт был сохранён. Если восстановленная модель была снята с производства или исключена [`availableModels`](#restrict-model-selection), сессия переходит к обычному порядку приоритета. У поставщиков, которые используют специфичные для поставщика ID развёртывания вместо ID моделей Anthropic, таких как Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, модель из транскрипта вообще не восстанавливается, и сессия разрешает свою модель через обычный порядок приоритета.

160 

161Если ваша настройка `model` — `haiku`, сессия, сохранённая на модели Haiku, возобновляется на модели, на которую `haiku` разрешается сейчас. Например, как только `haiku` начнёт разрешаться на Haiku 5.5, сессия, сохранённая на Haiku 4.5, возобновится на Haiku 5.5.

160 162 

161Модель, которую вы выбираете для нового запуска с помощью `--model` или `ANTHROPIC_MODEL`, по-прежнему имеет приоритет над восстановленной моделью. Начиная с версии 2.1.195, переменная семейства [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables) также имеет приоритет. [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) может тоже, при условиях, перечисленных в её разделе.163Модель, которую вы выбираете для нового запуска с помощью `--model` или `ANTHROPIC_MODEL`, по-прежнему имеет приоритет над восстановленной моделью. Начиная с версии 2.1.195, переменная семейства [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables) также имеет приоритет. [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions) может тоже, при условиях, перечисленных в её разделе.

162 164 


645| Модель | Уровни |647| Модель | Уровни |

646| :- | :- |648| :- | :- |

647| Fable 5.1 и Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |649| Fable 5.1 и Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

648| Opus 5.5, Sonnet 5.5, Opus 5, Sonnet 5, Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |650| Opus 5.5, Sonnet 5.5, Haiku 5.5, Opus 5, Sonnet 5, Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

649| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |651| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |

650 652 

651Если вы установите уровень, который активная модель не поддерживает, Claude Code переходит на наивысший поддерживаемый уровень на или ниже установленного. Например, `xhigh` работает как `high` на Opus 4.6. Ваша организация или ваши собственные параметры также могут ограничивать уровни, которые предлагает модель; см. [Ограничения усилий организации](#organization-effort-limits).653Если вы установите уровень, который активная модель не поддерживает, Claude Code переходит на наивысший поддерживаемый уровень на или ниже установленного. Например, `xhigh` работает как `high` на Opus 4.6. Ваша организация или ваши собственные параметры также могут ограничивать уровни, которые предлагает модель; см. [Ограничения усилий организации](#organization-effort-limits).


654 656 

6551. Явный выбор: переменная окружения [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ru/env-vars#variables), запуск с `--effort` или `/effort` в сеансе ([неинтерактивный `/effort` имеет более узкий эффект](#non-interactive-effort))6571. Явный выбор: переменная окружения [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ru/env-vars#variables), запуск с `--effort` или `/effort` в сеансе ([неинтерактивный `/effort` имеет более узкий эффект](#non-interactive-effort))

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

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

658 660 

659Opus 5.5 начинает с `medium`, если один из источников выше не устанавливает уровень для него, и верхний уровень `effortLevel` в файле параметров пользователя не считается для Opus 5.5. Этот ключ — это более старая форма, которую `/effort` писал перед тем, как Claude Code сохранял уровни для каждой модели: он продолжает применяться там, где применялся раньше, на Opus 5, Fable 5.1 и более ранних моделях, в то время как Opus 5.5 и модели, выпущенные после него, начинают со своего собственного стандарта, пока вы не выберете уровень для них с помощью `/effort` или средства выбора `/model`. Верхний уровень `effortLevel` в параметрах проекта, локальных или управляемых параметрах, или переданный с `--settings`, применяется к каждой модели.661Opus 5.5 начинает с `medium`, если один из источников выше не устанавливает уровень для него, и верхний уровень `effortLevel` в файле параметров пользователя не считается для Opus 5.5. Этот ключ — это более старая форма, которую `/effort` писал перед тем, как Claude Code сохранял уровни для каждой модели: он продолжает применяться там, где применялся раньше, на Opus 5, Fable 5.1 и более ранних моделях, в то время как Opus 5.5 и модели, выпущенные после него, начинают со своего собственного стандарта, пока вы не выберете уровень для них с помощью `/effort` или средства выбора `/model`. Верхний уровень `effortLevel` в параметрах проекта, локальных или управляемых параметрах, или переданный с `--settings`, применяется к каждой модели.

660 662 


709| Уровень | Когда его использовать |711| Уровень | Когда его использовать |

710| :- | :- |712| :- | :- |

711| `low` | Быстрые обмены, где вы проверяете каждый результат, такие как мозговой штурм, первый набросок или небольшое изменение, такое как переименование |713| `low` | Быстрые обмены, где вы проверяете каждый результат, такие как мозговой штурм, первый набросок или небольшое изменение, такое как переименование |

712| `medium` | Стандартный на Opus 5.5 и Sonnet 5.5, где он подходит для повседневной инженерной работы с четкой областью, такой как реализация новой функции. На других моделях снижает использование токенов для работы, чувствительной к затратам, которая может пожертвовать некоторым интеллектом |714| `medium` | Уровень по умолчанию на Opus 5.5, Sonnet 5.5 и Haiku 5.5. На Opus 5.5 и Sonnet 5.5 подходит для повседневной инженерной работы с чётко определёнными рамками, например реализации новой функции. На моделях с более высоким уровнем по умолчанию снижает расход токенов для работы, чувствительной к затратам, где можно пожертвовать частью интеллекта |

713| `high` | Работа, где проверка имеет значение или вероятны граничные случаи, такие как исправление ошибки в существующей кодовой базе. Стандартный на каждой модели, кроме Opus 5.5, Sonnet 5.5 и Opus 4.7 |715| `high` | Работа, где важна проверка или вероятны граничные случаи, например исправление ошибки в существующей кодовой базе. Уровень по умолчанию на всех моделях, кроме Opus 5.5, Sonnet 5.5, Haiku 5.5 и Opus 4.7 |

714| `xhigh` | Более глубокое рассуждение при более высоких расходах токенов. Стандартный на Opus 4.7 |716| `xhigh` | Более глубокое рассуждение при более высоких расходах токенов. Стандартный на Opus 4.7 |

715| `max` | Сложные проблемы, которые вы хотите, чтобы Claude решил без вас, такие как поиск уязвимостей безопасности. `max` может показать убывающую отдачу и склонен к чрезмерному размышлению, поэтому протестируйте перед широким внедрением |717| `max` | Сложные проблемы, которые вы хотите, чтобы Claude решил без вас, такие как поиск уязвимостей безопасности. `max` может показать убывающую отдачу и склонен к чрезмерному размышлению, поэтому протестируйте перед широким внедрением |

716| `ultracode` | Параметр Claude Code, а не уровень: планирует [динамический рабочий процесс](/docs/ru/workflows) для каждой существенной задачи на любом уровне усилий |718| `ultracode` | Параметр Claude Code, а не уровень: планирует [динамический рабочий процесс](/docs/ru/workflows) для каждой существенной задачи на любом уровне усилий |


753 755 

754Адаптивное рассуждение делает размышление необязательным на каждом шаге, поэтому Claude может быстрее реагировать на обычные подсказки и зарезервировать более глубокое размышление для шагов, которые от него выигрывают. Если вы хотите, чтобы Claude думал чаще или реже, чем производит текущий уровень, вы можете сказать об этом прямо в своей подсказке или в `CLAUDE.md`; модель реагирует на это руководство в рамках своего параметра усилий.756Адаптивное рассуждение делает размышление необязательным на каждом шаге, поэтому Claude может быстрее реагировать на обычные подсказки и зарезервировать более глубокое размышление для шагов, которые от него выигрывают. Если вы хотите, чтобы Claude думал чаще или реже, чем производит текущий уровень, вы можете сказать об этом прямо в своей подсказке или в `CLAUDE.md`; модель реагирует на это руководство в рамках своего параметра усилий.

755 757 

756Модели Fable, Sonnet 5 и позже, и Opus 4.7 и позже всегда используют адаптивное рассуждение. Режим фиксированного бюджета размышления и `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` не применяются к ним.758Модели Fable, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее всегда используют адаптивные рассуждения. Режим фиксированного бюджета мышления и `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` к ним не применяются.

757 759 

758На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`, чтобы вернуться к предыдущему фиксированному бюджету размышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/docs/ru/env-vars).760На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`, чтобы вернуться к предыдущему фиксированному бюджету размышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/docs/ru/env-vars).

759 761 


767| :- | :- |769| :- | :- |

768| Переключение для текущего сеанса | Нажмите `Option+T` на macOS или `Alt+T` на Windows и Linux |770| Переключение для текущего сеанса | Нажмите `Option+T` на macOS или `Alt+T` на Windows и Linux |

769| Установка глобального стандартного | Запустите `/config` и переключите Thinking Mode. Сохранено как `alwaysThinkingEnabled` в `~/.claude/settings.json` |771| Установка глобального стандартного | Запустите `/config` и переключите Thinking Mode. Сохранено как `alwaysThinkingEnabled` в `~/.claude/settings.json` |

770| Отключение через переменную окружения | Установите [`MAX_THINKING_TOKENS=0`](/docs/ru/env-vars), что отключает мышление на Anthropic API, кроме Opus 5.5, Sonnet 5.5 и моделей Fable. У [сторонних поставщиков](/docs/ru/third-party-integrations) Claude Code вместо этого опускает параметр `thinking`, и модели с адаптивными рассуждениями всё равно могут думать |772| Отключение через переменную окружения | Задайте [`MAX_THINKING_TOKENS=0`](/docs/ru/env-vars), что отключает мышление на Anthropic API, кроме Opus 5.5, Sonnet 5.5, Haiku 5.5 и моделей Fable. У [сторонних поставщиков](/docs/ru/third-party-integrations) Claude Code вместо этого опускает параметр `thinking`, и модели с адаптивными рассуждениями всё равно могут размышлять |

771 773 

772Вы не можете отключить размышление на Opus 5.5, Sonnet 5.5 или моделях Fable. Переключение сеанса и `/config` строка показывают `Thinking can't be turned off` для этих моделей вместо предложения переключателя, и сохраненный `alwaysThinkingEnabled: false` или `MAX_THINKING_TOKENS=0` не имеет эффекта там. На этих моделях модель решает на каждом шаге, сколько думать на основе уровня усилий. Сохраненный параметр применяется снова, когда вы переключаетесь на модель, которая его принимает.774Мышление нельзя отключить на Opus 5.5, Sonnet 5.5, Haiku 5.5 и моделях Fable. Переключатель сессии и строка в `/config` для этих моделей показывают `Thinking can't be turned off` вместо переключателя, а сохранённые `alwaysThinkingEnabled: false` или `MAX_THINKING_TOKENS=0` на них не действуют. На этих моделях модель сама решает на каждом шаге, сколько размышлять, исходя из уровня усилий. Сохранённая настройка снова начинает действовать, когда вы переключаетесь на модель, которая её поддерживает.

773 775 

774Claude Code сворачивает вывод размышления по умолчанию. Нажмите `Ctrl+O`, чтобы переключить подробный режим и увидеть рассуждение как серый курсивный текст. Интерактивные сеансы на Anthropic API получают отредактированные блоки размышления по умолчанию, поэтому установите `showThinkingSummaries: true` в [параметрах](/docs/ru/settings), если вы хотите, чтобы полные резюме были доступны при расширении. Вам выставляется счет за все сгенерированные токены размышления, даже когда они свернуты или отредактированы.776Claude Code сворачивает вывод размышления по умолчанию. Нажмите `Ctrl+O`, чтобы переключить подробный режим и увидеть рассуждение как серый курсивный текст. Интерактивные сеансы на Anthropic API получают отредактированные блоки размышления по умолчанию, поэтому установите `showThinkingSummaries: true` в [параметрах](/docs/ru/settings), если вы хотите, чтобы полные резюме были доступны при расширении. Вам выставляется счет за все сгенерированные токены размышления, даже когда они свернуты или отредактированы.

775 777 


779 Extended context781 Extended context

780</h3>782</h3>

781 783 

782Fable 5.1, Fable 5, Sonnet 5 и позже, Opus 4.6 и позже, и Sonnet 4.6 поддерживают [окно контекста в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) для длительных сеансов с большими кодовыми базами.784Fable 5.1, Fable 5, Sonnet 5 и новее, Haiku 5.5, Opus 4.6 и новее, а также Sonnet 4.6 поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) для длительных сессий с большими кодовыми базами.

783 785 

784На Anthropic API Fable 5.1, Fable 5, Sonnet 5 и позже, и Opus 4.7 и позже работают с окном 1M по умолчанию на каждом плане, включая Pro. Вы не выбираете вариант `[1m]` или не включаете кредиты использования для окна 1M на этих моделях. Использование Fable само по себе может выставляться в счет кредитов использования на некоторых планах; см. [Fable и кредиты использования](#fable-and-usage-credits).786На Anthropic API Fable 5.1, Fable 5, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее работают с окном 1M на любом тарифе, включая Pro. Для окна 1M на этих моделях не нужно выбирать вариант `[1m]` или включать кредиты использования. Само использование Fable на некоторых тарифах может оплачиваться из кредитов использования; см. [Fable и кредиты использования](#fable-and-usage-credits).

785 787 

786Opus 4.6 и Sonnet 4.6 достигают 1M только через их вариант `[1m]`, и доступ к этому варианту зависит от вашего плана. На планах Max, Team и Enterprise, включая как места Team Standard, так и Team Premium, Opus 4.6 с контекстом 1M включен в вашу подписку. Sonnet 4.6 с контекстом 1M требует [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на каждом плане подписки, включая Max.788Opus 4.6 и Sonnet 4.6 достигают 1M только через их вариант `[1m]`, и доступ к этому варианту зависит от вашего плана. На планах Max, Team и Enterprise, включая как места Team Standard, так и Team Premium, Opus 4.6 с контекстом 1M включен в вашу подписку. Sonnet 4.6 с контекстом 1M требует [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на каждом плане подписки, включая Max.

787 789 


795 797 

796<span id="context-window-behind-a-gateway" />798<span id="context-window-behind-a-gateway" />

797 799 

798Если вы установите `ANTHROPIC_BASE_URL` на [LLM-шлюз](/docs/ru/llm-gateway) или другой прокси, Claude Code даёт каждой распознанной модели то же контекстное окно, что и на Anthropic API. Fable 5.1, Fable 5, Sonnet 5 и новее, а также Opus 4.7 и новее получают окно 1M без необходимости выбирать вариант `[1m]`, а модель, которая получает 1M только через свой вариант `[1m]`, например Opus 4.6, без него работает с 200K. Claude Code не может обнаружить более низкий предел, установленный шлюзом или сервером за ним. Если ваш шлюз отклоняет запросы свыше 200K токенов, установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ru/env-vars) в окружении, из которого запускается Claude Code, чтобы сессии на всех моделях [сжимались на этой границе](#set-the-auto-compact-window).800Если вы установите `ANTHROPIC_BASE_URL` на [LLM-шлюз](/docs/ru/llm-gateway) или другой прокси, Claude Code даёт каждой распознанной модели то же контекстное окно, что и на Anthropic API. Fable 5.1, Fable 5, Sonnet 5 и новее, Haiku 5.5, а также Opus 4.7 и новее получают окно 1M без необходимости выбирать вариант `[1m]`, а модель, которая получает 1M только через свой вариант `[1m]`, например Opus 4.6, без него работает с 200K. Claude Code не может обнаружить более низкий предел, установленный шлюзом или сервером за ним. Если ваш шлюз отклоняет запросы свыше 200K токенов, установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ru/env-vars) в окружении, из которого запускается Claude Code, чтобы сессии на всех моделях [сжимались на этой границе](#set-the-auto-compact-window).

799 801 

800Чтобы отключить контекст 1M, установите `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code удаляет варианты модели 1M из средства выбора модели. На моделях с собственным окном 1M, таких как Sonnet 5 и модели Fable, он также рассматривает модель как имеющую окно контекста 200K:802Чтобы отключить контекст 1M, установите `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`. Claude Code удаляет варианты модели 1M из средства выбора модели. На моделях с собственным окном 1M, таких как Sonnet 5 и модели Fable, он также рассматривает модель как имеющую окно контекста 200K:

801 803 


804 806 

805До версии 2.1.223 Claude Code удерживал только сеансы Sonnet 5, Opus 4.8 и Opus 5 на 200K. См. [переменные окружения](/docs/ru/env-vars).807До версии 2.1.223 Claude Code удерживал только сеансы Sonnet 5, Opus 4.8 и Opus 5 на 200K. См. [переменные окружения](/docs/ru/env-vars).

806 808 

807Окно контекста 1M использует стандартное ценообразование модели без премии за токены сверх 200K. Для планов, где расширенный контекст включен в вашу подписку, использование остается покрытым вашей подпиской. Для планов, которые получают доступ к расширенному контексту через кредиты использования, токены выставляются в счет кредитов использования.809Контекстное окно 1M использует стандартные цены модели без надбавки за токены сверх 200K, за исключением Haiku 5.5, который [стоит дороже на промптах длиннее 100K токенов](#haiku-5-5-context-window-and-pricing). На тарифах, где расширенный контекст входит в подписку, использование по-прежнему покрывается подпиской. На тарифах, где доступ к расширенному контексту предоставляется через кредиты использования, токены оплачиваются из кредитов.

808 810 

809Если ваша учетная запись поддерживает контекст 1M, параметр появляется в средстве выбора `/model` в последних версиях Claude Code. Если вы его не видите, перезагрузите сеанс, и на сторонних поставщиках проверьте, [закрепила ли ваша развертывание модель](#pin-models-for-third-party-deployments) с переменной `ANTHROPIC_DEFAULT_*_MODEL`.811Если ваша учетная запись поддерживает контекст 1M, параметр появляется в средстве выбора `/model` в последних версиях Claude Code. Если вы его не видите, перезагрузите сеанс, и на сторонних поставщиках проверьте, [закрепила ли ваша развертывание модель](#pin-models-for-third-party-deployments) с переменной `ANTHROPIC_DEFAULT_*_MODEL`.

810 812 


831 833 

832* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: удерживает сеансы на каждой модели с собственным окном 1M на окне 200K; см. [Extended context](#extended-context) для того, как удержание применяется. Полезно для развертываний, которым нужно ограничить контекст.834* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: удерживает сеансы на каждой модели с собственным окном 1M на окне 200K; см. [Extended context](#extended-context) для того, как удержание применяется. Полезно для развертываний, которым нужно ограничить контекст.

833 835 

836<h4 id="haiku-5-5-context-window-and-pricing">

837 Контекстное окно и цены Haiku 5.5

838</h4>

839 

840На Anthropic API Haiku 5.5 работает с контекстным окном 1M на любом тарифе, и суффикс `[1m]` выбирать не нужно. Идентификатор модели — `claude-haiku-5-5`. Чтобы использовать её, выполните `/model claude-haiku-5-5` в сессии или запустите Claude Code из оболочки командой `claude --model claude-haiku-5-5`.

841 

842Запрос к Haiku 5.5 стоит дороже за токен, если его промпт длиннее 100K токенов. Обе ставки см. в разделе [цены Anthropic](https://platform.claude.com/docs/en/about-claude/pricing).

843 

844По умолчанию сессии автоматически сжимаются примерно на 967K токенов. Чтобы сжатие происходило раньше, [задайте для модели меньшее окно автосжатия](#set-the-auto-compact-window).

845 

834<h2 id="context-window-and-auto-compaction">846<h2 id="context-window-and-auto-compaction">

835 Контекстное окно и auto-compact847 Контекстное окно и auto-compact

836</h2>848</h2>


865* [Cloud sessions](/docs/ru/claude-code-on-the-web) выполняют компактирование по мере приближения разговора к пределу модели877* [Cloud sessions](/docs/ru/claude-code-on-the-web) выполняют компактирование по мере приближения разговора к пределу модели

866* Sonnet 4.6 и Opus 4.6 без [extended context](#extended-context) выполняют компактирование на границе 200K, как и Opus 4.8 и более поздние версии при работе с контекстным окном 200K, например на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry878* Sonnet 4.6 и Opus 4.6 без [extended context](#extended-context) выполняют компактирование на границе 200K, как и Opus 4.8 и более поздние версии при работе с контекстным окном 200K, например на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry

867* Когда вы установите [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ru/env-vars), модели с собственным окном 1M, такие как Sonnet 5 и модели Fable, выполняют компактирование на границе 200K879* Когда вы установите [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ru/env-vars), модели с собственным окном 1M, такие как Sonnet 5 и модели Fable, выполняют компактирование на границе 200K

868* Модели, работающие с собственным окном 1M, выполняют компактирование перед заполнением окна, примерно на 967K токенов по умолчанию. На Anthropic API это включает Sonnet 5, модели Fable и Opus 4.7 и более поздние версии. На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry см. [Pin models for third-party deployments](#pin-models-for-third-party-deployments), чтобы узнать, какие модели работают с этим окном. За пользовательским `ANTHROPIC_BASE_URL` см. [the context window behind a gateway](#context-window-behind-a-gateway)880* Модели, работающие с собственным окном 1M, выполняют сжатие до заполнения окна, по умолчанию примерно на 967K токенов. В Anthropic API к ним относятся Sonnet 5, Haiku 5.5, модели Fable, а также Opus 4.7 и более поздние версии. Для Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry см. раздел [Закрепление моделей для сторонних развёртываний](#pin-models-for-third-party-deployments), чтобы узнать, какие модели работают с этим окном. При использовании пользовательского `ANTHROPIC_BASE_URL` см. раздел [контекстное окно за шлюзом](#context-window-behind-a-gateway)

869* Сеансы на ID модели, которую Claude Code не распознаёт, такие как псевдоним [LLM gateway](/docs/ru/llm-gateway), выполняют компактирование при контекстном окне, которое Claude Code предполагает для ID; см. [Correct the window for a gateway or custom model ID](#correct-the-window-for-a-gateway-or-custom-model-id)881* Сеансы на ID модели, которую Claude Code не распознаёт, такие как псевдоним [LLM gateway](/docs/ru/llm-gateway), выполняют компактирование при контекстном окне, которое Claude Code предполагает для ID; см. [Correct the window for a gateway or custom model ID](#correct-the-window-for-a-gateway-or-custom-model-id)

870 882 

871<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">883<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">


1094 1106 

1095| Версия | Изменение |1107| Версия | Изменение |

1096| :- | :- |1108| :- | :- |

1109| v2.1.293 | `haiku` разрешается на Haiku 5.5 в Anthropic API |

1097| v2.1.284 | `sonnet` разрешается на Sonnet 5.5 в Anthropic API |1110| v2.1.284 | `sonnet` разрешается на Sonnet 5.5 в Anthropic API |

1098| v2.1.280 | `opus` разрешается на Opus 5.5 в Anthropic API, Claude Platform на AWS, Amazon Bedrock и Agent Platform Google Cloud |1111| v2.1.280 | `opus` разрешается на Opus 5.5 в Anthropic API, Claude Platform на AWS, Amazon Bedrock и Agent Platform Google Cloud |

1099| v2.1.257 | `fable` разрешается на Fable 5.1, кроме сеансов шлюза приложений Claude |1112| v2.1.257 | `fable` разрешается на Fable 5.1, кроме сеансов шлюза приложений Claude |


1101| v2.1.207 | `opus` разрешается на Opus 4.8 в Claude Platform на AWS, Amazon Bedrock и Agent Platform |1114| v2.1.207 | `opus` разрешается на Opus 4.8 в Claude Platform на AWS, Amazon Bedrock и Agent Platform |

1102| v2.1.197 | `sonnet` разрешается на Sonnet 5 в Anthropic API |1115| v2.1.197 | `sonnet` разрешается на Sonnet 5 в Anthropic API |

1103| v2.1.154 | `opus` разрешается на Opus 4.8 в Anthropic API |1116| v2.1.154 | `opus` разрешается на Opus 4.8 в Anthropic API |

1104| Более ранние | `opus` разрешается на Opus 4.7 в Claude Platform на AWS и на Opus 4.6 в Amazon Bedrock и Agent Platform. `fable` разрешается на Fable 5 у каждого поставщика |1117| Более ранние | `opus` разрешается на Opus 4.7 в Claude Platform на AWS и на Opus 4.6 в Amazon Bedrock и Agent Platform. `fable` разрешается на Fable 5, а `haiku` разрешается на Haiku 4.5 у каждого поставщика |

Details

551* **Параметры, управляемые сервером**: добавьте их в блок `env` [параметров, управляемых сервером](/docs/ru/server-managed-settings) вашей организации. Claude Code получает эти параметры при запуске везде, где [применяются параметры, управляемые сервером](/docs/ru/model-config#surface-coverage), что включает машины ваших пользователей и облачные сеансы, кроме сеансов канала Claude Tag. Сеансы Claude Tag не получают ваши параметры, управляемые сервером, поэтому этот способ их не настраивает.551* **Параметры, управляемые сервером**: добавьте их в блок `env` [параметров, управляемых сервером](/docs/ru/server-managed-settings) вашей организации. Claude Code получает эти параметры при запуске везде, где [применяются параметры, управляемые сервером](/docs/ru/model-config#surface-coverage), что включает машины ваших пользователей и облачные сеансы, кроме сеансов канала Claude Tag. Сеансы Claude Tag не получают ваши параметры, управляемые сервером, поэтому этот способ их не настраивает.

552* **Переменные окружения**: добавьте их в [переменные окружения](/docs/ru/cloud-environments#set-environment-variables) облачного окружения, чтобы настроить только сеансы, работающие в этом окружении. Это способ, который достигает сеансов Claude Tag.552* **Переменные окружения**: добавьте их в [переменные окружения](/docs/ru/cloud-environments#set-environment-variables) облачного окружения, чтобы настроить только сеансы, работающие в этом окружении. Это способ, который достигает сеансов Claude Tag.

553 553 

554Любой, кто использует окружение, может читать его переменные, поэтому не помещайте туда учётные данные, такие как токен сборщика в `OTEL_EXPORTER_OTLP_HEADERS`. [Учётные данные API](/docs/ru/cloud-environments#add-api-credentials) в окружении тоже не помогут, потому что собственный экспорт телеметрии Claude Code — это один из [запросов, которые никогда не получают учётные данные](/docs/ru/cloud-environments#requests-that-never-get-the-credential). Если ваш сборщик требует учётные данные, настройте весь экспорт через параметры, управляемые сервером, вместо этого, потому что когда вы устанавливаете учётные данные там, [Claude Code удаляет переменные конечной точки, установленные вне управляемых параметров](#how-managed-settings-lock-the-otlp-destination).554Любой, кто использует окружение, может читать его переменные, поэтому не помещайте туда учётные данные, например токен сборщика в `OTEL_EXPORTER_OTLP_HEADERS`. [Сетевой секрет](/docs/ru/cloud-environments#add-api-credentials) в окружении тоже не поможет, потому что собственный экспорт телеметрии Claude Code — это один из [запросов, которые никогда не получают секрет](/docs/ru/cloud-environments#requests-that-never-get-the-credential). Если ваш сборщик требует учётные данные, вместо этого настройте весь экспорт через настройки, управляемые сервером, потому что когда вы задаёте учётные данные там, [Claude Code удаляет переменные эндпоинта, заданные вне управляемых настроек](#how-managed-settings-lock-the-otlp-destination).

555 555 

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

557 557 

overview.md +9 −7

Details

28 curl -fsSL https://claude.ai/install.sh | bash28 curl -fsSL https://claude.ai/install.sh | bash

29 ```29 ```

30 30 

31 В Windows приглашение командной строки показывает `PS C:\`, когда вы находитесь в PowerShell, и `C:\` без `PS`, когда вы находитесь в CMD.

32 

31 **Windows PowerShell:**33 **Windows PowerShell:**

32 34 

33 ```powershell theme={null}35 ```powershell theme={null}


42 44 

43 Когда установщик завершит работу, откройте новое окно терминала и выполните `claude --version`. Работающая установка выводит номер версии. Если ваша оболочка говорит, что `claude` не найден или не распознан, каталог установки еще не находится в вашем PATH: см. [Исправьте ваш PATH](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation).45 Когда установщик завершит работу, откройте новое окно терминала и выполните `claude --version`. Работающая установка выводит номер версии. Если ваша оболочка говорит, что `claude` не найден или не распознан, каталог установки еще не находится в вашем PATH: см. [Исправьте ваш PATH](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation).

44 46 

45 Если вы видите `The token '&&' is not a valid statement separator`, вы находитесь в PowerShell, а не в CMD. Если вы видите `'irm' is not recognized as an internal or external command`, вы находитесь в CMD, а не в PowerShell. Ваша подсказка показывает `PS C:\` когда вы находитесь в PowerShell и `C:\` без `PS` когда вы находитесь в CMD.47 Если вы видите `The token '&&' is not a valid statement separator`, вы находитесь в PowerShell, а не в CMD. Если вы видите `'irm' is not recognized as an internal or external command`, вы находитесь в CMD, а не в PowerShell.

46 48 

47 Если команда установки завершается с ошибкой `syntax error near unexpected token '<'`, `403` или другой ошибкой curl, см. [Устранение неполадок при установке](/docs/ru/troubleshoot-install#find-your-error) чтобы сопоставить ошибку с исправлением и для альтернативных методов установки.49 Если команда установки завершается с ошибкой `syntax error near unexpected token '<'`, `403` или любой другой ошибкой, см. [Устранение неполадок при установке](/docs/ru/troubleshoot-install#find-your-error), чтобы сопоставить ошибку с исправлением и для альтернативных методов установки.

48 50 

49 [Git for Windows](https://git-scm.com/downloads/win) рекомендуется на встроенной Windows, чтобы Claude Code мог использовать инструмент Bash. Если Git for Windows не установлен, Claude Code использует PowerShell в качестве инструмента оболочки. Установки WSL не требуют Git for Windows.51 [Git for Windows](https://git-scm.com/downloads/win) рекомендуется на встроенной Windows, чтобы Claude Code мог использовать инструмент Bash. Если Git for Windows не установлен, Claude Code использует PowerShell в качестве инструмента оболочки. Установки WSL не требуют Git for Windows.

50 52 


85 claude87 claude

86 ```88 ```

87 89 

88 При первом использовании вам будет предложено войти. Если вы установили переменную окружения `ANTHROPIC_API_KEY`, Claude Code пропустит приглашение входа и попросит вас одобрить ключ вместо этого. Вот и все! [Продолжите с Quickstart →](/docs/ru/quickstart)90 При первом использовании Claude Code предложит вам войти. Если вы установили переменную окружения `ANTHROPIC_API_KEY` и одобрите ключ, когда Claude Code спросит, использовать ли его, Claude Code пропустит запрос на вход. [Перейти к быстрому старту →](/docs/ru/quickstart)

89 91 

90 <Tip>92 <Tip>

91 Смотрите [расширенную настройку](/docs/ru/setup) для опций установки, ручных обновлений или инструкций по удалению. Посетите [troubleshooting установки](/docs/ru/troubleshoot-install), если у вас возникли проблемы.93 Смотрите [расширенную настройку](/docs/ru/setup) для опций установки, ручных обновлений или инструкций по удалению. Посетите [troubleshooting установки](/docs/ru/troubleshoot-install), если у вас возникли проблемы.


163 claude "commit my changes with a descriptive message"165 claude "commit my changes with a descriptive message"

164 ```166 ```

165 167 

166 В CI вы можете автоматизировать проверку кода и сортировку проблем с помощью [GitHub Actions](/docs/ru/github-actions) или [GitLab CI/CD](/docs/ru/gitlab-ci-cd).168 В CI вы можете автоматизировать код-ревью и сортировку проблем с помощью [GitHub Actions](/docs/ru/github-actions) или [GitLab CI/CD](/docs/ru/gitlab-ci-cd).

167 </Accordion>169 </Accordion>

168 170 

169 <Accordion title="Подключите свои инструменты с помощью MCP" icon="plug">171 <Accordion title="Подключите свои инструменты с помощью MCP" icon="plug">

170 [Model Context Protocol (MCP)](/docs/ru/mcp) — это открытый стандарт для подключения инструментов AI к внешним источникам данных. С помощью MCP Claude Code может читать ваши документы дизайна в Google Drive, обновлять задачи в Jira, извлекать данные из Slack или использовать ваши собственные пользовательские инструменты. [MCP quickstart](/docs/ru/mcp-quickstart) подключает ваш первый сервер от начала до конца.172 [Model Context Protocol (MCP)](/docs/ru/mcp) — это открытый стандарт для подключения инструментов AI к внешним источникам данных. С помощью MCP Claude Code может читать ваши документы дизайна в Google Drive, обновлять задачи в Jira, извлекать данные из Slack или использовать ваши собственные пользовательские инструменты. [Быстрый старт MCP](/docs/ru/mcp-quickstart) подключает ваш первый сервер от начала до конца.

171 </Accordion>173 </Accordion>

172 174 

173 <Accordion title="Настройте с помощью инструкций, skills и hooks" icon="sliders">175 <Accordion title="Настройте с помощью инструкций, скиллов и хуков" icon="sliders">

174 [`CLAUDE.md`](/docs/ru/memory) — это файл markdown, который вы добавляете в корень вашего проекта, и Claude Code читает его в начале каждого сеанса. Используйте его для установки стандартов кодирования, архитектурных решений, предпочитаемых библиотек и контрольных списков проверки. Если ваш репозиторий уже имеет `AGENTS.md` для других агентов кодирования, Claude Code [может читать это](/docs/ru/memory#agents-md) самостоятельно или вместе с `CLAUDE.md`. Claude также создает [auto memory](/docs/ru/memory#auto-memory) по мере работы, сохраняя знания в разных сеансах без необходимости что-либо писать.176 [`CLAUDE.md`](/docs/ru/memory) — это файл markdown, который вы добавляете в корень вашего проекта, и Claude Code читает его в начале каждой сессии. Используйте его для установки стандартов кодирования, архитектурных решений, предпочитаемых библиотек и контрольных списков проверки. Если в вашем репозитории уже есть `AGENTS.md` для других агентов кодирования, Claude Code [может читать его](/docs/ru/memory#agents-md) вместо `CLAUDE.md`. Claude также создает [автоматическую память](/docs/ru/memory#auto-memory) по мере работы, сохраняя знания между сессиями без необходимости что-либо писать.

175 177 

176 Создавайте [skills](/docs/ru/skills) для упаковки повторяемых рабочих процессов, которые ваша команда может использовать, например `/review-pr` или `/deploy-staging`.178 Создавайте [skills](/docs/ru/skills) для упаковки повторяемых рабочих процессов, которые ваша команда может использовать, например `/review-pr` или `/deploy-staging`.

177 179 

Details

229 229 

230 Режим, который вы выбираете в селекторе режима, запоминается для каждой папки и имеет приоритет над `defaultMode` для этой папки. Plan является исключением: его выбор применяется только к текущему сеансу.230 Режим, который вы выбираете в селекторе режима, запоминается для каждой папки и имеет приоритет над `defaultMode` для этой папки. Plan является исключением: его выбор применяется только к текущему сеансу.

231 231 

232 Для того, где `defaultMode` идёт в файл параметров, см. пример в [Начните в другом режиме разрешений](#start-in-a-different-mode).232 О том, куда помещается `defaultMode` в файле настроек, см. пример в [Начните в другом режиме разрешений](#start-in-a-different-mode).

233 </Tab>233 </Tab>

234 234 

235 <Tab title="Web and mobile">235 <Tab title="Web and mobile">

236 Используйте раскрывающееся меню режима рядом с полем подсказки на [claude.ai/code](https://claude.ai/code) или в мобильном приложении. Запросы разрешений появляются в claude.ai для одобрения. Какие режимы появляются, зависит от того, где выполняется сеанс:236 На [claude.ai/code](https://claude.ai/code) используйте раскрывающееся меню режима рядом с полем промпта. В мобильном приложении нажмите кнопку **+** в поле промпта, затем **Permission**. Облачные сессии и сессии Remote Control предлагают разные режимы разрешений:

237 237 

238 * **[Облачные сеансы](/docs/ru/claude-code-on-the-web)**: Accept edits, Plan и Auto. Accept edits соответствует режиму `default`: облачные сеансы предварительно одобряют редактирование файлов независимо от режима, поэтому раскрывающееся меню показывает Accept edits вместо Manual. Облачные сеансы по-прежнему соблюдают `defaultMode: "acceptEdits"` из параметров. Auto mode появляется только когда ваша организация это разрешает и выбранная модель это поддерживает. Bypass permissions недоступен.238 * **[Облачные сессии](/docs/ru/claude-code-on-the-web)**: Accept edits, Plan и Auto. Accept edits соответствует режиму `default`: облачные сессии заранее разрешают редактирование файлов независимо от режима, поэтому раскрывающееся меню показывает Accept edits вместо Manual. Облачные сессии по-прежнему соблюдают `defaultMode: "acceptEdits"` из настроек. Авторежим появляется, только когда ваша организация это разрешает и выбранная модель это поддерживает. Bypass permissions недоступен.

239 * **[Remote Control](/docs/ru/remote-control) сеансы** на вашем локальном компьютере: Manual, Accept edits и Plan для сеанса, который вы запустили сами, и вы не можете выбрать Auto или Bypass permissions из приложения. Для потока проекта, работающего на вашем компьютере, см. [Запустить поток на вашем собственном компьютере](/docs/ru/claude-projects#run-a-thread-on-your-own-computer).239 * **Сессии [Remote Control](/docs/ru/remote-control)** на вашем локальном компьютере: Manual, Accept edits, Plan и Auto для сессии, которую вы запустили сами, и вы не можете выбрать Bypass permissions из приложения. Чтобы использовать Auto, сессия должна соответствовать [требованиям доступности](#eliminate-prompts-with-auto-mode) авторежима. Для потока проекта, работающего на вашем компьютере, см. [Запустить поток на вашем собственном компьютере](/docs/ru/claude-projects#run-a-thread-on-your-own-computer).

240 * За исключением Bypass permissions, раскрывающееся меню показывает режим разрешений, в котором находится локальный сеанс, включая режим, установленный из терминала. Оно обновляется, когда режим разрешений изменяется в приложении или в терминале.240 * За исключением Bypass permissions, раскрывающееся меню показывает режим разрешений, в котором находится локальная сессия, включая режим, установленный из терминала. Оно обновляется, когда режим разрешений изменяется в приложении или в терминале.

241 * Сеансы, размещённые [настольным приложением](/docs/ru/desktop) или [расширением VS Code](/docs/ru/vs-code), сообщают изменения режима разрешений в claude.ai по мере их возникновения, так же как сеансы, размещённые в терминале.241 * Сессии, размещённые [настольным приложением](/docs/ru/desktop) или [расширением VS Code](/docs/ru/vs-code), сообщают изменения режима разрешений в claude.ai по мере их возникновения, так же как сессии, размещённые в терминале.

242 * До v2.1.202 сеансы, подключённые с помощью `/remote-control` или `claude --remote-control`, вообще не сообщали свой режим разрешений, поэтому claude.ai и мобильное приложение могли показывать режим разрешений, в котором сеанс не находился. Несоответствие влияло только на метку. Claude Code генерировал запросы разрешений из фактического режима разрешений сеанса, и они по-прежнему появлялись в приложении для одобрения.242 * До v2.1.202 сессии, подключённые с помощью `/remote-control` или `claude --remote-control`, вообще не сообщали свой режим разрешений, поэтому claude.ai и мобильное приложение могли показывать режим разрешений, в котором сессия не находилась. Несоответствие влияло только на метку. Claude Code генерировал запросы разрешений на основе фактического режима разрешений сессии, и они по-прежнему появлялись в приложении для подтверждения.

243 243 

244 Для Remote Control локальная машина, запускающая сеанс, должна быть подписана с вашей учётной записью claude.ai; ключи API не поддерживаются. Вы также можете установить начальный режим разрешений при запуске этого локального сеанса:244 Для Remote Control локальная машина, запускающая сеанс, должна быть подписана с вашей учётной записью claude.ai; ключи API не поддерживаются. Вы также можете установить начальный режим разрешений при запуске этого локального сеанса:

245 245 


333 333 

334* **План**: все планы.334* **План**: все планы.

335* **Организация**: на Team и Enterprise авторежим доступен по умолчанию. Администраторы могут отключить его для организации, установив `permissions.disableAutoMode` в значение `"disable"` в [управляемых настройках](/docs/ru/managed-settings).335* **Организация**: на Team и Enterprise авторежим доступен по умолчанию. Администраторы могут отключить его для организации, установив `permissions.disableAutoMode` в значение `"disable"` в [управляемых настройках](/docs/ru/managed-settings).

336* **Модель**: в Anthropic API и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) — Claude Opus 4.6 или новее, Sonnet 4.6 или новее либо [модель Fable](/docs/ru/model-config#work-with-fable). В Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессиях [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом — только Claude Sonnet 5 или новее, Opus 4.7 или новее и модели Fable. Более старые модели, включая Sonnet 4.5, Opus 4.5, Haiku и модели claude-3, не поддерживаются ни у одного провайдера.336* **Модель**: в Anthropic API и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) — Claude Opus 4.6 или новее, Sonnet 4.6 или новее, Haiku 5.5 либо [модель Fable](/docs/ru/model-config#work-with-fable). В Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессиях [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом — только Claude Sonnet 5 или новее, Opus 4.7 или новее, Haiku 5.5 и модели Fable. Более старые модели, включая Sonnet 4.5, Opus 4.5, Haiku 4.5 и модели claude-3, не поддерживаются ни у одного провайдера.

337* **Провайдер**: доступен по умолчанию в Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессиях Claude apps gateway с выполненным входом.337* **Провайдер**: доступен по умолчанию в Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессиях Claude apps gateway с выполненным входом.

338 338 

339Если Claude Code сообщает, что авторежим недоступен, сначала проверьте эти требования и то, не устанавливает ли какой-либо файл настроек [`disableAutoMode`](/docs/ru/settings-reference#disableautomode). Кроме того, Anthropic может отключить авторежим на стороне сервера, или сервер может отклонить авторежим для вашей учётной записи. Сессия, получившая любой из этих ответов, держит авторежим отключённым до своего завершения, поэтому позже начните новую сессию.339Если Claude Code сообщает, что авторежим недоступен, сначала проверьте эти требования и то, не устанавливает ли какой-либо файл настроек [`disableAutoMode`](/docs/ru/settings-reference#disableautomode). Кроме того, Anthropic может отключить авторежим на стороне сервера, или сервер может отклонить авторежим для вашей учётной записи. Сессия, получившая любой из этих ответов, держит авторежим отключённым до своего завершения, поэтому позже начните новую сессию.


348 348 

349В [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и сессиях [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом авторежим доступен по умолчанию. Если ничто другое не задаёт режим разрешений, он также является [встроенным начальным режимом разрешений](#which-mode-a-session-starts-in) в версиях, перечисленных в таблице того раздела. Чтобы выбрать начальный режим разрешений самостоятельно, установите `permissions.defaultMode`, как описано в разделе [Запуск в другом режиме разрешений](#start-in-a-different-mode), или выберите режим разрешений в индикаторе режима расширения VS Code.349В [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и сессиях [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом авторежим доступен по умолчанию. Если ничто другое не задаёт режим разрешений, он также является [встроенным начальным режимом разрешений](#which-mode-a-session-starts-in) в версиях, перечисленных в таблице того раздела. Чтобы выбрать начальный режим разрешений самостоятельно, установите `permissions.defaultMode`, как описано в разделе [Запуск в другом режиме разрешений](#start-in-a-different-mode), или выберите режим разрешений в индикаторе режима расширения VS Code.

350 350 

351У этих провайдеров поддерживаются только Claude Sonnet 5 или новее, Opus 4.7 или новее и модели Fable. На любой другой модели сессия вместо этого запускается в режиме Manual.351У этих провайдеров поддерживаются только Claude Sonnet 5 или новее, Opus 4.7 или новее, Haiku 5.5 и модели Fable. На любой другой модели сессия вместо этого запускается в режиме Manual. Авторежим с Haiku 5.5 у этих провайдеров требует Claude Code v2.1.293 или новее.

352 352 

353Чтобы запретить разработчикам использовать авторежим, установите `disableAutoMode` в значение `"disable"` в [управляемых настройках](/docs/ru/managed-settings). Это удаляет `auto` из цикла `Shift+Tab`, а сессия, запущенная с `--permission-mode auto`, вместо этого запускается в режиме Manual. Сессия, уже работающая в авторежиме, выходит из него, когда настройка доходит до этой сессии из [источника, развёрнутого администратором](/docs/ru/managed-settings#which-managed-source-claude-code-uses), и показывает `auto mode disabled by settings`. До v2.1.251 работающая сессия сохраняла авторежим до своего завершения.353Чтобы запретить разработчикам использовать авторежим, установите `disableAutoMode` в значение `"disable"` в [управляемых настройках](/docs/ru/managed-settings). Это удаляет `auto` из цикла `Shift+Tab`, а сессия, запущенная с `--permission-mode auto`, вместо этого запускается в режиме Manual. Сессия, уже работающая в авторежиме, выходит из него, когда настройка доходит до этой сессии из [источника, развёрнутого администратором](/docs/ru/managed-settings#which-managed-source-claude-code-uses), и показывает `auto mode disabled by settings`. До v2.1.251 работающая сессия сохраняла авторежим до своего завершения.

354 354 

plugin-evals.md +21 −17

Details

63 Создайте свой первый eval suite63 Создайте свой первый eval suite

64</h2>64</h2>

65 65 

66Это пошаговое руководство написания одного кейса для вашего собственного plugin, его запуска и чтения результата. Перед началом убедитесь, что у вас есть:66Это пошаговое руководство по написанию одного кейса для вашего собственного плагина, его запуску и чтению результата. Перед началом убедитесь, что у вас есть:

67 67 

68* Claude Code v2.1.269 или позже и другие [требования](#requirements)68* Claude Code v2.1.269 или новее и другие [требования](#requirements)

69* Терминал, открытый в корневой директории вашего plugin, той, которая содержит `plugin.json` или `.claude-plugin/plugin.json`69* Терминал, открытый в корневой директории вашего плагина, той, которая содержит `plugin.json` или `.claude-plugin/plugin.json`

70* Один skill в plugin, который вы хотите протестировать, и запрос, который пользователь должен напечатать, чтобы его запустить70* Один скилл в плагине, который вы хотите протестировать, и просьба, которую ввел бы пользователь и которая должна его вызвать

71 71 

72<Steps>72<Steps>

73 <Step title="Создайте кейсы">73 <Step title="Создайте кейсы">

74 Из корня plugin запустите:74 Из корня плагина запустите:

75 75 

76 ```bash theme={null}76 ```bash theme={null}

77 claude plugin eval init77 claude plugin eval init

78 ```78 ```

79 79 

80 Если Claude Code еще не доверяет этой директории, он сначала спрашивает `Trust this plugin directory?`; ответьте `y`. Затем открывается интерактивная Claude Code сессия. Claude читает ваш plugin и спрашивает вас, как должен выглядеть хороший результат, предлагает prompts, которые должны и не должны запускать plugin, разрабатывает graders для каждого, пилотирует их один раз, чтобы проверить их поведение, и записывает одну директорию кейса на prompt под `evals/`, каждую названную в честь своего prompt. Когда Claude скажет вам, что suite готов, выйдите из этой сессии с `/exit` или Ctrl+D, чтобы вернуться в shell.80 Если Claude Code еще не доверяет этой директории, он сначала спрашивает `Trust this plugin directory?`; ответьте `y`.

81 81 

82 Если у вас уже есть Claude Code сессия, открытая в корне plugin, вы можете вместо этого попросить Claude там запустить `claude plugin eval init`. Claude запускает команду и затем задает вам те же вопросы в этом разговоре.82 Затем открывается интерактивная сессия Claude Code. Claude читает ваш плагин и спрашивает вас, как должен выглядеть хороший результат, предлагает промпты, которые должны и не должны вызывать плагин, разрабатывает graders для каждого, один раз пробно запускает их, чтобы проверить их поведение, и записывает одну директорию кейса на каждый промпт в `evals/`, каждую названную по своему промпту.

83 83 

84 Если вы предпочитаете написать кейс самостоятельно, чтобы увидеть ровно то, что содержат файлы, следуйте [Write a case manually](#write-a-case-manually) и вернитесь сюда, чтобы запустить его.84 Когда Claude сообщит вам, что suite готов, выйдите из этой сессии с помощью `/exit` или Ctrl+D, чтобы вернуться в оболочку.

85 

86 Если у вас уже есть сессия Claude Code, открытая в корне плагина, вы можете вместо этого попросить Claude там запустить `claude plugin eval init`. Claude запускает команду и затем задает вам те же вопросы в этом диалоге.

87 

88 Если вы предпочитаете написать кейс самостоятельно, чтобы увидеть, что именно содержат файлы, следуйте разделу [Написание кейса вручную](#write-a-case-manually) и вернитесь сюда, чтобы запустить его.

85 </Step>89 </Step>

86 90 

87 <Step title="Запустите suite">91 <Step title="Запустите suite">

88 Вернитесь в shell в корне plugin и запустите каждый кейс под `evals/`:92 Вернитесь в оболочку в корне плагина и запустите каждый кейс в `evals/`:

89 93 

90 ```bash theme={null}94 ```bash theme={null}

91 claude plugin eval .95 claude plugin eval .

92 ```96 ```

93 97 

94 Вы уже доверяли этой директории на шаге 1, поэтому запуск начинается немедленно. Если вы написали кейс вручную, запуск сначала спрашивает `Trust this plugin directory? [y/N]`; ответьте `y`. [What a run can access](#security) объясняет, на что вы соглашаетесь.98 Вы уже доверились этой директории на шаге 1, поэтому запуск начинается немедленно. Если вы вместо этого написали кейс вручную, запуск сначала спрашивает `Trust this plugin directory? [y/N]`; ответьте `y`. Раздел [К чему имеет доступ запуск](#security) объясняет, на что вы соглашаетесь.

95 99 

96 Каждый кейс запускается три раза с вашим plugin и три раза без него, поэтому один кейс — это шесть запусков. Строка прогресса печатается по мере завершения каждого запуска с оценкой этого запуска и вердиктом каждого grader.100 Каждый кейс запускается три раза с вашим плагином и три раза без него, поэтому один кейс — это шесть запусков. По мере завершения каждого запуска печатается строка прогресса с оценкой этого запуска и вердиктом каждого grader.

97 </Step>101 </Step>

98 102 

99 <Step title="Прочитайте сводку">103 <Step title="Прочитайте сводку">

100 Когда suite завершится, вы увидите таблицу сводки, за которой следует, где был записан отчет:104 Когда suite завершится, вы увидите таблицу сводки, за которой следует информация о том, куда был записан отчет:

101 105 

102 ```text theme={null}106 ```text theme={null}

103 CASE WITH W/OUT Δ RUNS COST NOTES107 CASE WITH W/OUT Δ RUNS COST NOTES


108 Published: https://claude.ai/... · keep local next time with --no-publish112 Published: https://claude.ai/... · keep local next time with --no-publish

109 ```113 ```

110 114 

111 `WITH` — это оценка кейса с загруженным вашим plugin, `W/OUT` — это оценка без него, и положительное `Δ` означает, что plugin повысил оценку. `COST` — это оценка по прейскуранту вызовов модели, и `NOTES` показывает объяснение самого высокого веса неудачного grader или ошибку запуска из with-arm.115 `WITH` — это оценка кейса с загруженным вашим плагином, `W/OUT` — это оценка без него, а положительное `Δ` означает, что плагин повысил оценку. `COST` — это оценка стоимости вызовов модели по прейскуранту, а `NOTES` показывает объяснение неудачного grader с наибольшим весом или ошибку запуска из with-arm.

112 </Step>116 </Step>

113 117 

114 <Step title="Откройте отчет и повторяйте">118 <Step title="Откройте отчет и повторяйте">

115 Откройте URL `Published:` или путь `Report:`, когда нет строки `Published:`, чтобы увидеть вердикт каждого grader и объяснение для каждого запуска, и для `llm` graders голоса judge и отрывок, который он оценивал. Строка `Published:` появляется только, когда ваш аккаунт может [публиковать отчеты](#html-report).119 Откройте URL `Published:` или путь `Report:`, если строки `Published:` нет, чтобы увидеть вердикт и объяснение каждого grader для каждого запуска, а для `llm` graders — голоса judge и отрывок, который он оценивал. Строка `Published:` появляется, только когда ваш аккаунт может [публиковать отчеты](#html-report).

116 120 

117 Наиболее частое первое открытие — это `Δ` близко к нулю с неудачным grader `tool_used: Skill` кейса, что означает, что Claude не выбирает ваш skill при естественной формулировке. Отрегулируйте [`description`](/docs/ru/skills#frontmatter-reference) skill, запустите `claude plugin eval .` снова и сравните.121 Наиболее частое первое открытие — это `Δ` близко к нулю с неудачным grader `tool_used: Skill` кейса, что означает, что Claude не выбирает ваш скилл при естественной формулировке. Отрегулируйте [`description`](/docs/ru/skills#frontmatter-reference) скилла, снова запустите `claude plugin eval .` и сравните.

118 122 

119 Чтобы повторять один кейс дешево, запустите один arm один раз. Один запуск шумный, поэтому подтвердите любое изменение при трех запусках по умолчанию, прежде чем доверять ему. С одним arm таблица показывает столбцы `SCORE` и `PASS%` вместо `WITH`, `W/OUT` и `Δ`:123 Чтобы повторять итерации по одному кейсу с меньшим числом запусков, запустите один arm один раз. Один запуск шумный, поэтому подтвердите любое изменение при трех запусках по умолчанию, прежде чем доверять ему. С одним arm таблица показывает столбцы `SCORE` и `PASS%` вместо `WITH`, `W/OUT` и `Δ`:

120 124 

121 ```bash theme={null}125 ```bash theme={null}

122 claude plugin eval . --case <case-name> --runs 1 --ablation none126 claude plugin eval . --case <case-name> --runs 1 --ablation none

123 ```127 ```

124 128 

125 Замените `<case-name>` на одно из имен директорий под `evals/`.129 Замените `<case-name>` на одно из имен директорий в `evals/`.

126 </Step>130 </Step>

127</Steps>131</Steps>

128 132 

Details

733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.733You are a security reviewer. Read the changed files and report injection, authentication, and secrets-handling risks.

734```734```

735 735 

736Этот агент назван `my-plugin:security-reviewer`, и пользователь может [вызвать его явно](/docs/ru/sub-agents#invoke-subagents-explicitly) с помощью `@agent-my-plugin:security-reviewer`. Форма имени — `<plugin>:<name>`, где `<name>` берётся из frontmatter или из имени файла, когда его нет.736Этот агент называется `my-plugin:security-reviewer`, и пользователь может [вызвать его явно](/docs/ru/sub-agents#invoke-subagents-explicitly) с помощью `@agent-my-plugin:security-reviewer`. Форма имени — `<plugin>:<name>`, где `<name>` берётся из поля `name` во frontmatter или из имени файла, если это поле отсутствует.

737 737 

738Ключ `agents` манифеста заменяет сканирование `agents/`.738Ключ `agents` манифеста заменяет сканирование `agents/`.

739 739 

Details

428 428 

429| Элемент | Что он рисует | Где |429| Элемент | Что он рисует | Где |

430| :- | :- | :- |430| :- | :- | :- |

431| `Box` | Контейнер flex. Принимает свойства макета, такие как `flexDirection`, `columnGap`, `padding`, `borderStyle` и `width`. | Везде |431| `Box` | Контейнер flex. Принимает пропсы макета, такие как `flexDirection`, `columnGap`, `padding`, [`borderStyle`](/docs/ru/plugins/mods/reference#box-border-styles) и `width`. | Везде |

432| `Text` | Стилизованный текст. Принимает `color`, `bold`, `dimColor`, `italic` и `wrap`. `color` — это ключ темы или цвет, такой как `'red'`. `wrap` — это `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'` или `'truncate-end'`. | Везде |432| `Text` | Стилизованный текст. Принимает `color`, `bold`, `dimColor`, `italic` и `wrap`. `color` — это ключ темы или цвет, такой как `'red'`. `wrap` — это `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'` или `'truncate-end'`. | Везде |

433| `Button` | Элемент управления, который вызывает `onPress` | Везде |433| `Button` | Элемент управления, который вызывает `onPress` | Везде |

434| `Link`, `Code`, `Markdown` | Ссылка с `href` и необязательной `label`, блок кода и текст, отформатированный так, как ответы Claude. `Markdown` принимает свое содержимое в свойстве `text`, а не в `children`, и нуждается в `key`, когда вы передаете `onLinkPress`. | Везде |434| `Link`, `Code`, `Markdown` | Ссылка с `href` и необязательной `label`, блок кода и текст, отформатированный так, как ответы Claude. `Markdown` принимает свое содержимое в свойстве `text`, а не в `children`, и нуждается в `key`, когда вы передаете `onLinkPress`. | Везде |


563Многие панели — это текстовое поле со списком под ним. Пример в этом разделе — панель заметок: вы вводите заметку и нажимаете Enter, чтобы добавить ее, и каждая заметка имеет кнопку `x`, которая удаляет ее. С двумя добавленными заметками терминал рисует панель таким образом:563Многие панели — это текстовое поле со списком под ним. Пример в этом разделе — панель заметок: вы вводите заметку и нажимаете Enter, чтобы добавить ее, и каждая заметка имеет кнопку `x`, которая удаляет ее. С двумя добавленными заметками терминал рисует панель таким образом:

564 564 

565```text theme={null}565```text theme={null}

566╭──────────────────────────────────────────────────────────╮566╭────────────────────────────────────────────────────────✕─╮

567│ Note: Type a note and press Enter ⏎ add ✕ │567│ Note: Type a note and press Enter ⏎ add │

568│ x buy milk │568│ x buy milk │

569│ x call bob │569│ x call bob │

570╰──────────────────────────────────────────────────────────╯570╰──────────────────────────────────────────────────────────╯

571```571```

572 572 

573`✕` на верхней границе — это собственная отметка Claude Code для закрытия панели.

574 

573Пример использует следующие техники:575Пример использует следующие техники:

574 576 

575* **Получение введенного текста**: `Input` вызывает `onSubmit(value)` с текстом поля, когда пользователь нажимает Enter, и `onInput(value)` при каждом изменении577* **Получение введенного текста**: `Input` вызывает `onSubmit(value)` с текстом поля, когда пользователь нажимает Enter, и `onInput(value)` при каждом изменении

Details

242Чтобы подогнать дерево под точку отрисовки, читайте в хуке следующие пропсы:242Чтобы подогнать дерево под точку отрисовки, читайте в хуке следующие пропсы:

243 243 

244* **Ширина `Pane` или полосы**: рисуйте по `e.props.bodyColumns`244* **Ширина `Pane` или полосы**: рисуйте по `e.props.bodyColumns`

245* **Высота `Pane` рядом с транскриптом**: когда `e.props.placement` равно `'dock'`, `e.props.scroll.bodyRows` — это число строк панели245* **Высота `Pane` рядом с транскриптом**: когда `e.props.placement` равно `'dock'`, `e.props.scroll.bodyRows` — это число строк, которые панель отводит под ваше дерево

246* **Высота `Pane` над промптом**: когда `e.props.placement` равно `'inline'`, панель растёт вместе с вашим деревом до предела, а `bodyRows` — это этот предел. [Поле `rows` в `$.ui.open`](/docs/ru/plugins/mods/interface#open-a-pane-at-the-right-time) запрашивает другой предел.246* **Высота `Pane` над промптом**: когда `e.props.placement` равно `'inline'`, панель растёт вместе с вашим деревом до предела, а `bodyRows` — это этот предел. [Поле `rows` в `$.ui.open`](/docs/ru/plugins/mods/interface#open-a-pane-at-the-right-time) запрашивает другой предел.

247 247 

248Дерево, которое выше панели, прокручивается целиком.248Дерево, которое выше панели, прокручивается целиком.


255 255 

256| Элемент | Основные пропсы | Terminal | Desktop |256| Элемент | Основные пропсы | Terminal | Desktop |

257| :- | :- | :-: | :-: |257| :- | :- | :-: | :-: |

258| [`Box`](/docs/ru/plugins/mods/interface#build-a-tree-from-elements) | `key`, flex-раскладка, `gap`, `padding`, `margin`, `width`, `height`, `borderStyle`, `backgroundColor`, `position`, `hover` | ✓ | ✓ |258| [`Box`](/docs/ru/plugins/mods/interface#build-a-tree-from-elements) | `key`, flex-раскладка, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |

259| [`Text`](/docs/ru/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |259| [`Text`](/docs/ru/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |

260| [`Button`](/docs/ru/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |260| [`Button`](/docs/ru/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |

261| `Link` | `href`, `label` | ✓ | ✓ |261| `Link` | `href`, `label` | ✓ | ✓ |


270 270 

271Дополнительные правила для `Button`: `action` указывает одно из собственных [действий сочетаний клавиш](/docs/ru/keybindings) Claude Code, и сочетание, назначенное пользователем для этого действия, нажимает кнопку, если это аккорд или клавиша с модификатором. Цифровой `hotkey` на кнопке в полосе также срабатывает, когда пользователь вводит только эту цифру в пустой промпт и делает паузу. Если две кнопки в одной отрисовке указывают один и тот же `hotkey`, он достаётся более поздней. `autoFocus` на любом элементе управления принимает только `true`, поэтому, чтобы отключить его, опустите этот проп.271Дополнительные правила для `Button`: `action` указывает одно из собственных [действий сочетаний клавиш](/docs/ru/keybindings) Claude Code, и сочетание, назначенное пользователем для этого действия, нажимает кнопку, если это аккорд или клавиша с модификатором. Цифровой `hotkey` на кнопке в полосе также срабатывает, когда пользователь вводит только эту цифру в пустой промпт и делает паузу. Если две кнопки в одной отрисовке указывают один и тот же `hotkey`, он достаётся более поздней. `autoFocus` на любом элементе управления принимает только `true`, поэтому, чтобы отключить его, опустите этот проп.

272 272 

273<h3 id="box-border-styles">

274 Стили рамки `Box`

275</h3>

276 

277Чтобы нарисовать рамку вокруг `Box`, задайте для его `borderStyle` одно из этих имён, например `borderStyle: 'round'`. В каждой строке указано, что терминал рисует для этого имени, и показан верхний край рамки.

278 

279| `borderStyle` | Что рисует терминал | Верхний край |

280| :- | :- | :- |

281| `'single'` | Тонкие линии с прямыми углами | `┌──┐` |

282| `'double'` | Двойные линии | `╔══╗` |

283| `'round'` | Тонкие линии со скруглёнными углами | `╭──╮` |

284| `'bold'` | Толстые линии | `┏━━┓` |

285| `'singleDouble'` | Тонкие линии сверху и снизу, двойные линии по бокам | `╓──╖` |

286| `'doubleSingle'` | Двойные линии сверху и снизу, тонкие линии по бокам | `╒══╕` |

287| `'classic'` | ASCII-символы `+`, `-` и `\|` | `+--+` |

288| `'arrow'` | Стрелки, указывающие внутрь `Box` | `↘↓↓↙` |

289| `'dashed'` | Пунктирные линии с пустыми углами | `╌╌` |

290| `'quote'` | Полоса `▎` вдоль левой стороны и пустые ячейки на остальных трёх сторонах | Пусто |

291 

292`Box`, у которого `borderStyle` указывает любое другое имя, например `'rounded'`, рисуется без рамки.

293 

273<h2 id="limits">294<h2 id="limits">

274 Ограничения295 Ограничения

275</h2>296</h2>

Details

15<Note>15<Note>

16 Эти случаи рассматриваются на других страницах:16 Эти случаи рассматриваются на других страницах:

17 17 

18 * **Почему области видимости, кэш и приоритет ведут себя так, как они себя ведут**: прочитайте [Справочник по загрузке плагинов](/docs/ru/plugins/loading)18 * **Почему области действия, кэш и приоритет ведут себя так, как они себя ведут**: прочитайте [Справочник по загрузке плагинов](/docs/ru/plugins/loading)

19 * **Поиск флага, поля или команды**: используйте [справочник команд плагинов](/docs/ru/plugins/cli-reference), [справочник манифеста](/docs/ru/plugins/manifest-reference) или [справочник маркетплейса](/docs/ru/plugins/marketplace-reference)19 * **Поиск флага, поля или команды**: используйте [справочник команд плагинов](/docs/ru/plugins/cli-reference), [справочник манифеста](/docs/ru/plugins/manifest-reference) или [справочник маркетплейса](/docs/ru/plugins/marketplace-reference)

20 * **Сообщение `hooks module not loaded` или `hooks module did not load`**: плагин является [модом](/docs/ru/plugins/mods/overview), поэтому прочитайте [Мод не загружается](/docs/ru/plugins/mods/troubleshoot#the-mod-doesn’t-load)

20</Note>21</Note>

21 22 

22Найдите точное сообщение, которое вы видели. Каждое сообщение указано под этапом, который его создаёт, что не всегда совпадает с командой, которую вы запустили. Например, установка может завершиться ошибкой, потому что маркетплейс отсутствует, поэтому это сообщение находится в разделе [Добавить маркетплейс](#add-a-marketplace).23Найдите точное сообщение, которое вы видели. Каждое сообщение указано под этапом, который его создаёт, что не всегда совпадает с командой, которую вы запустили. Например, установка может завершиться ошибкой, потому что маркетплейс отсутствует, поэтому это сообщение находится в разделе [Добавить маркетплейс](#add-a-marketplace).

prompt-caching.md +79 −79

Details

14 Как организован кэш14 Как организован кэш

15</h2>15</h2>

16 16 

17Каждый раз, когда вы отправляете сообщение в Claude Code, он делает новый запрос API. Модель ничего не помнит между запросами, поэтому Claude Code повторно отправляет полный контекст: системный промпт, контекст вашего проекта, все предыдущие сообщения и результаты инструментов, а также ваше новое сообщение. Новое содержимое добавляется в конец, что означает, что большая часть каждого запроса идентична предыдущему. Prompt caching — это то, как API избегает переобработки части, которая не изменилась.17Каждый раз, когда вы отправляете сообщение в Claude Code, он делает новый запрос API. Модель ничего не помнит между запросами, поэтому Claude Code повторно отправляет полный контекст: системный промпт, контекст вашего проекта, все предыдущие сообщения и результаты инструментов, а также ваше новое сообщение. Новое содержимое добавляется в конец, что означает, что большая часть каждого запроса идентична предыдущему. Кэширование промптов — это то, как API избегает повторной обработки части, которая не изменилась.

18 18 

19API кэширует, сопоставляя начало каждого запроса, называемое префиксом, с содержимым, которое он недавно обработал. На обычном ходу префикс — это весь предыдущий запрос, и только последний обмен является новым. Сопоставление точное, поэтому изменение где-либо в префиксе пересчитывает всё после него. Нет кэширования по отдельным файлам или сегментам. Подробнее о механизме см. в разделе [как работает prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#how-prompt-caching-works) в справочнике API.19API кэширует, сопоставляя начало каждого запроса, называемое префиксом, с содержимым, которое он недавно обработал. На обычном ходу префикс — это весь предыдущий запрос, и только последний обмен является новым. Сопоставление точное, поэтому изменение где-либо в префиксе пересчитывает всё после него. Нет кэширования по отдельным файлам или сегментам. Подробнее о механизме см. в разделе [как работает кэширование промптов](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#how-prompt-caching-works) в справочнике API.

20 20 

21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="Четыре хода показаны как растущие горизонтальные полосы. Запрос каждого хода содержит всё из предыдущего хода плюс последний обмен, добавленный в конец. На ходах два и три неизменённый префикс читается из кэша, и обрабатывается только новый обмен. На ходе четыре системный промпт изменился, поэтому префикс больше не совпадает, и весь запрос пересчитывается и записывается." width="720" height="454" data-path="images/prompt-caching-prefix.svg" />21<img src="https://mintcdn.com/claude-code/VbDJw--l6T9a9Wvm/images/prompt-caching-prefix.svg?fit=max&auto=format&n=VbDJw--l6T9a9Wvm&q=85&s=f2e8f0b8298a50305fe428ca3f1d1594" className="dark:hidden" alt="Четыре хода показаны как растущие горизонтальные полосы. Запрос каждого хода содержит всё из предыдущего хода плюс последний обмен, добавленный в конец. На ходах два и три неизменённый префикс читается из кэша, и обрабатывается только новый обмен. На ходе четыре системный промпт изменился, поэтому префикс больше не совпадает, и весь запрос пересчитывается и записывается." width="720" height="454" data-path="images/prompt-caching-prefix.svg" />

22 22 


27| Слой | Содержимое | Изменяется когда |27| Слой | Содержимое | Изменяется когда |

28| - | - | - |28| - | - | - |

29| Системный промпт | Основные инструкции, определения инструментов | Набор загруженных определений инструментов изменяется |29| Системный промпт | Основные инструкции, определения инструментов | Набор загруженных определений инструментов изменяется |

30| Контекст проекта | CLAUDE.md, автоматическая память, правила без области видимости | Сеанс начинается или после `/clear` или `/compact` |30| Контекст проекта | CLAUDE.md, автоматическая память, правила без области видимости | Сессия начинается или после `/clear` или `/compact` |

31| Разговор | Ваши сообщения, ответы Claude, результаты инструментов | Каждый ход |31| Диалог | Ваши сообщения, ответы Claude, результаты инструментов | Каждый ход |

32 32 

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

34 34 

35Правило сопоставления префиксов объясняет большинство поведений на этой странице. [Plan Mode](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) и [загрузка skills](/docs/ru/skills), например, добавляют свои инструкции как сообщения разговора, поэтому кэшированный префикс остаётся нетронутым.35Правило сопоставления префиксов объясняет большинство поведений на этой странице. [Режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) и [загрузка скиллов](/docs/ru/skills), например, добавляют свои инструкции как сообщения диалога, поэтому кэшированный префикс остаётся нетронутым.

36 36 

37Два параметра не отображаются в таблице слоёв, но всё ещё влияют на то, что остаётся в кэше:37Две настройки не отображаются в таблице слоёв, но всё ещё влияют на то, что остаётся в кэше:

38 38 

39* **Model**: каждая модель имеет свой кэш. Переключение моделей пересчитывает весь запрос даже когда содержимое идентично. Подробнее см. в разделе [Переключение моделей](#switching-models) ниже.39* **Модель**: каждая модель имеет свой кэш. Переключение моделей пересчитывает весь запрос, даже когда содержимое идентично. Подробнее см. в разделе [Переключение моделей](#switching-models) ниже.

40* **Effort level**: на большинстве моделей каждый уровень усилий имеет свой кэш, поэтому изменение усилий во время сеанса пересчитывает весь запрос. На Opus 5.5, Sonnet 5.5 и Fable 5.1 с API ключом или подпиской Claude кэш по умолчанию остаётся нетронутым. Подробнее см. в разделе [Изменение уровня усилий](#changing-effort-level) ниже.40* **Уровень усилий**: на большинстве моделей каждый уровень усилий имеет свой кэш, поэтому изменение усилий во время сессии пересчитывает весь запрос. На Opus 5.5, Sonnet 5.5, Haiku 5.5 и Fable 5.1 с API-ключом или подпиской Claude кэш по умолчанию остаётся нетронутым. Подробнее см. в разделе [Изменение уровня усилий](#changing-effort-level) ниже.

41 41 

42<Tip>42<Tip>

43 Выберите вашу модель и уровень усилий в начале сеанса, затем сохраните `/compact` для естественных перерывов между задачами. Чем меньше изменений вы делаете во время задачи, тем выше ваш процент попаданий в кэш.43 Выберите вашу модель и уровень усилий в начале сессии, затем сохраните `/compact` для естественных перерывов между задачами. Чем меньше изменений вы делаете во время задачи, тем выше ваш процент попаданий в кэш.

44</Tip>44</Tip>

45 45 

46<h3 id="where-the-cache-lives">46<h3 id="where-the-cache-lives">


49 49 

50Кэширование происходит на стороне сервера в инфраструктуре, которая обслуживает вашу модель. Где именно это находится, зависит от того, как вы аутентифицируетесь:50Кэширование происходит на стороне сервера в инфраструктуре, которая обслуживает вашу модель. Где именно это находится, зависит от того, как вы аутентифицируетесь:

51 51 

52* **API ключ, подписка Claude или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)**: кэш находится в инфраструктуре Anthropic, доступ через [Claude API](https://platform.claude.com/docs)52* **API-ключ, подписка Claude или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)**: кэш находится в инфраструктуре Anthropic, доступ через [Claude API](https://platform.claude.com/docs)

53* **Amazon Bedrock или Agent Platform Google Cloud**: кэш находится в инфраструктуре обслуживания вашего облачного провайдера53* **Amazon Bedrock или Agent Platform Google Cloud**: кэш находится в инфраструктуре обслуживания вашего облачного провайдера

54* **Microsoft Foundry**: зависит от [опции хостинга](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) развёртывания. Развёртывания, размещённые на Azure, обслуживаются на инфраструктуре Azure; развёртывания, размещённые на Anthropic, обслуживаются на инфраструктуре Anthropic54* **Microsoft Foundry**: зависит от [опции хостинга](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) развёртывания. Развёртывания, размещённые на Azure, обслуживаются на инфраструктуре Azure; развёртывания, размещённые на Anthropic, обслуживаются на инфраструктуре Anthropic

55* **Пользовательский `ANTHROPIC_BASE_URL` или [LLM gateway](/docs/ru/llm-gateway)**: кэш находится там, куда перенаправляются ваши запросы, и работает ли кэширование, зависит от шлюза55* **Пользовательский `ANTHROPIC_BASE_URL` или [LLM-шлюз](/docs/ru/llm-gateway)**: кэш находится там, куда перенаправляются ваши запросы, и работает ли кэширование, зависит от шлюза

56 56 

57Claude Code также добавляет системный контекст во время разговора, такой как уведомления об изменении файлов, и отмечает этот блок для кэширования на каждом провайдере и соединении, если вы не установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities), в этом случае этот блок отправляется без кэширования.57Claude Code также добавляет системный контекст во время диалога, такой как уведомления об изменении файлов, и отмечает этот блок для кэширования на каждом провайдере и соединении, если вы не установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities), — в этом случае этот блок отправляется без кэширования.

58 58 

59На собственной конечной точке провайдера, Amazon Bedrock и его [конечная точка Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), Agent Platform Google Cloud и Microsoft Foundry кэшируют блок так же, как это делает Claude API.59На собственном эндпоинте провайдера Amazon Bedrock и его [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), Agent Platform Google Cloud и Microsoft Foundry кэшируют блок так же, как это делает Claude API.

60 60 

61Когда ваши запросы проходят через [LLM gateway](/docs/ru/llm-gateway), пользовательский `ANTHROPIC_BASE_URL` или переопределение базового URL облачного провайдера, такое как [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/ru/env-vars), то, что остаётся в кэше, зависит от того, как шлюз обрабатывает [маркеры `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints), которые отправляет Claude Code:61Когда ваши запросы проходят через [LLM-шлюз](/docs/ru/llm-gateway), пользовательский `ANTHROPIC_BASE_URL` или переопределение базового URL облачного провайдера, такое как [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/ru/env-vars), то, что остаётся в кэше, зависит от того, как шлюз обрабатывает [маркеры `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints), которые отправляет Claude Code:

62 62 

63* **Перенаправляет их без изменений**: блок и ваш разговор кэшируются так же, как на собственной конечной точке провайдера.63* **Перенаправляет их без изменений**: блок и ваш диалог кэшируются так же, как на собственном эндпоинте провайдера.

64* **Отклоняет отмеченный запрос с ошибкой `400`, указывающей на `cache_control`**: Claude Code повторно отправляет запрос с маркером, перемещённым с блока на ваше последнее сообщение разговора, и сохраняет его там для остальной части разговора. Блок выставляется счётом как некэшированный ввод; ваш разговор остаётся в кэше.64* **Отклоняет отмеченный запрос с ошибкой `400`, указывающей на `cache_control`**: Claude Code повторно отправляет запрос с маркером, перемещённым с блока на ваше последнее сообщение диалога, и сохраняет его там до конца диалога. Блок тарифицируется как некэшированный ввод; ваш диалог остаётся в кэше.

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

66 66 

67Для информации о том, что хранит и обрабатывает каждый провайдер, см. [использование данных](/docs/ru/data-usage). Где бы ни находился кэш, записи истекают после периода неактивности, и раздел [Время жизни кэша](#cache-lifetime) ниже охватывает TTL и способы его продления.67Для информации о том, что хранит и обрабатывает каждый провайдер, см. [использование данных](/docs/ru/data-usage). Где бы ни находился кэш, записи истекают после периода неактивности, и раздел [Время жизни кэша](#cache-lifetime) ниже охватывает TTL и способы его продления.

68 68 


70 Действия, которые инвалидируют кэш70 Действия, которые инвалидируют кэш

71</h2>71</h2>

72 72 

73Эти действия приводят к тому, что следующий запрос пропускает часть или весь кэш. Вы видите одноразовый более медленный и дорогостоящий ход, после чего новый префикс кэшируется. Большинство из них можно избежать во время выполнения задачи, если вы знаете, что они имеют стоимость. Переключение модели может казаться бесплатным, пока вы не заметите более медленный ход, который следует за ним.73Эти действия могут привести к тому, что следующий запрос пропустит часть кэша или весь кэш. Вы видите однократный более медленный и дорогой ход, после которого новый префикс кэшируется. Большинства из них можно избежать во время выполнения задачи, если знать, что они имеют стоимость. Переключение модели может казаться бесплатным, пока вы не заметите более медленный ход, который следует за ним.

74 74 

75* [Переключение моделей](#switching-models)75* [Переключение моделей](#switching-models)

76* [Изменение уровня усилий](#changing-effort-level)76* [Изменение уровня effort](#changing-effort-level)

77* [Включение быстрого режима](#turning-on-fast-mode)77* [Включение быстрого режима](#turning-on-fast-mode)

78* [Подключение или удаление MCP сервера](#connecting-or-removing-an-mcp-server)78* [Подключение или удаление MCP-сервера](#connecting-or-removing-an-mcp-server)

79* [Включение или отключение плагина](#enabling-or-disabling-a-plugin)79* [Включение или отключение плагина](#enabling-or-disabling-a-plugin)

80* [Отказ от всего инструмента](#denying-an-entire-tool)80* [Запрет инструмента целиком](#denying-an-entire-tool)

81* [Сжатие разговора](#compacting-the-conversation)81* [Сжатие диалога](#compacting-the-conversation)

82* [Накопление большого количества изображений](#accumulating-many-images)82* [Накопление большого количества изображений](#accumulating-many-images)

83* [Обновление Claude Code](#upgrading-claude-code)83* [Обновление Claude Code](#upgrading-claude-code)

84 84 


86 Переключение моделей86 Переключение моделей

87</h3>87</h3>

88 88 

89Каждая модель имеет свой собственный кэш. Переключение с помощью [`/model`](/docs/ru/model-config#setting-your-model) означает, что следующий запрос читает всю историю разговора без попаданий в кэш, даже если содержимое идентично.89У каждой модели свой собственный кэш. Переключение с помощью [`/model`](/docs/ru/model-config#setting-your-model) означает, что следующий запрос читает всю историю диалога без попаданий в кэш, даже если содержимое идентично.

90 90 

91Когда вы запускаете `/model` в терминале, Claude Code просит вас подтвердить переключение только пока кэш еще теплый и новая модель не является той, которая создала последний ответ. Кэш остается теплым в течение одного [cache TTL](#cache-lifetime) после того, как Claude Code в последний раз отправил запрос в этом разговоре или Claude в последний раз ответил. После истечения этого времени кэш истекает, поэтому Claude Code переключается без запроса.91Когда вы запускаете `/model` в терминале, Claude Code просит вас подтвердить переключение только пока кэш ещё тёплый и новая модель не является той, которая создала последний ответ. Кэш остаётся тёплым в течение одного [TTL кэша](#cache-lifetime) после того, как Claude Code в последний раз отправил запрос в этом диалоге или Claude в последний раз ответил. После истечения этого времени срок действия кэша истекает, поэтому Claude Code переключается без запроса подтверждения.

92 92 

93До версии v2.1.238 Claude Code не проверял cache TTL и спрашивал даже после истечения кэша.93До версии v2.1.238 Claude Code не проверял TTL кэша и запрашивал подтверждение даже после истечения срока действия кэша.

94 94 

95Вы также можете требовать это подтверждение или пропустить его с помощью [PreModelSwitch hook](/docs/ru/hooks#premodelswitch-decision-control).95Вы также можете требовать это подтверждение или пропускать его с помощью [хука PreModelSwitch](/docs/ru/hooks#premodelswitch-decision-control).

96 96 

97Параметр модели [`opusplan`](/docs/ru/model-config#opusplan-model-setting) разрешается в Opus во время режима плана и Sonnet во время выполнения, поэтому каждое переключение режима плана является переключением модели и запускает свежий кэш.97[Настройка модели `opusplan`](/docs/ru/model-config#opusplan-model-setting) использует Opus в режиме планирования и Sonnet во время выполнения, поэтому каждое переключение режима планирования является переключением модели и запускает новый кэш.

98 98 

99[Automatic model fallback](/docs/ru/model-config#automatic-model-fallback) на моделях Fable, Opus 5.5, Sonnet 5.5 и Opus 5 также является переключением модели. Когда классификатор безопасности помечает запрос в категории, которая имеет резервную модель, Claude Code повторно запускает запрос на этой модели и сеанс продолжается там.99[Автоматическое переключение на резервную модель](/docs/ru/model-config#automatic-model-fallback) на моделях Fable, Opus 5.5, Sonnet 5.5 и Opus 5 также является переключением модели. Когда классификатор безопасности помечает запрос в категории, для которой есть резервная модель, Claude Code повторно выполняет запрос на этой модели, и сессия продолжается на ней.

100 100 

101Когда frontmatter навыка или команды указывает [`model`](/docs/ru/skills#frontmatter-reference), отличный от текущей модели сеанса, этот ход также является переключением модели: следующий запрос читает всю историю разговора без попаданий в кэш. Модель сеанса возобновляется при вашем следующем запросе. Навык `context: fork` устанавливает [модель разветвленного подагента](/docs/ru/skills#run-skills-in-a-subagent) вместо этого.101Когда frontmatter скилла или команды указывает [`model`](/docs/ru/skills#frontmatter-reference), отличную от текущей модели сессии, этот ход также является переключением модели: следующий запрос читает всю историю диалога без попаданий в кэш. Модель сессии возвращается при вашем следующем промпте. Скилл с `context: fork` вместо этого задаёт [модель ответвлённого субагента](/docs/ru/skills#run-skills-in-a-subagent).

102 102 

103<h3 id="changing-effort-level">103<h3 id="changing-effort-level">

104 Изменение уровня усилий104 Изменение уровня effort

105</h3>105</h3>

106 106 

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

108 108 

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

110 110 

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

112 112 

113<h3 id="turning-on-fast-mode">113<h3 id="turning-on-fast-mode">

114 Включение быстрого режима114 Включение быстрого режима

115</h3>115</h3>

116 116 

117Включение [fast mode](/docs/ru/fast-mode) добавляет заголовок запроса, который является частью ключа кэша, поэтому первый запрос, который Claude Code отправляет с включенным fast mode, читает всю историю разговора без попаданий в кэш. Claude Code устанавливает этот заголовок один раз при запуске хода и сохраняет его для всего хода, поэтому когда вы включаете fast mode во время работы Claude, пропуск кэша из заголовка происходит при первом запросе вашего следующего хода. Эти некэшированные входные токены выставляются по [fast mode rates](/docs/ru/fast-mode#understand-the-cost-tradeoff), поэтому включение его в начале сеанса стоит меньше, чем включение его глубоко в длинный сеанс. Если ваша текущая модель не поддерживает fast mode, включение fast mode также [переключает вашу модель](#switching-models), и это переключение запускает свежий кэш самостоятельно с следующего запроса в текущем ходе.117Включение [быстрого режима](/docs/ru/fast-mode) добавляет заголовок запроса, который является частью ключа кэша, поэтому первый запрос, который Claude Code отправляет с включённым быстрым режимом, читает всю историю диалога без попаданий в кэш. Claude Code устанавливает этот заголовок один раз в начале хода и сохраняет его на протяжении всего хода, поэтому если вы включаете быстрый режим, пока Claude работает, промах кэша из-за заголовка происходит при первом запросе вашего следующего хода. Эти некэшированные входные токены оплачиваются по [тарифам быстрого режима](/docs/ru/fast-mode#understand-the-cost-tradeoff), поэтому включение его в начале сессии стоит меньше, чем включение в глубине длинной сессии. Если ваша текущая модель не поддерживает быстрый режим, включение быстрого режима также [переключает вашу модель](#switching-models), и это переключение само по себе запускает новый кэш начиная со следующего запроса в текущем ходе.

118 118 

119Стоимость применяется один раз за разговор. После первого хода fast mode Claude Code продолжает отправлять заголовок и варьирует только параметр скорости запроса, который не является частью ключа кэша. Отключение fast mode, [автоматический откат к стандартной скорости](/docs/ru/fast-mode#handle-rate-limits) после ограничения скорости и повторное включение позже все сохраняют кэш. Если вы [исчерпаете кредиты использования](/docs/ru/fast-mode#handle-rate-limits) в середине сеанса, Claude Code повторяет каждый отклоненный запрос fast mode на стандартной скорости таким же образом, поэтому этот откат также сохраняет кэш. `/clear` и `/compact` сбрасывают это, так как они все равно перестраивают кэш в этих точках anyway.119Эта стоимость взимается один раз за диалог. После первого хода в быстром режиме Claude Code продолжает отправлять заголовок и меняет только настройку скорости запроса, которая не является частью ключа кэша. Отключение быстрого режима, [автоматическое переключение на стандартную скорость](/docs/ru/fast-mode#handle-rate-limits) после ограничения частоты запросов и повторное включение позже — всё это сохраняет кэш. Если вы [исчерпаете кредиты использования](/docs/ru/fast-mode#handle-rate-limits) в середине сессии, Claude Code таким же образом повторяет каждый отклонённый запрос быстрого режима на стандартной скорости, поэтому такое переключение на резервный вариант также сохраняет кэш. `/clear` и `/compact` сбрасывают это, так как они в любом случае перестраивают кэш в этих точках.

120 120 

121<h3 id="connecting-or-removing-an-mcp-server">121<h3 id="connecting-or-removing-an-mcp-server">

122 Подключение или удаление MCP сервера122 Подключение или удаление MCP-сервера

123</h3>123</h3>

124 124 

125Определения инструментов находятся в слое системной подсказки, поэтому кэш инвалидируется, когда набор определений инструментов в запросе изменяется между ходами. Переключение [advisor tool](/docs/ru/advisor) является исключением: его определение находится после точки разрыва кэша, поэтому включение или отключение `/advisor` сохраняет кэшированный префикс нетронутым. Зависит ли изменение [MCP server](/docs/ru/mcp) от этого от того, отложены ли инструменты сеанса [tool search](/docs/ru/mcp#scale-with-mcp-tool-search), что является стандартным на поддерживаемых моделях:125Определения инструментов находятся в слое системного промпта, поэтому кэш инвалидируется, когда набор определений инструментов в запросе меняется между ходами. Исключением является переключение [инструмента advisor](/docs/ru/advisor): его определение находится после точки разрыва кэша, поэтому включение или отключение `/advisor` сохраняет кэшированный префикс нетронутым. Приводит ли к этому изменение [MCP-сервера](/docs/ru/mcp), зависит от того, откладывает ли [поиск инструментов](/docs/ru/mcp#scale-with-mcp-tool-search) загрузку MCP-инструментов сессии, что является поведением по умолчанию на поддерживаемых моделях:

126 126 

127* **Tools deferred**: Claude Code сохраняет список инструментов из первого запроса разговора для всего разговора, поэтому подключение или отключение сервера в середине сеанса не нарушает ничего уже кэшированного. Сервер, который завершает подключение после первого запроса, предоставляет свои инструменты как отложенные определения, которые Claude загружает по требованию.127* **Инструменты отложены**: Claude Code сохраняет список инструментов из первого запроса диалога на протяжении всего диалога, поэтому подключение или отключение сервера в середине сессии не затрагивает ничего из уже кэшированного. Сервер, который завершает подключение после первого запроса, предоставляет свои инструменты как отложенные определения, которые Claude загружает по требованию.

128* **Tools loaded upfront**: добавление определения инвалидирует кэш, и то же самое происходит при удалении одного намеренно. Это применяется, когда tool search [ниже его `auto` порога, отключен или недоступен](/docs/ru/mcp#configure-tool-search), например на моделях Google Cloud Agent Platform более ранних, чем поколение Claude 4.5, с пользовательским шлюзом `ANTHROPIC_BASE_URL`, или на развертывании Microsoft Foundry [размещенном на Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) после того, как Claude Code обнаружит, что развертывание отклоняет tool search.128* **Инструменты загружаются заранее**: добавление определения инвалидирует кэш, как и намеренное удаление определения. Это происходит, когда поиск инструментов [находится ниже порога `auto`, отключён или недоступен](/docs/ru/mcp#configure-tool-search), например на моделях Google Cloud Agent Platform до поколения Claude 4.5, с пользовательским шлюзом `ANTHROPIC_BASE_URL` или на [развёртывании Microsoft Foundry, размещённом в Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options), после того как Claude Code обнаружит, что развёртывание отклоняет поиск инструментов.

129 129 

130Без tool search, зависит ли изменение сервера в середине сеанса инвалидирует кэш от того, что изменилось. Для каждого изменения эта таблица показывает, сохраняется ли кэш и что происходит с определениями инструментов в следующем запросе.130Без поиска инструментов то, инвалидирует ли изменение сервера в середине сессии кэш, зависит от того, что именно изменилось. Для каждого изменения в этой таблице указано, сохраняется ли кэш и что происходит с определениями инструментов в следующем запросе.

131 131 

132| Изменение в середине сеанса | Кэш | Определения инструментов в следующем запросе |132| Изменение в середине сессии | Кэш | Определения инструментов в следующем запросе |

133| - | - | - |133| - | - | - |

134| Сервер подключается, или [dynamic tool update](/docs/ru/mcp#dynamic-tool-updates) добавляет инструменты | Инвалидирован | Новые определения добавляются |134| Сервер подключается, или [динамическое обновление инструментов](/docs/ru/mcp#dynamic-tool-updates) добавляет инструменты | Инвалидируется | Новые определения добавляются |

135| Сервер отключается без каких-либо действий с вашей стороны, например процесс stdio сервера завершается | Сохранен | Определения сервера остаются неизменными. Вызов одного из его инструментов возвращает ошибку вместо выполнения |135| Сервер отключается без каких-либо действий с вашей стороны, например когда завершается процесс stdio-сервера | Сохраняется | Определения сервера остаются неизменными. Вызов одного из его инструментов возвращает ошибку вместо выполнения |

136| Удаленный сервер [автоматически переподключается](/docs/ru/mcp#automatic-reconnection) после разрыва соединения | Сохранен, если только запрос, отправленный во время переподключения сервера, не добавляет инструмент `WaitForMcpServers`, который инвалидирует кэш один раз | Определения сервера остаются неизменными. Запрос, отправленный во время переподключения сервера, может добавить `WaitForMcpServers`, когда разговор еще не указал его, и инструмент затем остается указанным для остальной части разговора |136| Удалённый сервер [автоматически переподключается](/docs/ru/mcp#automatic-reconnection) после разрыва соединения | Сохраняется, если только запрос, отправленный во время переподключения сервера, не добавляет инструмент `WaitForMcpServers`, что однократно инвалидирует кэш | Определения сервера остаются неизменными. Запрос, отправленный во время переподключения сервера, может добавить `WaitForMcpServers`, если в диалоге он ещё не был указан, и после этого инструмент остаётся в списке до конца диалога |

137| Вы удаляете инструмент намеренно, например с помощью [deny rule](#denying-an-entire-tool) или отключив его сервер в `/mcp` | Инвалидирован | Определение удаляется |137| Вы намеренно удаляете инструмент, например с помощью [правила запрета](#denying-an-entire-tool) или отключив его сервер в `/mcp` | Инвалидируется | Определение удаляется |

138 138 

139Когда вы возобновляете разговор, чьи инструменты загружаются в префикс, один из его MCP серверов все еще может подключаться при отправке первого запроса. Если стенограмма записала определения инструментов этого сервера, этот запрос включает их как записанные, поэтому он не изменяется, когда сервер завершает подключение с теми же инструментами.139Когда вы возобновляете диалог, инструменты которого загружаются в префикс, один из его MCP-серверов может ещё подключаться в момент отправки первого запроса. Если в транскрипте записаны определения инструментов этого сервера, этот запрос включает их в записанном виде, поэтому он не меняется, когда сервер завершает подключение с теми же инструментами.

140 140 

141Редактирование конфигурации MCP само по себе не изменяет кэш. Новая конфигурация вступает в силу только после перезагрузки, когда сервер подключается или отключается.141Редактирование конфигурации MCP само по себе не меняет кэш. Новая конфигурация вступает в силу только после перезапуска, и именно тогда сервер подключается или отключается.

142 142 

143<h3 id="enabling-or-disabling-a-plugin">143<h3 id="enabling-or-disabling-a-plugin">

144 Включение или отключение плагина144 Включение или отключение плагина

145</h3>145</h3>

146 146 

147Когда вы включаете или отключаете [plugin](/docs/ru/plugins/overview), стоимость изменения зависит от того, какие типы компонентов предоставляет плагин. Случаи ниже охватывают каждый тип компонента, когда Claude Code применяет изменение и что происходит, когда вы отключаете плагин снова в том же сеансе.147Когда вы включаете или отключаете [плагин](/docs/ru/plugins/overview), стоимость изменения зависит от того, какие типы компонентов предоставляет плагин. Ниже рассмотрены все типы компонентов, момент, когда Claude Code применяет изменение, и то, что происходит, когда вы снова отключаете плагин в той же сессии.

148 148 

149<h4 id="plugin-components-that-keep-the-cache">149<h4 id="plugin-components-that-keep-the-cache">

150 Компоненты плагина, которые сохраняют кэш150 Компоненты плагина, которые сохраняют кэш

151</h4>151</h4>

152 152 

153Claude Code никогда не инвалидирует кэш для навыков, команд, агентов, hooks, мониторов или тем плагина. Он добавляет их содержимое после существующего разговора, поэтому следующий запрос платит за это содержимое и все еще читает все, что было до него, из кэша.153Claude Code никогда не инвалидирует кэш из-за скиллов, команд, агентов, хуков, мониторов или тем плагина. Он добавляет их содержимое после существующего диалога, поэтому следующий запрос оплачивает это содержимое и по-прежнему читает всё, что было до него, из кэша.

154 154 

155<h4 id="plugins-that-provide-mcp-servers">155<h4 id="plugins-that-provide-mcp-servers">

156 Плагины, которые предоставляют MCP серверы156 Плагины, которые предоставляют MCP-серверы

157</h4>157</h4>

158 158 

159Когда вы включаете или отключаете плагин, который предоставляет [MCP servers](/docs/ru/plugins/components#mcp-servers), Claude Code следует тем же правилам, что и при [подключении или удалении MCP server](#connecting-or-removing-an-mcp-server).159Когда вы включаете или отключаете плагин, который предоставляет [MCP-серверы](/docs/ru/plugins/components#mcp-servers), Claude Code следует тем же правилам, что и при [подключении или удалении MCP-сервера](#connecting-or-removing-an-mcp-server).

160 160 

161<h4 id="code-intelligence-plugins">161<h4 id="code-intelligence-plugins">

162 Плагины анализа кода162 Плагины анализа кода

163</h4>163</h4>

164 164 

165Когда вы включаете [code intelligence plugin](/docs/ru/plugins/code-intelligence), Claude получает [LSP tool](/docs/ru/tools-reference#lsp-tool-behavior).165Когда вы включаете [плагин анализа кода](/docs/ru/plugins/code-intelligence), Claude получает [инструмент LSP](/docs/ru/tools-reference#lsp-tool-behavior).

166 166 

167<h4 id="when-plugin-changes-apply">167<h4 id="when-plugin-changes-apply">

168 Когда применяются изменения плагинов168 Когда применяются изменения плагинов

169</h4>169</h4>

170 170 

171Изменение, которое вы вносите в меню `/plugin`, проходит через [`/reload-plugins`](/docs/ru/plugins/cli-reference#reload-plugins), которое Claude Code запускает для вас при закрытии меню. Вы платите стоимость, будь то добавленные объявления или полное повторное чтение, при первом ходе после применения изменения. Claude Code также может применить изменение самостоятельно:171Изменение, которое вы вносите в меню `/plugin`, проходит через [`/reload-plugins`](/docs/ru/plugins/cli-reference#reload-plugins), который Claude Code запускает за вас при закрытии меню. Вы оплачиваете стоимость — будь то добавленные объявления или полное повторное чтение — при первом ходе после применения изменения. Claude Code также может применить изменение самостоятельно:

172 172 

173* Для плагина с источником `command` Claude Code [может перезагрузить плагин самостоятельно](/docs/ru/plugins/loading#when-a-command-source-re-runs).173* Для плагина с источником `command` Claude Code [может сам перезагрузить плагин](/docs/ru/plugins/loading#when-a-command-source-re-runs).

174* Когда вы [устанавливаете плагин из интерфейса `/plugin`](/docs/ru/plugins/install#install-a-plugin), Claude Code может активировать его во время установки. Сводка установки сообщит вам, сделал ли он это.174* Когда вы [устанавливаете плагин из интерфейса `/plugin`](/docs/ru/plugins/install#install-a-plugin), Claude Code может активировать его во время установки. Сводка установки сообщит вам, произошло ли это.

175* Когда вы [перемещаете сеанс с помощью `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на v2.1.246 или позже, Claude Code применяет плагины, которые включают параметры нового каталога, как часть перемещения, без полного предупреждения повторного чтения, которое удерживает `/reload-plugins`.175* Когда вы [перемещаете сессию с помощью `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) в версии v2.1.246 или более поздней, Claude Code применяет плагины, включённые в настройках нового каталога, в рамках перемещения, без предупреждения о полном повторном чтении, которое задерживает `/reload-plugins`.

176* В интерактивных сеансах, когда вы добавляете или удаляете плагин в [folder of plugins](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session) который вы передали с `--plugin-dir`, изменение применяется сразу же. Если применение его вызовет полное повторное чтение, Claude Code удерживает изменение и показывает уведомление для запуска `/reload-plugins`. Требует Claude Code v2.1.265 или позже.176* В интерактивных сессиях, когда вы добавляете или удаляете плагин в [папке плагинов](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session), переданной с помощью `--plugin-dir`, изменение применяется сразу. Если применение вызвало бы полное повторное чтение, Claude Code вместо этого задерживает изменение и показывает уведомление с предложением запустить `/reload-plugins`. Требуется Claude Code v2.1.265 или более поздней версии.

177 177 

178Когда `/reload-plugins` запускается и перезагрузка вызовет полное повторное чтение, Claude Code показывает предупреждение и не применяет перезагрузку. Запустите `/reload-plugins --force` для применения в любом случае.178Когда запускается `/reload-plugins` и перезагрузка вызвала бы полное повторное чтение, Claude Code показывает предупреждение и не применяет перезагрузку. Запустите `/reload-plugins --force`, чтобы всё равно применить её.

179 179 

180`/reload-plugins` также запускается в сеансах без интерактивного терминала, таких как настольное приложение, Agent SDK и [non-interactive mode](/docs/ru/headless) с `-p`, когда вы вводите его непосредственно в сеанс. Требует Claude Code v2.1.260 или позже.180`/reload-plugins` также работает в сессиях без интерактивного терминала, таких как настольное приложение, Agent SDK и [неинтерактивный режим](/docs/ru/headless) с `-p`, когда вы вводите его непосредственно в сессию. Требуется Claude Code v2.1.260 или более поздней версии.

181 181 

182В этих сеансах перезагрузка применяет все, кроме изменений MCP сервера плагина, которые [вступают в силу в вашем следующем сеансе](/docs/ru/plugins/cli-reference#reload-plugins) и поэтому никогда не стоят полного повторного чтения в середине сеанса.182В таких сессиях перезагрузка применяет всё, кроме изменений MCP-серверов плагинов, которые [вступают в силу в вашей следующей сессии](/docs/ru/plugins/cli-reference#reload-plugins) и поэтому никогда не приводят к полному повторному чтению в середине сессии.

183 183 

184<h4 id="plugins-you-enable-and-then-disable-in-one-session">184<h4 id="plugins-you-enable-and-then-disable-in-one-session">

185 Плагины, которые вы включаете, а затем отключаете в одном сеансе185 Плагины, которые вы включаете, а затем отключаете в одной сессии

186</h4>186</h4>

187 187 

188Когда вы отключаете плагин, который вы включили ранее в сеансе, Claude Code восстанавливает предыдущую форму запроса. Если этот префикс все еще находится в пределах его [cache lifetime](#cache-lifetime), следующий запрос читает более старую запись кэша вместо перестройки.188Когда вы отключаете плагин, который включили ранее в сессии, Claude Code восстанавливает прежнюю форму запроса. Если этот префикс ещё находится в пределах [времени жизни кэша](#cache-lifetime), следующий запрос читает более старую запись кэша вместо перестроения.

189 189 

190<h3 id="denying-an-entire-tool">190<h3 id="denying-an-entire-tool">

191 Отказ от всего инструмента191 Запрет инструмента целиком

192</h3>192</h3>

193 193 

194Если вы добавляете простое имя инструмента, такое как `Bash` или `WebFetch`, как [deny rule](/docs/ru/permissions#manage-permissions), Claude не может вызвать этот инструмент с вашего следующего запроса, независимо от того, добавляете ли вы правило через `/permissions` или путем [редактирования файла параметров напрямую](/docs/ru/settings#when-edits-take-effect). Это включает правило, которое вы добавляете через `/permissions` в середине хода.194Если вы добавляете голое имя инструмента, например `Bash` или `WebFetch`, в качестве [правила запрета](/docs/ru/permissions#manage-permissions), Claude не может вызывать этот инструмент начиная с вашего следующего запроса, независимо от того, добавляете ли вы правило через `/permissions` или [напрямую редактируя файл настроек](/docs/ru/settings#when-edits-take-effect). Это касается и правила, которое вы добавляете через `/permissions` в середине хода.

195 195 

196Когда [tool search](/docs/ru/mcp#scale-with-mcp-tool-search) активен, что является стандартным на поддерживаемых моделях, определения инструментов в запросе не изменяются и кэшированный префикс выживает. Когда tool search недоступен или отключен, Claude Code удаляет определение из следующего запроса, что инвалидирует кэш, и то же самое происходит при удалении правила позже.196Когда активен [поиск инструментов](/docs/ru/mcp#scale-with-mcp-tool-search), что является поведением по умолчанию на поддерживаемых моделях, определения инструментов в запросе не меняются и кэшированный префикс сохраняется. Когда поиск инструментов недоступен или отключён, Claude Code удаляет определение из следующего запроса, что инвалидирует кэш, как и последующее удаление правила.

197 197 

198Только правило отрицания, которое совпадает в позиции имени инструмента, блокирует инструмент таким образом: простое имя инструмента, эквивалентная форма `Bash(*)` или [tool-name glob](/docs/ru/permissions#tool-name-wildcards) как `"*"`. Glob, который совпадает только с инструментами MCP, такой как `"mcp__*"`, блокирует эти инструменты таким же образом. Правила отрицания с областью действия, такие как `Bash(rm *)`, и все правила разрешения и запроса не изменяют, какие инструменты видит Claude. Claude Code проверяет их, когда Claude пытается выполнить вызов, оставляя префикс нетронутым.198Таким образом блокирует инструмент только правило запрета, которое совпадает в позиции имени инструмента: голое имя инструмента, эквивалентная форма `Bash(*)` или [glob-шаблон имени инструмента](/docs/ru/permissions#tool-name-wildcards), например `"*"`. Glob-шаблон, который совпадает только с MCP-инструментами, например `"mcp__*"`, блокирует эти инструменты таким же образом. Правила запрета с ограниченной областью, например `Bash(rm *)`, а также все правила разрешения и запроса подтверждения не меняют набор инструментов, которые видит Claude. Claude Code проверяет их, когда Claude пытается выполнить вызов, оставляя префикс нетронутым.

199 199 

200<h3 id="compacting-the-conversation">200<h3 id="compacting-the-conversation">

201 Сжатие разговора201 Сжатие диалога

202</h3>202</h3>

203 203 

204[Compaction](/docs/ru/context-window#what-survives-compaction) заменяет историю ваших сообщений на сводку. По замыслу, это инвалидирует слой разговора, так как следующий запрос имеет новую, более короткую историю, которая не делит префикс со старой. Claude Code повторно использует слой системной подсказки, если разговор не был [возобновлен при сохранении системной подсказки, которая иначе изменилась бы](#resuming-a-session); в этом случае первая компактизация переключается на текущую подсказку и этот слой перестраивается один раз. Он перезагружает контекст проекта с диска, который кэшируется только если CLAUDE.md и память не изменились с начала сеанса.204[Сжатие контекста](/docs/ru/context-window#what-survives-compaction) заменяет историю ваших сообщений сводкой. По замыслу это инвалидирует слой диалога, так как следующий запрос содержит новую, более короткую историю, которая не имеет общего префикса со старой. Claude Code повторно использует слой системного промпта, если только диалог не был [возобновлён с сохранением системного промпта, который в противном случае изменился бы](#resuming-a-session); в этом случае первое сжатие переключается на текущий промпт, и этот слой перестраивается один раз. Claude Code перезагружает контекст проекта с диска, и попадание в кэш происходит, только если CLAUDE.md и память не изменились с начала сессии.

205 205 

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

207 207 

208После перерыва, превышающего [cache lifetime](#cache-lifetime), кэша не осталось для чтения, поэтому запрос суммирования повторно обрабатывает полную историю как некэшированный ввод. Вот почему `/compact` стоит больше всего, когда вы [возобновляете старый сеанс](/docs/ru/sessions#resume-from-a-summary). В обоих случаях, теплом и холодном, ход после компактизации перестраивает кэш разговора только для намного более короткой сводки, поэтому этот ход не является медленной частью.208После перерыва дольше [времени жизни кэша](#cache-lifetime) читать из кэша уже нечего, поэтому запрос на составление сводки заново обрабатывает всю историю как некэшированный ввод. Именно поэтому `/compact` обходится дороже всего, когда вы [возобновляете старую сессию](/docs/ru/sessions#resume-from-a-summary). И в тёплом, и в холодном случае ход после сжатия перестраивает кэш диалога только для гораздо более короткой сводки, поэтому этот ход не является медленной частью.

209 209 

210<Tip>210<Tip>

211 Компактизация работает в вашу пользу, когда контекст, который вы отбрасываете, это содержимое, которое вам больше не нужно. Чтобы выбрать, когда происходит его накладные расходы, запустите `/compact` в естественном перерыве в вашей работе, например между задачами, вместо того чтобы ждать, пока автоматическая компактизация сработает в середине задачи. Если вы пошли по пути, который вы хотите полностью отказать, [`/rewind`](#rewinding-the-conversation) к более раннему ходу вместо этого. Перемотка усекает назад к префиксу, который уже кэширован, а не строит новый, как это делает компактизация.211 Сжатие контекста работает в вашу пользу, когда отбрасываемый контекст — это содержимое, которое вам больше не нужно. Чтобы самостоятельно выбирать, когда возникают его накладные расходы, запускайте `/compact` в естественных паузах в работе, например между задачами, вместо того чтобы ждать, пока автосжатие сработает в середине задачи. Если вы пошли по пути, от которого хотите полностью отказаться, вместо этого выполните [`/rewind`](#rewinding-the-conversation) к более раннему ходу. Перемотка усекает диалог до префикса, который уже кэширован, а не создаёт новый, как это делает сжатие.

212</Tip>212</Tip>

213 213 

214<h3 id="accumulating-many-images">214<h3 id="accumulating-many-images">

215 Накопление большого количества изображений215 Накопление большого количества изображений

216</h3>216</h3>

217 217 

218API ограничивает количество изображений и PDF-файлов, которые может содержать каждый запрос. Для текущих чисел см. [Request limits](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) в документации API. Claude Code также ограничивает общий размер изображений и PDF-файлов в запросе, поэтому большие снимки экрана достигают лимита с меньшим количеством изображений, чем маленькие.218API ограничивает количество изображений и PDF-файлов в каждом запросе. Актуальные значения см. в разделе [Request limits](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits) документации API. Claude Code также ограничивает общий размер изображений и PDF-файлов в запросе, поэтому большие снимки экрана достигают лимита при меньшем количестве изображений, чем маленькие.

219 219 

220Когда следующий запрос превысит любой лимит, Claude Code удаляет партию самых старых изображений и PDF-файлов из того, что он отправляет, что освобождает место для большего количества, прежде чем ему нужно удалять снова. Claude больше не может видеть удаленные изображения. Если Claude нужно одно из них снова, поделитесь им снова.220Когда следующий запрос превысил бы любой из лимитов, Claude Code удаляет из отправляемых данных партию самых старых изображений и PDF-файлов, что оставляет место для новых, прежде чем снова потребуется что-либо удалять. Claude больше не видит удалённые изображения. Если Claude снова понадобится одно из них, поделитесь им повторно.

221 221 

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

223 223 

224<h3 id="upgrading-claude-code">224<h3 id="upgrading-claude-code">

225 Обновление Claude Code225 Обновление Claude Code

226</h3>226</h3>

227 227 

228Новая версия Claude Code обычно обновляет системную подсказку или определения инструментов, поэтому первый разговор, который вы начинаете после обновления, строит свой кэш с нуля. [Auto-update](/docs/ru/setup#auto-updates) загружает новые версии в фоновом режиме, но применяет их при следующем запуске, никогда в середине сеанса, поэтому вы видите это как некэшированный первый ход после перезагрузки, а не сюрприз во время сеанса. Установите `DISABLE_AUTOUPDATER=1` для управления тем, когда применяются обновления.228Новая версия Claude Code обычно обновляет системный промпт или определения инструментов, поэтому первый диалог, который вы начинаете после обновления, строит свой кэш с нуля. [Автообновление](/docs/ru/setup#auto-updates) загружает новые версии в фоновом режиме, но применяет их при следующем запуске, никогда в середине сессии, поэтому вы видите это как некэшированный первый ход после перезапуска, а не как неожиданность во время сессии. Установите `DISABLE_AUTOUPDATER=1`, чтобы управлять тем, когда применяются обновления.

229 229 

230<Note>230<Note>

231 Для того, что стоит возобновить разговор, который вы начали до обновления, см. [Resuming a session](#resuming-a-session).231 О стоимости возобновления диалога, начатого до обновления, см. [Возобновление сессии](#resuming-a-session).

232</Note>232</Note>

233 233 

234<h2 id="actions-that-keep-the-cache">234<h2 id="actions-that-keep-the-cache">


310 310 

311В плане Pro или Max, когда вы возобновляете большую сессию после длительного перерыва, Claude Code [предлагает возобновить работу из сводки](/docs/ru/sessions#resume-from-a-summary), чтобы последующие запросы не несли полную историю.311В плане Pro или Max, когда вы возобновляете большую сессию после длительного перерыва, Claude Code [предлагает возобновить работу из сводки](/docs/ru/sessions#resume-from-a-summary), чтобы последующие запросы не несли полную историю.

312 312 

313Время жизни (TTL) контролирует, как долго кэш может пережить перерыв. API предлагает два варианта: пятиминутный TTL и [одночасовой TTL](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration), который поддерживает кэш в активном состоянии во время более длительных перерывов, но [выставляет счета за записи в кэш по более высокому тарифу](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Более длительный TTL помогает, когда вы оставляете сессию неактивной и возвращаетесь к ней, потому что вы избегаете переобработки, которая стоит истекшему префиксу. Это стоит дороже при коротких всплесках работы, которые никогда не простаивают более пяти минут, где применяется более высокий тариф записи и более длительное время жизни кэша остаётся неиспользованным.313Время жизни (TTL) контролирует, как долго кэш может пережить перерыв. API предлагает два варианта: пятиминутный TTL и [одночасовой TTL](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#1-hour-cache-duration), который поддерживает кэш в активном состоянии во время более длительных перерывов, но [тарифицирует записи в кэш по более высокой ставке](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Более длительный TTL помогает, когда вы оставляете сессию неактивной и возвращаетесь к ней, потому что вы избегаете переобработки, которой стоит истекший префикс. Это стоит дороже при коротких всплесках работы, которые никогда не простаивают более пяти минут, где применяется более высокий тариф записи и более длительное время жизни кэша остаётся неиспользованным.

314 314 

315<h3 id="which-ttl-each-request-gets">315<h3 id="which-ttl-each-request-gets">

316 Какой TTL получает каждый запрос316 Какой TTL получает каждый запрос


328| Основной разговор | Один час | Пять минут |328| Основной разговор | Один час | Пять минут |

329| Всё остальное | Пять минут, кроме контролируемых сервером вспомогательных запросов, которые получают один час | Пять минут |329| Всё остальное | Пять минут, кроме контролируемых сервером вспомогательных запросов, которые получают один час | Пять минут |

330 330 

331Как только вы превышаете лимит использования вашего плана и Claude Code использует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), вам выставляется счёт за это использование, поэтому Claude Code переводит основной разговор на более дешёвый пятиминутный TTL. Чтобы сохранить одночасовой TTL там, [выберите TTL самостоятельно](#choose-the-ttl-yourself).331Как только вы превышаете лимит использования вашего плана и Claude Code использует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), это использование оплачивается, поэтому Claude Code переводит основной диалог на пятиминутный TTL, при котором записи в кэш тарифицируются по более низкой ставке. Чтобы сохранить одночасовой TTL там, [выберите TTL самостоятельно](#choose-the-ttl-yourself).

332 332 

333<h3 id="choose-the-ttl-yourself">333<h3 id="choose-the-ttl-yourself">

334 Выберите TTL самостоятельно334 Выберите TTL самостоятельно

quickstart.md +54 −88

Details

4 4 

5# Быстрый старт5# Быстрый старт

6 6 

7> Добро пожаловать в Claude Code!7> Установите Claude Code в терминале, войдите в систему и используйте CLI, чтобы изучить кодовую базу и внести первое изменение в код.

8 8 

9Это руководство по быстрому старту позволит вам использовать AI-powered кодирование всего за несколько минут. К концу вы поймёте, как использовать Claude Code для типичных задач разработки.9Это руководство по быстрому старту посвящено Claude Code в терминале: установке CLI, входу в систему в первой сессии и использованию инструмента для типичных задач разработки в вашем собственном проекте.

10 10 

11<h2 id="before-you-begin">11<h2 id="before-you-begin">

12 Перед началом12 Перед началом


15Убедитесь, что у вас есть:15Убедитесь, что у вас есть:

16 16 

17* Открытый терминал или командная строка17* Открытый терминал или командная строка

18 * Если вы никогда раньше не использовали терминал, ознакомьтесь с [руководством по терминалу](/docs/ru/terminal-guide)

19* Проект кода для работы18* Проект кода для работы

20* [Подписка Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team или Enterprise), учётная запись [Claude Console](https://platform.claude.com/) или доступ через [поддерживаемого облачного провайдера](/docs/ru/third-party-integrations)19* [Подписка Claude](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_prereq) (Pro, Max, Team или Enterprise), учётная запись [Claude Console](https://platform.claude.com/) или доступ через [поддерживаемого облачного провайдера](/docs/ru/third-party-integrations)

21 20 

22<Note>21<Note>

23 Это руководство охватывает CLI терминала. Claude Code также доступен в [веб-версии](https://claude.ai/code), как [настольное приложение](/docs/ru/desktop), в [VS Code](/docs/ru/vs-code) и [JetBrains IDEs](/docs/ru/jetbrains), в [Slack](/docs/ru/slack) и в CI/CD с [GitHub Actions](/docs/ru/github-actions) и [GitLab](/docs/ru/gitlab-ci-cd). Смотрите [все интерфейсы](/docs/ru/overview#use-claude-code-everywhere).22 Эти случаи рассматриваются на других страницах:

23 

24 * **Вы никогда раньше не использовали терминал**: начните с [руководства по терминалу](/docs/ru/terminal-guide)

25 * **Вы хотите использовать Claude Code не в терминале**: Claude Code также доступен в [веб-версии](https://claude.ai/code), как [настольное приложение](/docs/ru/desktop), в [VS Code](/docs/ru/vs-code) и [JetBrains IDEs](/docs/ru/jetbrains), в [Slack](/docs/ru/slack) и в CI/CD с [GitHub Actions](/docs/ru/github-actions) и [GitLab](/docs/ru/gitlab-ci-cd). Смотрите [все интерфейсы](/docs/ru/overview#use-claude-code-everywhere).

24</Note>26</Note>

25 27 

26<h2 id="step-1-install-claude-code">28<h2 id="step-1-install-claude-code">


33 <Tab title="Встроенная установка (рекомендуется)">35 <Tab title="Встроенная установка (рекомендуется)">

34 **macOS, Linux, WSL:**36 **macOS, Linux, WSL:**

35 37 

36 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}38 ```bash theme={null}

37 curl -fsSL https://claude.ai/install.sh | bash39 curl -fsSL https://claude.ai/install.sh | bash

38 ```40 ```

39 41 

42 В Windows приглашение командной строки показывает `PS C:\`, когда вы находитесь в PowerShell, и `C:\` без `PS`, когда вы находитесь в CMD.

43 

40 **Windows PowerShell:**44 **Windows PowerShell:**

41 45 

42 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}46 ```powershell theme={null}

43 irm https://claude.ai/install.ps1 | iex47 irm https://claude.ai/install.ps1 | iex

44 ```48 ```

45 49 

46 **Windows CMD:**50 **Windows CMD:**

47 51 

48 ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}52 ```batch theme={null}

49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```54 ```

51 55 

52 Когда установщик завершит работу, откройте новое окно терминала и выполните `claude --version`. Работающая установка выводит номер версии. Если ваша оболочка говорит, что `claude` не найден или не распознан, каталог установки еще не находится в вашем PATH: см. [Исправьте ваш PATH](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation).56 Когда установщик завершит работу, откройте новое окно терминала и выполните `claude --version`. Работающая установка выводит номер версии. Если ваша оболочка говорит, что `claude` не найден или не распознан, каталог установки еще не находится в вашем PATH: см. [Исправьте ваш PATH](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation).

53 57 

54 Если вы видите `The token '&&' is not a valid statement separator`, вы находитесь в PowerShell, а не в CMD. Если вы видите `'irm' is not recognized as an internal or external command`, вы находитесь в CMD, а не в PowerShell. Ваша подсказка показывает `PS C:\` когда вы находитесь в PowerShell и `C:\` без `PS` когда вы находитесь в CMD.58 Если вы видите `The token '&&' is not a valid statement separator`, вы находитесь в PowerShell, а не в CMD. Если вы видите `'irm' is not recognized as an internal or external command`, вы находитесь в CMD, а не в PowerShell.

55 59 

56 Если команда установки завершается с ошибкой `syntax error near unexpected token '<'`, `403` или другой ошибкой curl, см. [Устранение неполадок при установке](/docs/ru/troubleshoot-install#find-your-error) чтобы сопоставить ошибку с исправлением и для альтернативных методов установки.60 Если команда установки завершается с ошибкой `syntax error near unexpected token '<'`, `403` или любой другой ошибкой, см. [Устранение неполадок при установке](/docs/ru/troubleshoot-install#find-your-error), чтобы сопоставить ошибку с исправлением и для альтернативных методов установки.

57 61 

58 [Git for Windows](https://git-scm.com/downloads/win) рекомендуется на встроенной Windows, чтобы Claude Code мог использовать инструмент Bash. Если Git for Windows не установлен, Claude Code использует PowerShell в качестве инструмента оболочки. Установки WSL не требуют Git for Windows.62 [Git for Windows](https://git-scm.com/downloads/win) рекомендуется на встроенной Windows, чтобы Claude Code мог использовать инструмент Bash. Если Git for Windows не установлен, Claude Code использует PowerShell в качестве инструмента оболочки. Установки WSL не требуют Git for Windows.

59 63 


63 </Tab>67 </Tab>

64 68 

65 <Tab title="Homebrew">69 <Tab title="Homebrew">

66 ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}70 ```bash theme={null}

67 brew install --cask claude-code71 brew install --cask claude-code

68 ```72 ```

69 73 


75 </Tab>79 </Tab>

76 80 

77 <Tab title="WinGet">81 <Tab title="WinGet">

78 ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}82 ```powershell theme={null}

79 winget install Anthropic.ClaudeCode83 winget install Anthropic.ClaudeCode

80 ```84 ```

81 85 


95 99 

96Команда выводит номер версии, за которым следует `(Claude Code)`.100Команда выводит номер версии, за которым следует `(Claude Code)`.

97 101 

98<h2 id="step-2-log-in-to-your-account">102<h2 id="step-2-start-your-first-session">

99 Шаг 2: Войдите в свою учётную запись103 Шаг 2: Начните свою первую сессию

100</h2>104</h2>

101 105 

102Claude Code требует учётную запись для использования. Начните интерактивный сеанс с командой `claude`, и при первом использовании вам будет предложено войти:106Откройте терминал в любом каталоге проекта и запустите Claude Code:

103 107 

104```bash theme={null}108```bash theme={null}

109cd /path/to/your/project

105claude110claude

106```111```

107 112 

108Для учётных записей Claude подписки или Console следуйте подсказкам для завершения аутентификации в вашем браузере. Если вы установили переменную окружения `ANTHROPIC_API_KEY`, Claude Code пропускает приглашение входа и вместо этого просит вас одобрить ключ. Чтобы позже переключиться на другую учётную запись или повторно пройти аутентификацию, введите `/login` в работающем сеансе:113Замените `/path/to/your/project` на путь к проекту, над которым вы хотите работать.

109 114 

110```text wrap theme={null}115При первом использовании Claude Code предложит вам войти в систему. Для подписки Claude или учётных записей Console следуйте инструкциям, чтобы завершить аутентификацию в браузере. Если вы задали переменную окружения `ANTHROPIC_API_KEY` и подтвердили использование ключа, когда Claude Code спросит об этом, Claude Code пропустит запрос на вход.

111/login

112```

113 116 

114Вы можете войти, используя любой из этих типов учётных записей:117Вы можете войти, используя любой из следующих типов учётных записей:

115 118 

116* [Claude Pro, Max, Team или Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (рекомендуется)119* [Claude Pro, Max, Team или Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (рекомендуется)

117* [Claude Console](https://platform.claude.com/) (доступ к API с предоплаченными кредитами). При первом входе рабочее пространство "Claude Code" автоматически создаётся в Console для централизованного отслеживания затрат.120* [Claude Console](https://platform.claude.com/) (доступ к API с предоплаченными кредитами). При первом входе в Console автоматически создаётся рабочее пространство «Claude Code» для централизованного отслеживания расходов.

118* [Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry](/docs/ru/third-party-integrations) (облачные провайдеры для предприятий)121* [Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry](/docs/ru/third-party-integrations) (корпоративные облачные провайдеры)

119* Самостоятельно размещённый [шлюз приложений Claude](/docs/ru/claude-apps-gateway), если ваша организация его использует: ваш администратор предварительно настраивает URL шлюза, и `/login` открывает экран **Cloud gateway** для входа с корпоративным SSO122* Самостоятельно размещённый [шлюз приложений Claude](/docs/ru/claude-apps-gateway), если ваша организация его использует: администратор заранее настраивает URL шлюза, и `/login` сразу открывается на экране **Cloud gateway**, где вы можете войти с помощью корпоративного SSO

120 

121После входа ваши учётные данные сохраняются, и вам не нужно будет входить снова. Узнайте больше в разделе [Управление учётными данными](/docs/ru/authentication#credential-management).

122 

123<h2 id="step-3-start-your-first-session">

124 Шаг 3: Начните свой первый сеанс

125</h2>

126 

127Откройте терминал в любом каталоге проекта и запустите Claude Code:

128 

129```bash theme={null}

130cd /path/to/your/project

131claude

132```

133 123 

134Замените `/path/to/your/project` на путь к проекту, над которым вы хотите работать.124После входа ваши учётные данные сохраняются, и вам не придётся входить повторно. Подробнее читайте в разделе [Управление учётными данными](/docs/ru/authentication#credential-management).

135 125 

136Вы увидите приглашение Claude Code с версией, текущей моделью и рабочим каталогом, показанными выше. Введите `/help` для доступных команд или `/resume` для продолжения предыдущего разговора.126Появится промпт Claude Code, над которым отображаются версия, текущая модель и рабочий каталог. Введите `/help`, чтобы увидеть доступные команды, или `/resume`, чтобы продолжить предыдущий диалог. Чтобы позже сменить учётную запись или пройти аутентификацию повторно, введите `/login` внутри запущенной сессии.

137 127 

138<h2 id="step-4-ask-your-first-question">128<h2 id="step-3-ask-your-first-question">

139 Шаг 4: Задайте свой первый вопрос129 Шаг 3: Задайте свой первый вопрос

140</h2>130</h2>

141 131 

142Давайте начнём с понимания вашей кодовой базы. Попробуйте одну из этих команд:132Попробуйте одну из этих команд:

143 133 

144```text wrap theme={null}134```text wrap theme={null}

145what does this project do?135what does this project do?

146```136```

147 137 

148Claude проанализирует ваши файлы и предоставит резюме. Вы также можете задать более конкретные вопросы:138Claude проанализирует ваши файлы и предоставит краткое описание. Вы также можете задавать более конкретные вопросы:

149 139 

150```text wrap theme={null}140```text wrap theme={null}

151what technologies does this project use?141what technologies does this project use?


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

178</Note>168</Note>

179 169 

180<h2 id="step-5-make-your-first-code-change">170<h2 id="step-4-make-your-first-code-change">

181 Шаг 5: Внесите первое изменение в код171 Шаг 4: Внесите первое изменение в код

182</h2>172</h2>

183 173 

184Теперь давайте заставим Claude Code выполнить реальное кодирование. Попробуйте простую задачу:174Попробуйте выполнить небольшую задачу:

185 175 

186```text wrap theme={null}176```text wrap theme={null}

187add a hello world function to the main file177add a hello world function to the main file

188```178```

189 179 

190Claude Code находит подходящий файл и показывает вам изменение. Если он просит разрешение перед внесением изменения, выберите **Yes** для одобрения.180Claude Code найдёт подходящий файл и покажет вам изменение. Если он запросит подтверждение перед внесением изменения, выберите **Yes**, чтобы одобрить его.

191 181 

192В Claude Code v2.1.283 и более поздних версиях автоматический режим является [встроенным режимом разрешений по умолчанию](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) для интерактивных сеансов терминала: классификатор проверяет действия вместо вас, и Claude редактирует большинство файлов и выполняет большинство команд без запроса. В более ранних версиях автоматический режим является встроенным режимом разрешений по умолчанию только для планов Pro, Max и Team. Для сеанса, который вы запустите сразу после установки, см. [First session after an install or upgrade](/docs/ru/env-vars#first-session-after-an-install-or-upgrade).182[Режим разрешений](/docs/ru/permission-modes) сессии определяет, какие действия Claude может выполнять, не спрашивая вас заранее. Нажмите `Shift+Tab` в любой момент, чтобы переключить режим разрешений текущей сессии.

193 183 

194<Note>184<h2 id="step-5-use-git-with-claude-code">

195 Ваши параметры или ваша организация могут установить другой режим разрешений по умолчанию. [В каком режиме разрешений начинается сеанс](/docs/ru/permission-modes#which-mode-a-session-starts-in) указывает, что это определяет. Нажмите `Shift+Tab` в любой момент, чтобы переключить режим разрешений сеанса, в котором вы находитесь.185 Шаг 5: Используйте Git с Claude Code

196</Note>

197 

198<h2 id="step-6-use-git-with-claude-code">

199 Шаг 6: Используйте Git с Claude Code

200</h2>186</h2>

201 187 

202Claude Code делает операции Git разговорными:188Claude Code превращает операции Git в диалог:

203 189 

204```text wrap theme={null}190```text wrap theme={null}

205what files have I changed?191what files have I changed?


209commit my changes with a descriptive message195commit my changes with a descriptive message

210```196```

211 197 

212Вы также можете запросить более сложные операции Git:198Вы также можете использовать промпты для более сложных операций Git:

213 199 

214```text wrap theme={null}200```text wrap theme={null}

215create a new branch called feature/quickstart201create a new branch called feature/quickstart


223help me resolve merge conflicts209help me resolve merge conflicts

224```210```

225 211 

226<h2 id="step-7-fix-a-bug-or-add-a-feature">212<h2 id="step-6-fix-a-bug-or-add-a-feature">

227 Шаг 7: Исправьте ошибку или добавьте функцию213 Шаг 6: Исправьте ошибку или добавьте функцию

228</h2>214</h2>

229 215 

230Claude хорошо справляется с отладкой и реализацией функций.216Опишите, что вы хотите, на естественном языке:

231 

232Опишите то, что вы хотите, на естественном языке:

233 217 

234```text wrap theme={null}218```text wrap theme={null}

235add input validation to the user registration form219add input validation to the user registration form


241there's a bug where users can submit empty forms - fix it225there's a bug where users can submit empty forms - fix it

242```226```

243 227 

244Claude Code будет:228<h2 id="step-7-test-out-other-common-workflows">

245 229 Шаг 7: Попробуйте другие распространённые рабочие процессы

246* Найти соответствующий код

247* Понять контекст

248* Реализовать решение

249* Запустить тесты, если они доступны

250 

251<h2 id="step-8-test-out-other-common-workflows">

252 Шаг 8: Попробуйте другие типичные рабочие процессы

253</h2>230</h2>

254 231 

255Есть несколько способов работать с Claude:232Существует несколько способов работы с Claude:

256 233 

257**Рефакторинг кода**234**Рефакторинг кода**

258 235 


272update the README with installation instructions249update the README with installation instructions

273```250```

274 251 

275**Проверка кода**252**Код-ревью**

276 253 

277```text wrap theme={null}254```text wrap theme={null}

278review my changes and suggest improvements255review my changes and suggest improvements

279```256```

280 257 

281<Tip>258<Tip>

282 Разговаривайте с Claude как с полезным коллегой. Опишите, чего вы хотите достичь, и он поможет вам это сделать.259 Общайтесь с Claude так же, как с отзывчивым коллегой. Опишите, чего вы хотите достичь, и Claude поможет вам в этом.

283</Tip>260</Tip>

284 261 

285<h2 id="essential-commands">262<h2 id="essential-commands">


357 334 

358Теперь, когда вы изучили основы, исследуйте более продвинутые функции:335Теперь, когда вы изучили основы, исследуйте более продвинутые функции:

359 336 

360<CardGroup cols={2}>337* [Как работает Claude Code](/docs/ru/how-claude-code-works): поймите агентный цикл, встроенные инструменты и то, как Claude Code взаимодействует с вашим проектом

361 <Card title="Как работает Claude Code" icon="microchip" href="/docs/ru/how-claude-code-works">338* [Лучшие практики](/docs/ru/best-practices): получайте лучшие результаты с эффективными запросами и настройкой проекта

362 Поймите агентский цикл, встроенные инструменты и то, как Claude Code взаимодействует с вашим проектом339* [Типичные рабочие процессы](/docs/ru/common-workflows): пошаговые руководства для типичных задач

363 </Card>340* [Расширьте Claude Code](/docs/ru/features-overview): настройте с помощью CLAUDE.md, скиллов, хуков, MCP и многого другого

364 

365 <Card title="Лучшие практики" icon="star" href="/docs/ru/best-practices">

366 Получайте лучшие результаты с эффективным запросом и настройкой проекта

367 </Card>

368 

369 <Card title="Типичные рабочие процессы" icon="graduation-cap" href="/docs/ru/common-workflows">

370 Пошаговые руководства для типичных задач

371 </Card>

372 341 

373 <Card title="Расширьте Claude Code" icon="puzzle-piece" href="/docs/ru/features-overview">342См. [расширенную настройку](/docs/ru/setup), чтобы узнать о вариантах установки, ручном обновлении или инструкциях по удалению.

374 Настройте с помощью CLAUDE.md, skills, hooks, MCP и многого другого

375 </Card>

376</CardGroup>

377 343 

378<h2 id="getting-help">344<h2 id="getting-help">

379 Получение помощи345 Получение помощи

380</h2>346</h2>

381 347 

382* **В Claude Code**: Введите `/help` или спросите "how do I" вопрос348* **В Claude Code**: Введите `/help` или спросите "how do I" вопрос

383* **Документация**: Вы здесь! Просмотрите другие руководства349* **Документация**: Просмотрите другие руководства на этом сайте

384* **Курсы**: Пройдите [Claude Code 101](https://academy.claude.com/courses/claude-code-101) и другие бесплатные самостоятельные курсы на [Claude Academy](https://academy.claude.com/)350* **Курсы**: Пройдите [Claude Code 101](https://academy.claude.com/courses/claude-code-101) и другие бесплатные самостоятельные курсы на [Claude Academy](https://academy.claude.com/)

385* **Сообщество**: Присоединитесь к [серверу Discord](https://www.anthropic.com/discord) для советов и поддержки351* **Сообщество**: Присоединитесь к [серверу Discord](https://www.anthropic.com/discord) для советов и поддержки

Details

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). Чтобы сессия продолжала работать на удалённой машине после отключения от SSH, запустите её внутри `tmux` или `screen`.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* **Продолжительный сбой сети**: если ваша машина включена, но не может подключиться к сети, то, что вы делаете дальше, зависит от режима:

routines.md +1 −1

Details

93 Выберите [облачное окружение](/docs/ru/cloud-environments) для рутины. Окружения контролируют, к чему имеет доступ облачный сеанс:93 Выберите [облачное окружение](/docs/ru/cloud-environments) для рутины. Окружения контролируют, к чему имеет доступ облачный сеанс:

94 94 

95 * **Network access**: установите уровень доступа в Интернет, доступный во время каждого запуска95 * **Network access**: установите уровень доступа в Интернет, доступный во время каждого запуска

96 * **Environment variables**: предоставьте значения, которые может использовать Claude во время каждого запуска. Они [видны всем, кто использует окружение](/docs/ru/cloud-environments#what-carries-over-from-your-setup), поэтому в планах Pro и Max сохраняйте ключи для API, которые Claude вызывает во время запуска, как [API credentials](/docs/ru/cloud-environments#add-api-credentials) вместо этого. Этот раздел также содержит список запросов, которые никогда не получают учетные данные96 * **Environment variables**: предоставьте значения, которые Claude может использовать во время каждого запуска. Они [видны всем, кто использует окружение](/docs/ru/cloud-environments#what-carries-over-from-your-setup), поэтому в планах Pro и Max храните ключи для API, которые Claude вызывает во время запуска, в виде [сетевых секретов](/docs/ru/cloud-environments#add-api-credentials). В этом разделе также перечислены запросы, которые никогда не получают секрет

97 * **Setup script**: установите зависимости и инструменты, которые нужны рутине. Результат [кэшируется](/docs/ru/cloud-environments#environment-caching), поэтому скрипт не переустанавливается при каждом сеансе97 * **Setup script**: установите зависимости и инструменты, которые нужны рутине. Результат [кэшируется](/docs/ru/cloud-environments#environment-caching), поэтому скрипт не переустанавливается при каждом сеансе

98 98 

99 Предоставляется окружение **Default** с доступом в сеть **Trusted**, который позволяет только [набор по умолчанию](/docs/ru/cloud-environments#default-allowed-domains) реестров пакетов, API облачных провайдеров, реестров контейнеров и распространенных доменов разработки через сеть сеанса. Коннекторы, которые вы добавляете к рутине, достигают своих сервисов через серверы Anthropic, поэтому им не нужны изменения списка разрешений. Если вашей рутине нужно достичь ваших собственных сервисов напрямую или домена вне этого списка, отредактируйте [сетевой доступ](/docs/ru/cloud-environments#network-access) окружения перед запуском. Чтобы использовать отдельное окружение, [создайте его](/docs/ru/cloud-environments#configure-your-environment) сначала.99 Предоставляется окружение **Default** с доступом в сеть **Trusted**, который позволяет только [набор по умолчанию](/docs/ru/cloud-environments#default-allowed-domains) реестров пакетов, API облачных провайдеров, реестров контейнеров и распространенных доменов разработки через сеть сеанса. Коннекторы, которые вы добавляете к рутине, достигают своих сервисов через серверы Anthropic, поэтому им не нужны изменения списка разрешений. Если вашей рутине нужно достичь ваших собственных сервисов напрямую или домена вне этого списка, отредактируйте [сетевой доступ](/docs/ru/cloud-environments#network-access) окружения перед запуском. Чтобы использовать отдельное окружение, [создайте его](/docs/ru/cloud-environments#configure-your-environment) сначала.

Details

104 Пример скрипта104 Пример скрипта

105</h2>105</h2>

106 106 

107Скрипт ниже запускает полный цикл против `$CLAUDE_TEST_ENVIRONMENT_ID`, ID `ccpool_...` вашего тестового окружения, показанный в диалоговом окне деталей окружения на странице администратора или возвращённый вызовом [create-environment](#create-a-dedicated-test-environment), и проверяет наличие фразы-маркера в каждом ответе. Запустите его из git-репозитория, который вы хотите, чтобы сеанс работал, после запуска runner на этом хосте с установленным hook захвата и экспортированным `E2E_REPLY_DIR`.107Скрипт ниже запускает полный цикл против `$CLAUDE_TEST_ENVIRONMENT_ID`, ID `ccpool_...` вашего тестового окружения, показанный в диалоговом окне деталей окружения на странице администратора или возвращённый вызовом [create-environment](#create-a-dedicated-test-environment), и проверяет наличие фразы-маркера в каждом ответе. Запускайте его из git-клона репозитория, в котором должна работать сессия, после запуска runner на этом хосте с установленным хуком захвата и экспортированной переменной `E2E_REPLY_DIR`. Сначала войдите с учётной записью claude.ai на машине, на которой запускается скрипт, как описано в разделе [Аутентификация из CI](#authenticate-from-ci). Без этого входа первая отправка завершится ошибкой, например `Unable to get organization UUID for cloud session creation`.

108 108 

109```bash theme={null}109```bash theme={null}

110#!/usr/bin/env bash110#!/usr/bin/env bash

Details

43 <Step title="Откройте консоль администратора">43 <Step title="Откройте консоль администратора">

44 В консоли claude.ai перейдите в [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code).44 В консоли claude.ai перейдите в [**Organization settings > Claude Code > Managed settings**](https://claude.ai/admin-settings/claude-code).

45 45 

46 Если ссылка перенаправляет вас на другую страницу Organization settings вместо страницы Claude Code, ваша учетная запись не имеет требуемой роли. Роль Admin и другие роли, отличные от Owner, не могут просматривать или редактировать управляемые настройки, поэтому попросите Owner или Primary Owner в вашей организации внести изменение. См. [Контроль доступа](#access-control).46 Если в организации Team или Enterprise на странице указано, что у вас нет доступа, попросите [Owner или Primary Owner](#access-control) внести изменение.

47 </Step>47 </Step>

48 48 

49 <Step title="Определите ваши настройки">49 <Step title="Определите ваши настройки">


149 Приоритет параметров149 Приоритет параметров

150</h3>150</h3>

151 151 

152Управляемые сервером параметры и [управляемые конечной точкой параметры](/docs/ru/managed-settings#delivery-mechanisms) занимают наивысший уровень в иерархии [параметров](/docs/ru/settings#settings-precedence) Claude Code. Никакой другой уровень параметров не может их переопределить, включая аргументы командной строки, за исключением [исключений из приоритета управляемых параметров](/docs/ru/settings#exceptions-to-managed-settings-precedence).152Управляемые сервером настройки и [управляемые на эндпоинте настройки](/docs/ru/managed-settings#delivery-mechanisms) занимают наивысший уровень в [иерархии настроек](/docs/ru/settings#settings-precedence) Claude Code. Ключ, который вы задаёте здесь, имеет приоритет над тем же ключом в собственных файлах настроек пользователя или в значении `--settings`, за исключением [исключений из приоритета управляемых настроек](/docs/ru/settings#exceptions-to-managed-settings-precedence).

153 153 

154В пределах управляемого уровня Claude Code по умолчанию использует первый источник, который доставляет хотя бы один ключ политики, сначала проверяя управляемые сервером параметры, а затем управляемые конечной точкой параметры, за исключением [ключей исключений, рассмотренных далее](#per-key-exceptions-across-managed-sources). [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#precedence-within-the-managed-tier) содержит полный рейтинг, исключение для ключей управления и согласие, которое применяется к каждому источнику.154В пределах управляемого уровня Claude Code по умолчанию использует первый источник, который доставляет хотя бы один ключ политики, сначала проверяя управляемые сервером параметры, а затем управляемые конечной точкой параметры, за исключением [ключей исключений, рассмотренных далее](#per-key-exceptions-across-managed-sources). [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#precedence-within-the-managed-tier) содержит полный рейтинг, исключение для ключей управления и согласие, которое применяется к каждому источнику.

155 155 

sessions.md +64 −62

Details

11[Настольное приложение](/docs/ru/desktop#work-in-parallel-with-sessions), [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) и [расширение VS Code](/docs/ru/vs-code#resume-past-conversations) каждое ведёт собственную историю сеансов, а настольное приложение также может [возобновить сеанс CLI](/docs/ru/desktop#coming-from-the-cli). На этой странице рассматривается CLI.11[Настольное приложение](/docs/ru/desktop#work-in-parallel-with-sessions), [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web) и [расширение VS Code](/docs/ru/vs-code#resume-past-conversations) каждое ведёт собственную историю сеансов, а настольное приложение также может [возобновить сеанс CLI](/docs/ru/desktop#coming-from-the-cli). На этой странице рассматривается CLI.

12 12 

13<h2 id="resume-a-session">13<h2 id="resume-a-session">

14 Возобновление сеанса14 Возобновление сессии

15</h2>15</h2>

16 16 

17Сеансы сохраняются непрерывно в [локальные файлы стенограмм](#export-and-locate-session-data) по мере работы, поэтому вы можете вернуться к одному из них после выхода или запуска `/clear`. Используйте эти точки входа:17Сессии непрерывно сохраняются в [локальные файлы транскриптов](#export-and-locate-session-data) по мере работы, поэтому вы можете вернуться к одной из них после выхода или запуска `/clear`. Используйте эти точки входа:

18 18 

19| Команда | Что она делает |19| Команда | Что она делает |

20| :- | :- |20| :- | :- |

21| `claude --continue` | Возобновляет самый последний сеанс в текущем каталоге |21| `claude --continue` | Повторно открывает самый последний диалог в текущем каталоге |

22| `claude --resume` | Открывает [средство выбора сеансов](#use-the-session-picker) |22| `claude --resume` | Открывает [средство выбора сессий](#use-the-session-picker) |

23| `claude --resume <name>` | Возобновляет именованный сеанс напрямую |23| `claude --resume <name>` | Возобновляет именованную сессию напрямую |

24| `claude --resume <transcript-path>` | Возобновляет диалог, сохранённый в файле `.jsonl` [стенограммы](#where-transcripts-are-stored) по этому абсолютному пути |24| `claude --resume <transcript-path>` | Возобновляет диалог, сохранённый в файле [транскрипта](#where-transcripts-are-stored) `.jsonl` по этому абсолютному пути |

25| `claude --from-pr <number>` | Открывает средство выбора сеансов, отфильтрованное по сеансам, связанным с этим pull request |25| `claude --from-pr <number>` | Открывает средство выбора сессий, отфильтрованное по сессиям, связанным с этим pull request |

26| `/resume` | Переключается на другой диалог из активного сеанса |26| `/resume` | Переключается на другой диалог из активной сессии |

27 27 

28Claude Code исключает сеансы, созданные с помощью [`claude -p`](/docs/ru/headless) или [Agent SDK](/docs/ru/agent-sdk/overview), из средства выбора сеансов и из `claude --continue`. Вы всё равно можете возобновить один, передав его ID сеанса в `claude --resume <session-id>`. С помощью `claude --continue` Claude Code также пропускает [сеансы, первый запрос которых был `/loop`](#where-the-session-picker-looks). Когда вы запускаете [`claude -p --continue`](/docs/ru/headless#continue-conversations), Claude Code включает сеансы `-p`, SDK и `/loop`.28Claude Code исключает сессии, созданные с помощью [`claude -p`](/docs/ru/headless) или [Agent SDK](/docs/ru/agent-sdk/overview), из средства выбора сессий и из `claude --continue`. Вы всё равно можете возобновить такую сессию, передав её ID в `claude --resume <session-id>`. При использовании `claude --continue` Claude Code также пропускает [сессии, первым промптом которых был `/loop`](#where-the-session-picker-looks). Когда вы запускаете [`claude -p --continue`](/docs/ru/headless#continue-conversations), Claude Code учитывает сессии `-p`, SDK и `/loop`.

29 29 

30Вы можете запустить `claude --resume <session-id>` из любого каталога, поэтому можно возобновить сессию, которая началась в другом месте или была перемещена с помощью [`/cd`](/docs/ru/commands). Claude Code ищет ID в следующем порядке:30Вы можете запустить `claude --resume <session-id>` из любого каталога, поэтому можно возобновить сессию, которая началась в другом месте или была перемещена с помощью [`/cd`](/docs/ru/commands). Claude Code ищет ID в следующем порядке:

31 31 


36 36 

37До версии 2.1.223 поиск ограничивался каталогом текущего проекта и его git worktrees, поэтому возобновлять сессию приходилось из каталога, в котором она работала в последний раз.37До версии 2.1.223 поиск ограничивался каталогом текущего проекта и его git worktrees, поэтому возобновлять сессию приходилось из каталога, в котором она работала в последний раз.

38 38 

39`claude --continue` открывает [фоновый сеанс](/docs/ru/agent-view), который завершился, но не тот, который всё ещё выполняется; открытие завершённых фоновых сеансов требует Claude Code v2.1.257 или более поздней версии. Если ваш самый последний диалог — это тот, который вы [переместили в фон](/docs/ru/agent-view#send-the-session-to-the-background), и он всё ещё выполняется там, Claude Code завершается с сообщением `Your most recent conversation is running in the background` и ID этого сеанса. Подключитесь к сеансу из [`claude agents`](/docs/ru/agent-view#attach-to-a-session) или запустите `claude --resume`, чтобы выбрать другой.39`claude --continue` открывает [фоновую сессию](/docs/ru/agent-view), которая завершилась, но не ту, которая всё ещё выполняется; для открытия завершённых фоновых сессий требуется Claude Code v2.1.257 или более поздней версии. Если ваш самый последний диалог — это тот, который вы [переместили в фон](/docs/ru/agent-view#send-the-session-to-the-background), и он всё ещё там выполняется, Claude Code завершается с сообщением `Your most recent conversation is running in the background` и ID этой сессии. Подключитесь к сессии из [`claude agents`](/docs/ru/agent-view#attach-to-a-session) или запустите `claude --resume`, чтобы выбрать другую.

40 40 

41<h3 id="resume-a-running-background-session">41<h3 id="resume-a-running-background-session">

42 Возобновление выполняющейся фоновой сессии42 Возобновление выполняющейся фоновой сессии


44 44 

45Когда диалог, который вы возобновляете с помощью `claude --resume` или `/resume`, принадлежит [фоновой сессии](/docs/ru/agent-view), которая всё ещё выполняется, Claude Code открывает саму выполняющуюся сессию. Если в командной строке указан `--bg`, возобновление вместо этого становится [фоновой отправкой](/docs/ru/agent-view#from-your-shell). До версии 2.1.285 Claude Code отказывал и предлагал открыть сессию с помощью `claude attach <id>` или сначала остановить её с помощью `claude stop <id>`.45Когда диалог, который вы возобновляете с помощью `claude --resume` или `/resume`, принадлежит [фоновой сессии](/docs/ru/agent-view), которая всё ещё выполняется, Claude Code открывает саму выполняющуюся сессию. Если в командной строке указан `--bg`, возобновление вместо этого становится [фоновой отправкой](/docs/ru/agent-view#from-your-shell). До версии 2.1.285 Claude Code отказывал и предлагал открыть сессию с помощью `claude attach <id>` или сначала остановить её с помощью `claude stop <id>`.

46 46 

47* **Из вашей оболочки**: `claude --resume <session>` запускает [`claude attach`](/docs/ru/agent-view#attach-to-a-session) на этом сеансе в том же терминале вместо загрузки самой стенограммы. Приглашение, которое вы передаёте в командной строке, как в `claude --resume <session> "check the tests too"`, идёт в сеанс как его следующий ход в первую очередь, и Claude Code выводит `Sent your prompt to the background session (<id>); opening it…` перед подключением. `claude -p --resume <session> "prompt"`, введённый в терминал, делает то же самое, поэтому `-p` не сохраняет этот запуск неинтерактивным.47* **Из вашей оболочки**: `claude --resume <session>` запускает [`claude attach`](/docs/ru/agent-view#attach-to-a-session) для этой сессии в том же терминале вместо самостоятельной загрузки транскрипта. Промпт, который вы передаёте в командной строке, как в `claude --resume <session> "check the tests too"`, сначала отправляется в сессию как её следующий ход, и Claude Code выводит `Sent your prompt to the background session (<id>); opening it…` перед подключением. `claude -p --resume <session> "prompt"`, введённый в терминале, делает то же самое, поэтому `-p` не делает этот запуск неинтерактивным.

48 48 

49 Claude Code не открывает сеанс, когда командная строка содержит любое из следующего:49 Claude Code не открывает сессию, если командная строка содержит что-либо из следующего:

50 50 

51 * Перенаправленный или перенаправленный ввод или вывод51 * Ввод или вывод через конвейер или перенаправление

52 * Флаги, которые конфигурируют сеанс, такие как `--permission-mode`, `--model` или `--settings`52 * Флаги, которые настраивают сессию, такие как `--permission-mode`, `--model` или `--settings`

53 * Флаги, которые читают вывод, такие как `--output-format json` или `--json-schema`53 * Флаги, которые читают вывод, такие как `--output-format json` или `--json-schema`

54 * Флаги, которые ограничивают или перематывают запуск, такие как `--max-turns` или `--max-budget-usd`54 * Флаги, которые ограничивают или перематывают запуск, такие как `--max-turns` или `--max-budget-usd`

55 55 

56 С любым из этих, или когда [представление agent отключено](/docs/ru/agent-view#turn-off-agent-view), Claude Code ничего не отправляет и выходит со статусом 1, выводя, что сеанс выполняется в фоне вместе с командой `claude attach <id>`, которая его открывает, или говоря вам найти его в `claude agents`, когда он не может определить ID. Добавьте `--fork-session`, чтобы возобновить копию диалога вместо этого. Чтобы продолжить сам диалог в сеансе вашего собственного, с применением ваших флагов, запустите `claude stop <id>` и затем повторите команду.56 В любом из этих случаев, или когда [представление агентов отключено](/docs/ru/agent-view#turn-off-agent-view), Claude Code ничего не отправляет и завершается со статусом 1, выводя сообщение о том, что сессия выполняется в фоне, вместе с командой `claude attach <id>`, которая её открывает, или предлагая найти её в `claude agents`, если не удаётся определить ID. Добавьте `--fork-session`, чтобы вместо этого возобновить копию диалога. Чтобы продолжить сам диалог в собственной сессии с применением ваших флагов, запустите `claude stop <id>`, а затем повторите команду.

57 57 

58 Приглашение, которое начинается с `/` или `!`, не отправляется, и ни одно приглашение, пока сеанс ждёт вашего ответа на вопрос. В обоих случаях Claude Code не открывает сеанс, и сообщение включает `Your prompt was not sent to it` с причиной.58 Промпт, начинающийся с `/` или `!`, не отправляется, как и любой промпт, пока сессия ожидает вашего ответа на вопрос. В обоих случаях Claude Code не открывает сессию, а сообщение содержит `Your prompt was not sent to it` с указанием причины.

59* **Из внутри сеанса**: `/resume` перемещает ваш текущий диалог в фон и подключает этот терминал к выполняющемуся сеансу, выводя `Opening "<title>", running in the background (<id>)`. Нажмите `←` на пустом приглашении, чтобы вернуться к представлению agent, которое также перечисляет диалог, который вы оставили. Когда текущий диалог не может переместиться в фон, например потому что вы уже подключены к фоновому сеансу или сохранение сеанса отключено, `/resume` выводит команду `claude attach`, которую нужно запустить вместо этого.59* **Изнутри сессии**: `/resume` перемещает ваш текущий диалог в фон и подключает этот терминал к выполняющейся сессии, выводя `Opening "<title>", running in the background (<id>)`. Нажмите `←` в пустом промпте, чтобы вернуться к представлению агентов, где также отображается покинутый вами диалог. Когда текущий диалог нельзя переместить в фон, например потому что вы уже подключены к фоновой сессии или сохранение сессий отключено, `/resume` выводит команду `claude attach`, которую нужно запустить вместо этого.

60 60 

61<h3 id="what-a-resumed-session-restores">61<h3 id="what-a-resumed-session-restores">

62 Что восстанавливает возобновлённый сеанс62 Что восстанавливает возобновлённая сессия

63</h3>63</h3>

64 64 

65Когда Claude Code загружает диалог из его стенограммы, возобновлённый сеанс восстанавливает диалог вместе с состоянием, сохранённым в нём:65Когда Claude Code загружает диалог из его транскрипта, возобновлённая сессия восстанавливает диалог вместе с сохранённым в нём состоянием:

66 66 

67* История диалога: полная история, включая вызовы инструментов и результаты. Инструмент, который всё ещё выполнялся, когда предыдущий процесс завершился, например при сбое, не завершается и не запускается снова при возобновлении. Claude видит вызов, отмеченный как прерванный до того, как был записан его результат, и ему сообщается проверить, был ли он выполнен, перед тем как запустить его снова, если только не установлена переменная [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars#variables). До версии 2.1.281 Claude Code либо удалял прерванный вызов из диалога, либо показывал его Claude как вызов, который вы прервали.67* История диалога: полная история, включая вызовы инструментов и их результаты. Инструмент, который всё ещё выполнялся, когда предыдущий процесс завершился, например при сбое, не завершается и не запускается снова при возобновлении. Claude видит вызов, помеченный как прерванный до записи его результата, и получает указание проверить, сработал ли он, прежде чем запускать его снова, если только не установлена переменная [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars#variables). До версии 2.1.281 Claude Code либо удалял прерванный вызов из диалога, либо показывал его Claude как вызов, который вы прервали.

68* Модель: сеанс продолжается на модели, которую он использовал. Модель не восстанавливается, когда она была снята с производства или не разрешена `availableModels`, когда флаг `--model` или переменная окружения семейства `ANTHROPIC_MODEL` выбирает одну при запуске, или у поставщиков, которые используют ID развёртывания, специфичные для поставщика, такие как [Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry](/docs/ru/third-party-integrations); см. [конфигурация модели](/docs/ru/model-config#setting-your-model) для порядка разрешения.68* Модель: сессия продолжается на модели, которую она использовала, за исключением случаев, описанных в разделе [Выбор модели](/docs/ru/model-config#setting-your-model).

69* Agent: сеанс, запущенный с помощью [`--agent`](/docs/ru/sub-agents#invoke-subagents-explicitly) или параметра `agent`, продолжается как этот agent, сохраняя ограничения его инструментов и модель. Передайте `--agent` при возобновлении, чтобы выбрать другой; для системного приглашения в любом случае см. [Флаги системного приглашения в возобновлённых диалогах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code ищет agent в двух местах: в исходном каталоге сеанса, при условии, что вы [доверили этому рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а затем в каталоге, из которого вы возобновляете, поэтому agent, ограниченный проектом, всё ещё загружается при возобновлении из другого каталога. Если Claude Code не находит agent ни в одном из этих мест, сеанс возобновляется с инструментами по умолчанию и показывает [предупреждение с названием agent](/docs/ru/errors#session-agent-no-longer-available).69* Агент: сессия, запущенная с помощью [`--agent`](/docs/ru/sub-agents#invoke-subagents-explicitly) или настройки `agent`, продолжается как этот агент, сохраняя его ограничения инструментов и модель. Передайте `--agent` при возобновлении, чтобы выбрать другого агента; о системном промпте в обоих случаях см. [Флаги системного промпта в возобновлённых диалогах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code ищет агента в двух местах: в исходном каталоге сессии, при условии что вы [доверяете этому рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а затем в каталоге, из которого вы возобновляете сессию, поэтому агент уровня проекта загружается и при возобновлении из другого каталога. Если Claude Code не находит агента ни в одном из этих мест, сессия возобновляется с инструментами по умолчанию и показывает [предупреждение с именем агента](/docs/ru/errors#session-agent-no-longer-available).

70* Режим разрешений: если вы возобновляете из терминала с помощью `claude --continue`, `claude --resume <session-id>` или `claude --resume <name>`, когда имя соответствует одному сеансу, без `-p`, Claude Code восстанавливает режим разрешений, в котором находился сеанс, за исключением случаев в [режим разрешений при возобновлении](#permission-mode-on-resume), который также охватывает средство выбора сеансов, `/resume` и возобновление с помощью `claude -p`. Передайте `--permission-mode` или `--dangerously-skip-permissions`, чтобы переопределить восстановленный режим.70* Режим разрешений: если вы возобновляете сессию из терминала с помощью `claude --continue`, `claude --resume <session-id>` или `claude --resume <name>`, когда имя соответствует одной сессии, без `-p`, Claude Code восстанавливает режим разрешений, в котором находилась сессия, за исключением случаев, описанных в разделе [режим разрешений при возобновлении](#permission-mode-on-resume), который также охватывает средство выбора сессий, `/resume` и возобновление с помощью `claude -p`. Передайте `--permission-mode` или `--dangerously-skip-permissions`, чтобы переопределить восстановленный режим.

71* Активная цель: [цель](/docs/ru/goal#resume-with-an-active-goal), которая была активна при завершении сеанса, переносится; её счётчик ходов, таймер и базовая линия расходов токенов сбрасываются.71* Активная цель: [цель](/docs/ru/goal#resume-with-an-active-goal), которая всё ещё была активна при завершении сессии, переносится; её счётчик ходов, таймер и базовый уровень расхода токенов сбрасываются.

72* Запланированные задачи: [задачи, которые не истекли](/docs/ru/scheduled-tasks#limitations), восстанавливаются. Фоновые задачи Bash и задачи мониторинга не восстанавливаются.72* Запланированные задачи: [задачи, срок которых не истёк](/docs/ru/scheduled-tasks#limitations), восстанавливаются. Фоновые задачи Bash и задачи мониторинга не восстанавливаются.

73* Фоновая работа: [фоновый subagent](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), фоновая команда Bash или [workflow](/docs/ru/workflows), который завершился с предыдущим процессом, отображается в возобновлённой стенограмме как примечание о том, что он не завершился. Claude Code не запускает ход из этих примечаний; Claude читает их с вашим следующим приглашением.73* Фоновая работа: [фоновый субагент](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), фоновая команда Bash или [workflow](/docs/ru/workflows), завершившиеся вместе с предыдущим процессом, отображаются в возобновлённом транскрипте как примечание о том, что они не завершились. Claude Code не начинает ход по этим примечаниям; Claude читает их вместе с вашим следующим промптом.

74 74 

75Не каждый флаг конфигурации из исходного запуска восстанавливается. Если сеанс зависел от `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` или каталогов, добавленных с помощью `--add-dir`, передайте их снова при возобновлении; каталоги, добавленные во время сеанса с помощью `/add-dir`, также не восстанавливаются, хотя средство выбора сеансов всё ещё использует их для поиска сеанса. Стандартные файлы параметров, такие как `settings.json` и `settings.local.json`, перечитываются при запуске, поэтому конфигурация, которая находится в них, не должна передаваться снова. Для `--system-prompt` и `--append-system-prompt` см. [Флаги системного приглашения в возобновлённых диалогах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations).75Не каждый флаг конфигурации из исходного запуска восстанавливается. Если сессия зависела от `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` или каталогов, добавленных с помощью `--add-dir`, передайте их снова при возобновлении; каталоги, добавленные во время сессии с помощью `/add-dir`, также не восстанавливаются, хотя средство выбора сессий всё ещё использует их для поиска сессии. Стандартные файлы настроек, такие как `settings.json` и `settings.local.json`, перечитываются при запуске, поэтому конфигурацию, которая находится в них, не нужно передавать снова. О `--system-prompt` и `--append-system-prompt` см. [Флаги системного промпта в возобновлённых диалогах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations).

76 76 

77<h4 id="permission-mode-on-resume">77<h4 id="permission-mode-on-resume">

78 Режим разрешений при возобновлении78 Режим разрешений при возобновлении

79</h4>79</h4>

80 80 

81Режим разрешений, в котором Claude Code запускает возобновлённый сеанс, зависит от того, как вы возобновляете. Случаи ниже применяются, когда Claude Code загружает диалог из его стенограммы; когда вы [открываете фоновый сеанс, который всё ещё выполняется](#resume-a-running-background-session) вместо этого, этот сеанс сохраняет режим разрешений, в котором он находится.81Режим разрешений, в котором Claude Code запускает возобновлённую сессию, зависит от способа возобновления. Описанные ниже случаи применяются, когда Claude Code загружает диалог из его транскрипта; когда вы вместо этого [открываете фоновую сессию, которая всё ещё выполняется](#resume-a-running-background-session), эта сессия сохраняет свой текущий режим разрешений.

82 82 

83* Терминал: `claude --continue`, `claude --resume <session-id>` или `claude --resume <name>`, когда имя соответствует одному сеансу, без `-p`. Claude Code восстанавливает режим разрешений, в котором находился сеанс, за исключением случаев в таблице. Передайте `--permission-mode` или `--dangerously-skip-permissions`, чтобы переопределить восстановленный режим.83* Терминал: `claude --continue`, `claude --resume <session-id>` или `claude --resume <name>`, когда имя соответствует одной сессии, без `-p`. Claude Code восстанавливает режим разрешений, в котором находилась сессия, за исключением случаев, указанных в таблице. Передайте `--permission-mode` или `--dangerously-skip-permissions`, чтобы переопределить восстановленный режим.

84* Неинтерактивный: `claude -p --resume` или `claude -p --continue`. Claude Code запускает выполнение в режиме разрешений, в котором запустился бы новый запуск `claude -p`, за исключением того, что сеанс, который завершился в режиме Plan Mode, возобновляется в режиме Plan Mode при [условиях ниже](#resume-in-plan-mode-with-p).84* Неинтерактивный: `claude -p --resume` или `claude -p --continue`. Claude Code запускает выполнение в том режиме разрешений, в котором запустился бы новый запуск `claude -p`, за исключением того, что сессия, завершившаяся в режиме планирования, возобновляется в режиме планирования при [условиях ниже](#resume-in-plan-mode-with-p).

85* VS Code: панель диалога расширения. Таблица охватывает только диалог, который завершился в режиме Plan Mode; для остального см. [возобновление прошлых диалогов](/docs/ru/vs-code#resume-past-conversations).85* VS Code: панель диалога расширения. Таблица охватывает только диалог, завершившийся в режиме планирования; об остальных случаях см. [возобновление прошлых диалогов](/docs/ru/vs-code#resume-past-conversations).

86* Средство выбора сеансов при запуске: сеанс, который вы выбираете из [средства выбора сеансов](#use-the-session-picker), независимо от того, открыли ли вы его с помощью `claude --resume` отдельно, `claude --from-pr` или имени, которое соответствует более чем одному сеансу. Claude Code не восстанавливает сохранённый режим разрешений. Он запускает сеанс в режиме разрешений, в котором он запустил бы новый сеанс из той же командной строки.86* Средство выбора сессий при запуске: сессия, которую вы выбираете в [средстве выбора сессий](#use-the-session-picker), независимо от того, открыли ли вы его с помощью одного `claude --resume`, `claude --from-pr` или имени, соответствующего нескольким сессиям. Claude Code запускает сессию в том режиме разрешений, в котором запустил бы новую сессию из той же командной строки, за исключением того, что сессия, завершившаяся в режиме планирования, возобновляется в режиме планирования, если вы не передали `--permission-mode`, `--dangerously-skip-permissions` или `--fork-session`. Никакой другой сохранённый режим разрешений не восстанавливается.

87* `/resume` внутри сеанса, с аргументом или без: Claude Code не восстанавливает сохранённый режим разрешений. Диалог, на который вы переключаетесь, продолжается в режиме разрешений, в котором находится ваш текущий сеанс.87* `/resume` внутри сессии, с аргументом или без: диалог, на который вы переключаетесь, продолжается в режиме разрешений вашей текущей сессии, за исключением того, что диалог, завершившийся в режиме планирования, возобновляется в режиме планирования, даже если вы запустили Claude Code с `--permission-mode` или `--dangerously-skip-permissions`. Если этот диалог уже открывался ранее в текущем запуске Claude Code, например диалог, с которого вы начали, или диалог, который вы покинули с помощью `/clear` или `/resume`, он вместо этого продолжается в вашем текущем режиме разрешений.

88 88 

89Восстановление режима Plan Mode на неинтерактивном пути и пути VS Code требует Claude Code v2.1.246 или более поздней версии. Каждая строка называет режим разрешений, в котором завершился сеанс, какой из путей терминала, неинтерактивного и VS Code вы его возобновляете, и режим разрешений, в котором Claude Code запускает возобновлённый сеанс.89Для восстановления режима планирования в неинтерактивном пути и в VS Code требуется Claude Code v2.1.246 или более поздней версии. В каждой строке указаны режим разрешений, в котором завершилась сессия, путь возобновления (терминал, неинтерактивный или VS Code) и режим разрешений, в котором Claude Code запускает возобновлённую сессию.

90 90 

91| Сеанс завершился в | Как вы возобновляете | Режим разрешений после возобновления |91| Сессия завершилась в | Как вы возобновляете | Режим разрешений после возобновления |

92| :- | :- | :- |92| :- | :- | :- |

93| `bypassPermissions` | Терминал | Режим разрешений, в котором запустился бы новый сеанс. Чтобы [пропустить разрешения](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) снова, включите его при запуске с одним из его флагов запуска или `permissions.defaultMode: "bypassPermissions"` в [пользовательских, `--settings` или управляемых параметрах](/docs/ru/settings-reference#permissions-defaultmode) |93| `bypassPermissions` | Терминал | Режим разрешений, в котором запустилась бы новая сессия. Чтобы снова [обходить разрешения](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode), включите этот режим при запуске с помощью одного из его флагов запуска или `permissions.defaultMode: "bypassPermissions"` в [пользовательских настройках, `--settings` или управляемых настройках](/docs/ru/settings-reference#permissions-defaultmode) |

94| `plan` | Терминал | Режим разрешений, в котором запустился бы новый сеанс |94| `plan` | Терминал | Режим планирования. С `--fork-session` — режим разрешений, в котором запустилась бы новая сессия |

95| `auto` | Терминал | `auto`, только когда ваша учётная запись всё ещё соответствует [требованиям режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) |95| `auto` | Терминал | `auto`, только если ваша учётная запись всё ещё соответствует [требованиям авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) |

96| Manual | Терминал | Manual, когда новый сеанс запустился бы в режиме auto из [встроенного значения по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in). Когда `defaultMode` из файла параметров [вступает в силу](/docs/ru/permission-modes#which-mode-a-session-starts-in), Claude Code запускает возобновлённый сеанс в этом режиме вместо этого |96| Manual | Терминал | Manual, если новая сессия запустилась бы в авторежиме согласно [встроенному значению по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in). Когда [вступает в силу](/docs/ru/permission-modes#which-mode-a-session-starts-in) `defaultMode` из файла настроек, Claude Code вместо этого запускает возобновлённую сессию в этом режиме |

97| `plan` | Неинтерактивный, при [условиях ниже](#resume-in-plan-mode-with-p) | Режим Plan Mode |97| `plan` | Неинтерактивный, при [условиях ниже](#resume-in-plan-mode-with-p) | Режим планирования |

98| Любой режим | Неинтерактивный, в любом другом случае | Режим разрешений, в котором запустился бы новый запуск `claude -p` |98| Любой режим | Неинтерактивный, в любом другом случае | Режим разрешений, в котором запустился бы новый запуск `claude -p` |

99| `plan` | VS Code | Режим Plan Mode, с [исключениями на странице VS Code](/docs/ru/vs-code#resume-past-conversations) |99| `plan` | VS Code | Режим планирования, с [исключениями, описанными на странице VS Code](/docs/ru/vs-code#resume-past-conversations) |

100 

101<a id="resume-in-plan-mode-with-p" />

100 102 

101<h5 id="resume-in-plan-mode-with-p">103<h5 id="resume-in-plan-mode-with-p">

102 Возобновление в режиме Plan Mode с `-p`104 Возобновление в режиме планирования с `-p`

103</h5>105</h5>

104 106 

105Запуск `claude -p --resume` или `claude -p --continue` возобновляется в режиме Plan Mode только когда выполняются все эти условия:107Запуск `claude -p --resume` или `claude -p --continue` возобновляется в режиме планирования, только если выполняются все следующие условия:

106 108 

107* Вы передаёте [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) и не передаёте [`--permission-prompts none`](/docs/ru/headless#turn-off-permission-prompts-in-unattended-runs), чтобы Claude Code мог представить план для утверждения109* Вы передаёте [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) и не передаёте [`--permission-prompts none`](/docs/ru/headless#turn-off-permission-prompts-in-unattended-runs), чтобы Claude Code мог представить план на утверждение

108* Вы не передаёте `--permission-mode` или `--dangerously-skip-permissions`110* Вы не передаёте `--permission-mode` или `--dangerously-skip-permissions`

109* Вы не передаёте `--fork-session`111* Вы не передаёте `--fork-session`

110* Запуск не запущен через [каналы](/docs/ru/channels)112* Запуск выполняется не через [каналы](/docs/ru/channels)

111 113 

112<h3 id="resume-from-a-summary">114<h3 id="resume-from-a-summary">

113 Возобновление из сводки115 Возобновление из сводки

114</h3>116</h3>

115 117 

116На плане Pro или Max, когда вы возобновляете сеанс, который был неактивен более часа и превышает 100 000 токенов, Claude Code восстанавливает диалог и затем открывает диалоговое окно перед отправкой первого сообщения. [Кэш приглашения](/docs/ru/prompt-caching#cache-lifetime) сеанса к тому времени истёк, поэтому следующий запрос обрабатывает полную историю один раз независимо от того, какой из вариантов диалога вы выберете.118На плане Pro или Max, когда вы возобновляете сессию, которая была неактивна примерно более часа и превышает 100 000 токенов, Claude Code восстанавливает диалог и затем открывает диалоговое окно до отправки вашего первого сообщения. К этому моменту [кэш промптов](/docs/ru/prompt-caching#cache-lifetime) сессии уже истёк, поэтому следующий запрос один раз обрабатывает полную историю независимо от того, какой вариант в диалоговом окне вы выберете.

117 119 

118Диалоговое окно предлагает три способа продолжить сеанс. Они отличаются тем, сколько диалога каждый из них переносит в более поздние запросы, что является компромиссом между сохранением каждой детали и отправкой меньшего количества токенов за запрос:120Диалоговое окно предлагает три способа продолжить сессию. Они различаются тем, какую часть диалога каждый из них переносит в последующие запросы, что представляет собой компромисс между сохранением всех деталей и отправкой меньшего количества токенов за запрос:

119 121 

120* **Возобновить из сводки**: немедленно запускает [`/compact`](/docs/ru/context-window#what-survives-compaction). Claude Code отправляет один запрос на суммирование по полной истории, затем заменяет историю сводкой, вашими самыми последними обменами и до пяти недавно прочитанными файлами. Более поздние запросы переносят сводку вместо полной истории.122* **Resume from summary**: немедленно запускает [`/compact`](/docs/ru/context-window#what-survives-compaction). Claude Code отправляет один запрос на суммирование по полной истории, затем заменяет историю сводкой, вашими самыми последними обменами сообщениями и не более чем пятью недавно прочитанными файлами. Последующие запросы содержат сводку вместо полной истории.

121* **Возобновить полный сеанс как есть**: загружает диалог без изменений. После отправки первого сообщения Claude Code переобрабатывает и повторно кэширует полную историю, затем повторно читает её из кэша при более поздних запросах, пока кэш остаётся активным.123* **Resume full session as-is**: загружает диалог без изменений. После отправки первого сообщения Claude Code повторно обрабатывает и повторно кэширует полную историю, а затем при последующих запросах считывает её из кэша, пока кэш остаётся активным.

122* **Больше не спрашивать**: возобновляет полный сеанс и прекращает показывать диалоговое окно при всех будущих возобновлениях.124* **Don't ask me again**: возобновляет полную сессию и больше не показывает это диалоговое окно при будущих возобновлениях.

123 125 

124Возобновление как есть сохраняет каждую деталь диалога доступной с затратами за запрос, которые масштабируются с размером диалога. Возобновление из сводки стоит меньше при каждом более позднем запросе, потому что оно переносит сводку вместо полной истории, но всё, что сводка опускает, больше не находится в контексте Claude. См. [почему использование растёт в длинном сеансе](/docs/ru/costs#why-usage-climbs-in-a-long-session) для того, откуда берётся эта затрата за запрос.126Возобновление как есть сохраняет доступными все детали диалога, но стоимость каждого запроса растёт с размером диалога. Возобновление из сводки обходится дешевле при каждом последующем запросе, поскольку передаётся сводка вместо полной истории, однако всё, что не вошло в сводку, больше не находится в контексте Claude. О том, откуда берётся эта стоимость за запрос, см. [почему использование растёт в длинной сессии](/docs/ru/costs#why-usage-climbs-in-a-long-session).

125 127 

126<h3 id="where-the-session-picker-looks">128<h3 id="where-the-session-picker-looks">

127 Где средство выбора сеансов ищет сеансы129 Где средство выбора сессий ищет сессии

128</h3>130</h3>

129 131 

130Claude Code хранит сеансы для каждого каталога проекта. По умолчанию средство выбора сеансов показывает:132Claude Code хранит сессии для каждого каталога проекта. По умолчанию средство выбора сессий показывает:

131 133 

132* Сеансы из текущего worktree, включая [фоновые сеансы](/docs/ru/agent-view), которые отмечены как `bg` в списке134* Сессии из текущего worktree, включая [фоновые сессии](/docs/ru/agent-view), которые отмечены в списке как `bg`

133* Сеансы, запущенные в других местах, которые добавили текущий каталог с помощью `/add-dir`135* Сессии, запущенные в других местах, которые добавили текущий каталог с помощью `/add-dir`

134 136 

135Используйте `Ctrl+W` для расширения на все worktrees репозитория или `Ctrl+A` для расширения на каждый проект на этой машине.137Используйте `Ctrl+W`, чтобы расширить список на все worktrees репозитория, или `Ctrl+A`, чтобы расширить его на все проекты на этой машине.

136 138 

137Сеансы, первый запрос которых был командой [`/loop`](/docs/ru/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop), не отображаются в средстве выбора, и `claude --continue` также их пропускает. Запуск `/loop` позже в диалоге не скрывает сеанс. До версии 2.1.211 запуск `/loop` в начале диалога скрывал сеанс из средства выбора навсегда.139Сессии, первым промптом которых была команда [`/loop`](/docs/ru/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop), не отображаются в средстве выбора, и `claude --continue` также их пропускает. Запуск `/loop` позже в диалоге не скрывает сессию. До версии 2.1.211 запуск `/loop` в начале диалога навсегда скрывал сессию из средства выбора.

138 140 

139Перемещение сеанса с помощью [`/cd`](/docs/ru/commands) переносит его в хранилище проекта нового каталога, поэтому он появляется в средстве выбора этого каталога впоследствии. Начиная с версии 2.1.196, перемещённый сеанс остаётся вне средства выбора старого каталога даже после сбоя или принудительного выхода. В более ранних версиях он также мог повторно появиться в списке старого каталога после выхода, который не был чистым, когда старый путь содержал специальные символы, такие как подчёркивания.141Перемещение сессии с помощью [`/cd`](/docs/ru/commands) переносит её в хранилище проекта нового каталога, поэтому впоследствии она появляется в средстве выбора этого каталога. Начиная с версии 2.1.196, перемещённая сессия не отображается в средстве выбора старого каталога даже после сбоя или принудительного выхода. В более ранних версиях она также могла снова появиться в списке старого каталога после некорректного выхода, если старый путь содержал специальные символы, например подчёркивания.

140 142 

141Выбор сеанса из другого worktree того же репозитория возобновляет его на месте; когда собственный worktree сеанса больше не существует, Claude Code [возобновляет его в вашем текущем каталоге](/docs/ru/worktrees#resume-a-worktree-session). Выбор сеанса из несвязанного проекта копирует команду `cd` и команду возобновления в буфер обмена. Если каталог этого проекта больше не существует, Claude Code возобновляет сеанс в вашем текущем каталоге, а не копирует команду `cd`, которая не сработает.143Когда вы выбираете сессию из другого worktree того же репозитория, Claude Code возобновляет её на месте; если собственный worktree сессии больше не существует, Claude Code [возобновляет её в вашем текущем каталоге](/docs/ru/worktrees#resume-a-worktree-session). Когда вы выбираете сессию из несвязанного проекта, Claude Code вместо этого копирует в буфер обмена команду `cd` и команду возобновления. Если каталог этого проекта больше не существует, Claude Code возобновляет сессию в вашем текущем каталоге, а не копирует команду `cd`, которая завершилась бы ошибкой.

142 144 

143Возобновление по имени разрешается в текущем репозитории и его worktrees. Обе формы ищут точное совпадение и возобновляют его напрямую, даже если он находится в другом worktree:145Возобновление по имени выполняет поиск в текущем репозитории и его worktrees. Обе формы ищут точное совпадение и возобновляют сессию напрямую, даже если она находится в другом worktree:

144 146 

145| Команда | Точное совпадение | Неоднозначное имя |147| Команда | Точное совпадение | Неоднозначное имя |

146| :- | :- | :- |148| :- | :- | :- |

147| `claude --resume <name>` | Возобновляет напрямую | Открывает средство выбора сеансов с предварительно заполненным именем в качестве условия поиска |149| `claude --resume <name>` | Возобновляет напрямую | Открывает средство выбора сессий с именем, предварительно заполненным в качестве поискового запроса |

148| `/resume <name>` | Возобновляет напрямую | Сообщает об ошибке; запустите `/resume` без аргументов, чтобы открыть средство выбора сеансов |150| `/resume <name>` | Возобновляет напрямую | Сообщает об ошибке; запустите `/resume` без аргумента, чтобы открыть средство выбора сессий |

149 151 

150<h2 id="name-your-sessions">152<h2 id="name-your-sessions">

151 Назовите ваши сессии153 Назовите ваши сессии

settings.md +45 −43

Details

407| Пользователь | `~/.claude/settings.json` | Вас, в каждом проекте на этой машине | Личные предпочтения: тема, режим редактора, модель по умолчанию, ваши собственные правила разрешений |407| Пользователь | `~/.claude/settings.json` | Вас, в каждом проекте на этой машине | Личные предпочтения: тема, режим редактора, модель по умолчанию, ваши собственные правила разрешений |

408| Общий проект | `.claude/settings.json` | Всех, кто работает в папке, которая его содержит. В репозитории git зафиксируйте его, чтобы товарищи по команде его получили | Разрешения команды, hooks, plugins и переменные окружения, которые нужны проекту |408| Общий проект | `.claude/settings.json` | Всех, кто работает в папке, которая его содержит. В репозитории git зафиксируйте его, чтобы товарищи по команде его получили | Разрешения команды, hooks, plugins и переменные окружения, которые нужны проекту |

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) | Всех, кому ваша организация его развёртывает; ничто из того, что вы установили, его не переопределяет, кроме нескольких [исключений, чувствительных к безопасности](#exceptions-to-managed-settings-precedence) | Требования политики безопасности и соответствия |410| Управляемый | `managed-settings.json` и другие [управляемые источники](/docs/ru/managed-settings#delivery-mechanisms) | Всех, кому ваша организация его развёртывает; раздел [Приоритет настроек](#settings-precedence) описывает, что может его переопределить | Требования политики безопасности и соответствия |

411 411 

412В столбце File `~/.claude` — это папка `.claude` в вашем домашнем каталоге, а простой `.claude` — это папка `.claude` внутри вашего проекта.412В столбце File `~/.claude` — это папка `.claude` в вашем домашнем каталоге, а простой `.claude` — это папка `.claude` внутри вашего проекта.

413 413 


650<span id="which-value-wins" />650<span id="which-value-wins" />

651 651 

652<h2 id="settings-precedence">652<h2 id="settings-precedence">

653 Приоритет параметров653 Приоритет настроек

654</h2>654</h2>

655 655 

656Когда один и тот же ключ появляется в нескольких местах, Claude Code использует значение из наивысшего уровня, который его устанавливает. Стек ниже показывает уровни, наивысший вверху; ключ на более высоком уровне переопределяет тот же ключ где-либо ниже.656Когда один и тот же ключ появляется в нескольких местах, Claude Code использует значение из наивысшего уровня, который его устанавливает. Стек ниже показывает уровни, наивысший вверху; ключ на более высоком уровне переопределяет тот же ключ где-либо ниже.


659 659 

660По порядку, наивысший приоритет первым:660По порядку, наивысший приоритет первым:

661 661 

6621. **Управляемые параметры**: параметры, которые ваша организация развертывает через файл `managed-settings.json`, политику MDM или [параметры, управляемые сервером](/docs/ru/server-managed-settings) из консоли claude.ai. Ничто из того, что вы устанавливаете, их не переопределяет: ключ, который вы передаете с `--settings`, не переопределяет тот же управляемый ключ, и флаг, такой как `--model`, выбирает только из моделей, которые разрешает ваша организация. Управляемый `model` устанавливает модель, с которой начинается каждая сессия, и вы все еще можете переключаться с помощью `/model`; блокировка — это [`availableModels`](/docs/ru/settings-reference#availablemodels), которая ограничивает `/model`, `--model` и ключ `model` в ваших собственных файлах. Когда ваша организация предоставляет более одного управляемого источника, правила для [приоритета в пределах управляемого уровня](/docs/ru/managed-settings#precedence-within-the-managed-tier) указывают, что Claude Code читает из каждого.6621. **Управляемые настройки**: настройки, которые ваша организация развертывает через файл `managed-settings.json`, политику MDM или [настройки, управляемые сервером](/docs/ru/server-managed-settings) из консоли claude.ai. Ничто в ваших собственных файлах настроек или в `--settings` не переопределяет управляемый ключ, а флаг, такой как `--model`, выбирает только из моделей, которые разрешает ваша организация. Управляемый [`model`](/docs/ru/settings-reference#model) — это начальное значение по умолчанию, а не блокировка; блокировками являются [`availableModels`](/docs/ru/settings-reference#availablemodels) и [`deniedModels`](/docs/ru/settings-reference#deniedmodels). Когда ваша организация предоставляет более одного управляемого источника, правила для [приоритета в пределах управляемого уровня](/docs/ru/managed-settings#precedence-within-the-managed-tier) указывают, что Claude Code читает из каждого.

6632. **Аргументы командной строки**: флаги, которые вы передаете при запуске `claude` из терминала, для одной сессии; см. [Изменить параметр для одной сессии](#change-a-setting-for-one-session). Claude Code объединяет JSON, который вы передаете с `--settings <file-or-json>`, с вашими файлами параметров по тем же правилам, что и другие уровни: он берет ключ, который вы устанавливаете здесь, над тем же ключом в локальных, проектных или пользовательских параметрах, и сохраняет значение более низкого уровня для ключа, который вы опускаете.6632. **Командная строка**: JSON, который вы передаете с `--settings <file-or-json>` при запуске `claude`, только для этой сессии; см. [Изменить настройку для одной сессии](#change-a-setting-for-one-session). Ключ, который вы устанавливаете здесь, переопределяет тот же ключ в ваших файлах настроек проекта и пользователя, а ключ, который вы опускаете, сохраняет свое значение из этих файлов. Другие флаги, такие как `--model`, устанавливают что-то одно для сессии и не являются частью этого стека; запись ключа в [справочнике настроек](/docs/ru/settings-reference) указывает, какие флаги его переопределяют.

6643. **Локальные параметры проекта** (`.claude/settings.local.json`): ваши личные параметры для этого проекта.6643. **Локальные настройки проекта** (`.claude/settings.local.json`): ваши личные настройки для этого проекта.

6654. **Общие параметры проекта** (`.claude/settings.json`): параметры, которые ваша команда проверяет в систему управления версиями.6654. **Общие настройки проекта** (`.claude/settings.json`): настройки, которые ваша команда фиксирует в системе управления версиями.

6665. **Пользовательские параметры** (`~/.claude/settings.json`): ваши личные параметры для каждого проекта.6665. **Пользовательские настройки** (`~/.claude/settings.json`): ваши личные настройки для каждого проекта.

667 667 

668Переменные окружения не являются уровнем в этом стеке. Когда поведение имеет как переменную оболочки, так и ключ параметров, какой из них применяется, решается для каждой пары отдельно, а не по уровню: `ANTHROPIC_MODEL`, экспортированная в вашей оболочке, применяется над ключом `model` из любого файла, в то время как `ANTHROPIC_DEFAULT_MODEL` применяется только когда ни один файл не устанавливает `model`. [Справочник переменных окружения](/docs/ru/env-vars#precedence) указывает, какие ключи имеют пару и какой из них Claude Code читает первым. Блок `env` внутри файла параметров — это обычный ключ и следует уровням выше.668Переменные окружения не являются уровнем в этом стеке. Когда поведение имеет как переменную оболочки, так и ключ настроек, какой из них применяется, решается для каждой пары отдельно, а не по уровню: `ANTHROPIC_MODEL`, экспортированная в вашей оболочке, применяется поверх ключа `model` из любого файла, в то время как `ANTHROPIC_DEFAULT_MODEL` применяется только когда ни один файл не устанавливает `model`. [Справочник переменных окружения](/docs/ru/env-vars#precedence) указывает, какие ключи имеют пару и какой из них Claude Code читает первым. Блок `env` внутри файла настроек — это обычный ключ и следует уровням выше.

669 669 

670Для нескольких ключей, чувствительных к безопасности, Claude Code соблюдает более строгое значение из более низкого уровня над управляемым значением; [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence) их перечисляет.670Для нескольких ключей, чувствительных к безопасности, Claude Code соблюдает более строгое значение из более низкого уровня вместо управляемого значения; [Исключения из приоритета управляемых настроек](#exceptions-to-managed-settings-precedence) их перечисляет.

671 671 

672<h3 id="lists-merge-instead-of-overriding">672<h3 id="lists-merge-instead-of-overriding">

673 Списки объединяются вместо переопределения673 Списки объединяются вместо переопределения


676Когда вы устанавливаете один и тот же ключ списка, такой как `permissions.allow`, в более чем одном файле, Claude Code объединяет списки вместо выбора одного, поэтому каждый файл может добавлять записи без удаления записей другого файла. Четыре ключа, которые содержат списки моделей или записи для каждой модели, следуют своим собственным правилам:676Когда вы устанавливаете один и тот же ключ списка, такой как `permissions.allow`, в более чем одном файле, Claude Code объединяет списки вместо выбора одного, поэтому каждый файл может добавлять записи без удаления записей другого файла. Четыре ключа, которые содержат списки моделей или записи для каждой модели, следуют своим собственным правилам:

677 677 

678* [`fallbackModel`](/docs/ru/settings-reference#fallbackmodel) — это упорядоченная цепь, где позиция имеет значение, поэтому Claude Code берет все значение из файла с наивысшим приоритетом, который его определяет.678* [`fallbackModel`](/docs/ru/settings-reference#fallbackmodel) — это упорядоченная цепь, где позиция имеет значение, поэтому Claude Code берет все значение из файла с наивысшим приоритетом, который его определяет.

679* [`modelPicker`](/docs/ru/settings-reference#modelpicker) содержит один упорядоченный список строк плюс флаг замены, поэтому Claude Code никогда не объединяет строки из двух источников. Он берет все значение из наивысшего из управляемых параметров, `--settings` и пользовательских параметров, которые его определяют, и игнорирует ключ в проектных и локальных параметрах. Требует Claude Code v2.1.242 или позже.679* [`modelPicker`](/docs/ru/settings-reference#modelpicker) содержит один упорядоченный список строк плюс флаг замены, поэтому Claude Code никогда не объединяет строки из двух источников. Он берет все значение из наивысшего из управляемых настроек, `--settings` и пользовательских настроек, которые его определяют, и игнорирует ключ в настройках проекта и локальных настройках. Требует Claude Code v2.1.242 или позже.

680* [`availableModels`](/docs/ru/settings-reference#availablemodels): когда применяемые управляемые параметры Claude Code его определяют, Claude Code применяет этот список как есть и игнорирует записи, которые вы добавляете в пользовательские, проектные или локальные параметры, если только приложение, которое встраивает Claude Code, не предоставляет свой собственный список моделей; см. [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence). Во всех управляемых источниках список также никогда не объединяется; [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) указывает, какой список источника применяется. Во всех неуправляемых областях Claude Code объединяет массивы как обычно.680* [`availableModels`](/docs/ru/settings-reference#availablemodels): когда применяемые Claude Code управляемые настройки его определяют, Claude Code применяет этот список как есть и игнорирует записи, которые вы добавляете в пользовательские, проектные или локальные настройки, если только приложение, которое встраивает Claude Code, не предоставляет свой собственный список моделей; см. [Исключения из приоритета управляемых настроек](#exceptions-to-managed-settings-precedence). Во всех управляемых источниках список также никогда не объединяется; [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) указывает, какой список источника применяется. Во всех неуправляемых областях действия Claude Code объединяет массивы как обычно.

681* [`modelSettings`](/docs/ru/settings-reference#modelsettings): Claude Code разрешает его одну модель за раз, вместе с [`effortLevel`](/docs/ru/settings-reference#effortlevel). Запись `modelSettings` указывает, какое значение файла применяется к модели.681* [`modelSettings`](/docs/ru/settings-reference#modelsettings): Claude Code разрешает его одну модель за раз, вместе с [`effortLevel`](/docs/ru/settings-reference#effortlevel). Запись `modelSettings` указывает, какое значение файла применяется к модели.

682 682 

683<span id="examples" />683<span id="examples" />


686 Примеры приоритета686 Примеры приоритета

687</h3>687</h3>

688 688 

689Пока Claude работает, Claude Code показывает подсказку в одну строку под спиннером, например "Используйте /config для изменения режима разрешений по умолчанию (включая Plan Mode)". Предположим, вы хотите отключить эти подсказки, поэтому вы устанавливаете [`spinnerTipsEnabled`](/docs/ru/settings-reference#spinnertipsenabled) в `false` в `~/.claude/settings.json`. Каждый сценарий ниже — это что-то, что может их снова включить, и что вы можете с этим сделать.689Пока Claude работает, Claude Code показывает подсказку в одну строку под спиннером, например "Use /config to change your default permission mode (including Plan Mode)". Предположим, вы хотите отключить эти подсказки, поэтому вы устанавливаете [`spinnerTipsEnabled`](/docs/ru/settings-reference#spinnertipsenabled) в `false` в `~/.claude/settings.json`. Каждый сценарий ниже — это что-то, что может их снова включить, и что вы можете с этим сделать.

690 690 

691<h4 id="team-settings-override-personal-settings">691<h4 id="team-settings-override-personal-settings">

692 Параметры команды переопределяют личные параметры692 Настройки команды переопределяют личные настройки

693</h4>693</h4>

694 694 

695Параметры `.claude/settings.json` вашей команды устанавливают это в `true`. Claude Code использует значение проекта, потому что общие параметры проекта находятся выше пользовательских, поэтому вы видите подсказки в этом проекте и больше нигде.695Файл `.claude/settings.json` вашей команды устанавливает это в `true`. Claude Code использует значение проекта, потому что общие настройки проекта находятся выше пользовательских, поэтому вы видите подсказки в этом проекте и больше нигде.

696 696 

697Вы можете вернуть свое значение: добавьте `"spinnerTipsEnabled": false` в `.claude/settings.local.json` в этом проекте. Локальные параметры проекта находятся выше общих параметров проекта, поэтому ваши сессии там перестанут показывать подсказки, а сессии ваших товарищей по команде не изменятся.697Вы можете вернуть свое значение: добавьте `"spinnerTipsEnabled": false` в `.claude/settings.local.json` в этом проекте. Локальные настройки проекта находятся выше общих настроек проекта, поэтому ваши сессии там перестанут показывать подсказки, а сессии ваших товарищей по команде не изменятся.

698 698 

699<h4 id="organization-settings-override-everything">699<h4 id="organization-settings-override-everything">

700 Параметры организации переопределяют все700 Настройки организации переопределяют все

701</h4>701</h4>

702 702 

703Управляемые параметры вашей организации устанавливают это в `true`. Ничто из того, что вы поместите в пользовательские, проектные или локальные параметры, не отключит подсказки, и `--settings` тоже не отключит. Управляемые параметры — это наивысший уровень.703Управляемые настройки вашей организации устанавливают это в `true`. Ничто из того, что вы поместите в пользовательские, проектные или локальные настройки, не отключит подсказки, и `--settings` тоже не отключит. Управляемые настройки — это наивысший уровень.

704 704 

705Вы не можете вернуть свое значение. Запустите `/status`, чтобы увидеть, какой управляемый источник применяется, и попросите вашего администратора изменить политику.705Вы не можете вернуть свое значение. Запустите `/status`, чтобы увидеть, какой управляемый источник применяется, и спросите у вашего администратора, следует ли изменить политику.

706 706 

707<h4 id="the-command-line-overrides-your-files-for-one-session">707<h4 id="the-command-line-overrides-your-files-for-one-session">

708 Командная строка переопределяет ваши файлы для одной сессии708 Командная строка переопределяет ваши файлы для одной сессии


710 710 

711Вы запустили сессию с `claude --settings '{"spinnerTipsEnabled": true}'`. Командная строка находится выше каждого файла, кроме управляемых, поэтому эта сессия показывает подсказки, даже если ваши файлы говорят `false`.711Вы запустили сессию с `claude --settings '{"spinnerTipsEnabled": true}'`. Командная строка находится выше каждого файла, кроме управляемых, поэтому эта сессия показывает подсказки, даже если ваши файлы говорят `false`.

712 712 

713Вы получите свое значение обратно в следующей сессии; `--settings` длится одну сессию и не записывает в какой-либо файл.713Вы получите свое значение обратно в следующей сессии; `--settings` действует одну сессию и не записывает ни в какой файл.

714 714 

715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">

716 Флаг или переменная окружения устанавливает то же самое716 Флаг или переменная окружения устанавливает то же самое

717</h4>717</h4>

718 718 

719Некоторые ключи имеют флаг командной строки или переменную окружения, которая переопределяет значение параметров независимо от того, какой файл его установил: `ANTHROPIC_MODEL` переопределяет параметр [`model`](/docs/ru/settings-reference#model), а `--model` переопределяет оба для сессии.719Некоторые ключи имеют флаг командной строки или переменную окружения, которая переопределяет значение настройки независимо от того, какой файл его установил: `ANTHROPIC_MODEL` переопределяет настройку [`model`](/docs/ru/settings-reference#model), а `--model` переопределяет оба для сессии.

720 720 

721Можете ли вы вернуть свое значение, зависит от ключа: отмените переменную или удалите флаг, и проверьте запись ключа на [справочнике параметров](/docs/ru/settings-reference) и строку переменной на [справочнике переменных окружения](/docs/ru/env-vars), чтобы узнать, какой из них использует Claude Code.721Можете ли вы вернуть свое значение, зависит от ключа: отмените переменную или удалите флаг, и проверьте запись ключа в [справочнике настроек](/docs/ru/settings-reference) и строку переменной в [справочнике переменных окружения](/docs/ru/env-vars), чтобы узнать, какой из них использует Claude Code.

722 722 

723<span id="keys-ignored-in-a-repository-file" />723<span id="keys-ignored-in-a-repository-file" />

724 724 


729<span id="which-value-applies-in-common-situations" />729<span id="which-value-applies-in-common-situations" />

730 730 

731<h3 id="troubleshoot-a-setting-that-doesn’t-apply">731<h3 id="troubleshoot-a-setting-that-doesn’t-apply">

732 Устранение неполадок с параметром, который не применяется732 Устранение неполадок с настройкой, которая не применяется

733</h3>733</h3>

734 734 

735Когда вы устанавливаете ключ и Claude Code не ведет себя так, как если бы вы это сделали, начните с `/status`, чтобы увидеть, какие файлы он загрузил, затем найдите ваш симптом ниже. [Отладка вашей конфигурации](/docs/ru/debug-your-config) охватывает более широкие проверки, включая тест чистой конфигурации.735Когда вы устанавливаете ключ и Claude Code не ведет себя так, как если бы вы это сделали, начните с `/status`, чтобы увидеть, какие файлы он загрузил, затем найдите ваш симптом ниже. [Отладка вашей конфигурации](/docs/ru/debug-your-config) охватывает более широкие проверки, включая тест чистой конфигурации.


740 740 

741Что-то еще устанавливает тот же ключ, файл не может установить это значение, или файл не загрузился:741Что-то еще устанавливает тот же ключ, файл не может установить это значение, или файл не загрузился:

742 742 

743* **Более высокий уровень его устанавливает.** Другой файл параметров, флаг `--settings` или управляемый источник устанавливает ключ выше вашего; [стек](#settings-precedence) указывает, какой. Флаг или переменная окружения также может переопределить ключ самостоятельно, решаемый ключ за ключом; запись ключа на [справочнике параметров](/docs/ru/settings-reference) указывает, какой из них использует Claude Code, и [запись `env`](/docs/ru/settings-reference#env) охватывает управляемое значение `env` в сравнении с экспортом оболочки.743* **Более высокий уровень его устанавливает.** Другой файл настроек, флаг `--settings` или управляемый источник устанавливает ключ выше вашего; [стек](#settings-precedence) указывает, какой. Флаг или переменная окружения также может переопределить ключ самостоятельно, что решается для каждого ключа отдельно; запись ключа в [справочнике настроек](/docs/ru/settings-reference) указывает, какой из них использует Claude Code, а [запись `env`](/docs/ru/settings-reference#env) описывает управляемое значение `env` в сравнении с экспортом в оболочке.

744* **Ключ безопасности сохраняет свое строгое значение.** Для нескольких ключей Claude Code соблюдает ограничивающее значение из любого файла, поэтому проектный `true` для [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) остается включенным; см. [Исключения из приоритета управляемых параметров](#exceptions-to-managed-settings-precedence).744* **Ключ безопасности сохраняет свое строгое значение.** Для нескольких ключей Claude Code соблюдает ограничивающее значение из любого файла, поэтому проектный `true` для [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) остается включенным; см. [Исключения из приоритета управляемых настроек](#exceptions-to-managed-settings-precedence).

745* **Файл не может установить это значение.** Значения [`permissions.defaultMode`](/docs/ru/settings-reference#permissions-defaultmode) `auto` и `bypassPermissions` не вступают в силу из проектных или локальных параметров; установите их в пользовательские или управляемые параметры вместо этого, или передайте `--permission-mode` для одной сессии. До v2.1.257 `bypassPermissions` вступал в силу из любого файла.745* **Файл не может установить это значение.** Значения [`permissions.defaultMode`](/docs/ru/settings-reference#permissions-defaultmode) `auto` и `bypassPermissions` не вступают в силу из проектных или локальных настроек; установите их вместо этого в пользовательских или управляемых настройках или передайте `--permission-mode` для одной сессии. До v2.1.257 `bypassPermissions` вступал в силу из любого файла.

746 746 

747 Переменная экспорта телеметрии в блоке [`env`](/docs/ru/settings-reference#env) также не вступает в силу из проектных или локальных параметров, кроме нескольких отключенных значений. [Переменные, которые Claude Code игнорирует в `env`](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) перечисляет переменные и эти значения.747 Переменная экспорта телеметрии в блоке [`env`](/docs/ru/settings-reference#env) также не вступает в силу из проектных или локальных настроек, кроме нескольких отключающих значений. [Переменные, которые Claude Code игнорирует в `env`](/docs/ru/settings-reference#variables-claude-code-ignores-in-env) перечисляет переменные и эти значения.

748* **Файл сломан.** Неверный JSON или отклоненное значение заставляет Claude Code пропустить файл или запись; см. [Исправить сломанный файл параметров](#fix-a-broken-settings-file).748* **Файл сломан.** Неверный JSON или отклоненное значение заставляет Claude Code пропустить файл или запись; см. [Исправить сломанный файл настроек](#fix-a-broken-settings-file).

749 749 

750<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">750<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">

751 Изменение, которое вы сделали в Claude Code, теряется в новых сессиях751 Изменение, которое вы сделали в Claude Code, теряется в новых сессиях

752</h4>752</h4>

753 753 

754Когда вы сохраняете выбор для новых сессий из Claude Code, например модель по умолчанию с `/model`, Claude Code записывает это в ваш файл пользовательских параметров, `~/.claude/settings.json`. Если вы не можете писать в этот файл, например потому что другой инструмент его генерирует или связывает его с копией только для чтения, изменение применяется к текущей сессии и исчезает в следующей. Установите ключ в инструменте, который генерирует файл, или замените файл на тот, в который вы можете писать.754Когда вы сохраняете выбор для новых сессий из Claude Code, например модель по умолчанию с `/model`, Claude Code записывает это в ваш файл пользовательских настроек, `~/.claude/settings.json`. Если вы не можете писать в этот файл, например потому что другой инструмент его генерирует или связывает его с копией только для чтения, изменение применяется к текущей сессии и исчезает в следующей. Установите ключ в инструменте, который генерирует файл, или замените файл на тот, в который вы можете писать.

755 755 

756Если вы можете писать в файл и изменение все еще не сохраняется, проверьте, было ли изменение [только для одной сессии](#change-a-setting-for-one-session) или [более высокий уровень устанавливает тот же ключ](#a-value-you-set-is-ignored). Для ключа `model` [Новая сессия начинается с другой модели, чем вы выбрали](/docs/ru/model-config#a-new-session-starts-on-a-different-model-than-you-picked) перечисляет больше причин.756Если вы можете писать в файл и изменение все еще не сохраняется, проверьте, было ли изменение [только для одной сессии](#change-a-setting-for-one-session) или [более высокий уровень устанавливает тот же ключ](#a-value-you-set-is-ignored). Для ключа `model` [Новая сессия начинается с другой модели, чем вы выбрали](/docs/ru/model-config#a-new-session-starts-on-a-different-model-than-you-picked) перечисляет больше причин.

757 757 


759 Управляемое изменение не достигло вас759 Управляемое изменение не достигло вас

760</h4>760</h4>

761 761 

762Управляемые источники достигают работающей сессии по расписанию в [таблице доставки](/docs/ru/managed-settings#choose-a-delivery-mechanism), поэтому сначала перезагрузите сессию. Если `/status` затем называет другой источник, чем тот, который изменил ваш администратор, применяется источник с более высоким приоритетом; [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) дает порядок.762Управляемые источники достигают работающей сессии по расписанию в [таблице доставки](/docs/ru/managed-settings#choose-a-delivery-mechanism), поэтому сначала перезапустите сессию. Если `/status` затем называет другой источник, чем тот, который изменил ваш администратор, применяется источник с более высоким приоритетом; [Как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) дает порядок.

763 763 

764<h4 id="a-committed-key-doesn’t-reach-teammates">764<h4 id="a-committed-key-doesn’t-reach-teammates">

765 Зафиксированный ключ не достигает товарищей по команде765 Зафиксированный ключ не достигает товарищей по команде

766</h4>766</h4>

767 767 

768Две вещи не позволяют ключу в `.claude/settings.json` применяться для всех, кто его клонирует:768Две вещи не позволяют ключу в `.claude/settings.json` применяться для всех, кто клонирует репозиторий:

769 769 

770* **Claude Code игнорирует ключ в файле репозитория.** Ищите `User, local, or managed`, `User or managed`, `Managed` или `Global config` в столбце Scope [индекса параметров](/docs/ru/settings-reference#settings-index). Эти ключи никогда не применяются из общего файла, кроме нескольких, которые файл репозитория все еще может отключить. Каждая из этих записей говорит об этом на строке Scope. Ключи `Global config` применяются только из `~/.claude.json`.770* **Claude Code игнорирует ключ в файле репозитория.** Ищите `User, local, or managed`, `User or managed`, `Managed` или `Global config` в столбце Scope [индекса настроек](/docs/ru/settings-reference#settings-index). Эти ключи никогда не применяются из общего файла, кроме нескольких, которые файл репозитория все еще может отключить. Каждая из этих записей говорит об этом в строке Scope. Ключи `Global config` применяются только из `~/.claude.json`.

771 771 

772 Внутри ключа `env` переменные экспорта телеметрии также никогда не применяются из общего файла, кроме нескольких отключенных значений; см. [Переменные, которые Claude Code игнорирует в `env`](/docs/ru/settings-reference#variables-claude-code-ignores-in-env).772 Внутри ключа `env` переменные экспорта телеметрии также никогда не применяются из общего файла, кроме нескольких отключающих значений; см. [Переменные, которые Claude Code игнорирует в `env`](/docs/ru/settings-reference#variables-claude-code-ignores-in-env).

773* **Ключ ждет доверия.** Правила `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` и большинство значений [`env`](/docs/ru/settings-reference#env) применяются только после того, как каждый товарищ по команде [доверяет папке](/docs/ru/permissions#project-allow-rules-and-workspace-trust). До этого они все еще видят подсказки и не получают плагины с маркетплейса, который объявляет файл. Правила `deny` и `ask` применяются сразу же.773* **Ключ ждет доверия.** Правила `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces` и большинство значений [`env`](/docs/ru/settings-reference#env) применяются только после того, как каждый товарищ по команде [доверит папке](/docs/ru/permissions#project-allow-rules-and-workspace-trust). До этого они все еще видят запросы разрешений и не получают плагины с маркетплейса, который объявляет файл. Правила `deny` и `ask` применяются сразу же.

774 774 

775<h4 id="permission-rules-combine-differently-than-you-expected">775<h4 id="permission-rules-combine-differently-than-you-expected">

776 Правила разрешений объединяются иначе, чем вы ожидали776 Правила разрешений объединяются иначе, чем вы ожидали

777</h4>777</h4>

778 778 

779* **Вы выбрали "Да, и больше не спрашивайте" в подсказке разрешения, но все еще получаете подсказку для того же инструмента.** Этот выбор сохранил правило `allow` в ваш локальный файл, и правило `allow` там не превосходит правило `ask` из проектного или управляемого файла; [как правила разрешений объединяются](/docs/ru/permissions#settings-precedence) объясняет порядок. В расширении VS Code карточка одобрения позволяет вам выбрать файл назначения, включая общий файл проекта, что изменяет правило для всех; в CLI Claude Code пишет только в ваш локальный файл.779* **Вы выбрали "Yes, and don't ask again" в запросе разрешения, но все еще получаете запрос для того же инструмента.** Этот выбор сохранил правило `allow` в ваш локальный файл, и правило `allow` там не превосходит правило `ask` из проектного или управляемого файла; [как объединяются правила разрешений](/docs/ru/permissions#settings-precedence) объясняет порядок. В расширении VS Code карточка подтверждения позволяет вам выбрать файл назначения, включая общий файл проекта, что изменяет правило для всех; в CLI Claude Code пишет только в ваш локальный файл.

780* **Правила разрешения вашей организации все еще применяются наряду с вашими.** Это ожидаемо: Claude Code объединяет [`permissions.allow`](/docs/ru/settings-reference#permissions-allow) во всех областях, если только ваша организация не устанавливает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly).780* **Разрешающие правила вашей организации все еще применяются наряду с вашими.** Это ожидаемо: Claude Code объединяет [`permissions.allow`](/docs/ru/settings-reference#permissions-allow) во всех областях действия, если только ваша организация не устанавливает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly).

781 781 

782<span id="security-keys-where-the-stricter-value-applies" />782<span id="security-keys-where-the-stricter-value-applies" />

783 783 

784<h3 id="exceptions-to-managed-settings-precedence">784<h3 id="exceptions-to-managed-settings-precedence">

785 Исключения из приоритета управляемых параметров785 Исключения из приоритета управляемых настроек

786</h3>786</h3>

787 787 

788Для нескольких ключей, значения которых ограничивают сессию, Claude Code соблюдает ограничивающее значение из области, которая в противном случае не могла бы переопределить управляемые параметры. Найдите ключ в этой таблице, чтобы увидеть, какое значение он соблюдает и откуда.788Для нескольких ключей, значения которых ограничивают сессию, Claude Code соблюдает ограничивающее значение из области действия, которая в противном случае не могла бы переопределить управляемые настройки. Найдите ключ в этой таблице, чтобы увидеть, какое значение он соблюдает и откуда.

789 789 

790| Ключ | Значение, которое соблюдает Claude Code | Примечания |790| Ключ | Значение, которое соблюдает Claude Code | Примечания |

791| :- | :- | :- |791| :- | :- | :- |

792| [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) | `true` из любой области | Соблюдается даже когда управляемый источник устанавливает `false` |792| [`disableClaudeAiConnectors`](/docs/ru/settings-reference#disableclaudeaiconnectors) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false` |

793| [`enableArtifact`](/docs/ru/settings-reference#enableartifact) | `false` из любой области и `disableArtifact: true` из любой области | Соблюдается даже когда управляемый источник устанавливает `true`; ничто не включает [инструмент Artifact](/docs/ru/artifacts#disable-artifacts) обратно. Требует Claude Code v2.1.242 или позже |793| [`enableArtifact`](/docs/ru/settings-reference#enableartifact) | `false` из любой области действия и `disableArtifact: true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `true`; ничто не включает [инструмент Artifact](/docs/ru/artifacts#disable-artifacts) обратно. Требует Claude Code v2.1.242 или позже |

794| [`isolatePeerMachines`](/docs/ru/settings-reference#isolatepeermachines) | `true` из любой области | Соблюдается даже когда управляемый источник устанавливает `false` |794| [`isolatePeerMachines`](/docs/ru/settings-reference#isolatepeermachines) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false` |

795| [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) | `true` из любой области действия | Соблюдается даже когда управляемый источник устанавливает `false`. Требует Claude Code v2.1.257 или позже |

796| [`autoMode.classifyAllShell`](/docs/ru/settings-reference#automode-classifyallshell) | `true` из `~/.claude/settings.json` или `--settings` | Соблюдается даже когда управляемый источник устанавливает `false` |

795| [`remoteControlAtStartup`](/docs/ru/settings-reference#remotecontrolatstartup) | `false` из `.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда управляемый источник устанавливает `true`; проектный или локальный `true` игнорируется |797| [`remoteControlAtStartup`](/docs/ru/settings-reference#remotecontrolatstartup) | `false` из `.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда управляемый источник устанавливает `true`; проектный или локальный `true` игнорируется |

796| [`crossSessionInbound`](/docs/ru/settings-reference#crosssessioninbound) | Более строгое значение из `.claude/settings.json` или `.claude/settings.local.json`, на лестнице `accept` \< `hold` \< `refuse` | Соблюдается над управляемыми, `--settings` и пользовательскими значениями; проектное или локальное значение, которое не является более строгим, игнорируется |798| [`crossSessionInbound`](/docs/ru/settings-reference#crosssessioninbound) | Более строгое значение из `.claude/settings.json` или `.claude/settings.local.json`, на лестнице `accept` \< `hold` \< `refuse` | Соблюдается вместо управляемых, `--settings` и пользовательских значений; проектное или локальное значение, которое не является более строгим, игнорируется |

797| [`useAutoModeDuringPlan`](/docs/ru/settings-reference#useautomodeduringplan) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |799| [`useAutoModeDuringPlan`](/docs/ru/settings-reference#useautomodeduringplan) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |

798| [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |800| [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |

799| [`syncClaudeAiPlugins`](/docs/ru/settings-reference#syncclaudeaiplugins) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |801| [`syncClaudeAiPlugins`](/docs/ru/settings-reference#syncclaudeaiplugins) | `false` из любого управляемого источника, `--settings`, `~/.claude/settings.json` или `.claude/settings.local.json` | Соблюдается даже когда выигрывающий управляемый источник устанавливает `true`; `false` в `.claude/settings.json` игнорируется |

800| [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) | Более низкий предел из любой области, включая `--settings` | Соблюдается даже когда применяемые управляемые параметры Claude Code устанавливают более высокий предел; применяется самый низкий предел. Требует Claude Code v2.1.267 или позже |802| [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) | Более низкий предел из любой области действия, включая `--settings` | Соблюдается даже когда применяемые Claude Code управляемые настройки устанавливают более высокий предел; применяется самый низкий предел. Требует Claude Code v2.1.267 или позже |

801 803 

802Приложение, которое запускает Claude Code внутри себя и устанавливает [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars), также является исключением. Claude Code берет конфигурацию модели этого приложения над ключами `model`, `fallbackModel`, `modelPicker` и `modelOverrides` из каждого управляемого источника, и над переменными выбора модели в управляемом блоке `env`, такими как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code сохраняет управляемый список разрешений [`availableModels`](/docs/ru/settings-reference#availablemodels) в силе, если только приложение не предоставляет свой собственный.804Приложение, которое запускает Claude Code внутри себя и устанавливает [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars), также является исключением. Claude Code берет конфигурацию модели этого приложения вместо ключей `model`, `fallbackModel`, `modelPicker` и `modelOverrides` из каждого управляемого источника, а также вместо переменных выбора модели в управляемом блоке `env`, таких как `ANTHROPIC_MODEL` и семейство `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code сохраняет в силе управляемый список разрешённых моделей [`availableModels`](/docs/ru/settings-reference#availablemodels), если только приложение не предоставляет свой собственный.

803 805 

804<h2 id="settings-in-cloud-sessions">806<h2 id="settings-in-cloud-sessions">

805 Параметры в облачных сеансах807 Параметры в облачных сеансах

Details

870 870 

871Отключите [расширенное мышление](/docs/ru/model-config#extended-thinking) для каждого сеанса, установив это значение на `false`. Мышление включено по умолчанию, поэтому `true` ничего не меняет. Большинство людей устанавливают это через `/config` вместо редактирования файла.871Отключите [расширенное мышление](/docs/ru/model-config#extended-thinking) для каждого сеанса, установив это значение на `false`. Мышление включено по умолчанию, поэтому `true` ничего не меняет. Большинство людей устанавливают это через `/config` вместо редактирования файла.

872 872 

873На моделях, которые всегда думают, таких как Opus 5.5, Sonnet 5.5 и модели Fable, `false` не имеет эффекта. На [сторонних поставщиках](/docs/ru/third-party-integrations) Claude Code опускает параметр `thinking` вместо отключения мышления, поэтому адаптивные модели рассуждений могут всё ещё думать. При отключении мышления на Anthropic API Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как известно, [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), такие как Opus 5.873На моделях, которые всегда используют мышление, таких как Opus 5.5, Sonnet 5.5, Haiku 5.5 и модели Fable, `false` не имеет эффекта. У [сторонних поставщиков](/docs/ru/third-party-integrations) Claude Code опускает параметр `thinking` вместо отключения мышления, поэтому модели с адаптивными рассуждениями всё ещё могут использовать мышление. При отключённом мышлении в Anthropic API Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как ему известно, [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), таким как Opus 5.

874 874 

875* **Область действия**: [`Any file`](#scopes)875* **Область действия**: [`Any file`](#scopes)

876* **Тип**: Boolean876* **Тип**: Boolean

setup.md +5 −3

Details

49 curl -fsSL https://claude.ai/install.sh | bash49 curl -fsSL https://claude.ai/install.sh | bash

50 ```50 ```

51 51 

52 В Windows приглашение командной строки показывает `PS C:\`, когда вы находитесь в PowerShell, и `C:\` без `PS`, когда вы находитесь в CMD.

53 

52 **Windows PowerShell:**54 **Windows PowerShell:**

53 55 

54 ```powershell theme={null}56 ```powershell theme={null}


63 65 

64 Когда установщик завершит работу, откройте новое окно терминала и выполните `claude --version`. Работающая установка выводит номер версии. Если ваша оболочка говорит, что `claude` не найден или не распознан, каталог установки еще не находится в вашем PATH: см. [Исправьте ваш PATH](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation).66 Когда установщик завершит работу, откройте новое окно терминала и выполните `claude --version`. Работающая установка выводит номер версии. Если ваша оболочка говорит, что `claude` не найден или не распознан, каталог установки еще не находится в вашем PATH: см. [Исправьте ваш PATH](/docs/ru/troubleshoot-install#command-not-found-claude-after-installation).

65 67 

66 Если вы видите `The token '&&' is not a valid statement separator`, вы находитесь в PowerShell, а не в CMD. Если вы видите `'irm' is not recognized as an internal or external command`, вы находитесь в CMD, а не в PowerShell. Ваша подсказка показывает `PS C:\` когда вы находитесь в PowerShell и `C:\` без `PS` когда вы находитесь в CMD.68 Если вы видите `The token '&&' is not a valid statement separator`, вы находитесь в PowerShell, а не в CMD. Если вы видите `'irm' is not recognized as an internal or external command`, вы находитесь в CMD, а не в PowerShell.

67 69 

68 Если команда установки завершается с ошибкой `syntax error near unexpected token '<'`, `403` или другой ошибкой curl, см. [Устранение неполадок при установке](/docs/ru/troubleshoot-install#find-your-error) чтобы сопоставить ошибку с исправлением и для альтернативных методов установки.70 Если команда установки завершается с ошибкой `syntax error near unexpected token '<'`, `403` или любой другой ошибкой, см. [Устранение неполадок при установке](/docs/ru/troubleshoot-install#find-your-error), чтобы сопоставить ошибку с исправлением и для альтернативных методов установки.

69 71 

70 [Git for Windows](https://git-scm.com/downloads/win) рекомендуется на встроенной Windows, чтобы Claude Code мог использовать инструмент Bash. Если Git for Windows не установлен, Claude Code использует PowerShell в качестве инструмента оболочки. Установки WSL не требуют Git for Windows.72 [Git for Windows](https://git-scm.com/downloads/win) рекомендуется на встроенной Windows, чтобы Claude Code мог использовать инструмент Bash. Если Git for Windows не установлен, Claude Code использует PowerShell в качестве инструмента оболочки. Установки WSL не требуют Git for Windows.

71 73 


204 206 

205Claude Code требует учетную запись Pro, Max, Team, Enterprise или Console. Бесплатный план claude.ai не включает доступ к Claude Code. Вы также можете использовать Claude Code с поставщиком API третьей стороны, таким как [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry).207Claude Code требует учетную запись Pro, Max, Team, Enterprise или Console. Бесплатный план claude.ai не включает доступ к Claude Code. Вы также можете использовать Claude Code с поставщиком API третьей стороны, таким как [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry).

206 208 

207После установки войдите, выполнив `claude` и следуя подсказкам браузера. Если установлена переменная окружения `ANTHROPIC_API_KEY`, Claude Code попросит вас один раз одобрить ключ вместо открытия браузера. См. [Аутентификация](/docs/ru/authentication) для всех типов учетных записей и параметров настройки команды.209После установки войдите, выполнив `claude` и следуя инструкциям в браузере. Если вы установили переменную окружения `ANTHROPIC_API_KEY` и одобрите ключ, когда Claude Code спросит, использовать ли его, Claude Code пропустит запрос на вход. См. [Аутентификация](/docs/ru/authentication) для всех типов учетных записей и параметров настройки команды.

208 210 

209<h2 id="update-claude-code">211<h2 id="update-claude-code">

210 Обновление Claude Code212 Обновление Claude Code

skills.md +7 −2

Details

237 237 

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

239 239 

240В терминале Claude Code синхронизирует эти скиллы в сессиях, где вы входите со своим аккаунтом claude.ai. При старте сессии Claude Code в фоновом режиме скачивает скиллы вашего аккаунта в `~/.claude/skills/synced/`, а затем, пока сессия работает, примерно каждые 10 минут проверяет claude.ai на наличие изменений. Когда проверка обнаруживает, что скилл был добавлен, изменён или отключён на claude.ai, Claude Code добавляет, обновляет или удаляет его в работающей сессии без перезапуска. Для синхронизации в сессиях терминала требуется Claude Code v2.1.273 или новее.240В терминале Claude Code синхронизирует эти скиллы в сессиях, где вы входите со своим аккаунтом claude.ai. При старте сессии Claude Code в фоновом режиме скачивает скиллы вашего аккаунта в `~/.claude/skills/synced/`, а затем, пока сессия работает, проверяет claude.ai на наличие изменений. Когда проверка обнаруживает, что скилл был добавлен, изменён или отключён на claude.ai, Claude Code добавляет, обновляет или удаляет его в работающей сессии без перезапуска. Для синхронизации в сессиях терминала требуется Claude Code v2.1.273 или новее.

241 241 

242Синхронизация никогда не задерживает запуск, поскольку Claude ожидает скачивания скилла только тогда, когда вызывает этот скилл. Поэтому короткий [неинтерактивный](/docs/ru/headless) запуск может завершиться до того, как скачается недавно добавленный скилл; в таком случае его скачает одна из следующих сессий. Чтобы неинтерактивный запуск скачивал ваши скиллы и дожидался списка, прежде чем ответить на промпт, установите [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) в `1`.242Пока сессия простаивает, проверки выполняются реже:

243 

244* **Пока вы или Claude работаете в сессии**: проверка выполняется примерно каждые 10 минут.

245* **Пока сессия простаивает**: проверка выполняется примерно каждые 40 минут. Когда вы снова начинаете вводить текст в сессии, Claude Code выполняет проверку в течение нескольких минут, если последняя проверка была более 10 минут назад.

246 

247Синхронизация никогда не задерживает запуск, поскольку Claude ожидает скачивания скилла только тогда, когда вызывает этот скилл. Поэтому короткий [неинтерактивный](/docs/ru/headless) запуск может завершиться до того, как скачается недавно добавленный скилл; в таком случае его скачает одна из следующих сессий. Чтобы неинтерактивный запуск скачивал ваши скиллы и дожидался списка, прежде чем ответить на промпт, установите [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) в `1`. До v2.1.273 сессии терминала скачивали их только при запуске с `-p` и установленной этой переменной.

243 248 

244Claude Code выполняет синхронизацию только в сессии, в которой выполнен вход с вашим аккаунтом claude.ai и которая [получает флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Синхронизация не выполняется в следующих сессиях:249Claude Code выполняет синхронизацию только в сессии, в которой выполнен вход с вашим аккаунтом claude.ai и которая [получает флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Синхронизация не выполняется в следующих сессиях:

245 250 

sub-agents.md +4 −4

Details

310 310 

311| Field | Требуется | Description |311| Field | Требуется | Description |

312| :- | :- | :- |312| :- | :- | :- |

313| `name` | Да | Уникальный идентификатор, такой как `code-reviewer` или `reviewer-v2`. [Hooks](/docs/ru/hooks#subagentstart) получают это значение как `agent_type`. Имя файла не должно совпадать. Имена не могут содержать `:`, который зарезервирован для [plugin-scoped identifiers](/docs/ru/plugins/overview) таких как `my-plugin:reviewer`. Claude Code не загружает файл, чьё имя содержит один, и регистрирует ошибку в журнал отладки. До версии 2.1.218 такие имена были приняты |313| `name` | Да | Уникальный идентификатор длиной не более 256 символов, например `code-reviewer` или `reviewer-v2`. [Хуки](/docs/ru/hooks#subagentstart) получают это значение как `agent_type`. Имя файла не обязано совпадать. Имена не могут содержать `:`, который зарезервирован для [идентификаторов с областью действия плагина](/docs/ru/plugins/overview), таких как `my-plugin:reviewer` |

314| `description` | Да | Когда Claude должен делегировать этому subagent |314| `description` | Да | Когда Claude должен делегировать этому subagent |

315| `tools` | Нет | [Инструменты](#available-tools), которые может использовать subagent, как строка, разделённая запятыми, такая как `Read, Grep, Bash` или список YAML. Наследует каждый инструмент, доступный для subagents, если опущено. Если ни один элемент в списке не разрешается в инструмент, subagent обычно [не запускается](/docs/ru/errors#agent-would-be-spawned-with-zero-tools) с ошибкой, называющей элементы. Чтобы предварительно загрузить Skills в контекст, используйте поле `skills` вместо перечисления `Skill` здесь |315| `tools` | Нет | [Инструменты](#available-tools), которые может использовать subagent, как строка, разделённая запятыми, такая как `Read, Grep, Bash` или список YAML. Наследует каждый инструмент, доступный для subagents, если опущено. Если ни один элемент в списке не разрешается в инструмент, subagent обычно [не запускается](/docs/ru/errors#agent-would-be-spawned-with-zero-tools) с ошибкой, называющей элементы. Чтобы предварительно загрузить Skills в контекст, используйте поле `skills` вместо перечисления `Skill` здесь |

316| `disallowedTools` | Нет | Инструменты для запрета, удалённые из унаследованного или указанного списка. Тот же формат, что и `tools`. Запись со спецификатором, такая как `Bash(git push *)`, по-прежнему [удаляет весь инструмент](#available-tools) |316| `disallowedTools` | Нет | Инструменты для запрета, удалённые из унаследованного или указанного списка. Тот же формат, что и `tools`. Запись со спецификатором, такая как `Bash(git push *)`, по-прежнему [удаляет весь инструмент](#available-tools) |


348 348 

349* **Нет `name`**: Claude Code рассматривает файл как документацию, хранящуюся рядом с вашими агентами.349* **Нет `name`**: Claude Code рассматривает файл как документацию, хранящуюся рядом с вашими агентами.

350* **Открывающий `---`, который не является первой строкой файла**: Claude Code читает файл как не имеющий frontmatter и рассматривает его как документацию.350* **Открывающий `---`, который не является первой строкой файла**: Claude Code читает файл как не имеющий frontmatter и рассматривает его как документацию.

351* **`name`, который начинается с `-` или содержит `:`**: Claude Code пропускает файл и записывает ошибку в журнал отладки. См. строку `name` в таблице выше.351* **`name` начинается с `-`, содержит `:` или длиннее 256 символов**: Claude Code пропускает файл и записывает ошибку в лог отладки.

352* **`name`, но нет `description`**: Claude Code пропускает файл и записывает причину в журнал отладки.352* **`name`, но нет `description`**: Claude Code пропускает файл и записывает причину в журнал отладки.

353* **YAML, который не парсится**: Claude Code не читает никакие поля из файла, пропускает его и записывает ошибку парсинга в журнал отладки.353* **YAML, который не парсится**: Claude Code не читает никакие поля из файла, пропускает его и записывает ошибку парсинга в журнал отладки.

354 354 


1164 1164 

1165* Когда субагент завершается, Claude получает его ID агента.1165* Когда субагент завершается, Claude получает его ID агента.

1166* Встроенные агенты Explore и Plan одноразовые и не возвращают ID агента, поэтому Claude не может их возобновить. Используйте `general-purpose` или пользовательского субагента, когда нужно продолжить работу.1166* Встроенные агенты Explore и Plan одноразовые и не возвращают ID агента, поэтому Claude не может их возобновить. Используйте `general-purpose` или пользовательского субагента, когда нужно продолжить работу.

1167* Когда субагент останавливается на своём лимите [`maxTurns`](#supported-frontmatter-fields), Claude Code помечает возвращённый вывод как частичный. Для субагентов, возвращающих ID агента, Claude Code также указывает в результате, что Claude может отправить субагенту сообщение, чтобы тот продолжил с места остановки.1167* Когда субагент останавливается на своём лимите [`maxTurns`](#supported-frontmatter-fields), Claude Code помечает возвращённый вывод как частичный, и Claude может возобновить субагента, чтобы тот продолжил работу.

1168 1168 

1169Чтобы возобновить агента, Claude использует инструмент `SendMessage`, указывая ID или имя агента в поле `to`. Для `SendMessage` не нужно включать [команды агентов](/docs/ru/agent-teams); это требуется только для структурированных сообщений протокола команды, таких как `shutdown_request` и `plan_approval_response`. Помимо субагентов и участников команды, в сессиях с включённым обменом сообщениями между сессиями Claude может использовать тот же инструмент, чтобы отправлять сообщения [другим вашим сессиям Claude Code](/docs/ru/cross-session-messaging) — на этом компьютере или [за его пределами](/docs/ru/cross-session-messaging#message-sessions-on-other-machines).1169Чтобы возобновить агента, Claude использует инструмент `SendMessage`, указывая ID или имя агента в поле `to`. Для `SendMessage` не нужно включать [команды агентов](/docs/ru/agent-teams); это требуется только для структурированных сообщений протокола команды, таких как `shutdown_request` и `plan_approval_response`. Помимо субагентов и участников команды, в сессиях с включённым обменом сообщениями между сессиями Claude может использовать тот же инструмент, чтобы отправлять сообщения [другим вашим сессиям Claude Code](/docs/ru/cross-session-messaging) — на этом компьютере или [за его пределами](/docs/ru/cross-session-messaging#message-sessions-on-other-machines).

1170 1170 


1279| Permissions | Запросы выводятся в вашем терминале | [Запросы выводятся в вашей основной сессии](#run-subagents-in-foreground-or-background) при запуске в фоне |1279| Permissions | Запросы выводятся в вашем терминале | [Запросы выводятся в вашей основной сессии](#run-subagents-in-foreground-or-background) при запуске в фоне |

1280| Prompt cache | Общий с основной сессией | Отдельный кэш |1280| Prompt cache | Общий с основной сессией | Отдельный кэш |

1281 1281 

1282Поскольку системное приглашение fork и определения инструментов идентичны родителю, его первый запрос повторно использует кэш приглашений родителя [prompt cache](/docs/ru/prompt-caching#subagents-and-the-cache). Это делает forking дешевле, чем порождение свежего subagent для задач, которые нуждаются в том же контексте.1282Поскольку системный промпт и определения инструментов fork идентичны родительским, его первый запрос повторно использует [кэш промптов](/docs/ru/prompt-caching#subagents-and-the-cache) родителя. Благодаря этому повторному использованию fork обходится дешевле, чем новый субагент, для задач, которым нужен тот же контекст.

1283 1283 

1284Когда Claude порождает fork через инструмент Agent, он может передать `isolation: "worktree"`, чтобы редактирования файлов fork были написаны в отдельный git worktree вместо вашего checkout. Fork не может порождать дальнейшие forks.1284Когда Claude порождает fork через инструмент Agent, он может передать `isolation: "worktree"`, чтобы редактирования файлов fork были написаны в отдельный git worktree вместо вашего checkout. Fork не может порождать дальнейшие forks.

1285 1285 

vs-code.md +31 −16

Details

40 40 

41Расширение также устанавливается в других форках VS Code, таких как Devin Desktop или Kiro. Найдите "Claude Code" в представлении расширений вашего редактора или установите из [реестра Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Если ваш редактор не может установить расширение, [установите CLI](/docs/ru/quickstart) и запустите `claude` в его встроенном терминале. CLI работает в любом терминале.41Расширение также устанавливается в других форках VS Code, таких как Devin Desktop или Kiro. Найдите "Claude Code" в представлении расширений вашего редактора или установите из [реестра Open VSX](https://open-vsx.org/extension/Anthropic/claude-code). Если ваш редактор не может установить расширение, [установите CLI](/docs/ru/quickstart) и запустите `claude` в его встроенном терминале. CLI работает в любом терминале.

42 42 

43Чтобы запустить Claude Code внутри контейнера разработки, см. [Контейнеры разработки](/docs/ru/devcontainer).

44 

43<Note>Если расширение не появляется после установки, перезагрузите VS Code или выполните "Developer: Reload Window" из палитры команд.</Note>45<Note>Если расширение не появляется после установки, перезагрузите VS Code или выполните "Developer: Reload Window" из палитры команд.</Note>

44 46 

45<h2 id="get-started">47<h2 id="get-started">


606| `environmentVariables` | `[]` | Установить переменные окружения для процесса Claude. Используйте параметры Claude Code вместо этого для общей конфигурации. Запись [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) применяется только в том случае, если её значение является абсолютным путём; расширение не раскрывает `~` и игнорирует относительное значение. |608| `environmentVariables` | `[]` | Установить переменные окружения для процесса Claude. Используйте параметры Claude Code вместо этого для общей конфигурации. Запись [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) применяется только в том случае, если её значение является абсолютным путём; расширение не раскрывает `~` и игнорирует относительное значение. |

607| `disableLoginPrompt` | `false` | Пропустить запросы аутентификации (для настроек сторонних поставщиков) |609| `disableLoginPrompt` | `false` | Пропустить запросы аутентификации (для настроек сторонних поставщиков) |

608| `allowDangerouslySkipPermissions` | `false` | Добавляет Bypass permissions в селектор режима. Используйте только в песочницах без доступа в интернет. |610| `allowDangerouslySkipPermissions` | `false` | Добавляет Bypass permissions в селектор режима. Используйте только в песочницах без доступа в интернет. |

609| `claudeProcessWrapper` | - | Исполняемый файл, используемый для запуска процесса Claude. Путь к встроенному двоичному файлу передаётся в качестве аргумента при наличии. Установите это на отдельно установленный двоичный файл `claude`, если сборка расширения не включает его для вашей платформы. В обёрнутой установке беседы начинаются в режиме Manual, если вы не установили `initialPermissionMode` или не выбрали Manual, Edit automatically или Auto в более ранней беседе, потому что расширение пропускает параметры и встроенные шаги по умолчанию там; см. [Switch permission modes](/docs/ru/permission-modes#switch-permission-modes). Ошибка "Unsupported platform" при активации означает, что для вашей платформы не встроен двоичный файл; см. [какие платформы имеют предварительно собранные двоичные файлы](/docs/ru/troubleshoot-install#native-binary-not-found-after-npm-install). |611| `claudeProcessWrapper` | - | Исполняемый файл, используемый для запуска процесса Claude. Путь к встроенному двоичному файлу передаётся в качестве аргумента при наличии. Установите это на отдельно установленный двоичный файл `claude`, если сборка расширения не включает его для вашей платформы. |

610 612 

611<h2 id="use-a-screen-reader">613<h2 id="use-a-screen-reader">

612 Использование программы чтения с экрана614 Использование программы чтения с экрана


785 787 

786Когда включены разрешения на автоматическое редактирование, Claude Code может изменять файлы конфигурации VS Code (такие как `settings.json` или `tasks.json`), которые VS Code может выполнять автоматически. Чтобы снизить риск при работе с ненадёжным кодом:788Когда включены разрешения на автоматическое редактирование, Claude Code может изменять файлы конфигурации VS Code (такие как `settings.json` или `tasks.json`), которые VS Code может выполнять автоматически. Чтобы снизить риск при работе с ненадёжным кодом:

787 789 

788* Включите [VS Code Restricted Mode](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode) для ненадёжных рабочих пространств790* Включите [VS Code Restricted Mode](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode) для ненадёжных рабочих областей

789* Используйте Manual mode вместо Edit automatically или Auto для редактирования791* Используйте Manual mode вместо Edit automatically или Auto для редактирования

790* Внимательно проверяйте изменения перед их принятием792* Внимательно проверяйте изменения перед их принятием

791 793 

792<h3 id="the-built-in-ide-mcp-server">794<h3 id="the-built-in-ide-mcp-server">

793 Встроенный MCP сервер IDE795 Встроенный MCP-сервер IDE

794</h3>796</h3>

795 797 

796Когда расширение активно, оно запускает локальный MCP сервер, к которому CLI подключается автоматически. Именно так CLI открывает различия в встроенном средстве просмотра различий VS Code, читает ваш текущий выбор для упоминаний `@` и — когда вы работаете в записной книжке Jupyter — просит VS Code выполнить ячейки.798Когда расширение активно, оно запускает локальный MCP-сервер, к которому CLI подключается автоматически. Именно так CLI открывает diff во встроенном средстве просмотра различий VS Code, читает ваше текущее выделение для упоминаний `@` и — когда вы работаете в записной книжке Jupyter — просит VS Code выполнить ячейки.

797 799 

798Сервер называется `ide` и скрыт от `/mcp`, потому что нечего настраивать. Однако если ваша организация использует hook `PreToolUse` для создания списка разрешённых MCP инструментов, вам нужно знать, что он существует.800Сервер называется `ide` и скрыт от `/mcp`, потому что в нём нечего настраивать. Однако если ваша организация использует хук `PreToolUse` для создания списка разрешённых MCP-инструментов, вам нужно знать, что он существует.

799 801 

800**Выделение и контекст открытого файла.** Во время подключения CLI включает ваш текущий выбор в редакторе и путь активного файла в качестве контекста для каждого отправляемого вами запроса. Стенограмма показывает строку `⧉ Selected N lines from <file>` когда это происходит.802**Выделение и контекст открытого файла.** Во время подключения CLI включает ваше текущее выделение в редакторе и путь активного файла в качестве контекста в каждый отправляемый вами промпт. Когда это происходит, в транскрипте отображается строка `⧉ Selected N lines from <file>`.

801 803 

802Если вы [поставите сообщение в очередь, пока Claude работает](/docs/ru/interactive-mode#queue-messages-while-claude-works), он сохранит выделение, которое у вас было, когда вы нажали `Enter`, независимо от того, что вы выберете после этого.804Если вы [поставите сообщение в очередь, пока Claude работает](/docs/ru/interactive-mode#queue-messages-while-claude-works), он сохранит выделение, которое у вас было, когда вы нажали `Enter`, независимо от того, что вы выделите после этого.

803 805 

804Чтобы исключить конфиденциальный файл, такой как `.env`, добавьте [правило отказа `Read`](/docs/ru/permissions#read-and-edit) для его пути. Соответствующее правило отказа предотвращает как выбранный текст, так и уведомление об открытом файле для этого файла от достижения Claude.806Чтобы исключить конфиденциальный файл, такой как `.env`, добавьте [правило запрета `Read`](/docs/ru/permissions#read-and-edit) для его пути. Соответствующее правило запрета не позволяет ни выделенному тексту, ни уведомлению об открытом файле для этого файла попасть к Claude.

805 807 

806Если вы отключите [параметр Attach Open File](#extension-settings), CLI получит путь активного файла только при наличии выделенного текста в нём.808Если вы отключите [настройку Attach Open File](#extension-settings), CLI получит путь активного файла только при наличии выделенного текста в нём.

807 809 

808**Транспорт и аутентификация.** Сервер привязывается к `127.0.0.1` на случайный порт в диапазоне 10000–65535, и порт не настраивается. Транспорт — это незашифрованный `ws://`; поскольку сокет только для обратного пути, любой процесс, который может перехватить трафик, также может прочитать токен из файла блокировки, поэтому TLS не добавит защиту. Каждая активация расширения генерирует свежий случайный токен аутентификации, записывает его в файл блокировки в `~/.claude/ide/<port>.lock`, и CLI должен представить его как заголовок `X-Claude-Code-Ide-Authorization` для подключения. Файл блокировки имеет разрешения `0600` в каталоге `0700`, поэтому только пользователь, запустивший VS Code, может его прочитать. Если установлена переменная `CLAUDE_CONFIG_DIR`, файл блокировки записывается в `$CLAUDE_CONFIG_DIR/ide/` вместо этого.810**Транспорт и аутентификация.** Сервер привязывается к `127.0.0.1` на случайном порту в диапазоне 10000–65535, и порт не настраивается. Транспорт — это незашифрованный `ws://`; поскольку сокет доступен только через loopback, любой процесс, который может перехватить трафик, также может прочитать токен из файла блокировки, поэтому TLS не добавит защиты. Каждая активация расширения генерирует новый случайный токен аутентификации, записывает его в файл блокировки `~/.claude/ide/<port>.lock`, и для подключения CLI должен предъявить его в заголовке `X-Claude-Code-Ide-Authorization`. Файл блокировки имеет права доступа `0600` в каталоге с правами `0700`, поэтому только пользователь, запустивший VS Code, может его прочитать. Если установлена переменная `CLAUDE_CONFIG_DIR`, файл блокировки вместо этого записывается в `$CLAUDE_CONFIG_DIR/ide/`.

809 811 

810**Инструменты, предоставляемые модели.** Сервер размещает дюжину инструментов, но только два видны модели. Остальные — это внутренний RPC, который CLI использует для собственного пользовательского интерфейса — открытие различий, чтение выборок, сохранение файлов — и отфильтровываются перед тем, как список инструментов достигает Claude.812**Инструменты, предоставляемые модели.** Сервер размещает дюжину инструментов, но только два видны модели. Остальные — это внутренний RPC, который CLI использует для собственного пользовательского интерфейса, например для открытия diff, чтения выделений и сохранения файлов. Они отфильтровываются до того, как список инструментов попадает к Claude.

811 813 

812| Имя инструмента (как его видят hooks) | Что он делает | Только для чтения |814| Имя инструмента (как его видят хуки) | Что он делает | Только для чтения |

813| - | - | - |815| - | - | - |

814| `mcp__ide__getDiagnostics` | Возвращает диагностику языкового сервера — ошибки и предупреждения на панели Problems в VS Code. Опционально ограничено одним файлом. | Да |816| `mcp__ide__getDiagnostics` | Возвращает диагностику языкового сервера: ошибки и предупреждения на панели Problems в VS Code. Опционально ограничено одним файлом. | Да |

815| `mcp__ide__executeCode` | Запускает код Python в ядре активной записной книжки Jupyter. См. поток подтверждения ниже. | Нет |817| `mcp__ide__executeCode` | Запускает код Python в ядре активной записной книжки Jupyter. См. процесс подтверждения ниже. | Нет |

816 818 

817**Диагностика в панели чата.** В панели чата, начиная с Claude Code v2.1.285, Claude читает панель Problems в VS Code через отдельный встроенный сервер с именем `claude-vscode`. Claude может запросить у него текущие ошибки и предупреждения для одного файла или для всех файлов, по которым у VS Code есть диагностика.819**Диагностика в панели чата.** В панели чата, начиная с Claude Code v2.1.285, Claude читает панель Problems в VS Code через отдельный встроенный сервер с именем `claude-vscode`. Claude может запросить у него текущие ошибки и предупреждения для одного файла или для всех файлов, по которым у VS Code есть диагностика.

818 820 


833 835 

834Правило запрета `Read` не распространяется ни на один из этих инструментов, поэтому блокируйте их по имени с помощью [правила запрета](/docs/ru/permissions#mcp), как в примере.836Правило запрета `Read` не распространяется ни на один из этих инструментов, поэтому блокируйте их по имени с помощью [правила запрета](/docs/ru/permissions#mcp), как в примере.

835 837 

836**Выполнение Jupyter всегда сначала спрашивает.** `mcp__ide__executeCode` не может ничего запустить молча. При каждом вызове код вставляется как новая ячейка в конце активной записной книжки, VS Code прокручивает её в поле зрения, и встроенное Quick Pick спрашивает вас **Execute** или **Cancel**. Отмена — или закрытие средства выбора с помощью `Esc` — возвращает ошибку Claude и ничего не запускается. Инструмент также отказывает, когда нет активной записной книжки, когда расширение Jupyter (`ms-toolsai.jupyter`) не установлено, или когда ядро не является Python.838**Выполнение Jupyter всегда сначала запрашивает подтверждение.** `mcp__ide__executeCode` не может ничего запустить молча. При каждом вызове код вставляется как новая ячейка в конце активной записной книжки, VS Code прокручивает к ней, и встроенное окно Quick Pick предлагает вам выбрать **Execute** или **Cancel**. Отмена или закрытие окна выбора с помощью `Esc` возвращает ошибку Claude, и ничего не запускается. Инструмент также сразу отказывает, когда нет активной записной книжки, когда расширение Jupyter (`ms-toolsai.jupyter`) не установлено или когда ядро не является Python.

837 839 

838<Note>840<Note>

839 Подтверждение Quick Pick отделено от hooks `PreToolUse`. Запись в список разрешений для `mcp__ide__executeCode` позволяет Claude *предложить* запуск ячейки; Quick Pick внутри VS Code — это то, что позволяет ей *фактически* запуститься.841 Подтверждение Quick Pick не зависит от хуков `PreToolUse`. Запись в списке разрешённых инструментов для `mcp__ide__executeCode` позволяет Claude *предложить* запуск ячейки; а Quick Pick внутри VS Code — это то, что позволяет ей *фактически* запуститься.

840</Note>842</Note>

841 843 

842<a id="troubleshooting" />844<a id="troubleshooting" />


845 Решение распространённых проблем847 Решение распространённых проблем

846</h2>848</h2>

847 849 

850Ошибкам входа, сети и запуска посвящены отдельные разделы на страницах устранения неполадок установки и справочника ошибок. Найдите в таблице то, что вы видите, и перейдите по ссылке.

851 

852| Что вы видите | Куда перейти |

853| - | - |

854| `API Error: 403 Request not allowed` после входа в систему | [403 Forbidden после входа в систему](/docs/ru/troubleshoot-install#403-forbidden-after-login) |

855| Вас просят войти снова, хотя вы уже вошли в систему | [Не выполнен вход или истёк срок действия токена](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) |

856| Учётные данные облачного провайдера работают в терминале, но не в расширении | [Учётные данные Bedrock, Agent Platform или Foundry не загружаются](/docs/ru/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) |

857| `SSL certificate verification failed` или `Self-signed certificate detected` | [Ошибки SSL-сертификатов](/docs/ru/errors#ssl-certificate-errors) |

858| `Claude Code process exited with code 1` или другой код | [Claude Code process exited with code N](/docs/ru/errors#claude-code-process-exited-with-code-n) |

859| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](/docs/ru/errors#could-not-locate-the-claude-cli-on-path) |

860| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](/docs/ru/errors#the-connection-to-claude-code-ended-before-this-message-completed) |

861| `claude` не найден во встроенном терминале VS Code | [Запуск CLI в VS Code](#run-cli-in-vs-code) |

862 

848<h3 id="extension-won’t-install">863<h3 id="extension-won’t-install">

849 Расширение не устанавливается864 Расширение не устанавливается

850</h3>865</h3>

web-quickstart.md +12 −12

Details

40 Сравнение способов запуска Claude Code40 Сравнение способов запуска Claude Code

41</h2>41</h2>

42 42 

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

44 44 

45| | Cloud session | Local session | Local session с [Remote Control](/docs/ru/remote-control) |45| | Облачная сессия | Локальная сессия | Локальная сессия с [Remote Control](/docs/ru/remote-control) |

46| :- | :- | :- | :- |46| :- | :- | :- | :- |

47| **Код выполняется на** | Cloud VM, управляемой Anthropic по умолчанию | Вашей машине | Вашей машине |47| **Где выполняется код** | Облачная VM, по умолчанию управляемая Anthropic | Ваш компьютер | Ваш компьютер |

48| **Вы запускаете его из** | claude.ai/code, мобильного приложения Claude, приложения Desktop с выбранным **Cloud** или `claude --cloud` | Вашего терминала, вашей IDE или приложения Desktop с выбранным **Local** | Вашего терминала, расширения VS Code или приложения Desktop |48| **Откуда вы её запускаете** | claude.ai/code, мобильное приложение Claude, приложение Desktop с выбранным режимом **Cloud** или `claude --cloud` | Ваш терминал, ваша IDE или приложение Desktop с выбранным режимом **Local** | Ваш терминал, расширение VS Code или приложение Desktop |

49| **Вы общаетесь из** | claude.ai, мобильного приложения или приложения Desktop | Места, где вы его запустили | claude.ai или мобильного приложения, а также из места, где вы его запустили |49| **Откуда вы общаетесь** | claude.ai, мобильное приложение или приложение Desktop | Там, где вы её запустили | claude.ai или мобильное приложение, а также там, где вы её запустили |

50| **Использует вашу локальную конфигурацию** | Нет, только репозиторий | Да | Да |50| **Использует вашу локальную конфигурацию** | Нет, только репозиторий | Да | Да |

51| **Требует GitHub** | Да, или [отправьте локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) через `--cloud` | Нет | Нет |51| **Требует GitHub** | Да, или можно [упаковать локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github) через `--cloud` | Нет | Нет |

52| **Продолжает работать при отключении** | Да | Нет | Пока сеанс остается открытым на вашей машине |52| **Продолжает работу при отключении** | Да | Нет | Пока сессия остаётся открытой на вашем компьютере |

53| **[Режимы разрешений](/docs/ru/permission-modes)** | Принять правки, Plan, Auto | Все режимы в терминале; см. [Переключение режимов разрешений](/docs/ru/permission-modes#switch-permission-modes) для IDE и приложения Desktop | Manual, Принять правки или Plan из claude.ai и мобильного приложения |53| **[Режимы разрешений](/docs/ru/permission-modes)** | Accept edits, Plan, Auto | Все режимы в терминале; для IDE и приложения Desktop см. [Переключение режимов разрешений](/docs/ru/permission-modes#switch-permission-modes) | Manual, Accept edits, Plan или Auto из claude.ai и мобильного приложения |

54| **Доступ в сеть** | Настраивается для каждого окружения | Сеть вашей машины | Сеть вашей машины |54| **Доступ к сети** | Настраивается для каждого окружения | Сеть вашего компьютера | Сеть вашего компьютера |

55 55 

56Смотрите документацию [быстрого старта терминала](/docs/ru/quickstart), [приложения Desktop](/docs/ru/desktop) или [Remote Control](/docs/ru/remote-control) для настройки локальных сеансов.56Чтобы настроить локальные сессии, см. документацию по [быстрому старту в терминале](/docs/ru/quickstart), [приложению Desktop](/docs/ru/desktop) или [Remote Control](/docs/ru/remote-control).

57 57 

58<h2 id="connect-github">58<h2 id="connect-github">

59 Подключение GitHub59 Подключение GitHub


146 146 

147<Steps>147<Steps>

148 <Step title="Выберите репозиторий и ветку">148 <Step title="Выберите репозиторий и ветку">

149 На [claude.ai/code](https://claude.ai/code) или на вкладке Code в мобильном приложении Claude нажмите селектор репозитория под полем ввода и выберите репозиторий для работы Claude. Каждый репозиторий показывает селектор ветки. Измените его, чтобы запустить Claude с ветки функции вместо ветки по умолчанию. Вы можете добавить несколько репозиториев для работы с ними в одном сеансе.149 На [claude.ai/code](https://claude.ai/code) или на вкладке Code в мобильном приложении Claude нажмите селектор репозитория под полем ввода и выберите репозиторий для работы Claude. Каждый репозиторий показывает селектор ветки. Измените его, чтобы запустить Claude с ветки функции вместо ветки по умолчанию. Вы можете добавить несколько репозиториев для работы с ними в одной сессии.

150 </Step>150 </Step>

151 151 

152 <Step title="Выберите режим разрешений">152 <Step title="Выберите режим разрешений">

153 Раскрывающееся меню режима рядом с вводом показывает режим, в котором будет работать сеанс:153 [Элемент управления режимом разрешений](/docs/ru/permission-modes#switch-permission-modes) показывает режим разрешений, в котором будет работать сессия:

154 154 

155 * **Auto**: классификатор проверяет действия Claude вместо того, чтобы просить вас. Появляется, когда ваша организация разрешает режим auto и выбранная модель его поддерживает155 * **Auto**: классификатор проверяет действия Claude вместо того, чтобы просить вас. Появляется, когда ваша организация разрешает режим auto и выбранная модель его поддерживает

156 * **Accept edits**: Claude вносит изменения и отправляет ветку без остановки для одобрения156 * **Accept edits**: Claude вносит изменения и отправляет ветку без остановки для одобрения

workflows.md +6 −1

Details

522 522 

523Чтобы отключить workflows для всей вашей организации, установите `"disableWorkflows": true` в [управляемые параметры](/docs/ru/server-managed-settings), или используйте переключатель на странице [параметров администратора Claude Code](https://claude.ai/admin-settings/claude-code).523Чтобы отключить workflows для всей вашей организации, установите `"disableWorkflows": true` в [управляемые параметры](/docs/ru/server-managed-settings), или используйте переключатель на странице [параметров администратора Claude Code](https://claude.ai/admin-settings/claude-code).

524 524 

525Когда workflows отключены, встроенные команды workflow и skill `/workflow-authoring` недоступны, ключевое слово `ultracode` больше не запускает запуск, и **Ultracode** переключатель удаляется из `/effort`. Запуск, который уже выполняется, продолжает работу.525Когда workflows отключены:

526 

527* `/workflows`, команды workflow и скилл `/workflow-authoring` недоступны

528* Ключевое слово `ultracode` больше не запускает запуск, и переключатель **Ultracode** удаляется из `/effort`

529 

530Запуск, который уже выполнялся, продолжает работу.

526 531 

527Отключение workflows также делает [ultracode](#let-claude-decide-with-ultracode) недоступным. Ни один параметр управления не исключает ultracode отдельно: везде, где он [доступен](/docs/ru/model-config#when-ultracode-is-available), пользователи могут включить его с помощью `/effort ultracode`. [Ограничение усилий](/docs/ru/model-config#organization-effort-limits) снижает уровень усилий, на котором работает сессия с включённым ultracode, но не отключает ultracode.532Отключение workflows также делает [ultracode](#let-claude-decide-with-ultracode) недоступным. Ни один параметр управления не исключает ultracode отдельно: везде, где он [доступен](/docs/ru/model-config#when-ultracode-is-available), пользователи могут включить его с помощью `/effort ultracode`. [Ограничение усилий](/docs/ru/model-config#organization-effort-limits) снижает уровень усилий, на котором работает сессия с включённым ultracode, но не отключает ultracode.

528 533 

worktrees.md +3 −1

Details

6 6 

7> Изолируйте параллельные сеансы Claude Code в отдельных git worktrees, чтобы изменения не конфликтовали. Охватывает флаг `--worktree`, изоляцию subagent, `.worktreeinclude`, очистку и hooks для не-git VCS.7> Изолируйте параллельные сеансы Claude Code в отдельных git worktrees, чтобы изменения не конфликтовали. Охватывает флаг `--worktree`, изоляцию subagent, `.worktreeinclude`, очистку и hooks для не-git VCS.

8 8 

9[git worktree](https://git-scm.com/docs/git-worktree) — это отдельный рабочий каталог с собственными файлами и веткой, использующий ту же историю репозитория и удалённый сервер, что и ваша основная копия. Запуск каждого сеанса Claude Code в собственном worktree означает, что правки в одном сеансе никогда не затрагивают файлы в другом, поэтому один сеанс может создавать функцию, а второй исправлять ошибку.9[git worktree](https://git-scm.com/docs/git-worktree) — это отдельный рабочий каталог с собственными файлами и веткой, использующий ту же историю репозитория и удалённый сервер, что и ваша основная копия. Запуск каждой сессии Claude Code в собственном worktree даёт ей отдельную копию файлов для редактирования, поэтому одна сессия может создавать функцию, а вторая исправлять ошибку.

10 10 

11<Note>11<Note>

12 Worktrees требуют git-репозитория; для других систем контроля версий [настройте hooks для замены логики git](#non-git-version-control). В [десктопном приложении](/docs/ru/desktop#work-in-parallel-with-sessions) выберите опцию **worktree** при запуске сеанса, чтобы дать ему собственный worktree.12 Worktrees требуют git-репозитория; для других систем контроля версий [настройте hooks для замены логики git](#non-git-version-control). В [десктопном приложении](/docs/ru/desktop#work-in-parallel-with-sessions) выберите опцию **worktree** при запуске сеанса, чтобы дать ему собственный worktree.


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) и правил.

108 

107Проверки применяются к репозиторию, из которого вы запустили Claude Code. Они также охватывают основную копию, на которую ссылается связанный worktree. Для команд PowerShell Claude Code применяет только проверку рабочего каталога.109Проверки применяются к репозиторию, из которого вы запустили Claude Code. Они также охватывают основную копию, на которую ссылается связанный worktree. Для команд PowerShell Claude Code применяет только проверку рабочего каталога.

108 110 

109Claude видит каждый отказ как ошибку инструмента, которая называет worktree и говорит, как продолжить. Для отказанной команды см. [что означает сообщение об отказе и как его очистить](/docs/ru/errors#command-blocked-by-the-worktree-isolation-checks).111Claude видит каждый отказ как ошибку инструмента, которая называет worktree и говорит, как продолжить. Для отказанной команды см. [что означает сообщение об отказе и как его очистить](/docs/ru/errors#command-blocked-by-the-worktree-isolation-checks).