SpyBara
Go Premium

Documentation 2026-06-29 23:02 UTC to 2026-06-30 23:02 UTC

79 files changed +3,137 −652. View all changes and history on the product overview
2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

admin-setup.md +12 −10

Details

36| Google Vertex AI | Вы хотите наследовать существующие элементы управления соответствием GCP и выставление счетов |36| Google Vertex AI | Вы хотите наследовать существующие элементы управления соответствием GCP и выставление счетов |

37| Microsoft Foundry | Вы хотите наследовать существующие элементы управления соответствием Azure и выставление счетов |37| Microsoft Foundry | Вы хотите наследовать существующие элементы управления соответствием Azure и выставление счетов |

38 38 

39Некоторые функции Claude Code требуют учетной записи Claude.ai. [Claude Code on the web](/ru/claude-code-on-the-web), [Routines](/ru/routines), [Code Review](/ru/code-review), [Remote Control](/ru/remote-control) и [Chrome extension](/ru/chrome) недоступны только через ключи Console API или учетные данные поставщика облачных услуг. Если вы развертываете через Bedrock, Vertex или Foundry, спланируйте, нужны ли разработчикам также места Claude for Teams или Enterprise. На каждой странице функции указаны требования к плану.39Некоторые функции Claude Code требуют учетной записи claude.ai. [Claude Code on the web](/ru/claude-code-on-the-web), [Routines](/ru/routines), [Code Review](/ru/code-review), [Remote Control](/ru/remote-control) и [Chrome extension](/ru/chrome) недоступны только через ключи Console API или учетные данные поставщика облачных услуг. Если вы развертываете через Bedrock, Vertex или Foundry, спланируйте, нужны ли разработчикам также места Claude for Teams или Enterprise. На каждой странице функции указаны требования к плану.

40 40 

41Для полного сравнения поставщиков, охватывающего аутентификацию, регионы и паритет функций, см. [обзор развертывания предприятия](/ru/third-party-integrations). Настройка аутентификации каждого поставщика находится в [Authentication](/ru/authentication).41Для полного сравнения поставщиков, охватывающего аутентификацию, регионы и паритет функций, см. [обзор развертывания предприятия](/ru/third-party-integrations). Настройка аутентификации каждого поставщика находится в [Authentication](/ru/authentication).

42 42 


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

47</h2>47</h2>

48 48 

49Управляемые параметры определяют политику, которая имеет приоритет над локальной конфигурацией разработчика. Claude Code проверяет четыре источника ниже в порядке приоритета и применяет первый, который возвращает непустую конфигурацию.49Управляемые параметры определяют политику, которая имеет приоритет над локальной конфигурацией разработчика. Claude Code проверяет четыре источника ниже в порядке приоритета и применяет первый, который возвращает непустую конфигурацию, с одним исключением: небольшой набор [ключей блокировки между источниками](/ru/settings#settings-precedence), таких как блокировки списка разрешений sandbox, соблюдается, когда любой управляемый администратором источник их устанавливает.

50 50 

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

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

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

58Server-managed параметры достигают устройств во время аутентификации и обновляются каждый час во время активных сеансов без инфраструктуры конечной точки. Они требуют плана Claude for Teams или Enterprise, поэтому развертывания на других поставщиках вместо этого нуждаются в одном из механизмов на основе файлов или уровня ОС.58Настроенный [`policyHelper`](/ru/settings#compute-managed-settings-with-a-policy-helper) имеет приоритет над всеми четырьмя источниками: его вывод становится единственной управляемой конфигурацией для запуска. См. [Settings precedence](/ru/settings#settings-precedence).

59 59 

60Если ваша организация смешивает поставщиков, настройте [server-managed settings](/ru/server-managed-settings) для пользователей Claude.ai плюс [резервный вариант на основе файлов или plist/registry](/ru/settings#settings-files), чтобы другие пользователи по-прежнему получали управляемую политику.60Server-managed параметры достигают устройств во время аутентификации и обновляются каждый час во время активных сеансов без инфраструктуры конечной точки. Доставка через консоль администратора claude.ai требует плана Claude for Teams или Enterprise. Развертывания на Bedrock, Vertex AI или Foundry могут получить ту же удаленную доставку, запустив [Claude apps gateway](/ru/claude-apps-gateway), или вместо этого использовать один из механизмов на основе файлов или уровня ОС.

61 

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

61 63 

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

63 65 

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

65 67 

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

67 69 

68См. [Server-managed settings](/ru/server-managed-settings) и [Settings files and precedence](/ru/settings#settings-files).70См. [Server-managed settings](/ru/server-managed-settings) и [Settings files and precedence](/ru/settings#settings-files).

69 71 


80| [Sandboxing](/ru/sandboxing) | Изоляция файловой системы и сети на уровне ОС с разрешенными списками доменов | `sandbox.enabled`, `sandbox.network.allowedDomains` |82| [Sandboxing](/ru/sandboxing) | Изоляция файловой системы и сети на уровне ОС с разрешенными списками доменов | `sandbox.enabled`, `sandbox.network.allowedDomains` |

81| [Managed policy CLAUDE.md](/ru/memory#deploy-organization-wide-claude-md) | Инструкции на уровне организации, загруженные в каждый сеанс, не могут быть исключены | Файл по пути управляемой политики |83| [Managed policy CLAUDE.md](/ru/memory#deploy-organization-wide-claude-md) | Инструкции на уровне организации, загруженные в каждый сеанс, не могут быть исключены | Файл по пути управляемой политики |

82| [MCP server control](/ru/managed-mcp) | Ограничить, какие серверы MCP пользователи могут добавлять или подключать, или развернуть фиксированный набор | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, или развернутый файл `managed-mcp.json` |84| [MCP server control](/ru/managed-mcp) | Ограничить, какие серверы MCP пользователи могут добавлять или подключать, или развернуть фиксированный набор | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, или развернутый файл `managed-mcp.json` |

83| [Plugin marketplace control](/ru/plugin-marketplaces#managed-marketplace-restrictions) | Ограничить, какие источники маркетплейса пользователи могут добавлять и устанавливать | `strictKnownMarketplaces`, `blockedMarketplaces` |85| [Plugin marketplace control](/ru/plugin-marketplaces#managed-marketplace-restrictions) | Ограничить, какие источники маркетплейса пользователи могут добавлять и устанавливать, а также отклонить флаги CLI, которые загружают плагины, агентов и серверы MCP для одного запуска | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags` |

84| [Customization lockdown](/ru/settings#strictpluginonlycustomization) | Заблокировать skills, agents, hooks и серверы MCP из источников пользователя и проекта, чтобы они могли поступать только из плагинов или управляемых параметров | `strictPluginOnlyCustomization` |86| [Customization lockdown](/ru/settings#strictpluginonlycustomization) | Заблокировать skills, agents, hooks и серверы MCP из источников пользователя и проекта, чтобы они могли поступать только из плагинов или управляемых параметров | `strictPluginOnlyCustomization` |

85| [Hook restrictions](/ru/settings#hook-configuration) | Загружаются только управляемые hooks; ограничить URL-адреса HTTP hook | `allowManagedHooksOnly`, `allowedHttpHookUrls` |87| [Hook restrictions](/ru/settings#hook-configuration) | Загружаются только управляемые hooks; ограничить URL-адреса HTTP hook | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

86| [Disable agent view](/ru/agent-view#how-background-sessions-are-hosted) | Отключить `claude agents`, `--bg`, `/background` и встроенного супервизора по требованию | `disableAgentView` |88| [Disable agent view](/ru/agent-view#how-background-sessions-are-hosted) | Отключить `claude agents`, `--bg`, `/background` и встроенного супервизора по требованию | `disableAgentView` |


99Выберите мониторинг на основе того, что вам нужно сообщить.101Выберите мониторинг на основе того, что вам нужно сообщить.

100 102 

101| Возможность | Что вы получаете | Доступность | С чего начать |103| Возможность | Что вы получаете | Доступность | С чего начать |

102| :------------------ | :--------------------------------------------------------------------- | :--------------- | :--------------------------------------- |104| :------------------ | :--------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- |

103| Usage monitoring | Экспорт OpenTelemetry сеансов, инструментов и токенов | Все поставщики | [Monitoring usage](/ru/monitoring-usage) |105| Usage monitoring | Экспорт OpenTelemetry сеансов, инструментов и токенов | Все поставщики | [Monitoring usage](/ru/monitoring-usage) |

104| Analytics dashboard | Метрики для каждого пользователя, отслеживание вклада, таблица лидеров | Только Anthropic | [Analytics](/ru/analytics) |106| Analytics dashboard | Метрики для каждого пользователя, отслеживание вклада, таблица лидеров | Только Anthropic | [Analytics](/ru/analytics) |

105| Cost tracking | Ограничения расходов, ограничения скорости и атрибуция использования | Только Anthropic | [Costs](/ru/costs) |107| Cost tracking | Ограничения расходов, ограничения скорости и атрибуция использования | Anthropic; на облаках третьих сторон, [Claude apps gateway](/ru/claude-apps-gateway) обеспечивает атрибуцию для каждого пользователя и [ограничения расходов](/ru/claude-apps-gateway-spend-limits) | [Costs](/ru/costs) |

106 108 

107Облачные поставщики раскрывают расходы через AWS Cost Explorer, GCP Billing или Azure Cost Management. Планы Claude for Teams и Enterprise включают панель использования на [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).109Облачные поставщики раскрывают расходы через AWS Cost Explorer, GCP Billing или Azure Cost Management. Планы Claude for Teams и Enterprise включают панель использования на [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code).

108 110 


118| Zero Data Retention (ZDR) | Ничего не хранится после завершения запроса. Доступно на Claude for Enterprise | [Zero data retention](/ru/zero-data-retention) |120| Zero Data Retention (ZDR) | Ничего не хранится после завершения запроса. Доступно на Claude for Enterprise | [Zero data retention](/ru/zero-data-retention) |

119| Security architecture | Сетевая модель, шифрование, аутентификация, журнал аудита | [Security](/ru/security) |121| Security architecture | Сетевая модель, шифрование, аутентификация, журнал аудита | [Security](/ru/security) |

120 122 

121Если вам нужно логирование аудита на уровне запроса или маршрутизация трафика по чувствительности данных, поместите [LLM gateway](/ru/llm-gateway) между разработчиками и вашим поставщиком. Для нормативных требований и сертификаций см. [Legal and compliance](/ru/legal-and-compliance).123Если вам нужно логирование аудита на уровне запроса или маршрутизация трафика по чувствительности данных, поместите шлюз между разработчиками и вашим поставщиком: самостоятельно размещённый [Claude apps gateway](/ru/claude-apps-gateway) записывает журнал аудита для каждого запроса с идентификацией IdP, или используйте другой [LLM gateway](/ru/llm-gateway). Для нормативных требований и сертификаций см. [Legal and compliance](/ru/legal-and-compliance).

122 124 

123<h2 id="verify-and-onboard">125<h2 id="verify-and-onboard">

124 Проверьте и подключите126 Проверьте и подключите

advisor.md +4 −3

Details

85Советник должен быть по крайней мере такой же способной, как основная модель. Принятые советники для каждой основной модели:85Советник должен быть по крайней мере такой же способной, как основная модель. Принятые советники для каждой основной модели:

86 86 

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

88| ----------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------ |88| ----------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------- |

89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku может вызывать советника, но не может быть им |89| Haiku 4.5 | Fable, Opus, Sonnet | Haiku может вызывать советника, но не может быть им |

90| Sonnet 4.6 | Fable, Opus, Sonnet | |90| Sonnet 4.6 | Fable, Opus, Sonnet | |

91| Opus 4.6 или позже | Fable, Opus на версии основной модели или выше | Opus 4.7 в качестве основной с Opus 4.6 в качестве советника отклоняется |91| Sonnet 5 | Fable, Opus, Sonnet 5 | Советник Sonnet 4.6 отклоняется |

92| Opus 4.6 или позже | Fable, Opus на версии основной модели или выше | Opus 4.7 в качестве основной с советником Opus 4.6 отклоняется |

92| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Советник Opus или Sonnet отклоняется |93| Fable 5 ({/* min-version: 2.1.170 */}v2.1.170+) | Fable | Советник Opus или Sonnet отклоняется |

93 94 

94Fable 5 требует Claude Code v2.1.170 или более поздней версии и доступ к Fable 5, независимо от того, действует ли она в качестве основной модели или советника.95Fable 5 требует Claude Code v2.1.170 или более поздней версии и доступ к Fable 5, независимо от того, действует ли она в качестве основной модели или советника.


161 162 

162* **Claude Code v2.1.98 или позже**: запустите `claude update` для обновления.163* **Claude Code v2.1.98 или позже**: запустите `claude update` для обновления.

163* **Только API Anthropic**: советник является инструментом, выполняемым на сервере. Он недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Через [LLM gateway](/ru/llm-gateway), настроенный с `ANTHROPIC_BASE_URL`, доступность зависит от того, пересылает ли шлюз запрос в целости на API Anthropic.164* **Только API Anthropic**: советник является инструментом, выполняемым на сервере. Он недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Через [LLM gateway](/ru/llm-gateway), настроенный с `ANTHROPIC_BASE_URL`, доступность зависит от того, пересылает ли шлюз запрос в целости на API Anthropic.

164* **Поддерживаемая основная модель**: Opus 4.6 или позже, Sonnet 4.6 или Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 также подходит на Claude Code v2.1.170 или позже.165* **Поддерживаемая основная модель**: Opus 4.6 или позже, Sonnet 4.6 или позже, или Haiku 4.5. {/* min-version: 2.1.170 */}Fable 5 также подходит на Claude Code v2.1.170 или позже.

165 166 

166<h2 id="turn-the-advisor-off">167<h2 id="turn-the-advisor-off">

167 Отключение советника168 Отключение советника

Details

226 Модель226 Модель

227</h3>227</h3>

228 228 

229Если вы не установите `model`, SDK использует значение по умолчанию Claude Code, которое зависит от вашего метода аутентификации и подписки. Установите его явно (например, `model="claude-sonnet-4-6"`), чтобы закрепить определенную модель или использовать меньшую модель для более быстрых и дешевых агентов. См. [models](https://platform.claude.com/docs/en/about-claude/models) для доступных ID.229Если вы не установите `model`, SDK использует значение по умолчанию Claude Code, которое зависит от вашего метода аутентификации и подписки. Установите его явно (например, `model="claude-sonnet-5"`), чтобы закрепить определенную модель или использовать меньшую модель для более быстрых и дешевых агентов. См. [models](https://platform.claude.com/docs/en/about-claude/models) для доступных ID.

230 230 

231<h2 id="the-context-window">231<h2 id="the-context-window">

232 Контекстное окно232 Контекстное окно

agent-sdk/hooks.md +20 −12

Details

205 205 

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

207 207 

208* **Ключи** — это [имена событий hook](#available-hooks) (например, `'PreToolUse'`, `'PostToolUse'`, `'Stop'`)208* **Ключи**: [имена событий hook](#available-hooks), такие как `'PreToolUse'`, `'PostToolUse'` и `'Stop'`

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

210 210 

211<h3 id="matchers">211<h3 id="matchers">

212 Matchers212 Matchers


214 214 

215Используйте matchers для фильтрации, когда срабатывают ваши callbacks. Поле `matcher` соответствует другому значению в зависимости от типа события hook. Например, hooks на основе инструментов соответствуют имени инструмента, в то время как hooks `Notification` соответствуют типу уведомления. См. [справочник hooks Claude Code](/ru/hooks#matcher-patterns) для полного списка значений matcher для каждого типа события.215Используйте matchers для фильтрации, когда срабатывают ваши callbacks. Поле `matcher` соответствует другому значению в зависимости от типа события hook. Например, hooks на основе инструментов соответствуют имени инструмента, в то время как hooks `Notification` соответствуют типу уведомления. См. [справочник hooks Claude Code](/ru/hooks#matcher-patterns) для полного списка значений matcher для каждого типа события.

216 216 

217SDK matchers следуют тем же правилам, что и [matchers в файлах настроек](/ru/hooks#matcher-patterns): matcher, содержащий только буквы, цифры, `_`, пробелы, `,` и `|`, сравнивается как точная строка, где альтернативы разделены `|` или `,` с необязательными окружающими пробелами, поэтому `Write|Edit` и `Write, Edit` каждый соответствует ровно этим двум инструментам. Matcher `*`, пустая строка или отсутствие matcher вообще соответствует каждому возникновению события; matcher, содержащий любой другой символ, вычисляется как регулярное выражение, поэтому `^mcp__` соответствует каждому MCP инструменту. Matcher вроде `mcp__memory` содержит только буквы и подчеркивания, поэтому он сравнивается как точная строка и не соответствует никакому инструменту; используйте `mcp__memory__.*` для соответствия каждому инструменту с этого сервера.217SDK matchers следуют тем же правилам, что и [matchers в файлах настроек](/ru/hooks#matcher-patterns). Matcher, содержащий только буквы, цифры, `_`, `-`, пробелы, `,` и `|`, сравнивается как точная строка, где альтернативы разделены `|` или `,` с необязательными окружающими пробелами, поэтому `Write|Edit` и `Write, Edit` каждый соответствует ровно этим двум инструментам, а `code-reviewer` соответствует только этому типу агента. Matcher `*`, пустая строка или отсутствие matcher вообще соответствует каждому возникновению события.

218 

219Matcher, содержащий любой другой символ, вычисляется как якорь-независимое регулярное выражение, поэтому `^mcp__` соответствует каждому MCP инструменту и `Edit.*` соответствует как `Edit`, так и `NotebookEdit`. Оберните регулярное выражение в `^` и `$`, когда вам нужно совпадение всей строки.

220 

221Matcher вроде `mcp__memory` или `mcp__brave-search` содержит только символы точного совпадения, поэтому он сравнивается как точная строка и не соответствует никакому инструменту; используйте `mcp__memory__.*` для соответствия каждому инструменту с этого сервера.

222 

223Дефисы в наборе точного совпадения требуют Claude Code runtime версии 2.1.195 или позже. В более ранних версиях имя с дефисом, такое как `code-reviewer`, вычисляется как якорь-независимое регулярное выражение и должно быть якорировано как `^code-reviewer$` для точного совпадения.

218 224 

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

220| --------- | ---------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |226| --------- | ---------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |


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

223| `timeout` | `number` | `60` | Timeout в секундах |229| `timeout` | `number` | `60` | Timeout в секундах |

224 230 

225Используйте паттерн `matcher` для нацеливания на конкретные инструменты, когда это возможно. Matcher с `'Bash'` запускается только для команд Bash, в то время как опущение паттерна запускает ваши callbacks для каждого возникновения события. Обратите внимание, что для hooks на основе инструментов, matchers фильтруют только по **имени инструмента**, а не по путям файлов или другим аргументам. Для фильтрации по пути файла проверьте `tool_input.file_path` внутри вашего callback.231Используйте паттерн `matcher` для нацеливания на конкретные инструменты, когда это возможно. Matcher с `'Bash'` запускается только для команд Bash, в то время как опущение паттерна запускает ваши callbacks для каждого возникновения события.

232 

233Для tool-based hooks, matchers фильтруют только по имени инструмента, а не по путям файлов или другим аргументам. Для фильтрации по пути файла проверьте `tool_input.file_path` внутри вашего callback.

226 234 

227<Tip>235<Tip>

228 **Обнаружение имен инструментов:** См. [Tool Input Types](/ru/agent-sdk/typescript#tool-input-types) для полного списка встроенных имен инструментов, или добавьте hook без matcher для логирования всех вызовов инструментов, которые делает ваш сеанс.236 **Обнаружение имен инструментов:** См. [Tool Input Types](/ru/agent-sdk/typescript#tool-input-types) для полного списка встроенных имен инструментов, или добавьте hook без matcher для логирования всех вызовов инструментов, которые делает ваш сеанс.

229 237 

230 **Именование MCP инструментов:** MCP инструменты всегда начинаются с `mcp__`, за которым следует имя сервера и действие: `mcp__<server>__<action>`. Например, если вы настроите сервер с именем `playwright`, его инструменты будут названы `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click` и т. д. Имя сервера берется из ключа, который вы используете в конфигурации `mcpServers`.238 **Именование MCP инструментов:** MCP инструменты всегда начинаются с `mcp__`, за которым следует имя сервера и действие: `mcp__<server>__<action>`. Например, если вы настроите сервер с именем `playwright`, его инструменты будут названы `mcp__playwright__browser_screenshot`, `mcp__playwright__browser_click` и так далее. Имя сервера берется из ключа, который вы используете в конфигурации `mcpServers`.

231</Tip>239</Tip>

232 240 

233<h3 id="callback-functions">241<h3 id="callback-functions">


240 248 

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

242 250 

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

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

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

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


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

259 267 

260<Note>268<Note>

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

262</Note>270</Note>

263 271 

264<h4 id="asynchronous-output">272<h4 id="asynchronous-output">

265 Асинхронный вывод273 Асинхронный вывод

266</h4>274</h4>

267 275 

268По умолчанию агент ждет, пока ваш hook вернется, прежде чем продолжить. Если ваш hook выполняет побочный эффект (логирование, отправка webhook) и не нужно влиять на поведение агента, вы можете вернуть асинхронный вывод вместо этого. Это говорит агенту продолжить немедленно без ожидания завершения hook:276По умолчанию агент ждет, пока ваш hook вернется, прежде чем продолжить. Если ваш hook выполняет побочный эффект, такой как логирование или отправка webhook, и не нужно влиять на поведение агента, вы можете вернуть асинхронный вывод вместо этого. Это говорит агенту продолжить немедленно без ожидания завершения hook:

269 277 

270<CodeGroup>278<CodeGroup>

271 ```python Python theme={null}279 ```python Python theme={null}


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

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

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

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

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

787 795 

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

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

790</h3>798</h3>

791 799 

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

793 801 

794```typescript theme={null}802```typescript theme={null}

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


815 823 

816* Проверьте все hooks `PreToolUse` на возвращение `permissionDecision: 'deny'`824* Проверьте все hooks `PreToolUse` на возвращение `permissionDecision: 'deny'`

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

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

819 827 

820<h3 id="modified-input-not-applied">828<h3 id="modified-input-not-applied">

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


841 Hooks сеанса недоступны в Python849 Hooks сеанса недоступны в Python

842</h3>850</h3>

843 851 

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

845 853 

846<CodeGroup>854<CodeGroup>

847 ```python Python theme={null}855 ```python Python theme={null}

Details

209 209 

210* **Только стенограммы**: `SessionStore` зеркалирует стенограммы, а не файлы памяти `CLAUDE.md` или другие артефакты рабочего каталога. Смонтируйте общий том или синхронизируйте их отдельно.210* **Только стенограммы**: `SessionStore` зеркалирует стенограммы, а не файлы памяти `CLAUDE.md` или другие артефакты рабочего каталога. Смонтируйте общий том или синхронизируйте их отдельно.

211* **Зеркалирование, а не замена**: подпроцесс сначала записывает на локальный диск, а хранилище получает копию каждого пакета. Локальные записи остаются авторитетными.211* **Зеркалирование, а не замена**: подпроцесс сначала записывает на локальный диск, а хранилище получает копию каждого пакета. Локальные записи остаются авторитетными.

212* **Сообщения `mirror_error`**: если хранилище отклоняет или истекает время ожидания, SDK выдает сообщение `{ type: "system", subtype: "mirror_error" }` и продолжает запрос без повтора. Оповещайте об этих сообщениях, если долговечность хранилища имеет значение.212* **Сообщения `mirror_error`**: пакет, который хранилище отклоняет, отправляется до трех раз в общей сложности с коротким откатом перед каждой повторной попыткой; истекший по времени вызов не повторяется. Если пакет все еще не удается, SDK отбрасывает его, выдает сообщение `{ type: "system", subtype: "mirror_error" }` и продолжает запрос. Оповещайте об этих сообщениях, если долговечность хранилища имеет значение.

213 213 

214<h3 id="observability">214<h3 id="observability">

215 Наблюдаемость215 Наблюдаемость

Details

44 </Step>44 </Step>

45</Steps>45</Steps>

46 46 

47<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=cc94220087262cd48c9b64a14c4e1c2c" alt="Диаграмма потока оценки разрешений из пяти шагов, соответствующая шагам выше: запрос инструмента проходит через hooks, правила deny, режим разрешений, правила allow и canUseTool. Hooks, правила deny и canUseTool могут маршрутизировать вниз к Blocked; обход режима разрешений, правила allow и canUseTool могут маршрутизировать вверх к Execute." width="1024" height="260" data-path="images/agent-sdk/permissions-flow.svg" />47<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" alt="Диаграмма потока оценки разрешений из шести шагов, соответствующая шагам выше: запрос инструмента проходит через hooks, правила deny, правила ask, режим разрешений, правила allow и canUseTool. Hooks, правила deny и canUseTool могут маршрутизировать вниз к Blocked; обход режима разрешений, правила allow и canUseTool могут маршрутизировать вверх к Execute; правила ask маршрутизируют к canUseTool." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

48 48 

49На этой странице основное внимание уделяется **правилам allow и deny** и **режимам разрешений**. Для других шагов:49На этой странице основное внимание уделяется **правилам allow и deny** и **режимам разрешений**. Для других шагов:

50 50 

51* **Hooks:** запустите пользовательский код для разрешения, отклонения или изменения запросов инструментов. См. [Управление выполнением с помощью hooks](/ru/agent-sdk/hooks).51* **Hooks:** запустите пользовательский код для разрешения, отклонения или изменения запросов инструментов. См. [Управление выполнением с помощью hooks](/ru/agent-sdk/hooks).

52* **Callback canUseTool:** запросите у пользователей утверждение во время выполнения. См. [Обработка утверждений и ввода пользователя](/ru/agent-sdk/user-input).52* **Callback canUseTool:** запросите у пользователей утверждение во время выполнения, когда ни один из предыдущих шагов не разрешит вызов. См. [Обработка утверждений и ввода пользователя](/ru/agent-sdk/user-input).

53 53 

54<h2 id="allow-and-deny-rules">54<h2 id="allow-and-deny-rules">

55 Правила allow и deny55 Правила allow и deny


66 66 

67Правила allow принимают глобы имён инструментов только после буквального префикса `mcp__<server>__`. Сегмент сервера должен быть свободен от глобов, чтобы правило называло конкретный сервер, который вы настроили: `mcp__puppeteer__*` соответствует каждому инструменту с сервера `puppeteer`, и `mcp__github__get_*` соответствует его инструментам `get_`. Неякорированная запись, такая как `allowed_tools=["*"]` или `allowed_tools=["mcp__*"]`, игнорируется с предупреждением при запуске и не одобряет ничего автоматически.67Правила allow принимают глобы имён инструментов только после буквального префикса `mcp__<server>__`. Сегмент сервера должен быть свободен от глобов, чтобы правило называло конкретный сервер, который вы настроили: `mcp__puppeteer__*` соответствует каждому инструменту с сервера `puppeteer`, и `mcp__github__get_*` соответствует его инструментам `get_`. Неякорированная запись, такая как `allowed_tools=["*"]` или `allowed_tools=["mcp__*"]`, игнорируется с предупреждением при запуске и не одобряет ничего автоматически.

68 68 

69<Warning>

70 **Автоматически одобренные инструменты никогда не достигают `canUseTool`.** Вызов инструмента, одобренный на любом более раннем этапе, с помощью `acceptEdits` или `bypassPermissions`, или по правилу allow, пропускает ваш обратный вызов `canUseTool`, поэтому проверки разрешений, которые вы там поместили, молча обходятся для этого инструмента. Охват зависит от формы записи: простое имя, такое как `Read` или `mcp__github__get_issue`, автоматически одобряет каждый вызов этого инструмента, в то время как правило с областью действия, такое как `Bash(ls *)`, автоматически одобряет только совпадающие вызовы, и другие вызовы `Bash` всё ещё переходят к обратному вызову. Для проверок, которые должны выполняться при каждом вызове инструмента, используйте [`PreToolUse` hook](/ru/agent-sdk/hooks): hooks выполняются перед каждым другим шагом, и отказ hook применяется даже в режиме `bypassPermissions`.

71</Warning>

72 

69Для заблокированного агента объедините `allowedTools` с `permissionMode: "dontAsk"`. Указанные инструменты одобрены; всё остальное отклоняется полностью вместо запроса:73Для заблокированного агента объедините `allowedTools` с `permissionMode: "dontAsk"`. Указанные инструменты одобрены; всё остальное отклоняется полностью вместо запроса:

70 74 

71```typescript theme={null}75```typescript theme={null}

Details

750 750 

751 751 

752async def main():752async def main():

753 options = ClaudeAgentOptions(753 # Don't also list the gated tools in allowed_tools: allow rules approve calls before can_use_tool runs

754 can_use_tool=custom_permission_handler, allowed_tools=["Read", "Write", "Edit"]754 options = ClaudeAgentOptions(can_use_tool=custom_permission_handler)

755 )

756 755 

757 async with ClaudeSDKClient(options=options) as client:756 async with ClaudeSDKClient(options=options) as client:

758 await client.query("Update the system config file")757 await client.query("Update the system config file")


886 fork_session: bool = False885 fork_session: bool = False

887 agents: dict[str, AgentDefinition] | None = None886 agents: dict[str, AgentDefinition] | None = None

888 setting_sources: list[SettingSource] | None = None887 setting_sources: list[SettingSource] | None = None

888 skills: list[str] | Literal["all"] | None = None

889 sandbox: SandboxSettings | None = None889 sandbox: SandboxSettings | None = None

890 plugins: list[SdkPluginConfig] = field(default_factory=list)890 plugins: list[SdkPluginConfig] = field(default_factory=list)

891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead891 max_thinking_tokens: int | None = None # Deprecated: use thinking instead


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

925| `debug_stderr` | `Any` | `sys.stderr` | *Устарело* - Объект, подобный файлу, для вывода отладки. Вместо этого используйте обратный вызов `stderr` |925| `debug_stderr` | `Any` | `sys.stderr` | *Устарело* - Объект, подобный файлу, для вывода отладки. Вместо этого используйте обратный вызов `stderr` |

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

927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Функция обратного вызова разрешения инструмента. См. [Permission types](#canusetool) для деталей |927| `can_use_tool` | [`CanUseTool`](#canusetool) ` \| None` | `None` | Функция обратного вызова разрешения инструмента, вызываемая только когда [permission flow](/ru/agent-sdk/permissions#how-permissions-are-evaluated) переходит к подсказке. Не вызывается для вызовов, автоматически одобренных `allowed_tools`, правилами разрешения или `permission_mode`. См. [`CanUseTool`](#canusetool) для деталей |

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

929| `user` | `str \| None` | `None` | Идентификатор пользователя |929| `user` | `str \| None` | `None` | Идентификатор пользователя |

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


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

961* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено `15`. Каждая повторная попытка получает свое собственное окно `API_TIMEOUT_MS`, поэтому наихудшее время стены примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс отступ. Для автоматических запусков, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG=1` для повторной попытки ошибок емкости бесконечно.961* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено `15`. Каждая повторная попытка получает свое собственное окно `API_TIMEOUT_MS`, поэтому наихудшее время стены примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс отступ. Для автоматических запусков, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG=1` для повторной попытки ошибок емкости бесконечно.

962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании он прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.962* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: сторожевой таймер зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании он прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.

963* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки прибыли, но тело ответа перестает потоковать. Когда `CLAUDE_ENABLE_STREAM_WATCHDOG` не установлен, по умолчанию используется управление сервером на прямом API Anthropic и отключено на других поставщиках. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.963* `CLAUDE_ENABLE_STREAM_WATCHDOG` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки прибыли, но тело ответа перестает потоковать. Сторожевой таймер включен по умолчанию для всех поставщиков; установите `CLAUDE_ENABLE_STREAM_WATCHDOG=0` для отключения. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.

964 964 

965<h3 id="outputformat">965<h3 id="outputformat">

966 `OutputFormat`966 `OutputFormat`


1206 "low", # Minimal thinking, fastest responses1206 "low", # Minimal thinking, fastest responses

1207 "medium", # Moderate thinking1207 "medium", # Moderate thinking

1208 "high", # Deep reasoning1208 "high", # Deep reasoning

1209 "xhigh", # Extended reasoning (Opus 4.8 and Opus 4.7; falls back to "high" on other models)1209 "xhigh", # Extended reasoning; falls back to "high" on models that don't support it

1210 "max", # Maximum effort1210 "max", # Maximum effort

1211]1211]

1212```1212```


1231 1231 

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

1233 1233 

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

1235 

1234<h3 id="toolpermissioncontext">1236<h3 id="toolpermissioncontext">

1235 `ToolPermissionContext`1237 `ToolPermissionContext`

1236</h3>1238</h3>


2681 2683 

2682**Имя инструмента:** `Monitor`2684**Имя инструмента:** `Monitor`

2683 2685 

2684Запускает фоновый скрипт и доставляет каждую строку stdout в Claude как событие, чтобы он мог реагировать без опроса. Monitor следует тем же правилам разрешений, что и Bash. См. [Справочник инструмента Monitor](/ru/tools-reference#monitor-tool) для поведения и доступности поставщика.2686Запускает фоновый источник и доставляет каждое событие в Claude, чтобы он мог реагировать без опроса: `command` запускает скрипт и выдает одно событие на строку stdout, а `ws` открывает WebSocket и выдает одно событие на текстовый фрейм. Укажите ровно один из `command` или `ws`.

2687 

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

2685 2689 

2686**Ввод:**2690**Ввод:**

2687 2691 

2688```python theme={null}2692```python theme={null}

2689{2693{

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

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

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

2692 "timeout_ms": int | None, # Завершить после этого срока (по умолчанию 300000, макс 3600000)2697 "timeout_ms": int | None, # Завершить после этого срока (по умолчанию 300000, макс 3600000)

2693 "persistent": bool | None, # Запускать в течение всего времени сеанса; остановить с помощью TaskStop2698 "persistent": bool | None, # Запускать в течение всего времени сеанса; остановить с помощью TaskStop

Details

41 Установите пакет Agent SDK для вашего языка:41 Установите пакет Agent SDK для вашего языка:

42 42 

43 <Tabs>43 <Tabs>

44 <Tab title="TypeScript">44 <Tab title="TypeScript (новый проект)">

45 ```bash theme={null}45 ```bash theme={null}

46 npm init -y

47 npm pkg set type=module

46 npm install @anthropic-ai/claude-agent-sdk48 npm install @anthropic-ai/claude-agent-sdk

49 npm install --save-dev tsx

47 ```50 ```

51 

52 Установка `"type": "module"` в `package.json` позволяет вашему скрипту агента использовать верхнеуровневый `await`, а [tsx](https://tsx.is) запускает файлы TypeScript напрямую.

53 </Tab>

54 

55 <Tab title="TypeScript (существующий проект)">

56 ```bash theme={null}

57 npm install @anthropic-ai/claude-agent-sdk

58 npm install --save-dev tsx

59 ```

60 

61 [tsx](https://tsx.is) запускает файлы TypeScript напрямую. Если ваш проект использует CommonJS, назовите ваш скрипт агента `agent.mts` вместо `agent.ts`. Расширение `.mts` заставляет tsx рассматривать файл как ES модуль, поэтому верхнеуровневый `await` работает без преобразования всего вашего проекта в ES модули. Используйте `agent.mts` вместо `agent.ts` на этапах создания и запуска далее в этом быстром старте.

48 </Tab>62 </Tab>

49 63 

50 <Tab title="Python (uv)">64 <Tab title="Python (uv)">


85 </Step>99 </Step>

86 100 

87 <Step title="Установите ваш API ключ">101 <Step title="Установите ваш API ключ">

88 Получите API ключ из [Claude Console](https://platform.claude.com/), затем создайте файл `.env` в каталоге вашего проекта:102 Получите API ключ из [Claude Console](https://platform.claude.com/), затем установите его как переменную окружения в оболочке, где вы будете запускать вашего агента:

89 103 

104 <Tabs>

105 <Tab title="macOS / Linux">

90 ```bash theme={null}106 ```bash theme={null}

91 ANTHROPIC_API_KEY=your-api-key107 export ANTHROPIC_API_KEY=your-api-key

92 ```108 ```

109 </Tab>

110 

111 <Tab title="Windows (PowerShell)">

112 ```powershell theme={null}

113 $env:ANTHROPIC_API_KEY = "your-api-key"

114 ```

115 </Tab>

116 </Tabs>

117 

118 SDK читает ключ из окружения процесса, который запускает вашего агента; он не загружает файлы `.env` автоматически. Если вы храните ключ в файле `.env`, загрузите его самостоятельно, например с помощью пакета `dotenv`, перед вызовом SDK.

93 119 

94 SDK также поддерживает аутентификацию через сторонних поставщиков API:120 SDK также поддерживает аутентификацию через сторонних поставщиков API:

95 121 


133 Создайте агента, который находит и исправляет ошибки159 Создайте агента, который находит и исправляет ошибки

134</h2>160</h2>

135 161 

136Создайте `agent.py`, если вы используете Python SDK, или `agent.ts` для TypeScript:162Создайте `agent.py`, если вы используете Python SDK, или `agent.ts` для TypeScript. Используйте `agent.mts` вместо этого, если ваш существующий проект использует CommonJS:

137 163 

138<CodeGroup>164<CodeGroup>

139 ```python Python theme={null}165 ```python Python theme={null}


218 ```bash theme={null}244 ```bash theme={null}

219 npx tsx agent.ts245 npx tsx agent.ts

220 ```246 ```

247 

248 Если вы назвали ваш скрипт `agent.mts`, запустите `npx tsx agent.mts` вместо этого.

221 </Tab>249 </Tab>

222 250 

223 <Tab title="Python (uv)">251 <Tab title="Python (uv)">


235 </Tab>263 </Tab>

236</Tabs>264</Tabs>

237 265 

238После запуска проверьте `utils.py`. Вы увидите защитный код, обрабатывающий пустые списки и нулевых пользователей. Ваш агент автономно:266По мере работы агент выводит своё рассуждение и каждый инструмент, который он вызывает, заканчивая с `Done: success`. После запуска проверьте `utils.py`. Вы увидите защитный код, обрабатывающий пустые списки и нулевых пользователей. Ваш агент автономно:

239 267 

2401. **Прочитал** `utils.py` для понимания кода2681. **Прочитал** `utils.py` для понимания кода

2412. **Проанализировал** логику и определил граничные случаи, которые вызовут сбой2692. **Проанализировал** логику и определил граничные случаи, которые вызовут сбой


244Это то, что отличает Agent SDK: Claude выполняет инструменты напрямую вместо того, чтобы просить вас их реализовать.272Это то, что отличает Agent SDK: Claude выполняет инструменты напрямую вместо того, чтобы просить вас их реализовать.

245 273 

246<Note>274<Note>

247 Если вы видите "API key not found", убедитесь, что вы установили переменную окружения `ANTHROPIC_API_KEY` в файле `.env` или окружении оболочки. Подробнее см. в [полном руководстве по устранению неполадок](/ru/troubleshooting).275 Если вы видите "API key not found", убедитесь, что вы установили переменную окружения `ANTHROPIC_API_KEY` в оболочке, где вы запускаете вашего агента. SDK не загружает файлы `.env` автоматически. Подробнее см. в [полном руководстве по устранению неполадок](/ru/troubleshooting).

248</Note>276</Note>

249 277 

250<h3 id="try-other-prompts">278<h3 id="try-other-prompts">


340**Режимы разрешений** контролируют, сколько человеческого надзора вы хотите:368**Режимы разрешений** контролируют, сколько человеческого надзора вы хотите:

341 369 

342| Режим | Поведение | Вариант использования |370| Режим | Поведение | Вариант использования |

343| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |371| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |

344| `acceptEdits` | Автоматически одобряет редактирование файлов и общие команды файловой системы, запрашивает другие действия | Надёжные рабочие процессы разработки |372| `acceptEdits` | Автоматически одобряет редактирование файлов и общие команды файловой системы, запрашивает другие действия | Надёжные рабочие процессы разработки |

373| `plan` | Запускает инструменты только для чтения; редактирование файлов никогда не одобряется автоматически и достигает вашего обратного вызова `canUseTool` | Определение объёма задачи перед одобрением выполнения |

345| `dontAsk` | Отклоняет всё, что не в `allowedTools` | Заблокированные автономные агенты |374| `dontAsk` | Отклоняет всё, что не в `allowedTools` | Заблокированные автономные агенты |

346| `auto` (только TypeScript) | Классификатор модели одобряет или отклоняет каждый вызов инструмента | Автономные агенты с защитой безопасности |375| `auto` (только TypeScript) | Классификатор модели одобряет или отклоняет каждый вызов инструмента | Автономные агенты с защитой безопасности |

347| `bypassPermissions` | Запускает каждый инструмент без подсказок, если явное правило [`ask`](/ru/agent-sdk/permissions#how-permissions-are-evaluated) не совпадает | Изолированный CI, полностью доверенные окружения |376| `bypassPermissions` | Запускает каждый инструмент без подсказок, если явное правило [`ask`](/ru/agent-sdk/permissions#how-permissions-are-evaluated) не совпадает | Изолированный CI, полностью доверенные окружения |


349 378 

350Приведённый выше пример использует режим `acceptEdits`, который автоматически одобряет файловые операции, чтобы агент мог работать без интерактивных подсказок. Если вы хотите запрашивать у пользователей одобрение, используйте режим `default` и предоставьте обратный вызов [`canUseTool`](/ru/agent-sdk/user-input), который собирает пользовательский ввод. Для большего контроля см. [Разрешения](/ru/agent-sdk/permissions).379Приведённый выше пример использует режим `acceptEdits`, который автоматически одобряет файловые операции, чтобы агент мог работать без интерактивных подсказок. Если вы хотите запрашивать у пользователей одобрение, используйте режим `default` и предоставьте обратный вызов [`canUseTool`](/ru/agent-sdk/user-input), который собирает пользовательский ввод. Для большего контроля см. [Разрешения](/ru/agent-sdk/permissions).

351 380 

352<h2 id="troubleshooting">

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

354</h2>

355 

356<h3 id="api-error-thinking-type-enabled-is-not-supported-for-this-model">

357 Ошибка API `thinking.type.enabled` не поддерживается для этой модели

358</h3>

359 

360Claude Opus 4.7 заменяет `thinking.type.enabled` на `thinking.type.adaptive`. Старые версии Agent SDK падают со следующей ошибкой API при выборе `claude-opus-4-7`:

361 

362```text theme={null}

363API Error: 400 {"type":"invalid_request_error","message":"\"thinking.type.enabled\" is not supported for this model. Use \"thinking.type.adaptive\" and \"output_config.effort\" to control thinking behavior."}

364```

365 

366Обновитесь до Agent SDK v0.2.111 или позже для использования Opus 4.7.

367 

368<h2 id="next-steps">381<h2 id="next-steps">

369 Следующие шаги382 Следующие шаги

370</h2>383</h2>

Details

235 Зеркальные записи — это лучшие усилия235 Зеркальные записи — это лучшие усилия

236</h3>236</h3>

237 237 

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

239 239 

240<h3 id="getsessionmessages-returns-the-post-compaction-chain">240<h3 id="getsessionmessages-returns-the-post-compaction-chain">

241 `getSessionMessages` возвращает цепь после компактирования241 `getSessionMessages` возвращает цепь после компактирования

Details

24 })) {24 })) {

25 if (message.type === "system" && message.subtype === "init") {25 if (message.type === "system" && message.subtype === "init") {

26 console.log("Available slash commands:", message.slash_commands);26 console.log("Available slash commands:", message.slash_commands);

27 // Example output: ["clear", "compact", "context", "usage"]27 // Включает встроенные команды плюс связанные skills, например:

28 // ["clear", "compact", "context", "usage", "code-review", "verify", ...]

28 }29 }

29 }30 }

30 ```31 ```


38 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):39 async for message in query(prompt="Hello Claude", options=ClaudeAgentOptions(max_turns=1)):

39 if isinstance(message, SystemMessage) and message.subtype == "init":40 if isinstance(message, SystemMessage) and message.subtype == "init":

40 print("Available slash commands:", message.data["slash_commands"])41 print("Available slash commands:", message.data["slash_commands"])

41 # Example output: ["clear", "compact", "context", "usage"]42 # Включает встроенные команды плюс связанные skills, например:

43 # ["clear", "compact", "context", "usage", "code-review", "verify", ...]

42 44 

43 45 

44 asyncio.run(main())46 asyncio.run(main())


49 Отправка Slash Commands51 Отправка Slash Commands

50</h2>52</h2>

51 53 

52Отправляйте slash commands, включая их в строку подсказки, как обычный текст:54Отправляйте slash commands, включая их в строку подсказки, как обычный текст. Команды, которые действуют на историю разговора, такие как `/compact`, требуют предыдущих сообщений для работы, поэтому примеры ниже сначала задают вопрос, а затем отправляют команду как продолжение того же разговора:

53 55 

54<CodeGroup>56<CodeGroup>

55 ```typescript TypeScript theme={null}57 ```typescript TypeScript theme={null}

56 import { query } from "@anthropic-ai/claude-agent-sdk";58 import { query } from "@anthropic-ai/claude-agent-sdk";

57 59 

58 // Send a slash command60 // Build up conversation history first

61 try {

59 for await (const message of query({62 for await (const message of query({

60 prompt: "/compact",63 prompt: "What does the README in this directory cover?",

61 options: { maxTurns: 1 }64 options: { maxTurns: 2 }

62 })) {65 })) {

63 if (message.type === "result" && message.subtype === "success") {66 if (message.type === "result" && message.subtype === "success") {

64 console.log("Command executed:", message.result);67 console.log(message.result);

68 }

69 }

70 } catch (error) {

71 // A single-shot query() throws after yielding an error result,

72 // so the follow-up query below still runs.

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

74 }

75 

76 // Send a slash command as a follow-up to the same conversation

77 for await (const message of query({

78 prompt: "/compact",

79 options: { continue: true, maxTurns: 1 }

80 })) {

81 if (message.type === "result") {

82 console.log("Command executed, result subtype:", message.subtype);

83 // Example output: Command executed, result subtype: success

65 }84 }

66 }85 }

67 ```86 ```


72 91 

73 92 

74 async def main():93 async def main():

75 # Send a slash command94 # Build up conversation history first

76 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):95 try:

96 async for message in query(

97 prompt="What does the README in this directory cover?",

98 options=ClaudeAgentOptions(max_turns=2),

99 ):

100 if isinstance(message, ResultMessage) and message.subtype == "success":

101 print(message.result)

102 except Exception as error:

103 # A single-shot query() raises after yielding an error result,

104 # so the follow-up query below still runs.

105 print(f"Session ended with an error: {error}")

106 

107 # Send a slash command as a follow-up to the same conversation

108 async for message in query(

109 prompt="/compact",

110 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

111 ):

77 if isinstance(message, ResultMessage):112 if isinstance(message, ResultMessage):

78 print("Command executed:", message.result)113 print("Command executed, result subtype:", message.subtype)

114 # Example output: Command executed, result subtype: success

79 115 

80 116 

81 asyncio.run(main())117 asyncio.run(main())

82 ```118 ```

83</CodeGroup>119</CodeGroup>

84 120 

121<Note>

122 Запрос может завершиться с результатом ошибки, например когда достигнут лимит `maxTurns` / `max_turns` до завершения работы. Финальное сообщение результата имеет `is_error: true` и подтип ошибки, такой как `error_max_turns`, вместо `success`.

123 

124 После выдачи этого финального сообщения результата SDK выбрасывает ошибку, потому что процесс CLI завершается с ненулевым кодом.

125 

126 Оберните цикл в `try`/`catch` в TypeScript или `try`/`except` в Python, если ваша команда может достичь лимита, как показано в [Single Message Input](/ru/agent-sdk/streaming-vs-single-mode#single-message-input), или установите `maxTurns` достаточно высоко для завершения работы. В Python перехватывайте `Exception`: SDK выводит результаты ошибок как простое `Exception`.

127</Note>

128 

85<h2 id="common-slash-commands">129<h2 id="common-slash-commands">

86 Распространённые Slash Commands130 Распространённые Slash Commands

87</h2>131</h2>


90 `/compact` - Компактирование истории разговора134 `/compact` - Компактирование истории разговора

91</h3>135</h3>

92 136 

93Команда `/compact` уменьшает размер истории вашего разговора путём суммирования старых сообщений при сохранении важного контекста:137Команда `/compact` уменьшает размер истории вашего разговора путём суммирования старых сообщений при сохранении важного контекста. Компактирование требует существующего разговора с минимум двумя предыдущими обменами для суммирования. Этот пример сначала содержит разговор, затем компактирует его и читает системное сообщение `compact_boundary`, которое сообщает результат:

94 138 

95<CodeGroup>139<CodeGroup>

96 ```typescript TypeScript theme={null}140 ```typescript TypeScript theme={null}

97 import { query } from "@anthropic-ai/claude-agent-sdk";141 import { query } from "@anthropic-ai/claude-agent-sdk";

98 142 

143 // Compaction needs existing history, so have a conversation first

144 try {

145 for await (const message of query({

146 prompt: "Explain what this project does",

147 options: { maxTurns: 2 }

148 })) {

149 if (message.type === "result" && message.subtype === "success") {

150 console.log(message.result);

151 }

152 }

153 } catch (error) {

154 // A single-shot query() throws after yielding an error result,

155 // so the follow-up query below still runs.

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

157 }

158 

159 // Compact the same conversation

99 for await (const message of query({160 for await (const message of query({

100 prompt: "/compact",161 prompt: "/compact",

101 options: { maxTurns: 1 }162 options: { continue: true, maxTurns: 1 }

102 })) {163 })) {

103 if (message.type === "system" && message.subtype === "compact_boundary") {164 if (message.type === "system" && message.subtype === "compact_boundary") {

104 console.log("Compaction completed");165 console.log("Compaction completed");

105 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);166 console.log("Pre-compaction tokens:", message.compact_metadata.pre_tokens);

106 console.log("Trigger:", message.compact_metadata.trigger);167 console.log("Trigger:", message.compact_metadata.trigger);

168 // Example output:

169 // Compaction completed

170 // Pre-compaction tokens: 1842

171 // Trigger: manual

107 }172 }

108 }173 }

109 ```174 ```

110 175 

111 ```python Python theme={null}176 ```python Python theme={null}

112 import asyncio177 import asyncio

113 from claude_agent_sdk import query, ClaudeAgentOptions, SystemMessage178 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage, SystemMessage

114 179 

115 180 

116 async def main():181 async def main():

117 async for message in query(prompt="/compact", options=ClaudeAgentOptions(max_turns=1)):182 # Compaction needs existing history, so have a conversation first

183 try:

184 async for message in query(

185 prompt="Explain what this project does",

186 options=ClaudeAgentOptions(max_turns=2),

187 ):

188 if isinstance(message, ResultMessage) and message.subtype == "success":

189 print(message.result)

190 except Exception as error:

191 # A single-shot query() raises after yielding an error result,

192 # so the follow-up query below still runs.

193 print(f"Session ended with an error: {error}")

194 

195 # Compact the same conversation

196 async for message in query(

197 prompt="/compact",

198 options=ClaudeAgentOptions(continue_conversation=True, max_turns=1),

199 ):

118 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":200 if isinstance(message, SystemMessage) and message.subtype == "compact_boundary":

119 print("Compaction completed")201 print("Compaction completed")

120 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])202 print("Pre-compaction tokens:", message.data["compact_metadata"]["pre_tokens"])

121 print("Trigger:", message.data["compact_metadata"]["trigger"])203 print("Trigger:", message.data["compact_metadata"]["trigger"])

204 # Example output:

205 # Compaction completed

206 # Pre-compaction tokens: 1842

207 # Trigger: manual

122 208 

123 209 

124 asyncio.run(main())210 asyncio.run(main())

125 ```211 ```

126</CodeGroup>212</CodeGroup>

127 213 

214<Note>

215 Сообщение `compact_boundary` поступает только при выполнении компактирования. Если нечего суммировать, `/compact` сообщает причину вместо возникновения ошибки: выполнение всё ещё заканчивается результатом `success`, сообщение `compact_boundary` не выдаётся, и текст результата содержит сообщение, например `Not enough messages to compact.` после одного короткого обмена. Новый одноразовый вызов `query()` начинается с пустым контекстом, поэтому используйте этот паттерн в сеансе с предыдущими ходами, например в [режиме потоковой передачи входных данных](/ru/agent-sdk/streaming-vs-single-mode) или при возобновлении сеанса.

216</Note>

217 

128<h3 id="/clear-reset-conversation-context">218<h3 id="/clear-reset-conversation-context">

129 `/clear` - Сброс контекста разговора219 `/clear` - Сброс контекста разговора

130</h3>220</h3>


170 Базовый пример260 Базовый пример

171</h4>261</h4>

172 262 

173Создайте `.claude/commands/refactor.md`:263Создайте каталог `.claude/commands` в вашем проекте, если его ещё нет, затем создайте `.claude/commands/refactor.md`:

174 264 

175```markdown theme={null}265```markdown theme={null}

176Refactor the selected code to improve readability and maintainability.266Refactor the selected code to improve readability and maintainability.


189---279---

190allowed-tools: Read, Grep, Glob280allowed-tools: Read, Grep, Glob

191description: Run security vulnerability scan281description: Run security vulnerability scan

192model: claude-opus-4-7282model: claude-opus-4-8

193---283---

194 284 

195Analyze the codebase for security vulnerabilities including:285Analyze the codebase for security vulnerabilities including:


210 import { query } from "@anthropic-ai/claude-agent-sdk";300 import { query } from "@anthropic-ai/claude-agent-sdk";

211 301 

212 // Use a custom command302 // Use a custom command

303 try {

213 for await (const message of query({304 for await (const message of query({

214 prompt: "/refactor src/auth/login.ts",305 prompt: "/refactor src/auth/login.ts",

215 options: { maxTurns: 3 }306 options: { maxTurns: 3 }


218 console.log("Refactoring suggestions:", message.message);309 console.log("Refactoring suggestions:", message.message);

219 }310 }

220 }311 }

312 } catch (error) {

313 // A single-shot query() throws after yielding an error result,

314 // so the second query below still runs.

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

316 }

221 317 

222 // Custom commands appear in the slash_commands list318 // Custom commands appear in the slash_commands list

223 for await (const message of query({319 for await (const message of query({


225 options: { maxTurns: 1 }321 options: { maxTurns: 1 }

226 })) {322 })) {

227 if (message.type === "system" && message.subtype === "init") {323 if (message.type === "system" && message.subtype === "init") {

228 // Will include both built-in and custom commands

229 console.log("Available commands:", message.slash_commands);324 console.log("Available commands:", message.slash_commands);

230 // Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]325 // Includes built-in commands plus bundled skills and your custom commands, for example:

326 // ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

231 }327 }

232 }328 }

233 ```329 ```


239 335 

240 async def main():336 async def main():

241 # Use a custom command337 # Use a custom command

338 try:

242 async for message in query(339 async for message in query(

243 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)340 prompt="/refactor src/auth/login.py", options=ClaudeAgentOptions(max_turns=3)

244 ):341 ):


246 for block in message.content:343 for block in message.content:

247 if hasattr(block, "text"):344 if hasattr(block, "text"):

248 print("Refactoring suggestions:", block.text)345 print("Refactoring suggestions:", block.text)

346 except Exception as error:

347 # A single-shot query() raises after yielding an error result,

348 # so the second query below still runs.

349 print(f"Session ended with an error: {error}")

249 350 

250 # Custom commands appear in the slash_commands list351 # Custom commands appear in the slash_commands list

251 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):352 async for message in query(prompt="Hello", options=ClaudeAgentOptions(max_turns=1)):

252 if isinstance(message, SystemMessage) and message.subtype == "init":353 if isinstance(message, SystemMessage) and message.subtype == "init":

253 # Will include both built-in and custom commands

254 print("Available commands:", message.data["slash_commands"])354 print("Available commands:", message.data["slash_commands"])

255 # Example: ["clear", "compact", "context", "usage", "refactor", "security-check"]355 # Includes built-in commands plus bundled skills and your custom commands, for example:

356 # ["clear", "compact", "context", "usage", "code-review", "verify", "refactor", "security-check", ...]

256 357 

257 358 

258 asyncio.run(main())359 asyncio.run(main())


384 Практические примеры485 Практические примеры

385</h3>486</h3>

386 487 

387<h4 id="code-review-command">488<h4 id="pull-request-review-command">

388 Команда проверки кода489 Команда проверки Pull Request

389</h4>490</h4>

390 491 

391Создайте `.claude/commands/code-review.md`:492Создайте `.claude/commands/review-pr.md`:

392 493 

393```markdown theme={null}494```markdown theme={null}

394---495---


414Provide specific, actionable feedback organized by priority.515Provide specific, actionable feedback organized by priority.

415```516```

416 517 

518<Note>

519 Claude Code включает встроенные skills `code-review` и `verify`. Если вы назовёте пользовательскую команду в честь одного из них, например `.claude/commands/code-review.md`, ваша команда затенит встроенный skill и `slash_commands` выведет имя один раз.

520</Note>

521 

417<h4 id="test-runner-command">522<h4 id="test-runner-command">

418 Команда запуска тестов523 Команда запуска тестов

419</h4>524</h4>


442 import { query } from "@anthropic-ai/claude-agent-sdk";547 import { query } from "@anthropic-ai/claude-agent-sdk";

443 548 

444 // Run code review549 // Run code review

550 try {

445 for await (const message of query({551 for await (const message of query({

446 prompt: "/code-review",552 prompt: "/review-pr",

447 options: { maxTurns: 3 }553 options: { maxTurns: 3 }

448 })) {554 })) {

449 // Process review feedback555 // Process review feedback

450 }556 }

557 } catch (error) {

558 // A single-shot query() throws after yielding an error result,

559 // so the second query below still runs.

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

561 }

451 562 

452 // Run specific tests563 // Run specific tests

453 for await (const message of query({564 for await (const message of query({


465 576 

466 async def main():577 async def main():

467 # Run code review578 # Run code review

468 async for message in query(prompt="/code-review", options=ClaudeAgentOptions(max_turns=3)):579 try:

580 async for message in query(prompt="/review-pr", options=ClaudeAgentOptions(max_turns=3)):

469 # Process review feedback581 # Process review feedback

470 pass582 pass

583 except Exception as error:

584 # A single-shot query() raises after yielding an error result,

585 # so the second query below still runs.

586 print(f"Session ended with an error: {error}")

471 587 

472 # Run specific tests588 # Run specific tests

473 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):589 async for message in query(prompt="/test auth", options=ClaudeAgentOptions(max_turns=5)):

Details

71 71 

72Определяйте подагентов непосредственно в коде, используя параметр `agents`. Этот пример создает двух подагентов: рецензента кода с доступом только для чтения и средство запуска тестов, которое может выполнять команды. Claude вызывает подагентов через инструмент `Agent`, поэтому включите `Agent` в `allowedTools` для автоматического одобрения вызовов подагентов без запроса разрешения.72Определяйте подагентов непосредственно в коде, используя параметр `agents`. Этот пример создает двух подагентов: рецензента кода с доступом только для чтения и средство запуска тестов, которое может выполнять команды. Claude вызывает подагентов через инструмент `Agent`, поэтому включите `Agent` в `allowedTools` для автоматического одобрения вызовов подагентов без запроса разрешения.

73 73 

74Большинство примеров на этой странице выводят только окончательный результат. Чтобы подтвердить, что Claude делегировал работу подагенту, а не ответил напрямую, см. раздел [Обнаружение вызова подагента](#detecting-subagent-invocation).

75 

74<CodeGroup>76<CodeGroup>

75 ```python Python theme={null}77 ```python Python theme={null}

76 import asyncio78 import asyncio


193| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Нет | Уровень усилий рассуждения для этого агента |195| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Нет | Уровень усилий рассуждения для этого агента |

194| `permissionMode` | `PermissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте |196| `permissionMode` | `PermissionMode` | Нет | Режим разрешений для выполнения инструментов в этом агенте |

195 197 

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

197 199 

198<Note>200<Note>

199 {/* min-version: 2.1.172 */}Начиная с Claude Code v2.1.172, подагенты могут создавать своих собственных подагентов. Подагент на пять уровней ниже основного агента не может создавать дополнительных подагентов, независимо от того, работает ли он в переднем плане или в фоновом режиме. Чтобы предотвратить создание подагентом других подагентов, опустите `Agent` из его массива `tools` или добавьте его в `disallowedTools`. Полные правила глубины см. в разделе [вложенные подагенты](/ru/sub-agents#spawn-nested-subagents).201 {/* min-version: 2.1.172 */}Начиная с Claude Code v2.1.172, подагенты могут создавать своих собственных подагентов. Подагент на пять уровней ниже основного агента не может создавать дополнительных подагентов, независимо от того, работает ли он в переднем плане или в фоновом режиме. Чтобы предотвратить создание подагентом других подагентов, опустите `Agent` из его массива `tools` или добавьте его в `disallowedTools`. Полные правила глубины см. в разделе [вложенные подагенты](/ru/sub-agents#spawn-nested-subagents).


469 session_id = None471 session_id = None

470 472 

471 # First invocation - run the endpoint-finder subagent473 # First invocation - run the endpoint-finder subagent

474 try:

472 async for message in query(475 async for message in query(

473 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",476 prompt="Use the endpoint-finder agent to find all API endpoints in this codebase",

474 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),477 options=ClaudeAgentOptions(allowed_tools=["Read", "Grep", "Glob", "Agent"], agents=AGENTS),


483 # Print the final result486 # Print the final result

484 if hasattr(message, "result"):487 if hasattr(message, "result"):

485 print(message.result)488 print(message.result)

489 except Exception as error:

490 # A single-shot query() raises after yielding an error result,

491 # so session_id and agent_id have already been captured by the loop above.

492 print(f"Session ended with an error: {error}")

486 493 

487 # Second invocation - resume and ask follow-up494 # Second invocation - resume and ask follow-up

488 if agent_id and session_id:495 if agent_id and session_id:


494 ):501 ):

495 if hasattr(message, "result"):502 if hasattr(message, "result"):

496 print(message.result)503 print(message.result)

504 else:

505 print("No agentId found in the first query, so there is no subagent to resume.")

497 506 

498 507 

499 asyncio.run(main())508 asyncio.run(main())


522 let sessionId: string | undefined;531 let sessionId: string | undefined;

523 532 

524 // First invocation - run the endpoint-finder subagent533 // First invocation - run the endpoint-finder subagent

534 try {

525 for await (const message of query({535 for await (const message of query({

526 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",536 prompt: "Use the endpoint-finder agent to find all API endpoints in this codebase",

527 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }537 options: { allowedTools: ["Read", "Grep", "Glob", "Agent"], agents }


534 // Print the final result544 // Print the final result

535 if ("result" in message) console.log(message.result);545 if ("result" in message) console.log(message.result);

536 }546 }

547 } catch (error) {

548 // A single-shot query() throws after yielding an error result,

549 // so sessionId and agentId have already been captured by the loop above.

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

551 }

537 552 

538 // Second invocation - resume and ask follow-up553 // Second invocation - resume and ask follow-up

539 if (agentId && sessionId) {554 if (agentId && sessionId) {


543 })) {558 })) {

544 if ("result" in message) console.log(message.result);559 if ("result" in message) console.log(message.result);

545 }560 }

561 } else {

562 console.log("No agentId found in the first query, so there is no subagent to resume.");

546 }563 }

547 ```564 ```

548</CodeGroup>565</CodeGroup>

Details

475| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включите обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` |475| `allowDangerouslySkipPermissions` | `boolean` | `false` | Включите обход разрешений. Требуется при использовании `permissionMode: 'bypassPermissions'` |

476| `allowedTools` | `string[]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами; неперечисленные инструменты переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки инструментов. См. [Разрешения](/ru/agent-sdk/permissions#allow-and-deny-rules) |476| `allowedTools` | `string[]` | `[]` | Инструменты для автоматического одобрения без запроса. Это не ограничивает Claude только этими инструментами; неперечисленные инструменты переходят к `permissionMode` и `canUseTool`. Используйте `disallowedTools` для блокировки инструментов. См. [Разрешения](/ru/agent-sdk/permissions#allow-and-deny-rules) |

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

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

479| `continue` | `boolean` | `false` | Продолжите самый последний диалог |479| `continue` | `boolean` | `false` | Продолжите самый последний диалог |

480| `cwd` | `string` | `process.cwd()` | Текущая рабочая директория |480| `cwd` | `string` | `process.cwd()` | Текущая рабочая директория |

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


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

554* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено `15`. Каждая повторная попытка получает своё собственное окно `API_TIMEOUT_MS`, поэтому наихудший случай wall time примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс backoff. Для автоматических запусков, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG=1` для повторной попытки ошибок ёмкости бесконечно.554* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено `15`. Каждая повторная попытка получает своё собственное окно `API_TIMEOUT_MS`, поэтому наихудший случай wall time примерно `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` плюс backoff. Для автоматических запусков, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG=1` для повторной попытки ошибок ёмкости бесконечно.

555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.555* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS`: watchdog зависания для подагентов, запущенных с `run_in_background`. По умолчанию `600000`. Сбрасывается при каждом событии потока; при зависании прерывает подагента, отмечает задачу как неудачную и выводит ошибку родителю с любым частичным результатом. Не применяется к синхронным подагентам.

556* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки получены, но тело ответа перестаёт потоком передаваться. Когда `CLAUDE_ENABLE_STREAM_WATCHDOG` не установлен, по умолчанию управляется сервером на прямом Anthropic API и отключено на других поставщиках. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.556* `CLAUDE_ENABLE_STREAM_WATCHDOG` с `CLAUDE_STREAM_IDLE_TIMEOUT_MS`: прерывает запрос, когда заголовки получены, но тело ответа перестаёт потоком передаваться. Watchdog включен по умолчанию для всех поставщиков; установите `CLAUDE_ENABLE_STREAM_WATCHDOG=0` для отключения. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` по умолчанию `300000` и зажимается до этого минимума. Прерванный запрос проходит через обычный путь повторной попытки.

557 557 

558<h3 id="query-object">558<h3 id="query-object">

559 `Query` object559 `Query` object


573 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;573 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

574 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;574 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;

575 initializationResult(): Promise<SDKControlInitializeResponse>;575 initializationResult(): Promise<SDKControlInitializeResponse>;

576 reinitialize(): Promise<SDKControlInitializeResponse>;

576 supportedCommands(): Promise<SlashCommand[]>;577 supportedCommands(): Promise<SlashCommand[]>;

577 supportedModels(): Promise<ModelInfo[]>;578 supportedModels(): Promise<ModelInfo[]>;

578 supportedAgents(): Promise<AgentInfo[]>;579 supportedAgents(): Promise<AgentInfo[]>;


592</h4>593</h4>

593 594 

594| Метод | Описание |595| Метод | Описание |

595| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

596| `interrupt()` | Прерывает запрос (доступно только в режиме потока входных данных) |597| `interrupt()` | Прерывает запрос (доступно только в режиме потока входных данных) |

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

598| `setPermissionMode()` | Изменяет режим разрешения (доступно только в режиме потока входных данных) |599| `setPermissionMode()` | Изменяет режим разрешения (доступно только в режиме потока входных данных) |


600| `setMaxThinkingTokens()` | *Устарело:* Используйте вместо этого опцию `thinking`. Изменяет максимальные токены мышления |601| `setMaxThinkingTokens()` | *Устарело:* Используйте вместо этого опцию `thinking`. Изменяет максимальные токены мышления |

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

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

604| `reinitialize()` | {/* min-version: 2.1.195 */}Повторно отправляет запрос управления `initialize` работающему CLI и возвращает свежий результат вместо кэшированного результата первого подключения. Используйте его после разрыва транспорта, такого как переподключение к сессии после отключения, чтобы ожидающие запросы разрешения снова достигли вашего обратного вызова `canUseTool`. Сделайте обратный вызов идемпотентным для каждого ID запроса, потому что запрос, чей ответ был потерян, отправляется снова. Требует Claude Code v2.1.195 или позже |

603| `supportedCommands()` | Возвращает доступные slash commands |605| `supportedCommands()` | Возвращает доступные slash commands |

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

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


689 691 

690Когда клиент отправляет `initialize` сессии, которая уже работает, обёртка control-response также содержит опциональный массив `pending_permission_requests`. Поле находится на самой обёртке response, а не в полезной нагрузке `SDKControlInitializeResponse` выше. Каждая запись является полным сообщением `control_request` с той же формой `{ type: "control_request", request_id, request }`, которую сессия потоком передаёт для запросов разрешения во время работы.692Когда клиент отправляет `initialize` сессии, которая уже работает, обёртка control-response также содержит опциональный массив `pending_permission_requests`. Поле находится на самой обёртке response, а не в полезной нагрузке `SDKControlInitializeResponse` выше. Каждая запись является полным сообщением `control_request` с той же формой `{ type: "control_request", request_id, request }`, которую сессия потоком передаёт для запросов разрешения во время работы.

691 693 

692Это запросы, которые были выданы до подключения клиента и всё ещё ожидают ответа, поэтому прочитайте этот массив для немедленного отображения в полёте разрешений; они не будут переотправлены.694Это запросы, которые были выданы до подключения клиента и всё ещё ожидают ответа. SDK читает массив для вас и отправляет каждую запись в ваш обратный вызов [`canUseTool`](#canusetool), то же переотправление, которое [`reinitialize()`](#query-object) запускает после разрыва транспорта. Обрабатывайте повторяющиеся ID запросов идемпотентно, потому что запись может повторить запрос, который обратный вызов уже получил до отключения соединения.

693 695 

694<h3 id="agentdefinition">696<h3 id="agentdefinition">

695 `AgentDefinition`697 `AgentDefinition`


886 888 

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

888 890 

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

892 

889```typescript theme={null}893```typescript theme={null}

890type CanUseTool = (894type CanUseTool = (

891 toolName: string,895 toolName: string,


1531 session_id: string;1535 session_id: string;

1532 transcript_path: string;1536 transcript_path: string;

1533 cwd: string;1537 cwd: string;

1538 prompt_id?: string;

1534 permission_mode?: string;1539 permission_mode?: string;

1535 effort?: { level: string };1540 effort?: { level: string };

1536 agent_id?: string;1541 agent_id?: string;


1538};1543};

1539```1544```

1540 1545 

1546Поле `prompt_id` — это UUID, идентифицирующий пользовательский запрос, который в настоящий момент обрабатывается. Он совпадает с [атрибутом `prompt.id` на событиях OpenTelemetry](/ru/monitoring-usage#event-correlation-attributes) и отсутствует до первого ввода пользователя. Требуется Claude Code v2.1.196 или позже.

1547 

1541<h4 id="pretoolusehookinput">1548<h4 id="pretoolusehookinput">

1542 `PreToolUseHookInput`1549 `PreToolUseHookInput`

1543</h4>1550</h4>


2037 2044 

2038```typescript theme={null}2045```typescript theme={null}

2039type MonitorInput = {2046type MonitorInput = {

2040 command: string;2047 command?: string;

2048 ws?: {

2049 url: string;

2050 protocols?: string[];

2051 };

2041 description: string;2052 description: string;

2042 timeout_ms?: number;2053 timeout_ms?: number;

2043 persistent?: boolean;2054 persistent?: boolean;

2044};2055};

2045```2056```

2046 2057 

2047Запускает фоновый скрипт и доставляет каждую строку stdout к Claude как событие, чтобы он мог реагировать без опроса. Установите `persistent: true` для наблюдений на уровне сессии, таких как хвосты логов. Monitor следует тем же правилам разрешения, что и Bash. См. [справочник tool Monitor](/ru/tools-reference#monitor-tool) для поведения и доступности провайдера.2058Запускает фоновый источник и доставляет каждое событие к Claude, чтобы он мог реагировать без опроса: `command` запускает скрипт и выдаёт одно событие на строку stdout, а `ws` открывает WebSocket и выдаёт одно событие на текстовый фрейм. Укажите ровно один из `command` или `ws`. {/* min-version: 2.1.195 */}Источник `ws` требует Claude Code v2.1.195 или позже.

2059 

2060Установите `persistent: true` для наблюдений на уровне сессии, таких как хвосты логов. Когда Monitor запускает команду, он следует тем же правилам разрешения, что и Bash; наблюдение WebSocket запрашивает одобрение отдельно. См. [справочник tool Monitor](/ru/tools-reference#monitor-tool) для поведения и доступности провайдера.

2048 2061 

2049<h3 id="taskoutput">2062<h3 id="taskoutput">

2050 TaskOutput2063 TaskOutput


2236Запускает [динамический workflow](/ru/workflows): скрипт, который организует множество подагентов в фоне и возвращает один консолидированный результат. Tool `Workflow` доступен в Agent SDK v0.3.149 и позже. Требуется хотя бы один из `script`, `name` или `scriptPath`.2249Запускает [динамический workflow](/ru/workflows): скрипт, который организует множество подагентов в фоне и возвращает один консолидированный результат. Tool `Workflow` доступен в Agent SDK v0.3.149 и позже. Требуется хотя бы один из `script`, `name` или `scriptPath`.

2237 2250 

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

2239| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2252| ----------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2240| `script` | `string` | Встроенный скрипт workflow. Должен начинаться с `export const meta = { name, description, phases }` как литерал, за которым следует тело скрипта с использованием `agent()`, `parallel()`, `pipeline()` и `phase()` |2253| `script` | `string` | Встроенный скрипт workflow. Должен начинаться с `export const meta = { name, description }` как литерал, за которым следует тело скрипта с использованием `agent()`, `parallel()`, `pipeline()` и `phase()`. Опциональный массив `phases` в `meta` группирует агентов под названными этапами в представлении прогресса |

2241| `name` | `string` | Имя встроенного workflow или сохранённого в `.claude/workflows/`. Разрешается в скрипт |2254| `name` | `string` | Имя встроенного workflow или сохранённого в `.claude/workflows/`. Разрешается в скрипт |

2242| `scriptPath` | `string` | Путь к файлу скрипта workflow на диске. Имеет приоритет над `script` и `name`. Каждый вызов сохраняет свой скрипт и возвращает путь в результате, поэтому вы можете отредактировать этот файл и повторно вызвать с тем же `scriptPath` для итерации |2255| `scriptPath` | `string` | Путь к файлу скрипта workflow на диске. Имеет приоритет над `script` и `name`. Каждый вызов сохраняет свой скрипт и возвращает путь в результате, поэтому вы можете отредактировать этот файл и повторно вызвать с тем же `scriptPath` для итерации |

2243| `args` | `unknown` | Входное значение, доступное скрипту как глобальная переменная `args`, для параметризованных именованных workflows, таких как исследовательский вопрос или список путей файлов. Передавайте массивы и объекты как фактические значения JSON, а не как JSON-кодированную строку |2256| `args` | `unknown` | Входное значение, доступное скрипту как глобальная переменная `args`, для параметризованных именованных workflows, таких как исследовательский вопрос или список путей файлов. Передавайте массивы и объекты как фактические значения JSON, а не как JSON-кодированную строку |


3098```3111```

3099 3112 

3100<Warning>3113<Warning>

3101 Бета `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого значения с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Для использования окна контекста 1M-токенов перейдите на [Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 или Claude Opus 4.8](https://platform.claude.com/docs/ru/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требуемого заголовка beta.3114 Бета `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого значения с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Для использования окна контекста 1M-токенов перейдите на [Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 или Claude Opus 4.8](https://platform.claude.com/docs/ru/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требуемого заголовка beta.

3102</Warning>3115</Warning>

3103 3116 

3104<h3 id="slashcommand">3117<h3 id="slashcommand">

Details

44 44 

45Callback срабатывает в двух случаях:45Callback срабатывает в двух случаях:

46 46 

471. **Инструмент требует одобрения**: Claude хочет использовать инструмент, который не одобрен автоматически [правилами разрешений](/ru/agent-sdk/permissions) или режимами. Проверьте `tool_name` на имя инструмента (например, `"Bash"`, `"Write"`).471. **Инструмент требует одобрения**: Claude хочет использовать инструмент, который не одобрен автоматически [правилом разрешений](/ru/agent-sdk/permissions) или режимом разрешений. Проверьте `tool_name` на имя инструмента (например, `"Bash"`, `"Write"`).

482. **Claude задаёт вопрос**: Claude вызывает инструмент `AskUserQuestion`. Проверьте, равен ли `tool_name == "AskUserQuestion"`, чтобы обработать его иначе. Если вы указываете массив `tools`, включите `AskUserQuestion` для работы этого функционала. Подробнее см. [Обработка уточняющих вопросов](#handle-clarifying-questions).482. **Claude задаёт вопрос**: Claude вызывает инструмент `AskUserQuestion`. Проверьте, равен ли `tool_name == "AskUserQuestion"`, чтобы обработать его иначе. Если вы указываете массив `tools`, включите `AskUserQuestion` для работы этого функционала. Подробнее см. [Обработка уточняющих вопросов](#handle-clarifying-questions).

49 49 

50<Note>50<Warning>

51 Чтобы автоматически разрешить или отклонить инструменты без запроса пользователей, используйте [hooks](/ru/agent-sdk/hooks). Hooks выполняются перед `canUseTool` и могут разрешить, отклонить или изменить запросы на основе вашей собственной логики. Вы также можете использовать [hook `PermissionRequest`](/ru/agent-sdk/hooks#available-hooks) для отправки внешних уведомлений (Slack, email, push) когда Claude ждёт одобрения.51 **Callback никогда не срабатывает для автоматически одобренных инструментов.** Любое одобрение на более ранних этапах [потока оценки разрешений](/ru/agent-sdk/permissions#how-permissions-are-evaluated), правило разрешения или режим, такой как `acceptEdits` или `bypassPermissions`, разрешает вызов до того, как будет проверен `canUseTool`. Если вы указываете инструмент в `allowed_tools`, проверка `canUseTool` для этого инструмента никогда не выполняется, если только правило ask или режим `plan` не перенаправляют вызов обратно в prompt. Для логики, которая должна применяться к каждому вызову инструмента, используйте [`PreToolUse` hook](/ru/agent-sdk/hooks), который выполняется перед остальной частью потока и может разрешить, отклонить или изменить запросы.

52</Note>52</Warning>

53 

54Вы также можете использовать [`PermissionRequest` hook](/ru/agent-sdk/hooks#available-hooks) для отправки внешних уведомлений (Slack, email, push) когда Claude ждёт одобрения.

53 55 

54<h2 id="handle-tool-approval-requests">56<h2 id="handle-tool-approval-requests">

55 Обработка запросов на одобрение инструмента57 Обработка запросов на одобрение инструмента

56</h2>58</h2>

57 59 

58После передачи callback `canUseTool` в параметры вашего запроса он срабатывает, когда Claude хочет использовать инструмент, который не одобрен автоматически. Ваш callback получает три аргумента:60После передачи callback `canUseTool` в параметры вашего запроса он срабатывает, когда Claude хочет использовать инструмент, который не одобрен ранее в потоке разрешений. Ваш callback получает три аргумента:

59 61 

60| Аргумент | Описание |62| Аргумент | Описание |

61| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |63| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

agent-teams.md +1 −1

Details

112 `tmux` имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование `tmux -CC` в iTerm2 — это рекомендуемая точка входа в `tmux`.112 `tmux` имеет известные ограничения на некоторых операционных системах и традиционно работает лучше всего на macOS. Использование `tmux -CC` в iTerm2 — это рекомендуемая точка входа в `tmux`.

113</Note>113</Note>

114 114 

115По умолчанию используется `"in-process"`. До версии v2.1.179 по умолчанию было `"auto"`, поэтому обновленные сеансы, которые ранее открывали разделенные панели, теперь остаются в одном терминале, если вы не установите режим явно. Установите `"auto"` для включения разделенных панелей, когда вы уже работаете внутри сеанса tmux или ваш терминал — это iTerm2, в противном случае используется in-process. Параметр `"tmux"` включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала.115По умолчанию используется `"in-process"`. До версии v2.1.179 по умолчанию было `"auto"`, поэтому обновленные сеансы, которые ранее открывали разделенные панели, теперь остаются в одном терминале, если вы не установите режим явно. Установите `"auto"` для включения разделенных панелей, когда вы уже работаете внутри сеанса tmux или ваш терминал — это iTerm2 с установленным CLI `it2`, в противном случае используется in-process. Параметр `"tmux"` включает режим разделенных панелей и автоматически определяет, использовать ли tmux или iTerm2 на основе вашего терминала.

116 116 

117{/* min-version: 2.1.186 */}Начиная с версии v2.1.186, установите `"iterm2"` для явного использования встроенных разделенных панелей iTerm2. Этот режим требует [`it2` CLI](https://github.com/mkusaka/it2) и показывает ошибку с командой установки, если `it2` отсутствует. Подсказка настройки, которая предлагает установить `it2` или переключиться на tmux, появляется при `"auto"` или `"tmux"`, когда ваш терминал — это iTerm2 и tmux доступен как резервный вариант.117{/* min-version: 2.1.186 */}Начиная с версии v2.1.186, установите `"iterm2"` для явного использования встроенных разделенных панелей iTerm2. Этот режим требует [`it2` CLI](https://github.com/mkusaka/it2) и показывает ошибку с командой установки, если `it2` отсутствует. Подсказка настройки, которая предлагает установить `it2` или переключиться на tmux, появляется при `"auto"` или `"tmux"`, когда ваш терминал — это iTerm2 и tmux доступен как резервный вариант.

118 118 

agent-view.md +78 −50

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Управление несколькими агентами с помощью представления агентов5# Управление несколькими агентами с помощью agent view

6 6 

7> Отправляйте и управляйте множеством сеансов Claude Code с одного экрана. Agent view показывает, что делает каждый сеанс и какие из них требуют вашего ввода.7> Отправляйте и управляйте множеством сеансов Claude Code с одного экрана. Agent view показывает, что делает каждый сеанс и какие из них требуют вашего ввода.

8 8 

9Agent view, открываемое с помощью `claude agents`, — это один экран для всех ваших фоновых сеансов: что работает, что требует вашего ввода и что завершено. Отправляйте новые сеансы, наблюдайте их состояние с первого взгляда вместо прокрутки стенограмм и вмешивайтесь только когда один из них требует вас. Каждый фоновый сеанс — это полная беседа Claude Code, которая продолжает работать без подключённого терминала, поэтому вы можете открыть его, ответить и уйти в любой момент.9Agent view, открываемое с помощью `claude agents`, — это один экран для всех ваших фоновых сеансов: что работает, что требует вашего ввода и что завершено. Отправляйте новые сеансы, наблюдайте их состояние с первого взгляда вместо прокрутки стенограмм и вмешивайтесь только когда один из них требует вас. Каждый фоновый сеанс — это полная беседа Claude Code, которая продолжает работать без подключённого терминала, поэтому вы можете открыть его, ответить и уйти в любой момент.

10 10 

11<img src="https://mintcdn.com/claude-code/1B48Qz2Z9hac4SLG/images/agent-view-light.png?fit=max&auto=format&n=1B48Qz2Z9hac4SLG&q=85&s=7a186c96ed47d6700d084d77e786be65" className="dark:hidden" alt="Agent view в терминале: заголовок показывает Claude Code v2.1.140, модель, рабочий каталог и сводный счёт. Сеансы сгруппированы под Требуется ввод, Работает и Завершено, с полем отправки в нижней части и подвалом с подсказками клавиатуры." width="1772" height="780" data-path="images/agent-view-light.png" />11<img src="https://mintcdn.com/claude-code/1B48Qz2Z9hac4SLG/images/agent-view-light.png?fit=max&auto=format&n=1B48Qz2Z9hac4SLG&q=85&s=7a186c96ed47d6700d084d77e786be65" className="dark:hidden" alt="Agent view в терминале: заголовок показывает Claude Code v2.1.140, модель, рабочий каталог и сводный счёт. Сеансы сгруппированы под Требуется ввод, Работает и Завершено, с полем отправки в нижней части и подвалом с подсказками сочетаний клавиш." width="1772" height="780" data-path="images/agent-view-light.png" />

12 12 

13<img src="https://mintcdn.com/claude-code/1B48Qz2Z9hac4SLG/images/agent-view-dark.png?fit=max&auto=format&n=1B48Qz2Z9hac4SLG&q=85&s=a5bed7434bae368faea3a8f023b52aa2" className="hidden dark:block" alt="Agent view в терминале: заголовок показывает Claude Code v2.1.140, модель, рабочий каталог и сводный счёт. Сеансы сгруппированы под Требуется ввод, Работает и Завершено, с полем отправки в нижней части и подвалом с подсказками клавиатуры." width="1772" height="780" data-path="images/agent-view-dark.png" />13<img src="https://mintcdn.com/claude-code/1B48Qz2Z9hac4SLG/images/agent-view-dark.png?fit=max&auto=format&n=1B48Qz2Z9hac4SLG&q=85&s=a5bed7434bae368faea3a8f023b52aa2" className="hidden dark:block" alt="Agent view в терминале: заголовок показывает Claude Code v2.1.140, модель, рабочий каталог и сводный счёт. Сеансы сгруппированы под Требуется ввод, Работает и Завершено, с полем отправки в нижней части и подвалом с подсказками сочетаний клавиш." width="1772" height="780" data-path="images/agent-view-dark.png" />

14 14 

15Используйте agent view, когда у вас есть несколько независимых задач, над которыми Claude может работать без вашего наблюдения на каждом шаге. Отправьте исправление ошибки, проверку pull request и исследование нестабильного теста как три строки, продолжайте работать в другом окне и проверьте, когда строка показывает, что она требует вас или имеет результат.15Используйте agent view, когда у вас есть несколько независимых задач, над которыми Claude может работать без вашего наблюдения на каждом шаге. Отправьте исправление ошибки, проверку pull request и исследование нестабильного теста как три строки, продолжайте работать в другом окне и проверьте, когда строка показывает, что она требует вас или имеет результат.

16 16 


34 Быстрый старт34 Быстрый старт

35</h2>35</h2>

36 36 

37Это пошаговое руководство охватывает основной цикл agent view: отправьте задачу, смотрите, как её строка обновляется по мере работы Claude, посмотрите, чтобы проверить её, и ответьте, а затем подключитесь для полной беседы. Сеанс, который вы отправляете, продолжает работать после закрытия agent view, поэтому вы можете уйти и вернуться к нему позже.37Это пошаговое руководство охватывает основной цикл agent view: отправьте задачу, смотрите, как её строка обновляется по мере работы Claude, посмотрите, чтобы проверить её и ответить, а затем подключитесь для полной беседы. Сеанс, который вы отправляете, продолжает работать после закрытия agent view, поэтому вы можете уйти и вернуться к нему позже.

38 38 

39<Steps>39<Steps>

40 <Step title="Открыть agent view">40 <Step title="Открыть agent view">


76 76 

77Запустите `claude agents` для открытия agent view. Он захватывает весь терминал и перечисляет каждый сеанс, сгруппированный по состоянию, с закреплёнными сеансами и теми, которые требуют вас в верхней части. Каждая строка показывает имя сеанса, текущую активность и как давно он в последний раз изменился.77Запустите `claude agents` для открытия agent view. Он захватывает весь терминал и перечисляет каждый сеанс, сгруппированный по состоянию, с закреплёнными сеансами и теми, которые требуют вас в верхней части. Каждая строка показывает имя сеанса, текущую активность и как давно он в последний раз изменился.

78 78 

79По умолчанию список показывает каждый фоновый сеанс, который вы запустили, во всех ваших проектах. Сеанс, работающий в одном репозитории, и другой в другом worktree, оба появляются здесь, независимо от того, из какого каталога вы открыли agent view. Чтобы ограничить список одним проектом, передайте `--cwd` (требуется Claude Code v2.1.141 или позже):79По умолчанию список показывает каждый фоновый сеанс, который вы запустили, во всех ваших проектах. Сеанс, работающий в одном репозитории, и другой в другом worktree, оба появляются здесь, независимо от того, из какого каталога вы открыли agent view. Чтобы ограничить список одним проектом, передайте `--cwd`:

80 80 

81```bash theme={null}81```bash theme={null}

82claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app


107```107```

108 108 

109<h3 id="read-session-state">109<h3 id="read-session-state">

110 Read session state110 Чтение состояния сеанса

111</h3>111</h3>

112 112 

113Каждая строка начинается со значка, цвет и анимация которого показывают состояние сеанса:113Каждая строка начинается со значка, цвет и анимация которого показывают состояние сеанса:


138Состояние сеанса сохраняется на диск через автоматические обновления и перезапуски супервизора. Сеансы также сохраняются, когда ваша машина переходит в спящий режим. Их процессы возобновляются при пробуждении, и супервизор переподключается к ним вместо того, чтобы рассматривать временной разрыв как неактивность. Выключение всё ещё останавливает работающие сеансы; см. [Sessions show as failed after shutdown](#sessions-show-as-failed-after-shutdown) для того, как их восстановить.138Состояние сеанса сохраняется на диск через автоматические обновления и перезапуски супервизора. Сеансы также сохраняются, когда ваша машина переходит в спящий режим. Их процессы возобновляются при пробуждении, и супервизор переподключается к ним вместо того, чтобы рассматривать временной разрыв как неактивность. Выключение всё ещё останавливает работающие сеансы; см. [Sessions show as failed after shutdown](#sessions-show-as-failed-after-shutdown) для того, как их восстановить.

139 139 

140<h3 id="row-summaries">140<h3 id="row-summaries">

141 Row summaries141 Резюме строк

142</h3>142</h3>

143 143 

144Однострочное резюме в каждой строке генерируется [моделью класса Haiku](/ru/model-config), поэтому строка может сказать вам, что делает сеанс, что ему требуется или что он произвёл, без открытия стенограммы. Пока сеанс активно работает, резюме обновляется не более одного раза каждые 15 секунд, плюс один раз, когда каждый ход заканчивается.144Однострочное резюме в каждой строке генерируется [моделью класса Haiku](/ru/model-config) так, чтобы строка могла сказать вам, что делает сеанс, что ему требуется или что он произвёл, без открытия стенограммы. Пока сеанс активно работает, резюме обновляется не более одного раза каждые 15 секунд, плюс один раз, когда каждый ход заканчивается.

145 145 

146Начиная с v2.1.161, когда сеанс запускает два или более параллельных рабочих элемента, таких как subagents, фоновые команды shell или мониторы, перед текстом резюме появляется счётчик `done/total`, например `2/5`.146Когда сеанс запускает два или более параллельных рабочих элемента, таких как subagents, фоновые команды shell или мониторы, перед текстом резюме появляется счётчик `done/total`, например `2/5`.

147 147 

148Каждое обновление — это один короткий запрос класса Haiku через вашего обычного поставщика, выставляемый и обрабатываемый в соответствии с теми же [условиями использования данных](/ru/data-usage), что и сам сеанс. На сторонних поставщиках, таких как Bedrock, Vertex AI, Microsoft Foundry и пользовательские шлюзы, запрос возвращается к основной модели сеанса, когда модель Haiku не настроена. Установите [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config#environment-variables) для выбора модели для этих резюме на этих поставщиках.148Каждое обновление — это один короткий запрос класса Haiku через вашего обычного поставщика, выставляемый и обрабатываемый в соответствии с теми же [условиями использования данных](/ru/data-usage), что и сам сеанс. На сторонних поставщиках, таких как Bedrock, Vertex AI, Microsoft Foundry и пользовательские шлюзы, запрос возвращается к основной модели сеанса, когда модель Haiku не настроена. Установите [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config#environment-variables) для выбора модели для этих резюме на этих поставщиках.

149 149 

150<h3 id="pull-request-status">150<h3 id="pull-request-status">

151 Pull request status151 Статус pull request

152</h3>152</h3>

153 153 

154Когда сеанс открывает pull request, в правом краю строки появляется метка `PR #1234`, связанная с pull request в терминалах, поддерживающих гиперссылки. Метка сохраняется, когда вы отправляете дополнительное сообщение сеансу, поэтому pull request остаётся видимым, пока строка возвращается к живому прогрессу.154Когда сеанс открывает pull request, в правом краю строки появляется метка `PR #1234`, связанная с pull request в терминалах, поддерживающих гиперссылки. Метка сохраняется, когда вы отправляете дополнительное сообщение сеансу, поэтому pull request остаётся видимым, пока строка возвращается к живому прогрессу.


167Для большинства задач эта колонка — это то, как вы собираете результат: проверьте и объедините pull request, когда его номер станет зелёным.167Для большинства задач эта колонка — это то, как вы собираете результат: проверьте и объедините pull request, когда его номер станет зелёным.

168 168 

169<h3 id="peek-and-reply">169<h3 id="peek-and-reply">

170 Peek and reply170 Просмотр и ответ

171</h3>171</h3>

172 172 

173Нажмите `Space` на выбранной строке, чтобы открыть панель просмотра. Она показывает, что требуется сеансу от вас, его последний вывод и любые pull request, которые он открыл. В большинстве случаев этого достаточно, и вам никогда не нужно открывать полную стенограмму.173Нажмите `Space` на выбранной строке, чтобы открыть панель просмотра. Она показывает, что требуется сеансу от вас, его последний вывод и любые pull request, которые он открыл. В большинстве случаев этого достаточно, и вам никогда не нужно открывать полную стенограмму.

174 174 

175Начиная с v2.1.161, когда сеанс запускает параллельные рабочие элементы, панель также называет самый долгоживущий из них и как долго он работает, поэтому вы можете увидеть, на что ждёт сеанс, без подключения.175Когда сеанс запускает параллельные рабочие элементы, панель также называет самый долгоживущий из них и как долго он работает, поэтому вы можете увидеть, на что ждёт сеанс, без подключения.

176 176 

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

178 178 

179Начиная с v2.1.145, с включённой [голосовой диктовкой](/ru/voice-dictation), удерживайте или нажимайте клавишу push-to-talk, пока фокус находится на вводе ответа, чтобы продиктовать ответ вместо его ввода. То же самое работает в поле отправки внизу agent view.179С включённой [голосовой диктовкой](/ru/voice-dictation), удерживайте или нажимайте клавишу push-to-talk, пока фокус находится на вводе ответа, чтобы продиктовать ответ вместо его ввода. То же самое работает в поле отправки внизу agent view.

180 180 

181Используйте `↑` и `↓` для просмотра соседних сеансов без закрытия панели или `→` для подключения.181Используйте `↑` и `↓` для просмотра соседних сеансов без закрытия панели или `→` для подключения.

182 182 

183<h3 id="attach-to-a-session">183<h3 id="attach-to-a-session">

184 Attach to a session184 Подключение к сеансу

185</h3>185</h3>

186 186 

187Нажмите `Enter` или `→` на выбранной строке для подключения. Agent view заменяется полным интерактивным сеансом. При подключении Claude публикует краткое резюме того, что произошло, пока вас не было.187Нажмите `Enter` или `→` на выбранной строке для подключения. Agent view заменяется полным интерактивным сеансом. При подключении Claude публикует краткое резюме того, что произошло, пока вас не было.


196 196 

197Отключение никогда не останавливает фоновый сеанс: `←`, `Ctrl+Z`, `/exit` и двойное `Ctrl+C` или двойное `Ctrl+D` оставляют его работающим. Чтобы завершить сеанс изнутри, запустите `/stop`.197Отключение никогда не останавливает фоновый сеанс: `←`, `Ctrl+Z`, `/exit` и двойное `Ctrl+C` или двойное `Ctrl+D` оставляют его работающим. Чтобы завершить сеанс изнутри, запустите `/stop`.

198 198 

199Нажатие `←` на пустой подсказке работает из любого сеанса Claude Code, а не только из тех, к которым вы подключались из agent view. Он отправляет текущий сеанс в фон и открывает agent view с этой строкой выбранной, поэтому вы можете переключаться между сеансами без выхода из терминала. Строка создаётся даже из свежего сеанса без истории разговора, поэтому `→` возвращает к ней. Когда эта строка единственная, agent view показывает подсказку адаптации ниже неё. Вы можете отключить это сочетание клавиш в `/config` (параметр `leftArrowOpensAgents`).199В сеансе, работающем на переднем плане, одном, который вы запустили в терминале, а не подключились к нему из agent view, нажатие `←` на пустой подсказке отправляет его в фон и открывает agent view с этой строкой выбранной, поэтому вы можете переключаться между сеансами без выхода из терминала. То же самое одиночное нажатие отключает подключённый сеанс.

200 

201Если инструмент работает, когда вы нажимаете `←`, Claude Code ждёт примерно десять секунд, чтобы он завершился, прежде чем отправить сеанс в фон, и ответ продолжается в фоновом сеансе. Нажмите `←` снова, чтобы отправить в фон немедленно вместо ожидания. Когда выполняемая работа не может перейти в фоновый сеанс, сначала появляется диалог `Background this session?`, как и с [`/background`](#from-inside-a-session).

202 

203Строка создаётся даже из свежего сеанса без истории разговора, поэтому `→` возвращает к ней. Когда эта строка единственная, agent view показывает подсказку адаптации ниже неё.

204 

205Вы можете отключить это сочетание клавиш с помощью параметра `leftArrowOpensAgents` в `/config`.

200 206 

201<h3 id="organize-the-list">207<h3 id="organize-the-list">

202 Organize the list208 Организация списка

203</h3>209</h3>

204 210 

205Agent view группирует сеансы так, чтобы те, которые требуют ввода, находились в верхней части, с `Ready for review` и `Needs input` выше `Working` и `Completed`. Эти названия групп не соответствуют один-к-одному [состояниям](#read-session-state) выше: сеанс переходит в `Ready for review`, когда у него есть открытый pull request, и `Completed` собирает завершённые, неудачные и остановленные сеансы вместе. Нажмите `Ctrl+S` для группировки по каталогу вместо этого. Ваш выбор сохраняется между запусками.211Agent view группирует сеансы так, чтобы те, которые требуют ввода, находились в верхней части, с `Ready for review` и `Needs input` выше `Working` и `Completed`. Эти названия групп не соответствуют один-к-одному [состояниям](#read-session-state) выше: сеанс переходит в `Ready for review`, когда у него есть открытый pull request, и `Completed` собирает завершённые, неудачные и остановленные сеансы вместе.

212 

213Нажмите `Ctrl+S` для группировки по каталогу вместо этого. Ваш выбор сохраняется между запусками.

206 214 

207В группе:215В группе:

208 216 


215 223 

216Удаление удаляет сеанс из agent view. Если Claude [создал worktree](#how-file-edits-are-isolated) для сеанса, удаление удаляет этот worktree тоже, включая любые незафиксированные изменения в нём, поэтому отправьте или зафиксируйте работу, которую вы хотите сохранить, перед удалением. Worktree, который вы создали сами и запустили сеанс внутри, остаётся на месте. Стенограмма разговора остаётся на вашем локальном компьютере и остаётся доступной через `claude --resume`.224Удаление удаляет сеанс из agent view. Если Claude [создал worktree](#how-file-edits-are-isolated) для сеанса, удаление удаляет этот worktree тоже, включая любые незафиксированные изменения в нём, поэтому отправьте или зафиксируйте работу, которую вы хотите сохранить, перед удалением. Worktree, который вы создали сами и запустили сеанс внутри, остаётся на месте. Стенограмма разговора остаётся на вашем локальном компьютере и остаётся доступной через `claude --resume`.

217 225 

218Более старые завершённые сеансы складываются в строку `… N more` для сохранения списка коротким. Сбои и сеансы с открытым pull request всегда остаются видимыми.226Завершённые сеансы, которые не помещаются на экран, складываются в строку `… N more`. Сбои и сеансы с открытым pull request всегда остаются видимыми. Группа `Completed` заполняет вертикальное пространство, оставшееся после живых групп, и на коротком терминале заголовок сжимается в одну строку резюме, чтобы сеансы, которые работают или требуют ввода, оставались видимыми.

219 227 

220<h3 id="filter-sessions">228<h3 id="filter-sessions">

221 Filter sessions229 Фильтрация сеансов

222</h3>230</h3>

223 231 

224Введите в поле отправки для фильтрации вместо отправки:232Введите в поле отправки для фильтрации вместо отправки:


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

232 240 

233<h3 id="keyboard-shortcuts">241<h3 id="keyboard-shortcuts">

234 Keyboard shortcuts242 Сочетания клавиш

235</h3>243</h3>

236 244 

237Нажмите `?` в agent view, чтобы увидеть каждое сочетание клавиш в контексте. Таблица ниже их суммирует.245Нажмите `?` в agent view, чтобы увидеть каждое сочетание клавиш в контексте. Таблица ниже их суммирует.


305 313 

306Запустите `/background` или его псевдоним `/bg` для перемещения текущей беседы в фоновый сеанс. Передайте подсказку, такую как `/bg run the test suite and fix any failures`, для отправки одной дополнительной инструкции перед этим. Если Claude отвечает, когда вы запускаете `/bg`, ответ продолжается в фоновом сеансе.314Запустите `/background` или его псевдоним `/bg` для перемещения текущей беседы в фоновый сеанс. Передайте подсказку, такую как `/bg run the test suite and fix any failures`, для отправки одной дополнительной инструкции перед этим. Если Claude отвечает, когда вы запускаете `/bg`, ответ продолжается в фоновом сеансе.

307 315 

308Переведение в фон из интерактивного сеанса запускает свежий процесс, который возобновляется из сохранённой беседы, поэтому запуск subagent, [monitors](/ru/tools-reference#monitor-tool) и фоновых команд не переносится в него. Claude просит вас подтвердить перед переводом в фон, когда какие-либо из них работают. После перевода в фон сеанс может запускать новые subagent, monitors и фоновые команды, и они продолжают работать при последующем отключении и переподключении.316Переведение в фон из интерактивного сеанса запускает свежий процесс, который возобновляется из сохранённой беседы, и выполняемая работа переходит в него: работающие фоновые команды shell, фоновые subagents, динамические рабочие процессы и запланированные задачи, которые вы создали с помощью [`/loop`](/ru/scheduled-tasks), переносятся в фоновый сеанс и продолжают работать там. Subagent переходит вместе со всем, что он запустил, поэтому он переносится только когда вся эта работа может перейти тоже, включая на Windows. Чтобы остановить выполняемую работу вместо её переноса, установите переменную окружения [`CLAUDE_DISABLE_ADOPT=1`](/ru/env-vars#variables); Claude Code затем просит вас подтвердить перед отправкой в фон.

317 

318Работа, которая не может перейти, такая как работающий [monitor](/ru/tools-reference#monitor-tool), останавливается. Фоновый subagent, который владеет монитором, останавливается вместе с ним. Когда какая-либо такая работа выполняется, Claude Code показывает диалог `Background this session?` так, чтобы вы могли подтвердить перед её остановкой.

319 

320После отправки в фон сеанс может запускать новые subagents, monitors и фоновые команды, и они продолжают работать при последующем отключении и переподключении.

309 321 

310Флаги конфигурации из исходного запуска переносятся в фоновый сеанс, поэтому его MCP servers, settings и резервная модель остаются в силе:322Флаги конфигурации из исходного запуска переносятся в фоновый сеанс, поэтому его MCP servers, settings и резервная модель остаются в силе:

311 323 


394}406}

395```407```

396 408 

397<Note>

398 Параметр `worktree.bgIsolation` требует Claude Code v2.1.143 или позже.

399</Note>

400 

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

402 410 

403Удаление сеанса в agent view (`Ctrl+X` дважды) удаляет worktree, созданный Claude для него, включая любые незафиксированные изменения, поэтому объедините или отправьте изменения, которые вы хотите сохранить, перед удалением. Удаление из оболочки с помощью [`claude rm`](#manage-sessions-from-the-shell) сохраняет worktree, который имеет незафиксированные изменения, и выводит его путь, чтобы вы могли очистить его самостоятельно. Worktree, который вы создали сами и запустили сеанс внутри, остаётся на месте в любом случае.411Удаление сеанса в agent view с `Ctrl+X` дважды удаляет worktree, созданный Claude для него, включая любые незафиксированные изменения, поэтому объедините или отправьте изменения, которые вы хотите сохранить, перед удалением. Удаление из оболочки с помощью [`claude rm`](#manage-sessions-from-the-shell) сохраняет worktree, который имеет незафиксированные изменения, и выводит его путь, чтобы вы могли очистить его самостоятельно. Worktree, который вы создали сами и запустили сеанс внутри, остаётся на месте в любом случае.

404 412 

405Чтобы найти путь worktree сеанса, посмотрите сеанс или подключитесь и проверьте его рабочий каталог.413Чтобы найти путь worktree сеанса, посмотрите сеанс или подключитесь и проверьте его рабочий каталог.

406 414 


410 Установка модели418 Установка модели

411</h3>419</h3>

412 420 

413Имя модели, показанное в заголовке agent view, является стандартом отправки. Новые сеансы, которые вы запускаете из входа, используют эту модель, которая поступает из параметра [`model` setting](/ru/settings#available-settings) в ваших пользовательских settings. Установите его, выбрав модель в [`/model` picker](/ru/model-config), или отредактируйте параметр напрямую. Чтобы переопределить его для всего сеанса agent view, передайте `--model` при открытии agent view. См. [Permission mode, model, and effort](#permission-mode-model-and-effort).421Имя модели, показанное в заголовке agent view, является стандартом отправки. Новые сеансы, которые вы запускаете из входа, используют эту модель, которая поступает из параметра [`model` setting](/ru/settings#available-settings) в ваших пользовательских settings. Установите его, выбрав модель в [`/model` picker](/ru/model-config), или отредактируйте параметр напрямую.

422 

423Чтобы переопределить стандарт отправки для всего сеанса agent view, передайте `--model` при открытии agent view. См. [Permission mode, model, and effort](#permission-mode-model-and-effort).

414 424 

415Чтобы изменить стандарт отправки из внутри agent view, введите `/model` с последующим именем модели в входе отправки и нажмите `Enter`. Заголовок обновляется для отображения этой модели с маркером `(session)`, и сеансы, которые вы отправляете после этого, используют её. Введите `/model default` для очистки переопределения и возврата к стандарту отправки. Это переопределение длится для остальной части текущего запуска `claude agents`, не записывается в ваш файл settings и требует Claude Code v2.1.172 или позже. {/* min-version: 2.1.172 */} Следующий пример отправляет один сеанс на Opus и следующий на Sonnet:425Чтобы изменить стандарт отправки из внутри agent view, введите `/model` с последующим именем модели в входе отправки и нажмите `Enter`. Заголовок обновляется для отображения этой модели с маркером `(session)`, и сеансы, которые вы отправляете после этого, используют её. Введите `/model default` для очистки переопределения и возврата к стандарту отправки. Это переопределение длится для остальной части текущего запуска `claude agents` и не записывается в ваш файл settings. Следующий пример отправляет один сеанс на Opus и следующий на Sonnet:

416 426 

417```text theme={null}427```text theme={null}

418/model opus428/model opus


449 459 

450`claude agents` также принимает `--dangerously-skip-permissions` как сокращение для `--permission-mode bypassPermissions` и `--allow-dangerously-skip-permissions` для того, чтобы сделать `bypassPermissions` доступным в цикле `Shift+Tab` каждого отправленного сеанса без запуска в этом режиме. Оба совпадают с [флагами CLI верхнего уровня](/ru/cli-reference).460`claude agents` также принимает `--dangerously-skip-permissions` как сокращение для `--permission-mode bypassPermissions` и `--allow-dangerously-skip-permissions` для того, чтобы сделать `bypassPermissions` доступным в цикле `Shift+Tab` каждого отправленного сеанса без запуска в этом режиме. Оба совпадают с [флагами CLI верхнего уровня](/ru/cli-reference).

451 461 

452Эти флаги были добавлены в разных выпусках. Более ранние версии отклоняют их с ошибкой unknown-option.

453 

454| Флаг или параметр | Минимальная версия |

455| :--------------------------------------------------------------------------- | :------------------------------------ |

456| `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions` | v2.1.142 {/* min-version: 2.1.142 */} |

457| `--allow-dangerously-skip-permissions` | v2.1.143 {/* min-version: 2.1.143 */} |

458| `--agent` и соблюдение параметра `agent` для отправленных сеансов | v2.1.157 {/* min-version: 2.1.157 */} |

459 

460До v2.1.157 agent view игнорирует параметр `agent` и отправляет встроенный агент `claude`.

461 

462Активные стандартные значения отображаются в нижнем колонтитуле под входом отправки.462Активные стандартные значения отображаются в нижнем колонтитуле под входом отправки.

463 463 

464Без этих флагов сеанс использует `defaultMode` из settings этого каталога или `permissionMode` из frontmatter отправленного [subagent](/ru/sub-agents#supported-frontmatter-fields), и модель, показанную в заголовке agent view.464Без этих флагов сеанс использует `defaultMode` из settings этого каталога или `permissionMode` из frontmatter отправленного [subagent](/ru/sub-agents#supported-frontmatter-fields), и модель, показанную в заголовке agent view.

465 465 

466Использование `bypassPermissions` или `auto` отказывается до тех пор, пока вы не примете этот режим, запустив `claude` с ним один раз интерактивно, так как эти режимы позволяют сеансу, который вы не наблюдаете, действовать без одобрения. То же самое применяется независимо от того, передаёте ли вы режим в `claude agents` или в `claude --bg --permission-mode`.466Использование `bypassPermissions` с `claude --bg --permission-mode` отклоняется до тех пор, пока вы не примете отказ от ответственности за обход, запустив `claude --dangerously-skip-permissions` один раз интерактивно, так как этот режим позволяет сеансу, который вы не наблюдаете, действовать без одобрения. Передача `--dangerously-skip-permissions` или `--permission-mode bypassPermissions` в `claude agents` показывает тот же отказ от ответственности, когда вы его не приняли раньше, и принятие применяет `bypassPermissions` к сеансам, которые вы запускаете из представления. Передача `--allow-dangerously-skip-permissions` показывает тот же отказ от ответственности тоже, и принятие делает `bypassPermissions` доступным в цикле `Shift+Tab` этих сеансов без запуска их в нём.

467 467 

468<h3 id="settings-plugins-and-mcp-servers">468<h3 id="settings-plugins-and-mcp-servers">

469 Settings, plugins, и MCP servers469 Settings, plugins, и MCP servers

470</h3>470</h3>

471 471 

472Agent view принимает те же флаги конфигурации, что и `claude` для загрузки settings, plugins, MCP servers и дополнительных каталогов. Эти флаги требуют Claude Code v2.1.142 или позже. Каждый флаг применяется к самому agent view и передаётся каждому сеансу, который вы отправляете из него, поэтому plugin или MCP server, который вы загружаете таким образом, доступен в этих сеансах тоже.472Agent view принимает те же флаги конфигурации, что и `claude` для загрузки settings, plugins, MCP servers и дополнительных каталогов. Каждый флаг применяется к самому agent view и передаётся каждому сеансу, который вы отправляете из него, поэтому plugin или MCP server, который вы загружаете таким образом, доступен в этих сеансах тоже.

473 473 

474| Флаг | Эффект |474| Флаг | Эффект |

475| :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------- |475| :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------- |


494Каждый фоновый сеанс имеет короткий ID, который вы можете использовать из оболочки. ID выводится при запуске сеанса с помощью `claude --bg`, и ID каждого сеанса — это имя его каталога в `~/.claude/jobs/`. Эти команды полезны для написания скриптов или когда вы не хотите открывать agent view.494Каждый фоновый сеанс имеет короткий ID, который вы можете использовать из оболочки. ID выводится при запуске сеанса с помощью `claude --bg`, и ID каждого сеанса — это имя его каталога в `~/.claude/jobs/`. Эти команды полезны для написания скриптов или когда вы не хотите открывать agent view.

495 495 

496| Команда | Назначение |496| Команда | Назначение |

497| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |497| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

498| `claude agents` | Открыть agent view |498| `claude agents` | Открыть agent view |

499| `claude agents --cwd <path>` | Открыть agent view с областью действия сеансов, запущенных в `<path>` |499| `claude agents --cwd <path>` | Открыть agent view с областью действия сеансов, запущенных в `<path>` |

500| `claude agents --json` | Вывести активные сеансы в виде массива JSON и выйти: каждый живой сеанс, плюс фоновые сеансы, которые все еще работают или заблокированы, даже если их процесс завершился. Добавьте `--all`, чтобы также включить завершенные фоновые сеансы. Каждая запись содержит `cwd`, `kind` и `startedAt`. Фоновые записи также содержат `id`, используемый с `claude attach`/`logs`/`stop`, и `state`: одно из `working`, `blocked`, `done`, `failed` или `stopped`. `pid` и `status` присутствуют только пока процесс активен, плюс `waitingFor`, когда status равен `waiting`, что указывает, на что заблокирован сеанс, например `permission prompt` или `input needed`; `sessionId` и `name` появляются при их установке. Объедините с `--cwd <path>` для фильтрации |500| `claude agents --json` | Вывести активные сеансы в виде массива JSON и выйти: каждый живой сеанс, плюс фоновые сеансы, которые все ещё работают или заблокированы, даже если их процесс завершился. Добавьте `--all`, чтобы также включить завершенные фоновые сеансы. Каждая запись содержит `cwd`, `kind` и `startedAt`. Фоновые записи также содержат `id`, используемый с `claude attach`/`logs`/`stop`, и `state`: одно из `working`, `blocked`, `done`, `failed` или `stopped`. `pid` и `status` присутствуют только пока процесс активен, плюс `waitingFor`, когда status равен `waiting`, что указывает, на что заблокирован сеанс, например `permission prompt` или `input needed`; `sessionId` и `name` появляются при их установке. Интерактивный сеанс, который вы никогда не называли, имеет стандартное имя `name`, построенное из имени рабочего каталога плюс двухсимвольный суффикс, например `my-app-3f`. Объедините с `--cwd <path>` для фильтрации |

501| `claude attach <id>` | Подключиться к сеансу в этом терминале |501| `claude attach <id>` | Подключиться к сеансу в этом терминале |

502| `claude logs <id>` | Вывести последний вывод сеанса |502| `claude logs <id>` | Вывести последний вывод сеанса |

503| `claude stop <id>` | Остановить сеанс. Также принимает `claude kill` |503| `claude stop <id>` | Остановить сеанс. Также принимает `claude kill` |


523 523 

524Супервизор и его сеансы аутентифицируются с теми же учётными данными, что и ваши интерактивные сеансы, и не делают дополнительных сетевых подключений за пределами API модели. Переменные выбора поставщика, такие как `CLAUDE_CODE_USE_BEDROCK` и псевдонимы `ANTHROPIC_DEFAULT_*_MODEL`, читаются из оболочки, которая отправила каждый сеанс, и применяются к его рабочему процессу.524Супервизор и его сеансы аутентифицируются с теми же учётными данными, что и ваши интерактивные сеансы, и не делают дополнительных сетевых подключений за пределами API модели. Переменные выбора поставщика, такие как `CLAUDE_CODE_USE_BEDROCK` и псевдонимы `ANTHROPIC_DEFAULT_*_MODEL`, читаются из оболочки, которая отправила каждый сеанс, и применяются к его рабочему процессу.

525 525 

526{/* min-version: 2.1.174 */}Фоновый сеанс не наследует переменные конечной точки шлюза, такие как `ANTHROPIC_BASE_URL`, эквивалентные переменные базового URL Bedrock, Vertex и Foundry, или парный `ANTHROPIC_AUTH_TOKEN` из оболочки, которая запустила супервизор, или из отправляющей оболочки. Сеанс использует ваши сохранённые учётные данные и любые значения `env` в [параметрах](/ru/settings) каталога проекта вместо этого. Чтобы указать фоновые сеансы в проекте на [шлюз LLM](/ru/llm-gateway), установите `ANTHROPIC_BASE_URL` в блоке `env` файла `.claude/settings.json` этого проекта, а не экспортируйте его в вашей оболочке. До версии 2.1.174 фоновый сеанс наследовал эти переменные из оболочки запуска супервизора, поэтому он мог использовать шлюз, который вы настроили в этой оболочке, вместо того, который настроен для каталога проекта.526Фоновый сеанс не наследует переменные конечной точки шлюза, такие как `ANTHROPIC_BASE_URL`, эквивалентные переменные базового URL Bedrock, Vertex и Foundry, или парный `ANTHROPIC_AUTH_TOKEN` из оболочки, которая запустила супервизор, или из отправляющей оболочки. Сеанс использует ваши сохранённые учётные данные и любые значения `env` в [параметрах](/ru/settings) каталога проекта вместо этого. Чтобы указать фоновые сеансы в проекте на [шлюз LLM](/ru/llm-gateway), установите `ANTHROPIC_BASE_URL` в блоке `env` файла `.claude/settings.json` этого проекта, а не экспортируйте его в вашей оболочке.

527 527 

528Каждый фоновый сеанс — это его собственный процесс Claude Code, управляемый супервизором, а не привязанный к вашему терминалу. Сеанс, который активно работает, ждёт вашего ввода или имеет подключённый терминал, сохраняет свой процесс работающим. Работающая фоновая команда оболочки, подагент, динамический рабочий процесс или монитор считаются активной работой, поэтому долгоживущий процесс, такой как сервер разработки, поддерживает сеанс в активном состоянии.528Каждый фоновый сеанс — это его собственный процесс Claude Code, управляемый супервизором, а не привязанный к вашему терминалу. Сеанс, который активно работает, ждёт вашего ввода или имеет подключённый терминал, сохраняет свой процесс работающим. Работающая фоновая команда оболочки, подагент, динамический рабочий процесс или монитор считаются активной работой, поэтому долгоживущий процесс, такой как сервер разработки, поддерживает сеанс в активном состоянии.

529 529 

530После завершения сеанса и его неподключённого состояния примерно час супервизор останавливает его процесс для освобождения ресурсов. Сеанс, который вы [закрепили](#organize-the-list) с помощью `Ctrl+T`, освобождается и сохраняет свой процесс работающим в режиме ожидания. Стенограмма и состояние остаются на диске в любом случае, и в следующий раз, когда вы подключитесь, посмотрите или ответите на остановленный сеанс, супервизор запускает свежий процесс с того места, где он остановился. Когда каждый сеанс завершён и ни один терминал не подключён, сам супервизор выходит и запускается снова в следующий раз, когда вам это потребуется.530После завершения сеанса и его неподключённого состояния примерно час супервизор останавливает его процесс для освобождения ресурсов. Сеанс, который вы [закрепили](#organize-the-list) с помощью `Ctrl+T`, освобождается и сохраняет свой процесс работающим в режиме ожидания. Стенограмма и состояние остаются на диске в любом случае, и в следующий раз, когда вы подключитесь, посмотрите или ответите на остановленный сеанс, супервизор запускает свежий процесс с того места, где он остановился. Когда каждый сеанс завершён и ни один терминал не подключён, сам супервизор выходит и запускается снова в следующий раз, когда вам это потребуется.

531 531 

532Фоновые команды shell и динамические рабочие процессы, которые запускает сеанс, продолжают работать, когда его процесс останавливается, перезапускается или обновляется, включая на Windows. Следующий процесс, запущенный для этого сеанса, подхватывает их, команда shell, которая завершилась в то время, сообщается как завершённая с её выводом, и рабочий процесс возобновляется с того места, где он остановился. Команды shell, запущенные subagent, и работающие [monitors](/ru/tools-reference#monitor-tool) по-прежнему останавливаются с процессом, и удаление сеанса останавливает всё, что он передал. Чтобы фоновые команды shell и рабочие процессы также останавливались с процессом, установите переменную окружения [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/ru/env-vars#variables) на `1`.

533 

534Если перезапущенный сеанс возвращается, показывая только его исходную подсказку, потому что Claude Code неправильно прочитал его стенограмму как пустую, стенограмма разговора переименовывается с суффиксом `.orphaned-` вместо удаления, поэтому она остаётся на вашей машине.

535 

532Пустая строка, оставшаяся от нажатия `←`, которой никогда не был задан запрос, удаляется полностью примерно через пять минут, чтобы список очищался самостоятельно. Сеансы, запущенные с помощью `claude --bg`, и сеансы, ожидающие подсказки установки, такие как диалог доверия, не удаляются таким образом.536Пустая строка, оставшаяся от нажатия `←`, которой никогда не был задан запрос, удаляется полностью примерно через пять минут, чтобы список очищался самостоятельно. Сеансы, запущенные с помощью `claude --bg`, и сеансы, ожидающие подсказки установки, такие как диалог доверия, не удаляются таким образом.

533 537 

534Когда на хосте заканчивается память, супервизор сначала останавливает неактивные незакреплённые сеансы и останавливает неактивные закреплённые сеансы только в том случае, если это ничего не освободило.538Когда на хосте заканчивается память, супервизор сначала останавливает неактивные незакреплённые сеансы и останавливает неактивные закреплённые сеансы только в том случае, если это ничего не освободило.


554 558 

555Команда также предупреждает, когда работающий супервизор находится на другой версии, чем `claude`, который вы вызвали, что происходит после обновления, в которое супервизор ещё не перезагрузился. Предупреждение показывает обе версии и говорит вам запустить `claude daemon stop --any` для получения новой версии. Когда Claude Code установлен как служба ОС, предлагаемая команда — это `claude daemon stop` без флага.559Команда также предупреждает, когда работающий супервизор находится на другой версии, чем `claude`, который вы вызвали, что происходит после обновления, в которое супервизор ещё не перезагрузился. Предупреждение показывает обе версии и говорит вам запустить `claude daemon stop --any` для получения новой версии. Когда Claude Code установлен как служба ОС, предлагаемая команда — это `claude daemon stop` без флага.

556 560 

561Сеансы сохраняют эту версию несовпадения нетронутыми: более старая версия Claude Code, которая обновляет `state.json` сеанса, сохраняет поля, которые она не распознаёт, и сохраняет сеанс в списке.

562 

557На Windows `claude daemon status` выводит основную ошибку файла, когда файл ключа pipe супервизора заблокирован или нечитаем, вместо того чтобы сообщать об общей ошибке подключения.563На Windows `claude daemon status` выводит основную ошибку файла, когда файл ключа pipe супервизора заблокирован или нечитаем, вместо того чтобы сообщать об общей ошибке подключения.

558 564 

559<h3 id="turn-off-agent-view">565<h3 id="turn-off-agent-view">


570 `claude agents` выводит список подагентов вместо открытия представления агентов576 `claude agents` выводит список подагентов вместо открытия представления агентов

571</h3>577</h3>

572 578 

573Если `claude agents` выводит количество, за которым следует список ваших настроенных подагентов, а затем завершает работу, представление агентов недоступно в вашей среде. Более ранние версии не открывали представление агентов в каждой среде, включая подключение через Bedrock, Vertex AI или Foundry. Запустите `claude update`, чтобы установить последнюю версию.579Если `claude agents` выводит количество, за которым следует список ваших настроенных подагентов, а затем завершает работу, представление агентов недоступно в вашей среде. Запустите `claude update`, чтобы установить последнюю версию.

574 580 

575Если представление агентов по-прежнему не открывается после обновления, проверьте, было ли оно [отключено](#turn-off-agent-view) параметром или переменной окружения.581Если представление агентов по-прежнему не открывается после обновления, проверьте, было ли оно [отключено](#turn-off-agent-view) параметром или переменной окружения.

576 582 


580 586 

581До отправки вашего первого сеанса представление агентов показывает краткую подсказку адаптации с примерами подсказок вместо списка сеансов. Введите подсказку в поле ввода внизу и нажмите `Enter`, чтобы отправить ваш первый сеанс.587До отправки вашего первого сеанса представление агентов показывает краткую подсказку адаптации с примерами подсказок вместо списка сеансов. Введите подсказку в поле ввода внизу и нажмите `Enter`, чтобы отправить ваш первый сеанс.

582 588 

583<h3 id="cannot-open-agents-because-work-is-running-in-the-background">589<h3 id="backgrounding-shows-a-background-this-session-dialog">

584 Невозможно открыть агентов, так как выполняются фоновые задачи590 Backgrounding показывает диалог `Background this session?`

585</h3>591</h3>

586 592 

587Если нажатие `←` для перевода текущего сеанса в фоновый режим показывает `Cannot open agents — N still running in the background`, сеанс имеет незавершённую работу, такую как подагент, динамический рабочий процесс или фоновую команду оболочки, и сочетание клавиш не будет молча её отменять. Запустите `/tasks`, чтобы увидеть, что выполняется, затем `/bg`, чтобы подтвердить отмену. См. [From inside a session](#from-inside-a-session), чтобы узнать, что передаётся и что не передаётся при переводе сеанса в фоновый режим.593Если нажатие `←` для отправки текущего сеанса в фоновый режим показывает диалог `Background this session?`, сеанс имеет выполняемую работу, которая не может перейти в фоновый сеанс, такую как работающий [monitor](/ru/tools-reference#monitor-tool), и Claude Code не будет молча её останавливать. Диалог называет работу, которая будет остановлена, и отдельно считает задачи, которые переносятся. Запустите `/tasks`, чтобы увидеть всё, что работает, затем подтвердите отправку в фон или выберите `Stay`, чтобы позволить работе завершиться сначала. См. [From inside a session](#from-inside-a-session) для того, какие типы задач переносятся и какие останавливаются.

588 594 

589<h3 id="prompt-rejected-as-too-short">595<h3 id="prompt-rejected-as-too-short">

590 Подсказка отклонена как слишком короткая596 Подсказка отклонена как слишком короткая


612 618 

613Новый супервизор переподключается к работающим сеансам. Без `--keep-workers` команда также завершает фоновые сеансы. Флаг `--any` подтверждает, что вы хотите остановить супервизор, который был запущен по требованию, а не как установленный сервис, что является значением по умолчанию.619Новый супервизор переподключается к работающим сеансам. Без `--keep-workers` команда также завершает фоновые сеансы. Флаг `--any` подтверждает, что вы хотите остановить супервизор, который был запущен по требованию, а не как установленный сервис, что является значением по умолчанию.

614 620 

621Супервизор, который запускается, но не может принять подключения, выходит и освобождает свою блокировку самостоятельно, поэтому следующий `claude agents` запускает свежий без этого ручного остановки. Шаги выше применяются, когда работающий супервизор зависает.

622 

615На Windows, если супервизор не реагирует на запрос остановки, команда выводит его идентификатор процесса. Завершите этот процесс с помощью `taskkill /PID <pid>`, чтобы завершить восстановление. Фоновые сеансы по-прежнему сохраняются, если вы передали `--keep-workers`.623На Windows, если супервизор не реагирует на запрос остановки, команда выводит его идентификатор процесса. Завершите этот процесс с помощью `taskkill /PID <pid>`, чтобы завершить восстановление. Фоновые сеансы по-прежнему сохраняются, если вы передали `--keep-workers`.

616 624 

617<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">625<h3 id="dispatch-fails-with-could-not-resolve-authentication-method">

618 Dispatch fails with `Could not resolve authentication method`626 Dispatch fails with `Could not resolve authentication method`

619</h3>627</h3>

620 628 

621{/* min-version: 2.1.174 */}Если фоновая отправка завершается с ошибкой `Could not resolve authentication method`, в то время как интерактивные сеансы аутентифицируются нормально, рабочий процесс, который получил отправку, не подхватил учётные данные. В версии 2.1.174 и позже супервизор предоставляет свежий снимок учётных данных при назначении [предварительно прогретого рабочего процесса](#the-supervisor-process), поэтому эта ошибка означает, что для самого процесса супервизора не было доступных сохранённых учётных данных. Подтвердите, что вы запустили `/login` или настроили ключ API, затем остановите супервизор:629Если фоновая отправка завершается с ошибкой `Could not resolve authentication method`, в то время как интерактивные сеансы аутентифицируются нормально, рабочий процесс, который получил отправку, не подхватил учётные данные. Супервизор предоставляет свежий снимок учётных данных при назначении [предварительно прогретого рабочего процесса](#the-supervisor-process), поэтому эта ошибка означает, что для самого процесса супервизора не было доступных сохранённых учётных данных. Подтвердите, что вы запустили `/login` или настроили ключ API, затем остановите супервизор:

622 630 

623```bash theme={null}631```bash theme={null}

624claude daemon stop --any --keep-workers632claude daemon stop --any --keep-workers


626 634 

627Следующий `claude agents` или `claude --bg` запускает свежий супервизор, который читает ваши сохранённые учётные данные. Если вы аутентифицируетесь с помощью переменной окружения, такой как `ANTHROPIC_API_KEY`, а не `/login`, запустите эту следующую команду из оболочки, где переменная установлена.635Следующий `claude agents` или `claude --bg` запускает свежий супервизор, который читает ваши сохранённые учётные данные. Если вы аутентифицируетесь с помощью переменной окружения, такой как `ANTHROPIC_API_KEY`, а не `/login`, запустите эту следующую команду из оболочки, где переменная установлена.

628 636 

629См. [справочник по ошибкам](/ru/errors#could-not-resolve-authentication-method) для полного списка причин и исправлений. До версии 2.1.174 предварительно прогретый рабочий процесс, который находился в режиме ожидания, мог вызвать эту ошибку при назначении отправке, даже если ваши учётные данные были действительны. Обновитесь для восстановления.637См. [справочник по ошибкам](/ru/errors#could-not-resolve-authentication-method) для полного списка причин и исправлений.

630 638 

631<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">639<h3 id="background-sessions-cannot-read-desktop-documents-or-downloads-on-macos">

632 Фоновые сеансы не могут читать Desktop, Documents или Downloads на macOS640 Фоновые сеансы не могут читать Desktop, Documents или Downloads на macOS


640 Сеанс медленно реагирует после подключения648 Сеанс медленно реагирует после подключения

641</h3>649</h3>

642 650 

643После завершения сеанса и его неподключённого состояния примерно час супервизор останавливает его процесс для освобождения ресурсов. Подключение запускает свежий процесс с того места, где он остановился, что занимает момент. Сеансы, которые работают, ждут вас или [закреплены](#organize-the-list), не останавливаются таким образом, поэтому закрепите сеанс с помощью `Ctrl+T`, чтобы сохранить его отзывчивость.651После завершения сеанса и его неподключённого состояния примерно час супервизор останавливает его процесс для освобождения ресурсов. Подключение запускает свежий процесс с того места, где он остановился и переключается на сеанс немедленно, пока процесс перезапускается. Сеансы, которые работают, ждут вас или [закреплены](#organize-the-list), не останавливаются таким образом, поэтому закрепите сеанс с помощью `Ctrl+T`, чтобы сохранить его отзывчивость.

644 652 

645<h3 id="claude/worktrees/-is-filling-up">653<h3 id="claude/worktrees/-is-filling-up">

646 `.claude/worktrees/` заполняется654 `.claude/worktrees/` заполняется


667* [Запуск агентов параллельно](/ru/agents): сравните agent view с subagents, agent teams и worktrees675* [Запуск агентов параллельно](/ru/agents): сравните agent view с subagents, agent teams и worktrees

668* [Agent teams](/ru/agent-teams): координируйте несколько сеансов, которые обмениваются сообщениями друг с другом676* [Agent teams](/ru/agent-teams): координируйте несколько сеансов, которые обмениваются сообщениями друг с другом

669* [Claude Code on the web](/ru/claude-code-on-the-web): запускайте сеансы в управляемой облачной среде вместо локально677* [Claude Code on the web](/ru/claude-code-on-the-web): запускайте сеансы в управляемой облачной среде вместо локально

678 

679<h2 id="version-history">

680 История версий

681</h2>

682 

683Agent view быстро развивался во время исследовательского предпросмотра. Если вы находитесь на более старой версии Claude Code, некоторое поведение на этой странице может отличаться; в частности, `claude agents` отклоняет флаги, которые он ещё не поддерживает, с ошибкой `unknown option`. Таблица ниже указывает, когда каждый флаг и поведение были добавлены.

684 

685| Версия | Изменение |

686| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

687| v2.1.196 | {/* min-version: 2.1.196 */}Одиночное нажатие `←` отправляет сеанс переднего плана в фон; более ранние версии требовали двух нажатий, с подсказкой в нижнем колонтитуле и подтверждением. `--dangerously-skip-permissions`, переданный в `claude agents`, показывает отказ от ответственности за обход вместо молчаливого отклонения. Интерактивные сеансы, которые вы никогда не называли, имеют стандартное имя, такое как `my-app-3f`, в списках сеансов и `claude agents --json`. Фоновые команды shell и динамические рабочие процессы выживают при остановке, перезапуске или обновлении процесса сеанса, включая на Windows; установите `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1`, чтобы отключить передачу. Стенограмма, неправильно прочитанная как пустая при перезапуске, переименовывается с суффиксом `.orphaned-` вместо удаления. |

688| v2.1.195 | {/* min-version: 2.1.195 */}Выполняемая работа переносится, когда вы отправляете сеанс в фон на Windows тоже; установите `CLAUDE_DISABLE_ADOPT=1`, чтобы остановить её вместо этого. Группа `Completed` заполняет оставшееся вертикальное пространство и заголовок сжимается на коротких терминалах. Более старая версия Claude Code больше не отклоняет поля `state.json` более новых сеансов и не скрывает эти сеансы из `claude agents`. Подключение к остановленному сеансу переключается немедленно вместо показа пустого экрана до пяти секунд. Супервизор, который не может принять подключения, выходит и освобождает свою блокировку самостоятельно. |

689| v2.1.174 | {/* min-version: 2.1.174 */}Фоновые сеансы больше не наследуют переменные конечной точки шлюза, такие как `ANTHROPIC_BASE_URL`, из оболочки запуска супервизора; супервизор предоставляет свежий снимок учётных данных предварительно прогретым рабочим процессам, исправляя ошибки `Could not resolve authentication method`. |

690| v2.1.172 | {/* min-version: 2.1.172 */}Команда `/model` в поле отправки устанавливает переопределение модели отправки с областью действия сеанса. |

691| v2.1.161 | {/* min-version: 2.1.161 */}Резюме строк показывают счётчик `done/total` для параллельных рабочих элементов; панель просмотра называет самый долгоживущий параллельный рабочий элемент. |

692| v2.1.157 | {/* min-version: 2.1.157 */}Команда `claude agents` принимает `--agent`; отправленные сеансы соблюдают параметр `agent`. |

693| v2.1.145 | {/* min-version: 2.1.145 */}Голосовая диктовка поддерживается в входе ответа панели просмотра и входе отправки. |

694| v2.1.143 | {/* min-version: 2.1.143 */}Параметр `worktree.bgIsolation` добавлен; `claude agents` принимает `--allow-dangerously-skip-permissions`. |

695| v2.1.142 | {/* min-version: 2.1.142 */}Команда `claude agents` принимает `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`, `--settings`, `--add-dir`, `--plugin-dir`, `--mcp-config` и `--strict-mcp-config`. |

696| v2.1.141 | {/* min-version: 2.1.141 */}Команда `claude agents` принимает `--cwd` для ограничения списка одним проектом. |

697| v2.1.139 | {/* min-version: 2.1.139 */}Agent view представлен как исследовательский предпросмотр. |

Details

397 Окно контекста 1M токенов397 Окно контекста 1M токенов

398</h2>398</h2>

399 399 

400Claude Opus 4.6 и более поздние версии, а также Sonnet 4.6, поддерживают [окно контекста 1M токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) на Amazon Bedrock. Claude Code автоматически включает расширенное окно контекста при выборе варианта модели 1M.400Claude Sonnet 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают [окно контекста 1M токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) на Amazon Bedrock. Sonnet 5 обслуживается через [конечную точку Mantle](#use-the-mantle-endpoint) и всегда работает с окном 1M, без варианта `[1m]` для выбора. Для других моделей Claude Code автоматически включает расширенное окно контекста при выборе варианта модели 1M.

401 401 

402[Мастер установки](#sign-in-with-bedrock) предлагает опцию контекста 1M при закреплении моделей. Чтобы включить его для вручную закрепленной модели вместо этого, добавьте `[1m]` к ID модели. См. [Pin models for third-party deployments](/ru/model-config#pin-models-for-third-party-deployments) для получения подробной информации.402[Мастер установки](#sign-in-with-bedrock) предлагает опцию контекста 1M при закреплении моделей. Чтобы включить его для вручную закрепленной модели вместо этого, добавьте `[1m]` к ID модели. См. [Pin models for third-party deployments](/ru/model-config#pin-models-for-third-party-deployments) для получения подробной информации.

403 403 


458 Выберите модель Mantle458 Выберите модель Mantle

459</h3>459</h3>

460 460 

461Mantle использует ID моделей с префиксом `anthropic.` и без суффикса версии, например `anthropic.claude-haiku-4-5`. Модели, доступные вашей учетной записи, зависят от того, что было предоставлено вашей организацией; дополнительные ID моделей указаны в ваших материалах по подключению от AWS. Свяжитесь с вашей командой учетной записи AWS, чтобы запросить доступ к разрешенным моделям.461Mantle использует ID моделей с префиксом `anthropic.` и без суффикса версии, например `anthropic.claude-sonnet-5` или `anthropic.claude-haiku-4-5`. Модели, доступные вашей учетной записи, зависят от того, что было предоставлено вашей организацией; дополнительные ID моделей указаны в ваших материалах по подключению от AWS. Свяжитесь с вашей командой учетной записи AWS, чтобы запросить доступ к разрешенным моделям.

462 462 

463Установите модель с флагом `--model` или с `/model` внутри Claude Code:463Установите модель с флагом `--model` или с `/model` внутри Claude Code:

464 464 


542 542 

543Claude Code использует Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) и не поддерживает Converse API.543Claude Code использует Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) и не поддерживает Converse API.

544 544 

545<h3 id="zero-token-counts-in-/context">

546 Нулевые подсчеты токенов в /context

547</h3>

548 

549Команда `/context` подсчитывает токены для каждой группы инструментов, отправляя схемы инструментов в API подсчета токенов Bedrock. {/* min-version: 2.1.196 */}В версиях Claude Code до v2.1.196 Bedrock отклонял этот запрос, потому что схемы содержали поля, которые его API подсчета токенов не принимает, поэтому каждая группа инструментов показывала 0 токенов. Другие строки в разбивке, такие как сообщения и файлы памяти, не затронуты.

550 

551Обновитесь до v2.1.196 или более поздней версии.

552 

545<h3 id="mantle-endpoint-errors">553<h3 id="mantle-endpoint-errors">

546 Ошибки конечной точки Mantle554 Ошибки конечной точки Mantle

547</h3>555</h3>

Details

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

25* **Claude Console**: войдите с помощью ваших учетных данных Console. Ваш администратор должен был [пригласить вас](#claude-console-authentication) предварительно.25* **Claude Console**: войдите с помощью ваших учетных данных Console. Ваш администратор должен был [пригласить вас](#claude-console-authentication) предварительно.

26* **Облачные провайдеры**: если ваша организация использует [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai) или [Microsoft Foundry](/ru/microsoft-foundry), установите необходимые переменные окружения перед запуском `claude`. Вход через браузер не требуется.26* **Облачные провайдеры**: если ваша организация использует [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai) или [Microsoft Foundry](/ru/microsoft-foundry), установите необходимые переменные окружения перед запуском `claude`. Вход через браузер не требуется.

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

27 28 

28Чтобы выйти и повторно аутентифицироваться, введите `/logout` в приглашение Claude Code.29Чтобы выйти и повторно аутентифицироваться, введите `/logout` в приглашение Claude Code.

29 30 


37 38 

38* [Claude for Teams или Enterprise](#claude-for-teams-or-enterprise), рекомендуется для большинства команд39* [Claude for Teams или Enterprise](#claude-for-teams-or-enterprise), рекомендуется для большинства команд

39* [Claude Console](#claude-console-authentication)40* [Claude Console](#claude-console-authentication)

41* [Claude apps gateway](/ru/claude-apps-gateway), самостоятельно размещаемый шлюз, который подписывает разработчиков с помощью вашего IdP и маршрутизирует вывод к облачному провайдеру, который вы настраиваете

40* [Amazon Bedrock](/ru/amazon-bedrock)42* [Amazon Bedrock](/ru/amazon-bedrock)

41* [Google Vertex AI](/ru/google-vertex-ai)43* [Google Vertex AI](/ru/google-vertex-ai)

42* [Microsoft Foundry](/ru/microsoft-foundry)44* [Microsoft Foundry](/ru/microsoft-foundry)


131 * На Windows учетные данные хранятся в `%USERPROFILE%\.claude\.credentials.json` и наследуют элементы управления доступом из каталога профиля пользователя, что по умолчанию ограничивает доступ к файлу вашей учетной записью.133 * На Windows учетные данные хранятся в `%USERPROFILE%\.claude\.credentials.json` и наследуют элементы управления доступом из каталога профиля пользователя, что по умолчанию ограничивает доступ к файлу вашей учетной записью.

132 * Если вы установили переменную окружения `CLAUDE_CONFIG_DIR` на Linux или Windows, файл `.credentials.json` находится в этом каталоге.134 * Если вы установили переменную окружения `CLAUDE_CONFIG_DIR` на Linux или Windows, файл `.credentials.json` находится в этом каталоге.

133 * Claude Code управляет `.credentials.json` через `/login` и `/logout`. Чтобы маршрутизировать запросы через пользовательскую конечную точку API, установите переменную окружения [`ANTHROPIC_BASE_URL`](/ru/env-vars).135 * Claude Code управляет `.credentials.json` через `/login` и `/logout`. Чтобы маршрутизировать запросы через пользовательскую конечную точку API, установите переменную окружения [`ANTHROPIC_BASE_URL`](/ru/env-vars).

134* **Поддерживаемые типы аутентификации**: учетные данные Claude.ai, учетные данные API Claude, Azure Auth, Bedrock Auth и Vertex Auth.136* **Поддерживаемые типы аутентификации**: учетные данные Claude.ai, учетные данные API Claude, Azure Auth, Bedrock Auth, Vertex Auth и токены сеанса [Claude apps gateway](/ru/claude-apps-gateway).

135* **Пользовательские скрипты учетных данных**: параметр [`apiKeyHelper`](/ru/settings#available-settings) можно настроить для запуска скрипта оболочки, который возвращает ключ API.137* **Пользовательские скрипты учетных данных**: параметр [`apiKeyHelper`](/ru/settings#available-settings) можно настроить для запуска скрипта оболочки, который возвращает ключ API.

136* **Интервалы обновления**: по умолчанию `apiKeyHelper` вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления.138* **Интервалы обновления**: по умолчанию `apiKeyHelper` вызывается через 5 минут или при ответе HTTP 401. Установите переменную окружения `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` для пользовательских интервалов обновления.

137* **Уведомление о медленном помощнике**: если `apiKeyHelper` требует более 10 секунд для возврата ключа, Claude Code отображает предупреждающее уведомление в строке приглашения, показывающее прошедшее время. Если вы видите это уведомление регулярно, проверьте, можно ли оптимизировать ваш скрипт учетных данных.139* **Уведомление о медленном помощнике**: если `apiKeyHelper` требует более 10 секунд для возврата ключа, Claude Code отображает предупреждающее уведомление в строке приглашения, показывающее прошедшее время. Если вы видите это уведомление регулярно, проверьте, можно ли оптимизировать ваш скрипт учетных данных.


1515. Переменная окружения `CLAUDE_CODE_OAUTH_TOKEN`. Долгоживущий токен OAuth, созданный [`claude setup-token`](#generate-a-long-lived-token). Используйте это для конвейеров CI и скриптов, где вход через браузер недоступен.1535. Переменная окружения `CLAUDE_CODE_OAUTH_TOKEN`. Долгоживущий токен OAuth, созданный [`claude setup-token`](#generate-a-long-lived-token). Используйте это для конвейеров CI и скриптов, где вход через браузер недоступен.

1526. Учетные данные OAuth подписки из `/login`. Это значение по умолчанию для пользователей Claude Pro, Max, Team и Enterprise.1546. Учетные данные OAuth подписки из `/login`. Это значение по умолчанию для пользователей Claude Pro, Max, Team и Enterprise.

153 155 

156Подписанный сеанс [Claude apps gateway](/ru/claude-apps-gateway) находится вне этого списка: это выбор провайдера, как Bedrock или Vertex, и он имеет приоритет над ними. Когда существует сеанс шлюза, CLI аутентифицируется с помощью токена шлюза, даже если установлены `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX` или `CLAUDE_CODE_USE_FOUNDRY`, и записи токена-носителя, ключа API и `apiKeyHelper` выше не используются.

157 

154Если у вас есть активная подписка Claude, но также установлен `ANTHROPIC_API_KEY` в вашей среде, ключ API имеет приоритет после одобрения. Это может привести к сбоям аутентификации, если ключ принадлежит отключенной или истекшей организации. Запустите `unset ANTHROPIC_API_KEY`, чтобы вернуться к вашей подписке, и проверьте `/status`, чтобы подтвердить, какой метод активен.158Если у вас есть активная подписка Claude, но также установлен `ANTHROPIC_API_KEY` в вашей среде, ключ API имеет приоритет после одобрения. Это может привести к сбоям аутентификации, если ключ принадлежит отключенной или истекшей организации. Запустите `unset ANTHROPIC_API_KEY`, чтобы вернуться к вашей подписке, и проверьте `/status`, чтобы подтвердить, какой метод активен.

155 159 

156[Claude Code в веб-версии](/ru/claude-code-on-the-web) всегда использует учетные данные вашей подписки. `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` в среде песочницы не переопределяют их.160[Claude Code в веб-версии](/ru/claude-code-on-the-web) всегда использует учетные данные вашей подписки. `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` в среде песочницы не переопределяют их.

Details

9[Auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) позволяет Claude Code работать без запросов разрешения, маршрутизируя каждый вызов инструмента через классификатор, который блокирует все необратимое, деструктивное или направленное вне вашего окружения. Правила отказа и явного запроса оцениваются перед классификатором и по-прежнему блокируют или запрашивают разрешение. Используйте блок настроек `autoMode`, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.9[Auto mode](/ru/permission-modes#eliminate-prompts-with-auto-mode) позволяет Claude Code работать без запросов разрешения, маршрутизируя каждый вызов инструмента через классификатор, который блокирует все необратимое, деструктивное или направленное вне вашего окружения. Правила отказа и явного запроса оцениваются перед классификатором и по-прежнему блокируют или запрашивают разрешение. Используйте блок настроек `autoMode`, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.

10 10 

11<Note>11<Note>

12 Auto mode доступен всем пользователям на Anthropic API. На Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry вы должны сначала [установить `CLAUDE_CODE_ENABLE_AUTO_MODE`](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Если Claude Code сообщает, что auto mode недоступен для вашей учетной записи, проверьте [полные требования](/ru/permission-modes#eliminate-prompts-with-auto-mode), которые также охватывают поддерживаемые модели и включение администратором на планах Team и Enterprise.12 Auto mode доступен всем пользователям на Anthropic API. На Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry и сеансах [Claude apps gateway](/ru/claude-apps-gateway) с входом вы должны сначала [установить `CLAUDE_CODE_ENABLE_AUTO_MODE`](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry). Если Claude Code сообщает, что auto mode недоступен для вашей учетной записи, проверьте [полные требования](/ru/permission-modes#eliminate-prompts-with-auto-mode), которые также охватывают поддерживаемые модели и включение администратором на планах Team и Enterprise.

13</Note>13</Note>

14 14 

15По умолчанию классификатор доверяет только рабочему каталогу и настроенным удаленным репозиториям текущего репо. Такие действия, как отправка в исходный контроль вашей компании или запись в командный облачный бакет, блокируются до тех пор, пока вы не добавите их в `autoMode.environment`.15По умолчанию классификатор доверяет только рабочему каталогу и настроенным удаленным репозиториям текущего репо. Такие действия, как отправка в исходный контроль вашей компании или запись в командный облачный бакет, блокируются до тех пор, пока вы не добавите их в `autoMode.environment`.


21* [Выбрать, где устанавливать правила](#where-the-classifier-reads-configuration) в CLAUDE.md, пользовательских настройках и управляемых настройках21* [Выбрать, где устанавливать правила](#where-the-classifier-reads-configuration) в CLAUDE.md, пользовательских настройках и управляемых настройках

22* [Определить доверенную инфраструктуру](#define-trusted-infrastructure) с помощью `autoMode.environment`22* [Определить доверенную инфраструктуру](#define-trusted-infrastructure) с помощью `autoMode.environment`

23* [Переопределить правила блокировки и разрешения](#override-the-block-and-allow-rules), когда значения по умолчанию не подходят для вашего конвейера23* [Переопределить правила блокировки и разрешения](#override-the-block-and-allow-rules), когда значения по умолчанию не подходят для вашего конвейера

24* [Маршрутизировать все команды shell через классификатор](#route-all-shell-commands-through-the-classifier) с помощью `autoMode.classifyAllShell`

24* [Проверить вашу эффективную конфигурацию](#inspect-the-defaults-and-your-effective-config) с помощью подкоманд `claude auto-mode`25* [Проверить вашу эффективную конфигурацию](#inspect-the-defaults-and-your-effective-config) с помощью подкоманд `claude auto-mode`

25* [Просмотреть отказы](#review-denials), чтобы знать, что добавить дальше26* [Просмотреть отказы](#review-denials), чтобы знать, что добавить дальше

26 27 


48</Note>49</Note>

49 50 

50<h2 id="define-trusted-infrastructure">51<h2 id="define-trusted-infrastructure">

51 Определение доверенной инфраструктуры52 Define trusted infrastructure

52</h2>53</h2>

53 54 

54Для большинства организаций `autoMode.environment` — это единственное поле, которое вам нужно установить. Оно сообщает классификатору, какие репозитории, бакеты и домены являются доверенными: классификатор использует его для определения того, что означает "внешний", поэтому любой пункт назначения, не указанный в списке, является потенциальной целью утечки данных.55Для большинства организаций `autoMode.environment` — это единственное поле, которое вам нужно установить. Оно сообщает классификатору, какие репозитории, бакеты и домены являются доверенными: классификатор использует его для определения того, что означает "внешний", поэтому любой пункт назначения, не указанный в списке, является потенциальной целью утечки данных.

55 56 

56Список окружения по умолчанию доверяет рабочему репо и его настроенным удаленным репозиториям. Чтобы добавить свои собственные записи наряду с этим значением по умолчанию, включите буквальную строку `"$defaults"` в массив. Записи по умолчанию вставляются в эту позицию, поэтому ваши пользовательские записи могут идти до или после них.57Начиная с Claude Code v2.1.195, `claude auto-mode defaults` выводит два вида записей окружения.

58 

59* **Слоты доверия**: называют то, что классификатор рассматривает как находящееся внутри вашей границы. Слоты — это Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services и Internal package registry. Записи repo и source-control по умолчанию указывают на рабочий репозиторий и его настроенные удаленные репозитории. Все остальные слоты доверия по умолчанию имеют значение `None configured`, поэтому ничего больше не доверяется до тех пор, пока вы это не добавите.

60* **Слоты чувствительности**: называют то, что защитные правила рассматривают как высокий риск. Слоты — это PII / regulated-data locations, Sensitive remote targets и Protected IaC scopes. Каждый по умолчанию использует широкую эвристику, например рассматривая любой хост или пространство имен, чье имя содержит `prod` или `production`, как чувствительную удаленную цель, поэтому защитные правила активны до того, как вы что-либо настроите. Указание конкретных целей в слоте чувствительности заставляет эти правила применяться к названным целям вместо эвристики.

61 

62Версии до v2.1.195 выводят только первые пять слотов доверия.

63 

64Чтобы добавить свои собственные записи наряду с значениями по умолчанию, включите буквальную строку `"$defaults"` в массив. Записи по умолчанию вставляются в эту позицию, поэтому ваши пользовательские записи могут идти до или после них.

65 

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

57 67 

58```json theme={null}68```json theme={null}

59{69{


76* **Облачные провайдеры и доверенные бакеты**: имена бакетов или префиксы, из которых Claude должен иметь возможность читать и писать86* **Облачные провайдеры и доверенные бакеты**: имена бакетов или префиксы, из которых Claude должен иметь возможность читать и писать

77* **Доверенные внутренние домены**: имена хостов для API, панелей управления и сервисов внутри вашей сети, например `*.internal.example.com`87* **Доверенные внутренние домены**: имена хостов для API, панелей управления и сервисов внутри вашей сети, например `*.internal.example.com`

78* **Ключевые внутренние сервисы**: CI, реестры артефактов, внутренние индексы пакетов, инструменты для инцидентов88* **Ключевые внутренние сервисы**: CI, реестры артефактов, внутренние индексы пакетов, инструменты для инцидентов

89* **Внутренний реестр пакетов**: приватный npm, PyPI или другой реестр, через который должны проходить установки, поэтому установки, которые обходят его для публичного реестра, блокируются

90* **PII / regulated-data locations**: бакеты, базы данных или пути, которые содержат личные или регулируемые данные, поэтому классификатор защищает эти местоположения вместо того, чтобы угадывать из содержимого

91* **Sensitive remote targets**: пространства имен, хосты или контейнеры, которые считаются production, поэтому удаленные оболочки и port-forwards в них требуют вашего явного одобрения

92* **Protected IaC scopes**: ресурсы инфраструктуры, чьи apply или destroy всегда должны требовать от вас назвать изменение

79* **Дополнительный контекст**: ограничения регулируемой отрасли, многопользовательская инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное93* **Дополнительный контекст**: ограничения регулируемой отрасли, многопользовательская инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное

80 94 

95Записи Internal package registry, PII / regulated-data locations, Sensitive remote targets и Protected IaC scopes требуют Claude Code v2.1.195 или позже. Более ранние версии по-прежнему читают их как простой контекст, но не имеют встроенных правил, которые их нацеливают.

96 

81Полезный начальный шаблон: заполните поля в скобках и удалите все строки, которые не применяются.97Полезный начальный шаблон: заполните поля в скобках и удалите все строки, которые не применяются.

82 98 

83```json theme={null}99```json theme={null}


102Вам не нужно заполнять все сразу. Разумный процесс развертывания: начните со значений по умолчанию и добавьте организацию исходного контроля и ключевые внутренние сервисы, что решает наиболее распространенные ложные срабатывания, такие как отправка в ваши собственные репо. Затем добавьте доверенные домены и облачные бакеты. Заполните остальное по мере появления блокировок.118Вам не нужно заполнять все сразу. Разумный процесс развертывания: начните со значений по умолчанию и добавьте организацию исходного контроля и ключевые внутренние сервисы, что решает наиболее распространенные ложные срабатывания, такие как отправка в ваши собственные репо. Затем добавьте доверенные домены и облачные бакеты. Заполните остальное по мере появления блокировок.

103 119 

104<h2 id="override-the-block-and-allow-rules">120<h2 id="override-the-block-and-allow-rules">

105 Переопределение правил блокировки и разрешения121 Override the block and allow rules

106</h2>122</h2>

107 123 

108Три дополнительных поля позволяют вам заменить встроенные списки правил классификатора: `autoMode.hard_deny` для безусловных границ безопасности, `autoMode.soft_deny` для деструктивных действий, которые намерение пользователя может отменить, и `autoMode.allow` для исключений. Каждое из них — это массив описаний на прозе, читаемых как правила на естественном языке. Для инструментов на основе паттернов с жесткими блокировками, которые работают перед классификатором, используйте [`permissions.deny`](/ru/permissions).124Три дополнительных поля позволяют вам заменить встроенные списки правил классификатора:

125 

126* `autoMode.hard_deny`: безусловные границы безопасности

127* `autoMode.soft_deny`: деструктивные действия, которые намерение пользователя может отменить

128* `autoMode.allow`: исключения из правил мягкой блокировки

129 

130Каждое из них — это массив описаний на прозе, читаемых как правила на естественном языке. Для инструментов на основе паттернов с жесткими блокировками, которые работают перед классификатором, используйте [`permissions.deny`](/ru/permissions).

109 131 

110Внутри классификатора приоритет работает в четыре уровня:132Внутри классификатора приоритет работает в четыре уровня:

111 133 


120 142 

121Чтобы сохранить встроенные правила при добавлении своих собственных, включите буквальную строку `"$defaults"` в массив. Правила по умолчанию вставляются в эту позицию, поэтому ваши пользовательские правила могут идти до или после них, и вы продолжаете наследовать обновления по мере изменения встроенного списка в разных версиях.143Чтобы сохранить встроенные правила при добавлении своих собственных, включите буквальную строку `"$defaults"` в массив. Правила по умолчанию вставляются в эту позицию, поэтому ваши пользовательские правила могут идти до или после них, и вы продолжаете наследовать обновления по мере изменения встроенного списка в разных версиях.

122 144 

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

146 

123```json theme={null}147```json theme={null}

124{148{

125 "autoMode": {149 "autoMode": {


146```170```

147 171 

148<Danger>172<Danger>

149 Установка любого из `environment`, `allow`, `soft_deny` или `hard_deny` без `"$defaults"` заменяет весь список по умолчанию для этого раздела. Массив `soft_deny` без `"$defaults"` отбрасывает каждое встроенное правило мягкой блокировки, включая force push, `curl | bash` и развертывание в production. Массив `hard_deny` без `"$defaults"` отбрасывает встроенные правила утечки данных и обхода проверок безопасности.173 Установка любого из `environment`, `allow`, `soft_deny` или `hard_deny` без `"$defaults"` заменяет весь список по умолчанию для этого раздела. Массив `soft_deny` без `"$defaults"` отбрасывает каждое встроенное правило мягкой блокировки, включая force push, `curl | bash` и развертывание в production. Массив `hard_deny` без `"$defaults"` отбрасывает встроенные правила утечки данных и обхода режима auto.

150</Danger>174</Danger>

151 175 

152Каждый раздел оценивается независимо, поэтому установка только `environment` оставляет списки `allow`, `soft_deny` и `hard_deny` по умолчанию нетронутыми. Опускайте `"$defaults"` только когда вы намерены взять полную ответственность за список. Чтобы сделать это безопасно, запустите `claude auto-mode defaults`, чтобы вывести встроенные правила, скопируйте их в файл настроек, затем просмотрите каждое правило в соответствии с вашим конвейером и допустимостью риска.176Каждый раздел оценивается независимо, поэтому установка только `environment` оставляет списки `allow`, `soft_deny` и `hard_deny` по умолчанию нетронутыми.

177 

178Опускайте `"$defaults"` только когда вы намерены взять полную ответственность за список. Чтобы сделать это безопасно, запустите `claude auto-mode defaults`, чтобы вывести встроенные правила, скопируйте их в файл настроек, затем просмотрите каждое правило в соответствии с вашим конвейером и допустимостью риска.

179 

180<h2 id="route-all-shell-commands-through-the-classifier">

181 Route all shell commands through the classifier

182</h2>

183 

184По умолчанию узкие правила разрешения Bash и PowerShell, такие как `Bash(npm test)`, переносятся в режим auto и разрешаются перед запуском классификатора. Режим auto приостанавливает только широкие правила, которые предоставляют произвольное выполнение кода, такие как `Bash(*)` или подстановочные интерпретаторы. Это означает, что узкое правило все еще может пропустить деструктивный аргумент без того, чтобы классификатор его видел, например путь скрипта или флаг, который префикс правила не предусмотрел.

185 

186Установите `autoMode.classifyAllShell` в `true`, чтобы приостановить каждое правило разрешения Bash и PowerShell, пока активен режим auto, так чтобы классификатор оценивал каждую команду shell независимо от вашего списка разрешений.

187 

188```json theme={null}

189{

190 "autoMode": {

191 "classifyAllShell": true

192 }

193}

194```

195 

196Это обменивает задержку на охват: команда, которую правило разрешения одобрило бы мгновенно, теперь ждет решения классификатора, и каждая команда shell считается вызовом классификатора.

197 

198Параметр применяется только пока активен режим auto, и ваши правила разрешения ведут себя нормально в других режимах разрешений.

199 

200<Note>

201 `autoMode.classifyAllShell` требует Claude Code v2.1.193 или позже. Более ранние версии игнорируют ключ и продолжают переносить узкие правила разрешения shell в режим auto.

202</Note>

153 203 

154<h2 id="inspect-the-defaults-and-your-effective-config">204<h2 id="inspect-the-defaults-and-your-effective-config">

155 Проверьте значения по умолчанию и вашу эффективную конфигурацию205 Inspect the defaults and your effective config

156</h2>206</h2>

157 207 

158Три подкоманды CLI помогают вам проверить и подтвердить вашу конфигурацию.208Три подкоманды CLI помогают вам проверить и подтвердить вашу конфигурацию.


175claude auto-mode critique225claude auto-mode critique

176```226```

177 227 

178Запустите `claude auto-mode config` после сохранения ваших настроек, чтобы подтвердить, что эффективные правила — это то, что вы ожидаете, с развёрнутым `"$defaults"` на месте. Если вы написали пользовательские правила, `claude auto-mode critique` просматривает их и помечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания. Если вам нужно удалить или переписать встроенное правило вместо того, чтобы добавить его рядом, сохраните вывод `claude auto-mode defaults` в файл, отредактируйте списки и вставьте результат в файл настроек вместо `"$defaults"`.228Запустите `claude auto-mode config` после сохранения ваших настроек, чтобы подтвердить, что эффективные правила — это то, что вы ожидаете, с развёрнутым `"$defaults"` на месте. Если вы написали пользовательские правила, `claude auto-mode critique` просматривает их и помечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.

229 

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

179 231 

180<h2 id="review-denials">232<h2 id="review-denials">

181 Review denials233 Review denials


183 235 

184Когда режим auto отказывает в вызове инструмента, отказ записывается в `/permissions` на вкладке Recently denied. Нажмите `r` на отклоненном действии, чтобы отметить его для повтора: когда вы выйдете из диалога, Claude Code отправит сообщение, сообщающее модели, что она может повторить этот вызов инструмента и возобновить разговор.236Когда режим auto отказывает в вызове инструмента, отказ записывается в `/permissions` на вкладке Recently denied. Нажмите `r` на отклоненном действии, чтобы отметить его для повтора: когда вы выйдете из диалога, Claude Code отправит сообщение, сообщающее модели, что она может повторить этот вызов инструмента и возобновить разговор.

185 237 

238В Claude Code v2.1.193 и позже причина отказа классификатора для каждого отказа появляется рядом с заблокированным вызовом инструмента в расшифровке, в уведомлении об отказе и под каждой записью на вкладке Recently denied. Используйте причину, чтобы решить, является ли исправление записью `environment`, исключением `allow` или повтором с явным намерением в вашем следующем сообщении.

239 

186Повторные отказы для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в `autoMode.environment`, затем запустите `claude auto-mode config`, чтобы подтвердить, что это вступило в силу.240Повторные отказы для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в `autoMode.environment`, затем запустите `claude auto-mode config`, чтобы подтвердить, что это вступило в силу.

187 241 

188Чтобы реагировать на отказы программно, используйте hook [`PermissionDenied`](/ru/hooks#permissiondenied).242Чтобы реагировать на отказы программно, используйте hook [`PermissionDenied`](/ru/hooks#permissiondenied).

claude-apps-gateway-config.md +749 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Конфигурация Claude apps gateway

6 

7> Справочник по каждому параметру gateway.yaml: listener и TLS, OIDC, session, хранилище Postgres, upstreams Bedrock/Agent Platform/Foundry, маршрутизация моделей, управляемые политики и телеметрия.

8 

9Развёртывание Claude apps gateway настраивается одним файлом YAML, обычно `gateway.yaml`. Файл определяет всё, что делает gateway: где он слушает, как разработчики входят в систему, куда идёт вывод, и какие политики и телеметрия применяются. Эта страница — справочник по каждому параметру в этом файле. Чтобы написать свой первый файл, начните с [quickstart](/ru/claude-apps-gateway#quickstart), который создаёт минимальную рабочую конфигурацию и запускает её; когда у вас будет конфигурация, которой вы довольны, [руководство по развёртыванию](/ru/claude-apps-gateway-deploy) охватывает контейнеризацию и размещение на Kubernetes, Cloud Run или вашей собственной платформе.

10 

11Gateway читает файл один раз при запуске с помощью `claude gateway --config /path/to/gateway.yaml`. Каждый параметр проверяется по схеме при загрузке, поэтому неправильная конфигурация не запускается с ошибкой на уровне поля, а не при первом использовании.

12 

13[Полный пример](#complete-example) в конце этой страницы охватывает каждый раздел.

14 

15<h2 id="file-structure">

16 Структура файла

17</h2>

18 

19Пять разделов [обязательны](#required-sections). Все остальные разделы [опциональны](#optional-sections), и пропущенный раздел принимает значения по умолчанию. Неизвестные ключи приводят к сбою при загрузке, поэтому опечатка выявляется как именованная ошибка, а не как молча игнорируемый параметр.

20 

21**Обязательные разделы:**

22 

23* [`listen`](#listen): адрес привязки, публичный URL, завершение TLS

24* [`oidc`](#oidc): ваш поставщик идентификации (IdP), включая издателя, клиента, сопоставление утверждений и кто может входить

25* [`session`](#session): токены-носители, которые выпускает gateway, с секретом и временем жизни

26* [`store`](#store): PostgreSQL для грантов устройств и счётчиков ограничения скорости

27* [`upstreams`](#upstreams): куда идёт вывод, будь то Anthropic, Bedrock, Agent Platform или Foundry

28 

29**Опциональные разделы:**

30 

31* [`admin`](#admin): аутентификация Admin API и сохранение лимитов расходов

32* [`enforcement`](#enforcement): поведение лимитов расходов при отказе или разрешении

33* [`models`](#models) и `auto_include_builtin_models`: кураторский список моделей администратором и ID для каждого upstream

34* [`managed`](#managed): управляемые политики параметров по группам IdP

35* [`telemetry`](#telemetry): пересылка OTLP на ваш стек наблюдаемости

36* [`access_control`, `limits`, `timeouts`, `rate_limits`](#http-tuning): разрешение/запрет IP, ограничения размера запроса, время до первого байта upstream и лимиты входа по IP

37 

38<h2 id="secret-expansion">

39 Расширение секретов

40</h2>

41 

42Не пишите секреты, такие как `client_secret`, `jwt_secret` или `postgres_url`, прямо в `gateway.yaml`. Ссылайтесь на них одной из форм ниже, и gateway разрешит значение при загрузке из переменной окружения или файла:

43 

44| Форма | Разрешается в | Используется для |

45| --------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------ |

46| `${VAR}` | Переменная окружения `VAR`. Загрузка не удаётся, если не определена. | Переменные окружения контейнера, AWS Secrets Manager через внедрение env |

47| `${file:/path}` | Содержимое файла, обрезано | Монтирования томов Kubernetes Secret, Vault Agent, SOPS |

48 

49<h2 id="required-sections">

50 Обязательные разделы

51</h2>

52 

53<h3 id="listen">

54 `listen`

55</h3>

56 

57Блок `listen` управляет тем, где служит gateway: адрес привязки и порт, видимое снаружи происхождение и опциональное завершение TLS.

58 

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

60| ---------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

61| `host` | Нет | Адрес привязки. По умолчанию `0.0.0.0`. |

62| `port` | Нет | Порт привязки. По умолчанию `8080`. |

63| `public_url` | За прокси | Видимое снаружи происхождение `https://`, используется для построения `redirect_uri` IdP и метаданных обнаружения. Требуется за любым прокси, завершающим TLS, таким как ALB, Ingress или Cloud Run, потому что gateway не доверяет заголовкам `X-Forwarded-*` при построении собственного происхождения; они могут быть подделаны клиентом. `trusted_proxies` ниже управляет только разрешением IP клиента. Также требуется для включения [телеметрии](#telemetry), потому что gateway строит конечную точку OTLP, которую он отправляет клиентам, из этого URL. |

64| `tls.cert` / `tls.key` | Нет | Пути PEM, если gateway сам завершает TLS |

65| `trusted_proxies` | Нет | CIDR или IP балансировщиков нагрузки перед gateway. Когда установлено, gateway доверяет `X-Forwarded-For` только от этих пиров и записывает реальный IP клиента для ограничения скорости по IP и аудита. Эквивалентно nginx `set_real_ip_from`. |

66 

67<h3 id="oidc">

68 `oidc`

69</h3>

70 

71OpenID Connect (OIDC) — это протокол SSO, который gateway использует с вашим поставщиком идентификации; см. [Настройка поставщика идентификации](/ru/claude-apps-gateway-deploy#identity-provider-setup) для того, что нужно зарегистрировать на стороне IdP. Блок `oidc` подключает gateway к вашему поставщику идентификации и решает, кто может входить. Он называет издателя и клиента OAuth, сопоставляет утверждения, которые несут электронную почту и группы, и ограничивает вход по домену электронной почты или группе.

72 

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

74| ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

75| `issuer` | Да | База обнаружения OIDC. Должна служить обнаружением в `/.well-known/openid-configuration`. Используйте HTTPS в production; gateway принимает издателя `http://`. Издатель loopback, такой как `http://localhost:8081`, отклоняется [защитой SSRF](/ru/claude-apps-gateway-deploy#threat-model-summary), если в окружении gateway не установлено `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`. |

76| `client_id` / `client_secret` | Да | Из регистрации клиента OAuth |

77| `allowed_email_domains` | Нет | Отклоняйте id\_tokens, чьё утверждение `email` не находится в одном из этих доменов, без учёта регистра. Защита в глубину от неправильной конфигурации многотенантного IdP. Независимо от этого параметра, id\_token, чьё утверждение `email_verified` явно `false`, всегда отклоняется. |

78| `allowed_groups` | Нет | Ограничьте вход членами этих групп IdP, сопоставленными с `groups_claim`. Пользователь в разрешённом домене электронной почты, но ни в одной из этих групп, отклоняется. Требует, чтобы IdP выпускал утверждение groups. |

79| `groups_claim` | Нет | Какое утверждение id\_token несёт членство в группе. По умолчанию `groups`. Microsoft Entra выпускает роли приложения под `roles`. Принимает плоский ключ или RFC 6901 JSON Pointer, такой как `/resource_access/gateway/roles` для вложенных утверждений. |

80| `google_groups` | Нет | Посмотрите группы вошедшего пользователя через Google Workspace Admin SDK Directory API, потому что id\_token Google не несёт утверждение groups. Установите `service_account_json_path` на файл ключа сервис-аккаунта с делегированием на уровне домена на область `https://www.googleapis.com/auth/admin.directory.group.readonly` и `admin_email` на администратора Workspace, который сервис-аккаунт олицетворяет; Directory API требует реального субъекта администратора. Адреса электронной почты групп каждого пользователя становятся их утверждением groups, поэтому `allowed_groups` и `managed.policies.match.groups` сопоставляются с адресами электронной почты групп. |

81| `email_claim` | Нет | Какое утверждение id\_token несёт электронную почту пользователя. По умолчанию `email`. Некоторые IdP, такие как ADFS и Entra B2C, выпускают `upn` или `preferred_username`. Принимает плоский ключ, JSON Pointer или список резервных ключей, где используется первый присутствующий ключ. |

82| `scopes` | Нет | Полное переопределение областей OIDC, которые запрашивает gateway. По умолчанию `[openid, profile, email, offline_access]`. Установите, когда ваш IdP отклоняет области, которые он не распознаёт, или требует пользовательскую область для выпуска групп или электронной почты. Должна включать `openid`. Отказ от `offline_access` отключает токены обновления, поэтому разработчики повторно запускают вход в браузер каждые `session.ttl_hours`. См. [Настройка поставщика идентификации](/ru/claude-apps-gateway-deploy#identity-provider-setup) для рецептов областей для каждого IdP, таких как поток токена обновления Google. |

83| `extra_auth_params` | Нет | Дополнительные параметры запроса, добавленные к запросу авторизации IdP, дословно. Это механизм переопределения для поведения, специфичного для IdP, такого как `access_type: offline` для токенов обновления Google, `domain_hint` для некоторых тенантов Entra или `acr_values` для потоков повышения уровня. Не может переопределять параметры протокола, управляемые gateway: `state`, `nonce`, `redirect_uri`, PKCE, `scope`, `response_type`, `response_mode` и `client_id`. |

84| `userinfo_fallback` | Нет | Когда id\_token опускает электронную почту или группы, получите их из `/userinfo`. Требуется для облегчённых токенов доступа Keycloak, сервера организации Okta и минимальных токенов ADFS. id\_token остаётся авторитетным; userinfo только заполняет пробелы. По умолчанию `false`. |

85| `use_pkce` | Нет | Отправьте вызов PKCE (S256) на запрос авторизации. По умолчанию `true`. Установите `false` только, если ваш IdP отклоняет PKCE для этого конфиденциального клиента. |

86| `clock_skew_seconds` | Нет | Допустите дрейф часов при проверке утверждений времени id\_token. По умолчанию `0`, что строго. Повысьте, если вы видите ошибки "token expired / not yet valid" сразу после входа из-за дрейфа часов хоста/IdP. |

87| `token_endpoint_auth_method` | Нет | Переопределите метод аутентификации конечной точки токена. Принимает `client_secret_basic` или `client_secret_post`. Автоматически согласовано по умолчанию. |

88| `id_token_signed_response_alg` | Нет | Ожидаемый алгоритм подписи id\_token. По умолчанию `RS256`. Установите для IdP, которые подписывают с помощью ES256, PS256 или EdDSA. |

89| `additional_authorized_parties` | Нет | Дополнительные значения `azp` для принятия помимо `client_id`, для потоков брокера Keycloak и обмена токенами |

90| `discovery_url` | Нет | Получите документ обнаружения из этого URL вместо его получения из `issuer`, для IdP за прокси, который переписывает хост издателя. Путь должен содержать `/.well-known/`. |

91| `form_action_origins` | Нет | Дополнительные происхождения для директивы `Content-Security-Policy: form-action` страницы `/device`. Gateway уже разрешает `'self'` и обнаруженное происхождение `authorization_endpoint`, но Chrome применяет `form-action` ко всей цепочке перенаправления. Если ваш IdP перенаправляет через второй хост, такой как Azure AD, объединённый с ADFS, hub-spoke Okta или корпоративный перехватчик SSO, перечислите каждое происхождение, через которое может перенаправляться запрос авторизации. |

92| `ca_cert_pem` | Нет | PEM сертификат CA, который заменяет хранилище доверия системы только для запросов IdP. Используйте для Keycloak или Dex за корпоративной PKI. |

93 

94<h3 id="session">

95 `session`

96</h3>

97 

98Блок `session` формирует токены-носители, которые выпускает gateway после входа: секрет, который их подписывает, и как долго они живут.

99 

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

101| ------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

102| `jwt_secret` | Да | По крайней мере 32 байта энтропии, например из `openssl rand -base64 32`. Подписывает HS256 токены-носители gateway. Принимает одну строку или массив для ротации: индекс 0 подписывает и все записи проверяют. Для ротации добавьте новый секрет в начало, подождите `ttl_hours`, затем удалите старый. |

103| `ttl_hours` | Нет | Время жизни токена-носителя gateway. По умолчанию `1`. CLI молча обновляется перед истечением, когда IdP выпускает токены обновления. Более короткое время жизни быстрее отзывает; более длинное делает меньше раундов IdP. Если ваш IdP не может выпускать токены обновления, потому что `offline_access` недоступен, нет молчаливого обновления, поэтому повысьте это до `8` или `12`, чтобы избежать отправки разработчиков обратно на вход в браузер каждый час. |

104 

105<h3 id="store">

106 `store`

107</h3>

108 

109Блок `store` указывает gateway на его базу данных PostgreSQL, которая содержит гранты устройств и счётчики ограничения скорости.

110 

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

112| ----------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

113| `postgres_url` | Да | URL `postgres://` или `postgresql://`. Требуется: встреча грантов устройств, где обратный вызов браузера пишет и опрашивающий CLI читает, нужно состояние между репликами. Gateway запускает свои собственные миграции схемы при загрузке, поэтому роль нуждается в `CREATE TABLE` на целевой схеме. Если ваша политика безопасности запрещает DDL из роли приложения, запустите миграции с ролью администратора, изначально и снова всякий раз, когда новый выпуск поставляет миграции, и предоставьте роли приложения `SELECT, INSERT, UPDATE, DELETE` на таблицы gateway. См. [Обновления](/ru/claude-apps-gateway-deploy#upgrades) и [Postgres](/ru/claude-apps-gateway-deploy#postgres). |

114| `username` | Нет | Переопределяет пользователя в `postgres_url` |

115| `password` | Нет | Учётные данные базы данных. Установите здесь, а не в `postgres_url`, чтобы учётные данные оставались вне URL. Принимает любые символы и имеет приоритет над учётными данными URL. |

116| `max_connections` | Нет | Размер пула соединений Postgres на реплику. По умолчанию `5`, что консервативно и дружелюбно к общим базам данных. С включёнными [лимитами расходов](#admin) горячий путь выполняет несколько операций на запрос вывода, поэтому повысьте его для выделенной базы данных под нагрузкой и держите реплики × это ниже `max_connections` базы данных. |

117 

118Для локальной разработки укажите `postgres_url` на одноразовый контейнер Postgres, например `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

119 

120<h3 id="upstreams">

121 `upstreams`

122</h3>

123 

124`upstreams` — это упорядоченный список. Gateway пересылает вывод на первый upstream, который разрешает запрошенную модель. На `5xx`, `429` или timeout он переходит на следующий; другие `4xx` не переходят, потому что эти ошибки относятся к запросу, а не к upstream. Несколько upstream одного поставщика должны установить отличный `name:`.

125 

126Клиенты Bedrock, Agent Platform и Foundry создаются один раз при запуске, и их SDK обновляют учётные данные внутри, поэтому ротация облачных учётных данных не требует перезагрузки. Статические ключи API Anthropic и носители читаются при запуске; см. [Anthropic API](#anthropic-api).

127 

128<h4 id="anthropic-api">

129 Anthropic API

130</h4>

131 

132Минимальный upstream Anthropic — это ключ API из [Claude Console](https://platform.claude.com):

133 

134```yaml theme={null}

135upstreams:

136 - provider: anthropic

137 auth:

138 api_key: ${ANTHROPIC_API_KEY}

139 # ИЛИ токен-носитель OAuth (например, токен, обменённый Workload-Identity-Federation):

140 # oauth_token: ${file:/var/run/secrets/anthropic-oauth-token}

141 # base_url: https://api.anthropic.com # по умолчанию; переопределите для прямого прокси

142```

143 

144Две формы учётных данных отличаются заголовком, который они отправляют:

145 

146* **`api_key`**: отправляет `x-api-key`. Ротируйте его в Claude Console и обновите переменную env.

147* **`oauth_token`**: отправляет `Authorization: Bearer`. Используйте форму носителя, когда ваша организация выпускает короткоживущие токены вместо долгоживущих ключей API. Носитель читается один раз при запуске, поэтому обновите, переподключив секрет и перезагрузив.

148 

149Вместо статического ключа или носителя вы можете использовать Workload Identity Federation. Создайте правило федерации, следуя [руководству Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation), затем смонтируйте JWT OIDC вашей рабочей нагрузки как файл, такой как проецируемый токен сервис-аккаунта Kubernetes или id-token платформы CI. Gateway обменивает JWT на короткоживущий носитель и автоматически его обновляет. Файл токена перечитывается при каждом обмене, поэтому ротированные проецируемые токены подхватываются без перезагрузки.

150 

151```yaml theme={null}

152upstreams:

153 - provider: anthropic

154 auth:

155 federation_rule_id: ${ANTHROPIC_FEDERATION_RULE_ID}

156 organization_id: ${ANTHROPIC_ORGANIZATION_ID}

157 identity_token_file: /var/run/secrets/anthropic/id-token

158 # workspace_id: wrkspc_... # требуется, если правило охватывает >1 рабочего пространства

159 # service_account_id: svac_... # опциональная проверка ожидаемой цели

160```

161 

162<h4 id="amazon-bedrock">

163 Amazon Bedrock

164</h4>

165 

166Для развёртывания Bedrock на стороне клиента, которое gateway заменяет или находится перед ним, см. [Claude Code на Amazon Bedrock](/ru/amazon-bedrock). Upstream на стороне gateway:

167 

168```yaml theme={null}

169upstreams:

170 - provider: bedrock

171 region: us-east-1

172 auth: {} # предпочтительно: цепочка учётных данных AWS по умолчанию

173 # ИЛИ явные учётные данные:

174 # auth:

175 # aws_access_key_id: ${AWS_AKID}

176 # aws_secret_access_key: ${AWS_SK}

177 # aws_session_token: ${AWS_ST}

178 # ИЛИ токен-носитель Bedrock API:

179 # auth:

180 # aws_bearer_token: ${AWS_BEARER_TOKEN}

181 # Переопределите конечную точку bedrock-runtime для развёртываний FIPS или VPC-endpoint:

182 # base_url: https://bedrock-runtime-fips.us-east-1.amazonaws.com

183```

184 

185Пустой блок `auth` использует цепочку учётных данных AWS SDK по умолчанию: переменные env, `~/.aws/credentials`, роль задачи ECS, метаданные экземпляра EC2 или IRSA на EKS. В production дайте поду gateway роль IAM вместо встраивания статических ключей в образ контейнера.

186 

187| Настройка | Как |

188| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

189| Разрешения IAM | Предоставьте основному принципалу gateway `bedrock:InvokeModel` и `bedrock:InvokeModelWithResponseStream` как на ARN профилей вывода, так и на ARN базовых моделей фундамента. Для встроенного каталога в регионах США: `arn:aws:bedrock:<region>:<account>:inference-profile/us.anthropic.*` и `arn:aws:bedrock:*::foundation-model/anthropic.*`. |

190| Доступ к модели | В консоли Bedrock, по регионам, запросите и включите доступ к модели для моделей Claude, которые вы хотите. Профили вывода между регионами (`us.anthropic.*`) требуют доступа к модели в каждом регионе, который охватывает профиль. |

191| EKS (IRSA) | Создайте роль IAM с политикой выше и политикой доверия для поставщика OIDC вашего кластера, ограниченной сервис-аккаунтом gateway. Аннотируйте сервис-аккаунт с помощью `eks.amazonaws.com/role-arn: arn:aws:iam::<acct>:role/claude-gateway`. `auth: {}` подхватывает это. |

192| ECS / EC2 | Присоедините роль IAM к определению задачи или профилю экземпляра. `auth: {}` подхватывает это. |

193| Где-либо ещё | Передайте учётные данные через переменные env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN`, или установите их явно в `auth:` с расширением `${VAR}` |

194| Регион | `region:` — это регион конечной точки API. Профили вывода между регионами маршрутизируют по географии (США, ЕС, APAC) независимо от того, какой вы выберете. Для регионов, не входящих в США, или ARN с выделенной пропускной способностью добавьте блок [`models:`](#models) с правильными ID для каждого upstream. |

195 

196<h4 id="google-cloud-agent-platform">

197 Google Cloud Agent Platform

198</h4>

199 

200Для эквивалентной настройки на стороне клиента см. [Claude Code на Google Cloud](/ru/google-vertex-ai). Upstream на стороне gateway:

201 

202```yaml theme={null}

203upstreams:

204 - provider: vertex

205 region: us-east5

206 project_id: example-prod

207 auth: {} # предпочтительно: Application Default Credentials

208 # ИЛИ файл ключа сервис-аккаунта:

209 # auth: { service_account_json: /secrets/sa.json }

210 # Переопределите конечную точку aiplatform для Private Service Connect:

211 # base_url: https://us-east5-aiplatform.p.googleapis.com

212```

213 

214Пустой блок `auth` использует Application Default Credentials: `GOOGLE_APPLICATION_CREDENTIALS`, метаданные GCE или Workload Identity GKE. Файлы ключей JSON сервис-аккаунта поддерживаются, но не рекомендуются; используйте Workload Identity или присоедините сервис-аккаунт к экземпляру GCE или Cloud Run.

215 

216Установите `region: global` для использования [глобальной конечной точки Agent Platform](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations) вместо региональной. Google затем маршрутизирует каждый запрос в доступный регион, поэтому вы не отслеживаете доступность модели для каждого региона. Установка конкретного региона закрепляет каждый запрос на нём.

217 

218| Настройка | Как |

219| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

220| Разрешения IAM | Предоставьте сервис-аккаунту gateway `roles/aiplatform.user` на проекте или пользовательскую роль с `aiplatform.endpoints.predict`. Включите API Agent Platform (`aiplatform.googleapis.com`). |

221| Доступ к модели | В Model Garden включите модели Claude для вашего проекта. Они публикуются в определённых регионах; проверьте карточку модели для поддерживаемых регионов. |

222| GKE (Workload Identity) | Привяжите сервис-аккаунт GCP к сервис-аккаунту Kubernetes gateway и аннотируйте KSA с помощью `iam.gke.io/gcp-service-account: claude-gateway@<proj>.iam.gserviceaccount.com`. `auth: {}` подхватывает это. |

223| Cloud Run / GCE | Установите сервис-аккаунт сервиса на один с `roles/aiplatform.user`. `auth: {}` подхватывает это. |

224| Где-либо ещё | `auth: { service_account_json: /secrets/sa.json }`, путь к файлу ключа JSON, смонтированному как секрет. Поле принимает путь к файлу, а не содержимое ключа, поэтому расширение `${file:…}` не задействовано. |

225 

226<h4 id="microsoft-foundry">

227 Microsoft Foundry

228</h4>

229 

230Для развёртывания Foundry на стороне клиента см. [Claude Code на Microsoft Foundry](/ru/microsoft-foundry). Upstream на стороне gateway:

231 

232```yaml theme={null}

233upstreams:

234 - provider: foundry

235 resource: example-foundry # https://example-foundry.services.ai.azure.com

236 auth: { use_azure_ad: true } # предпочтительно: DefaultAzureCredential / Managed Identity

237 # ИЛИ ключ API:

238 # auth:

239 # api_key: ${FOUNDRY_API_KEY}

240```

241 

242`use_azure_ad: true` разрешается через `DefaultAzureCredential`: Managed Identity на AKS, ACI или App Service; Azure CLI; или учётные данные окружения. Ключи API работают, но являются проектными и не ротируются автоматически. Конечная точка Foundry получена из `resource:`; установите опциональный `base_url` для переопределения для суверенных облаков, таких как Azure Government.

243 

244| Настройка | Как |

245| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

246| RBAC | Предоставьте идентификатору gateway `Azure AI User` или `Cognitive Services User` на ресурс Foundry |

247| Развёртывания | Foundry использует имена развёртываний, выбранные администратором, а не канонические ID моделей. Добавьте блок [`models:`](#models), сопоставляющий каждый канонический ID с именем вашего развёртывания. |

248| AKS (workload identity) | Объедините User-Assigned Managed Identity с издателем OIDC кластера и привяжите его к сервис-аккаунту gateway. `use_azure_ad: true` подхватывает это через `WorkloadIdentityCredential`. |

249| ACI / App Service | Включите управляемую идентификацию, назначенную системой или пользователем, на ресурсе. `use_azure_ad: true` подхватывает это. |

250| Где-либо ещё | `auth: { api_key: "${FOUNDRY_API_KEY}" }`. Заключите `${…}` в кавычки внутри `{ }`. |

251 

252<h4 id="multiple-upstreams">

253 Несколько upstream

254</h4>

255 

256Один и тот же поставщик может появляться более одного раза с отличным `name:`. Это охватывает разные регионы, разные учётные записи через разные цепочки учётных данных, выделенную пропускную способность в сравнении с по требованию и кросс-провайдерный fallback.

257 

258Gateway пробует upstream по порядку. `5xx`, `429`, timeout и отсутствие конечной точки (`501`) переходят; другие `4xx` не переходят. `429` — это пропускная способность для каждого upstream, поэтому истощение выделенной пропускной способности (PT) переходит на по требованию. Upstream, который не может разрешить запрошенную модель, пропускается без сетевого раундтрипа.

259 

260Этот пример маршрутизирует выделенное выделение пропускной способности Bedrock в первую очередь, переполнение на по требованию и вторую учётную запись, и переходит на Anthropic API в последнюю очередь:

261 

262```yaml theme={null}

263upstreams:

264 # Основной: выделенная пропускная способность в вашем домашнем регионе.

265 - name: bedrock-pt

266 provider: bedrock

267 region: us-east-1

268 auth: {}

269 # Переполнение: по требованию между регионами.

270 - name: bedrock-od

271 provider: bedrock

272 region: us-west-2

273 auth: {}

274 # Другая учётная запись: отдельное выделение Bedrock через учётные данные предполагаемой роли.

275 - name: bedrock-acct2

276 provider: bedrock

277 region: us-east-1

278 auth:

279 aws_access_key_id: ${ACCT2_AKID}

280 aws_secret_access_key: ${ACCT2_SK}

281 # Последняя инстанция: прямой Anthropic API.

282 - name: anthropic-fallback

283 provider: anthropic

284 auth:

285 api_key: ${ANTHROPIC_API_KEY}

286 

287# ID моделей для каждого upstream ключены на `name:` upstream; upstream

288# без `name:` по умолчанию использует строку поставщика (например, `bedrock`). Любой

289# upstream, не указанный для модели, пропускается, что является тем, как вы маршрутизируете модель

290# на выделенную пропускную способность, пока всё остальное остаётся по требованию.

291models:

292 - id: claude-opus-4-8

293 label: Claude Opus 4.8

294 upstream_model:

295 bedrock-pt: arn:aws:bedrock:us-east-1:111111111111:provisioned-model/abcdef

296 bedrock-od: us.anthropic.claude-opus-4-8

297 bedrock-acct2: us.anthropic.claude-opus-4-8

298 anthropic-fallback: claude-opus-4-8

299```

300 

301| Рычаг | Как |

302| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

303| Разные регионы | Один upstream Bedrock на регион, каждый со своим `region:`. С [`auto_include_builtin_models: true`](#models) профили вывода между регионами маршрутизируют автоматически; для развёртываний, закреплённых на регион, используйте блок `models:`. |

304| Разные учётные записи | Один upstream Bedrock на учётную запись, каждый со своими учётными данными в `auth:`. Цепочка по умолчанию (`auth: {}`) использует идентификатор пода; для второй учётной записи установите явные учётные данные или токен-носитель. |

305| Выделенная пропускная способность | Сопоставьте модель с ARN выделенной пропускной способности в `models:` для имени этого upstream. Другие upstream сохраняют ID по требованию, поэтому пропускная способность PT исчерпывается перед переходом. |

306| Конечные точки VPC / FIPS | Установите `base_url:` на upstream на URL вашей конечной точки VPC или FIPS |

307| Маршрутизация, ограниченная моделью | Опустите upstream из карты `upstream_model:` модели и этот upstream пропускается для этой модели. Например, маршрутизируйте Opus на выделенную пропускную способность и Sonnet и Haiku на по требованию. |

308 

309Переход между облачными провайдерами или на прямой Anthropic API изменяет, какое соглашение, география и другие условия управляют запросом.

310 

311CLI применяет одинаковое управление функциями к gateway независимо от того, какой upstream служит данному запросу, поэтому переход не отправляет поле тела, которое upstream отклонил бы.

312 

313<h2 id="optional-sections">

314 Опциональные разделы

315</h2>

316 

317<h3 id="admin">

318 `admin`

319</h3>

320 

321Опциональный. Включает `/v1/organizations/spend_limits`, который отражает публичный Admin API Anthropic, и применение расходов для каждого разработчика на `/v1/messages`. См. [Лимиты расходов](/ru/claude-apps-gateway-spend-limits) для того, как устанавливаются и применяются ограничения; этот раздел охватывает ключи `gateway.yaml`, которые включают функцию и настраивают её.

322 

323```yaml theme={null}

324admin:

325 # Именованные статические ключи API для конечных точек администратора, отправляемые как x-api-key.

326 # ID появляется в журнале аудита как admin-key:<id>, поэтому каждый ключ

327 # атрибутируется. Массив для ротации: добавьте новый ключ, перекатите клиентов,

328 # удалите старый.

329 write_keys:

330 - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

331 - { id: ci, key: "${GATEWAY_ADMIN_WRITE_KEY_CI}" }

332 read_keys:

333 - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

334 # Группы IdP, предоставленные полному администратору через обычный JWT gateway (без ключа API).

335 admin_groups: [platform-finops]

336 blocked_message: request an increase at https://go.example.com/claude-limits

337```

338 

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

340| ------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

341| `write_keys` | Нет | Массив `{id, key}`. `x-api-key`, соответствующий одному из них, может перечислять, устанавливать и удалять лимиты расходов. Значения ключей должны быть не менее 32 символов; `id` должны быть уникальны в `read_keys` и `write_keys`. |

342| `read_keys` | Нет | Массив `{id, key}`. Только для чтения: каждая конечная точка `GET`, включая перечисление ограничений, получение одного по ID и чтение [`/effective`](/ru/claude-apps-gateway-spend-limits#%2Feffective) и [`/audit`](/ru/claude-apps-gateway-spend-limits#%2Faudit). |

343| `admin_groups` | Нет | Имена групп IdP. JWT gateway, чьё утверждение `groups` включает одну из них, имеет полный доступ администратора, чтение и запись, и аудиты как `oidc:<sub>`. Используйте это для человеческих администраторов; используйте ключи API для машин. |

344| `blocked_message` | Нет | Добавлено дословно к `429 billing_error`, который видит заблокированный разработчик. Напишите всю инструкцию, такую как URL или канал Slack. Если не установлено, ошибка — `spend limit reached`. |

345| `audit_retention_days` | Нет | По умолчанию `365`. Старые строки `admin_audit` удаляются. |

346| `spend_retention_months` | Нет | По умолчанию `13`. Строки счётчика `spend` старше этого удаляются. По умолчанию сохраняется полный год плюс текущий частичный месяц для отчётности год к году. |

347| `identity_retention_days` | Нет | По умолчанию `90`. TTL последнего просмотра для строк `principal_emails`, которые содержат электронную почту каждого разработчика, отображаемое имя и группы (PII). Намеренно короче, чем сохранение расходов, поэтому отозванная идентификация стареет, пока её анонимные счётчики расходов остаются. |

348| `group_limit_mode` | Нет | `min` (по умолчанию) или `max`. Когда разработчик находится в нескольких группах с ограничениями, `min` применяет наиболее ограничивающее и `max` наименее. Используется как применением, так и `/effective`. |

349 

350<h3 id="enforcement">

351 `enforcement`

352</h3>

353 

354Блок `enforcement` управляет тем, как проверки лимитов расходов ведут себя, когда хранилище недоступно.

355 

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

357| ---------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

358| `fail_closed_on_error` | Нет | По умолчанию `false`. Применение расходов не удаётся открыто при отключении Postgres, поэтому вывод остаётся включённым. Установите `true` для отказа закрыто: разработчики, превысившие лимит, блокируются, но так же и все остальные, если хранилище недоступно. Не имеет эффекта без блока [`admin:`](#admin). |

359 

360<h3 id="models">

361 `models`

362</h3>

363 

364Блок `models` — это опциональный кураторский список моделей администратором, обслуживаемый в `/v1/models` и используемый для перевода ID моделей для каждого upstream. Требуется для регионов Bedrock, не входящих в США, ARN выделенной пропускной способности Bedrock и имён развёртываний Foundry.

365 

366```yaml theme={null}

367auto_include_builtin_models: true # false: выставляйте только список ниже

368models:

369 - id: claude-opus-4-8

370 label: Claude Opus 4.8

371 # description: опциональный текст, показываемый в клиентах, которые его выставляют

372 upstream_model:

373 anthropic: claude-opus-4-8

374 bedrock: us.anthropic.claude-opus-4-8 # или ARN профиля вывода

375 foundry: your-opus-deployment-name

376```

377 

378<h3 id="managed">

379 `managed`

380</h3>

381 

382Блок `managed` определяет политики доступа на основе ролей, ключённые на группы IdP или домен электронной почты. Политики оцениваются по порядку; первое совпадение выбирается, затем объединяется на базу `match: {}` catch-all, описанную ниже. Они обслуживаются для каждого пользователя в `GET /managed/settings` с кешированием ETag/304.

383 

384```yaml theme={null}

385managed:

386 policies:

387 # Конкретные группы в первую очередь.

388 - match: { groups: [eng-contractors] }

389 cli:

390 availableModels: [claude-sonnet-4-6]

391 permissions: { deny: ["WebFetch", "WebSearch"] }

392 # Catch-all по умолчанию в последнюю очередь: соответствует каждому аутентифицированному пользователю.

393 - match: {}

394 cli:

395 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

396```

397 

398Catch-all `match: {}`, обычно указываемый в последнюю очередь, рассматривается как базовый слой. Каждая другая политика наследует любой ключ, который она не устанавливает, из catch-all, поэтому записи для каждой роли должны только перечислять то, что отличается от организационного значения по умолчанию. Правила слияния зависят от типа ключа:

399 

400* **Списки разрешений**: `availableModels` и `permissions.allow`. Список конкретной политики полностью заменяет базовый.

401* **Списки запретов и массивы hooks**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces` и каждый массив типа события `hooks`. Они берут объединение базового и политики, поэтому организационный запрет или hook аудита не может быть случайно удалён переопределением для каждой роли.

402* **Ключи типа Record**: `env`, `modelOverrides` и `skillOverrides`. Эти поверхностные слияния, поэтому блок `env` для каждой роли переопределяет ключи, которые он устанавливает, и наследует остальное из базового.

403 

404`availableModels` также применяется на стороне сервера в `/v1/messages`, поэтому запрещённая модель возвращает `400` независимо от того, что отправляет клиент.

405 

406| Matcher | Поведение |

407| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |

408| `match: {}` | Соответствует каждому аутентифицированному пользователю. Начните с одного из них и добавьте политики, ограниченные группой, выше позже. |

409| `match: { groups: [a, b] }` | Соответствует, если утверждение `groups` JWT содержит любую из перечисленных групп. Чувствительно к регистру: группы должны соответствовать точному регистру IdP. |

410| `match: { email_domain: example.com }` | Соответствует части после последнего `@` в утверждении `email` JWT, без учёта регистра. Принимает один домен на политику. |

411| `match: { groups: [a], email_domain: example.com }` | Оба условия должны соответствовать |

412 

413Аутентифицированный пользователь, который не соответствует ни одной политике, получает значения по умолчанию gateway, что означает каждую модель в каталоге и никаких управляемых параметров. Добавьте catch-all `match: {}` в последнюю очередь, если вы хотите гарантированную политику по умолчанию.

414 

415<Note>

416 Gateway не ведёт собственный каталог пользователей. Он авторизует каждый запрос из токена IdP пользователя, читая членство в группе из утверждения `groups` токена и оценивая политики против него. Нет реестра для перечисления и нет учётных записей для предварительного создания, и поэтому нет конечной точки SCIM, потому что нечего синхронизировать в SCIM.

417 

418 Запустите управление жизненным циклом пользователя и группы в источнике истины, который является собственной подготовкой SCIM вашего IdP или выделенной платформой управления идентификацией. Членство и отзыв, управляемые там, автоматически поступают в gateway через токен. Если вы хотите подготовку SCIM самих учётных записей Claude, это возможность [Claude for Enterprise](/ru/admin-setup).

419 

420 Применяются два часов распространения:

421 

422 * **Содержимое политики**: редактирование политики и переразвёртывание достигает подключённых клиентов при их следующем опросе управляемых параметров, в течение часа

423 * **Членство в группе**: изменение членства пользователя в группе изменяет, какая политика соответствует им. Это вступает в силу при следующем переминте сеанса, означая следующее молчаливое обновление, ограниченное `session.ttl_hours`.

424</Note>

425 

426<h4 id="what-goes-in-cli">

427 Что входит в `cli`

428</h4>

429 

430Каждое значение `cli` — это полный документ Claude Code `managed-settings.json`, та же схема, которую вы развернули бы через MDM или `/etc/claude-code/managed-settings.json`, выраженная здесь как YAML. CLI применяет доставленный документ на управляемом уровне, выше параметров пользователя и проекта.

431 

432Gateway проверяет каждый документ по схеме параметров CLI при загрузке, поэтому неузнанный ключ верхнего уровня или узнанный ключ с неправильным значением не запускается с ошибкой, называющей каждый нарушающий ключ. Намеренно открытые части схемы всё ещё принимают произвольные значения, потому что более новые клиенты могут распознавать записи, которые схема gateway не распознаёт. Эти открытые ключи — `env`, `pluginConfigs` и ключи, вложенные под `permissions`.

433 

434Поскольку проверка использует схему, поставляемую с установленной версией gateway, размещение ключа параметров верхнего уровня, введённого более новым выпуском Claude Code, в управляемую конфигурацию требует сначала обновления gateway. Дымовой тест новой политики на одном клиенте перед развёртыванием.

435 

436Полный справочник ключей находится в [Параметры Claude Code](/ru/settings#available-settings). Ключи, которые операторы достают в первую очередь:

437 

438```yaml theme={null}

439managed:

440 policies:

441 - match: {}

442 cli:

443 # Доступ к модели (также применяется на стороне сервера в /v1/messages)

444 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

445 

446 # Политика разрешений

447 permissions:

448 deny:

449 - "WebFetch"

450 - "Read(./.env)"

451 - "Read(./secrets/**)"

452 disableBypassPermissionsMode: disable # блокирует --dangerously-skip-permissions

453 allowManagedPermissionRulesOnly: true # игнорирует правила разрешений пользователя/проекта

454 

455 # Окружение, отправляемое в процесс CLI. DISABLE_UPDATES блокирует

456 # фоновые и ручные обновления; DISABLE_AUTOUPDATER останавливает только

457 # фоновые обновления.

458 env:

459 DISABLE_UPDATES: "1" # закрепите версии через вашу собственную дистрибуцию

460 

461 # Hooks на уровне организации. Команды hook запускаются на машинах разработчиков, не на

462 # gateway, поэтому путь должен существовать на каждой ОС клиента в политике.

463 hooks:

464 PostToolUse:

465 - matcher: "Edit|Write"

466 hooks:

467 - { type: command, command: /usr/local/bin/audit-edit.sh }

468```

469 

470| Ключ | Применяется | Эффект |

471| ------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

472| `availableModels` | Gateway + CLI | Список разрешений моделей. Также проверяется в `/v1/messages`, поэтому исправленный клиент не может его обойти. |

473| `permissions.allow` / `.deny` | CLI | Правила инструментов и команд. См. [Разрешения](/ru/permissions). |

474| `permissions.disableBypassPermissionsMode` | CLI | Установите на `disable` для блокировки [`bypassPermissions`](/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode), режима, который автоматически одобряет каждый вызов инструмента, и флага `--dangerously-skip-permissions` |

475| `allowManagedPermissionRulesOnly` | CLI | Когда `true`, правила разрешений пользователя и проекта игнорируются; применяются только правила из этого документа |

476| `env` | CLI | Переменные окружения, объединённые в процесс CLI. Используйте для телеметрии, автообновления и переопределений имён моделей. |

477| `hooks` | CLI | Org-wide [hooks](/ru/hooks) |

478 

479Поскольку эти параметры поступают по сети, CLI показывает каждому разработчику диалог одобрения безопасности один раз перед применением чего-либо, что может запустить команду оболочки или изменить, куда идёт трафик. Диалог охватывает:

480 

481* `hooks`

482* переменные `env`, которые не находятся в встроенном списке безопасности CLI

483* параметры выполнения оболочки, такие как `apiKeyHelper` и `statusLine`

484* управляемое содержимое CLAUDE.md

485 

486Список безопасности определяет, какие переменные `env` применяются без одобрения:

487 

488* **В списке безопасности**: переменные автообновления и имён моделей

489* **Не в списке безопасности**: переменные прокси, переменные базового URL и `OTEL_EXPORTER_OTLP_ENDPOINT`

490 

491[Телеметрия](#telemetry) gateway отправляет `OTEL_EXPORTER_OTLP_ENDPOINT`, поэтому установка `telemetry.forward_to` запускает диалог на каждом интерактивном клиенте. Неинтерактивные запуски с флагом `-p` пропускают диалог и применяют параметры без одобрения. Диалог защищает машину разработчика от скомпрометированного или враждебного gateway, а не организацию от разработчика, поэтому пропуск `-p` является намеренным, а не пробелом.

492 

493Если разработчик отклоняет, Claude Code выходит, а не применяет политику. Отправка нового hook или переменной `env`, не входящей в список безопасности, в широкую политику означает диалог одобрения при каждом запуске каждого соответствующего разработчика.

494 

495Ключ `cli` был назван `settings` в более ранних выпусках. Это написание всё ещё принимается как псевдоним, но новые развёртывания должны использовать `cli`.

496 

497<h4 id="precedence-with-other-managed-sources">

498 Приоритет с другими управляемыми источниками

499</h4>

500 

501Если устройство также имеет локальный `managed-settings.json` или политику, доставленную MDM, управляемые источники не объединяются. Источник с наивысшим приоритетом предоставляет все параметры политики, ранжированные в этом порядке с наивысшим приоритетом в первую очередь:

502 

5031. [Помощник политики](/ru/settings#compute-managed-settings-with-a-policy-helper)

5042. Параметры, доставленные gateway

5053. MDM, через реестр HKLM на Windows или plist на macOS

5064. Файл `managed-settings.json`

5075. Реестр HKCU, только на Windows

508 

509Встраивающие хосты могут предоставлять политику через опцию SDK `managedSettings`. Она игнорируется по умолчанию и применяется только, когда управляемый источник выбирает с [`parentSettingsBehavior: "merge"`](/ru/settings#available-settings), отфильтрованный так, чтобы он мог ужесточить политику, но не ослабить её.

510 

511Исключением является небольшой набор кросс-источниковых ключей, соблюдаемых, когда любой источник администратора их устанавливает; пользовательский уровень HKCU исключён:

512 

513* `sandbox.network.allowManagedDomainsOnly` и `sandbox.filesystem.allowManagedReadPathsOnly`: когда заблокированы, соответствующие списки разрешений объединяются между источниками

514* [`allowAllClaudeAiMcps`](/ru/settings#available-settings): переопределение разрешения только для списка разрешений MCP claude.ai

515* `sandbox.bwrapPath` и `sandbox.socatPath`: пути файловой системы к вспомогательным двоичным файлам [sandbox](/ru/sandboxing)

516 

517Каждый другой ключ, включая `allowManagedPermissionRulesOnly` и `disableBypassPermissionsMode`, поступает только из источника с наивысшим приоритетом. См. [Приоритет параметров](/ru/settings#settings-precedence) для того же правила на странице параметров.

518 

519Политики gateway применяются к каждому вызову Claude Code на машине, включая неинтерактивные запуски `claude -p` и сеансы, порождённые Agent SDK. Если gateway недоступен при запуске, подписанные сеансы выходят с ошибкой, а не запускаются без своей политики.

520 

521<Warning>

522 `mcpServers` внутри блока `cli` политики отклоняется при загрузке gateway. Распределение MCP для каждой группы недоступно; развёртывайте MCP серверы через файловый `managed-mcp.json` на каждом устройстве или позвольте разработчикам добавлять их локально.

523</Warning>

524 

525<h3 id="telemetry">

526 `telemetry`

527</h3>

528 

529CLI отправляет OpenTelemetry Protocol (OTLP) по HTTP метрики, логи и, когда включено, трассировки на gateway, который передаёт их дословно каждому настроенному назначению. См. [Мониторинг использования](/ru/monitoring-usage) для метрик и событий, которые выпускает CLI.

530 

531CLI штампует каждый экспорт идентификацией аутентифицированного пользователя, прочитанной из JWT, выданного gateway: атрибуты `user.id`, `user.email` и `user.groups`. Атрибуция затрат и использования для каждого разработчика поэтому работает без конфигурации на стороне разработчика.

532 

533```yaml theme={null}

534telemetry:

535 forward_to:

536 - url: https://otel-collector.internal.example.com

537 headers:

538 Authorization: ${OTLP_TOKEN}

539 # Opt-in для каждого сигнала. По умолчанию: только метрики.

540 metrics: true

541 logs: false

542 traces: false

543 - url: https://api.datadoghq.com/api/v2/otlp

544 headers:

545 DD-API-KEY: ${DD_API_KEY}

546```

547 

548<Warning>

549 Каждое назначение выбирает `metrics`, `logs` и `traces` независимо, и по умолчанию только метрики. Сигналы отличаются по чувствительности:

550 

551 * **Метрики**: агрегированные счётчики, такие как количество токенов, количество запросов и задержка

552 * **Логи и трассировки**: могут нести полные команды bash, входные данные инструментов и пути файлов, охватывая всё, что Claude Code делает на машине разработчика

553 

554 Включайте логи и трассировки только на назначениях с управлением доступом и политикой сохранения, которые данные гарантируют.

555</Warning>

556 

557Телеметрия отключена в CLI по умолчанию. Конфигурирование `telemetry.forward_to` вместе с `listen.public_url` включает её. Gateway отправляет пять переменных env каждому подключённому клиенту через `/managed/settings`:

558 

559* `CLAUDE_CODE_ENABLE_TELEMETRY=1`

560* `OTEL_METRICS_EXPORTER=otlp`

561* `OTEL_LOGS_EXPORTER=otlp`

562* `OTEL_TRACES_EXPORTER=otlp`

563* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

564 

565Отправленная конечная точка строится из публичного URL, поэтому метрики и логи не нуждаются в конфигурации OTEL от разработчиков или политик. Отправленная конфигурация применяется на управляемом уровне, переопределяя переменные `OTEL_*`, которые разработчик устанавливает локально.

566 

567[Трассировки](/ru/monitoring-usage#traces-beta) дополнительно требуют `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` на каждом клиенте. Gateway не отправляет эту переменную, поэтому установите её через блок `env` управляемой политики. Она не находится в списке безопасности CLI, поэтому доставка её через политику охватывается тем же [диалогом одобрения безопасности](#managed), который отправленная конечная точка OTLP уже запускает.

568 

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

570 

571<h3 id="http-tuning">

572 HTTP tuning

573</h3>

574 

575Четыре опциональных блока верхнего уровня, `access_control`, `limits`, `timeouts` и `rate_limits`, настраивают HTTP поверхность. Значения по умолчанию подходят для большинства развёртываний.

576 

577| Блок | Ключ | По умолчанию | Описание |

578| ---------------- | ---------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

579| `access_control` | `allow_cidrs` / `deny_cidrs` | пусто | Входящее разрешение/запрет IP по адресу клиента, после разрешения `trusted_proxies`. `deny_cidrs` проверяется в первую очередь; клиент, который он соответствует, отклоняется, даже если `allow_cidrs` также соответствует. Если `allow_cidrs` не пусто, gateway по умолчанию отклоняет. `/healthz` и `/readyz` исключены из `allow_cidrs`. |

580| `limits` | `max_request_bytes` | 32 MiB | Максимальный входящий размер тела запроса; запросы большего размера получают `413` перед буферизацией тела. Повысьте для больших запросов файлов или изображений. |

581| `limits` | `max_request_header_bytes` | не установлено | Когда установлено, заголовки большего размера возвращают `431` |

582| `limits` | `max_url_length` | не установлено | Когда установлено, слишком длинный URL возвращает `414` |

583| `timeouts` | `upstream_ttfb_ms` | 120000 | Максимальное ожидание заголовков ответа upstream (время до первого байта). Тело ответа затем потоком без ограничения по стене часов. Применяется к прямому пути upstream Anthropic; Bedrock, Agent Platform и Foundry ограничены собственным timeout SDK поставщика. |

584| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Ограничение скорости по IP на неаутентифицированной конечной точке авторизации устройства. Повысьте для большой организации за общим исходящим IP или NAT. Эти ограничения применяются только к потоку входа грантов устройств, а не к выводу `/v1/messages`. См. [Сопротивление перебору пользовательского кода](/ru/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

585| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Ограничение скорости по IP на отправки `user_code` в `/device` |

586 

587<h2 id="complete-example">

588 Полный пример

589</h2>

590 

591Эта полная справочная конфигурация охватывает каждый основной раздел; блоки [HTTP tuning](#http-tuning) сохраняют свои значения по умолчанию. Скопируйте её, удалите то, что вам не нужно, и заполните свои значения. Конфигурация в [Quickstart](/ru/claude-apps-gateway#quickstart) — это минимальная версия этого.

592 

593```yaml gateway.yaml theme={null}

594# Запустите с:

595# claude gateway --config gateway.yaml

596#

597# Многословность операционного журнала управляется переменной окружения

598# CLAUDE_GATEWAY_LOG_LEVEL (info | warn | error; по умолчанию info). Это не

599# влияет на события аудита, которые всегда выпускаются.

600 

601listen:

602 host: 0.0.0.0

603 port: 8080

604 public_url: https://claude-gateway.internal.example.com

605 # Опустите блок tls при запуске за TLS-завершающим ingress.

606 # tls:

607 # cert: /certs/gateway.crt

608 # key: /certs/gateway.key

609 # trusted_proxies:

610 # - 10.0.0.0/8

611 

612oidc:

613 issuer: https://example.okta.com

614 client_id: 0oa1example2

615 client_secret: ${OIDC_CLIENT_SECRET}

616 allowed_email_domains:

617 - example.com

618 # Требуется, когда издатель — сервер организации Okta, чьи id_tokens

619 # могут опускать электронную почту и группы; gateway заполняет их из /userinfo.

620 userinfo_fallback: true

621 # allowed_groups: [claude-code-users]

622 # Okta выпускает группы только, когда область `groups` запрашивается и

623 # фильтр утверждения groups приложения их разрешает. Политика подрядчиков ниже

624 # соответствует группам, поэтому область запрашивается здесь.

625 scopes: [openid, profile, email, offline_access, groups]

626 # extra_auth_params: { access_type: offline, prompt: consent } # Google

627 # groups_claim: groups # Роли приложения Entra: используйте `roles`

628 # email_claim: email

629 

630session:

631 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32

632 # ttl_hours: 1

633 

634store:

635 postgres_url: ${GATEWAY_POSTGRES_URL}

636 # max_connections: 5

637 

638# Включает /v1/organizations/spend_limits (отражает публичный Admin API Anthropic)

639# и применение расходов для каждого разработчика на /v1/messages. Опустите для отключения.

640# Сами ограничения устанавливаются через admin API, а не здесь.

641# admin:

642# write_keys:

643# - { id: terraform, key: "${GATEWAY_ADMIN_WRITE_KEY_TF}" }

644# read_keys:

645# - { id: reporting, key: "${GATEWAY_ADMIN_READ_KEY}" }

646# admin_groups: [platform-finops]

647# blocked_message: request an increase at https://go.example.com/claude-limits

648# # audit_retention_days: 365

649# # spend_retention_months: 13

650# # identity_retention_days: 90

651# # group_limit_mode: min

652 

653# enforcement:

654# fail_closed_on_error: false

655 

656upstreams:

657 - provider: anthropic

658 auth:

659 api_key: ${ANTHROPIC_API_KEY}

660 

661 # - provider: bedrock

662 # region: us-east-1

663 # auth: {}

664 

665 # - provider: vertex

666 # region: us-east5

667 # project_id: example-prod

668 # auth: {}

669 

670 # - provider: foundry

671 # resource: example-foundry

672 # auth: { use_azure_ad: true }

673 

674auto_include_builtin_models: true

675models:

676 - id: claude-opus-4-8

677 label: Claude Opus 4.8

678 upstream_model:

679 anthropic: claude-opus-4-8

680 # bedrock: us.anthropic.claude-opus-4-8

681 # vertex: claude-opus-4-8

682 # foundry: <your-opus-deployment-name>

683 - id: claude-sonnet-4-6

684 label: Claude Sonnet 4.6

685 upstream_model:

686 anthropic: claude-sonnet-4-6

687 - id: claude-haiku-4-5

688 label: Claude Haiku 4.5

689 upstream_model:

690 anthropic: claude-haiku-4-5

691 

692managed:

693 policies:

694 - match: { groups: [contractors] }

695 cli:

696 availableModels: [claude-haiku-4-5]

697 # Ограничьте опцию Default picker на availableModels вместо

698 # значения по умолчанию уровня, поэтому подрядчики не получают 400 по умолчанию.

699 enforceAvailableModels: true

700 # allow автоматически одобряет эти инструменты; это не блокирует остальное.

701 # Добавьте правила deny для ограничения инструментов.

702 permissions: { allow: [Read, Grep] }

703 - match: {}

704 cli:

705 availableModels: [claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5]

706 permissions:

707 allow: [Read, Grep, Bash, Edit]

708 deny: ["WebFetch"]

709 env: { HTTP_PROXY: http://proxy.example.com:8080 }

710 

711telemetry:

712 forward_to:

713 - url: https://otel.internal.example.com:4318

714 headers:

715 Authorization: Bearer ${OTEL_TOKEN}

716```

717 

718<h2 id="client-side-managed-settings">

719 Управляемые параметры на стороне клиента

720</h2>

721 

722Всё выше настраивает сервер gateway. Указание машин разработчиков на него настраивается отдельно, на каждом устройстве, через [управляемые параметры](/ru/settings#settings-files) Claude Code. Gateway не может отправлять эти ключи сам, потому что они говорят клиенту, где находится gateway.

723 

724Для CLI установите оба ключа в `managed-settings.json` для каждой ОС:

725 

726```json theme={null}

727{

728 "forceLoginMethod": "gateway",

729 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"

730}

731```

732 

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

734 

735| Платформа | Путь |

736| ----------- | ------------------------------------------------------------------------------------------------------------------------------ |

737| macOS | `/Library/Application Support/ClaudeCode/managed-settings.json`, или домен управляемых предпочтений `com.anthropic.claudecode` |

738| Linux и WSL | `/etc/claude-code/managed-settings.json` |

739| Windows | `C:\Program Files\ClaudeCode\managed-settings.json`, или Group Policy через реестр HKLM |

740 

741`forceLoginGatewayUrl` и значение `"gateway"` `forceLoginMethod` соблюдаются только из управляемого уровня, управляемого администратором. Разработчик, устанавливающий их в своём собственном `~/.claude/settings.json`, не имеет эффекта.

742 

743<h2 id="related">

744 Связанное

745</h2>

746 

747* [Обзор Claude apps gateway](/ru/claude-apps-gateway): quickstart и подключение разработчика

748* [Руководство по развёртыванию](/ru/claude-apps-gateway-deploy): настройка IdP, образ контейнера, Kubernetes и Cloud Run, и операции

749* [Лимиты расходов](/ru/claude-apps-gateway-spend-limits): ограничения для каждого разработчика и Admin API

claude-apps-gateway-deploy.md +301 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Развертывание и эксплуатация шлюза Claude apps

6 

7> Зарегистрируйте шлюз в вашем поставщике идентификации, создайте контейнер, разверните на Kubernetes или Cloud Run и управляйте им: проверки здоровья, ротация секретов, обновления и безопасность.

8 

9На этой странице рассматривается операционная сторона запуска [шлюза Claude apps](/ru/claude-apps-gateway): регистрация клиента OAuth в вашем поставщике идентификации (IdP), развертывание шлюза как контейнера и его ежедневное управление. Для каждого параметра в файле `gateway.yaml`, который шлюз читает при загрузке, см. [Справочник по конфигурации](/ru/claude-apps-gateway-config).

10 

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

12 

131. [Настройка вашего поставщика идентификации](#identity-provider-setup): зарегистрируйте клиента OAuth и проверьте примечания для каждого IdP для Okta, Entra и Google

142. [Развертывание шлюза](#deployment): создайте образ контейнера с закрепленной версией и запустите его на Kubernetes, Cloud Run или вашей собственной платформе. Этот раздел также охватывает решения по стоимости, обходу, нескольким шлюзам и бессерверным вычислениям

153. [Настройка операций](#operations): журналы, зонды здоровья, поведение при сбое, ротация секретов и обновления. Справочник для подключения мониторинга и runbooks

164. [Проверка позиции безопасности](#security): какие данные куда передаются, модель угроз и ответы на вопросы соответствия. Справочник для проверки безопасности

17 

18Если вход или загрузка не удаются, перейдите прямо к [Устранению неполадок](#troubleshooting), который организован по ошибкам, которые вы видите.

19 

20<Note>

21 **Развертывайте в вашей частной сети.** Claude Code подключается только к шлюзу, адрес которого является приватным. Это защита безопасности, потому что доверенный шлюз может отправлять параметры, которые запускают команды на машинах разработчиков. Поместите шлюз за внутренним балансировщиком нагрузки или VPN и дайте ему имя хоста, которое разрешается только на приватные IP-адреса.

22</Note>

23 

24<h2 id="identity-provider-setup">

25 Настройка поставщика удостоверений

26</h2>

27 

28Зарегистрируйте конфиденциальное веб-приложение OAuth/OpenID Connect (OIDC) с одним URI перенаправления, `https://<gateway>/oauth/callback`, и назначьте его пользователям или группам, которые должны иметь доступ к шлюзу.

29 

30Работает любой OIDC-совместимый IdP: Okta, Microsoft Entra ID, Google Workspace, Keycloak, Dex, PingFederate и другие. IdP должен соответствовать трем требованиям:

31 

32* Обслуживает `/.well-known/openid-configuration` по HTTPS в production; шлюз принимает [`http://` издателя](/ru/claude-apps-gateway-config#oidc), и издатель loopback дополнительно требует `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`

33* Поддерживает поток authorization-code. PKCE (Proof Key for Code Exchange) включен по умолчанию; отключите его с помощью `oidc.use_pkce: false` для IdP, которые его не поддерживают

34* Возвращает `email` и опционально `groups` в id\_token или обслуживает их из конечной точки userinfo с `oidc.userinfo_fallback: true`

35 

36Для приватной PKI установите `oidc.ca_cert_pem`.

37 

38Несколько поставщиков обрабатывают утверждения email и group по-разному:

39 

40* **Okta**: сервер авторизации организации в `https://example.okta.com` возвращает тонкий id\_token, который опускает `email` и `groups`, поэтому установите `oidc.userinfo_fallback: true` всякий раз, когда вы используете его как `issuer`. Пользовательский сервер авторизации, такой как `https://example.okta.com/oauth2/default`, который включает `email` и опционально `groups` в id\_token, выдает их напрямую и не требует fallback. Okta выдает `groups` только когда область `groups` запрашивается в `oidc.scopes` и фильтр утверждения groups приложения это позволяет; `userinfo_fallback` не может заполнить утверждение, которое IdP не был попрошен выдать.

41* **Microsoft Entra ID**: `issuer` = `https://login.microsoftonline.com/<tenant-id>/v2.0`. Entra выдает Object ID групп, а не имена, поэтому используйте GUID в `managed.policies.match.groups` или используйте App Roles для читаемых имен. Если ваш tenant выдает роли под `roles` вместо `groups`, установите `oidc.groups_claim: roles`.

42* **Google Workspace**: `issuer` = `https://accounts.google.com`. id\_token Google не содержит groups. Чтобы использовать основанные на группах `allowed_groups` или `managed.policies` с Google в качестве IdP, настройте [`oidc.google_groups`](/ru/claude-apps-gateway-config#oidc), которая ищет группы каждого пользователя через Admin SDK Directory API, используя сервисный аккаунт с делегированием на уровне домена. Без этого используйте `oidc.allowed_email_domains` для проверки членства и `managed.policies.match.email_domain` для назначения политики. Google также игнорирует стандартную область `offline_access`. Для refresh tokens установите `oidc.scopes: [openid, profile, email]` и `oidc.extra_auth_params: { access_type: offline, prompt: consent }`.

43 

44Для поддержки с поставщиком удостоверений, не описанным выше, см. [Troubleshooting](#troubleshooting).

45 

46<Warning>

47 Refresh tokens позволяют шлюзу молча обновлять сеанс разработчика без отправки разработчика в браузер. Они также управляют deprovisioningом, потому что когда IdP отключает пользователя, следующее обновление не удается и сеанс заканчивается в течение `ttl_hours`. Шлюз запрашивает `offline_access` по умолчанию, чтобы получить refresh token. Если ваш IdP требует явного согласия для offline access, настройте клиент OAuth, чтобы это позволить.

48 

49 Если ваш IdP вообще не может выдавать refresh tokens, шлюз все еще работает, но нет молчаливого обновления, поэтому разработчики повторно запускают вход в браузер, когда их сеанс истекает. Чтобы это не происходило каждый час, поднимите [`session.ttl_hours`](/ru/claude-apps-gateway-config#session) на `8` или `12`. Компромисс — это задержка deprovisioningа, потому что без refresh tokens отключенный пользователь сохраняет доступ до истечения более длительного TTL.

50</Warning>

51 

52<h2 id="deployment">

53 Развертывание

54</h2>

55 

56Шлюз — это один бинарный файл Linux. Он масштабируется горизонтально, потому что реплики не имеют состояния, а Postgres — это общий уровень координации. Запустите его так же, как вы запускаете stateless сервисы в вашей среде. Остальная часть этого раздела указывает, что нужно образу, с краткими примечаниями для Kubernetes и Cloud Run.

57 

58Шлюз предназначен для запуска внутри вашей сети, потому что он содержит ваши upstream учетные данные и действует как единственная точка выхода для inference. Он может работать везде, где ваши разработчики и ваш IdP могут достичь по HTTPS; рассматривайте его как любой другой сервис, содержащий production учетные данные.

59 

60Несколько решений формируют развертывание помимо того, где оно работает:

61 

62* **Стоимость**: нет отдельной лицензии или платы за место для шлюза; это часть бинарного файла `claude`. Вы платите за inference через ваше существующее облачное или обязательство Anthropic, плюс вычисления для контейнера и вашего сборщика телеметрии.

63* **Обход**: шлюз не требует, чтобы единственный маршрут к модели проходил через него. Разработчик со своими собственными учетными данными все еще может вызвать поставщика напрямую, поэтому закрытие этого пути — это решение политики сети, например блокировка выхода на `api.anthropic.com` кроме как от шлюза. Блокировка этого выхода также нарушает [проверку безопасности домена WebFetch](/ru/data-usage#webfetch-domain-safety-check), которая вызывает `api.anthropic.com` с каждой машины разработчика; установите `skipWebFetchPreflight: true` в управляемой политике, чтобы отключить это.

64* **Несколько шлюзов**: каждый шлюз — это отдельное развертывание со своей конфигурацией. CLI хранит отпечаток доверия и учетные данные для каждого имени хоста шлюза, поэтому разные команды могут подключаться к разным шлюзам без конфликтов. Чтобы обслуживать несколько издателей OIDC, запустите отдельные экземпляры.

65* **Бессерверная архитектура**: Cloud Run работает; установите `min-instances: 1`, чтобы избежать холодного обнаружения OIDC. Lambda и Cloud Functions не работают, потому что шлюз — это долгоживущий HTTP сервер.

66 

67Каждая production топология здесь помещает прокси L7, такой как Ingress, фронтенд Cloud Run или ALB, перед простыми HTTP репликами. Установите [`listen.trusted_proxies`](/ru/claude-apps-gateway-config#listen) на диапазоны источников прокси, чтобы шлюз читал IP клиентов из `X-Forwarded-For`. Шлюз соблюдает заголовок только когда TCP peer доверен; [пример Google Cloud](/ru/claude-apps-gateway-on-gcp) имеет конкретные значения для каждой топологии. Без доверенных прокси каждый запрос выглядит как исходящий с IP прокси, что сворачивает ограничения скорости для каждого IP в один общий bucket и записывает IP прокси в события аудита.

68 

69<h3 id="container-image">

70 Образ контейнера

71</h3>

72 

73Создайте свой собственный образ вокруг нативного бинарного файла `claude` из стандартного выпуска Claude Code:

74 

751. Загрузите сборку Linux для архитектуры вашего образа из закрепленного выпуска; см. [Установка конкретной версии](/ru/setup#install-a-specific-version) для URL загрузки.

762. Проверьте его против подписанного GPG `manifest.json` выпуска, как описано в [Целостность бинарного файла и подпись кода](/ru/setup#binary-integrity-and-code-signing).

773. Скопируйте его в контекст сборки.

78 

79Зеркалируйте выпуск в ваш внутренний реестр, если ваши сборки не могут достичь хоста выпуска, и закрепите версию, которую запускает ваш флот.

80 

81Помимо бинарного файла, образу нужны:

82 

83* **Образ на основе glibc**: единственные динамические зависимости сборки glibc — это библиотеки glibc. Образы на основе Musl нуждаются в сборке `linux-x64-musl` или `linux-arm64-musl` плюс дополнительные пакеты; см. [Настройка Alpine Linux](/ru/setup#alpine-linux-and-musl-based-distributions).

84* **Записываемый каталог состояния**: шлюз работает как любой пользователь, но минимальные образы не имеют записываемого home. Установите `CLAUDE_CONFIG_DIR` на записываемый путь, такой как `/tmp/.claude`.

85* **Команда контейнера**: `claude gateway --config /etc/claude/gateway.yaml`, с файлом конфигурации, смонтированным только для чтения, и секретами, предоставленными как переменные окружения; шлюз слушает на `listen.port`, по умолчанию `8080`.

86 

87<h3 id="kubernetes">

88 Kubernetes

89</h3>

90 

91Запустите шлюз как Deployment, как любой stateless сервис:

92 

93* Смонтируйте конфигурацию из ConfigMap и секреты из Secret; ссылайтесь на секреты в YAML через `${file:/path/to/secret}` или как переменные окружения

94* Завершите TLS на Ingress и установите `listen.public_url` на имя хоста Ingress

95* Укажите зонд готовности на `GET /readyz` и зонд живучести на `GET /healthz`

96 

97<Note>

98 **Workload identity**

99 

100 Предпочитайте workload identity платформы вместо статических ключей: IRSA на EKS для Bedrock, Workload Identity на GKE для Agent Platform и workload identity на AKS для Foundry. Установите `auth: {}` в блоке upstream или `use_azure_ad: true` для Foundry, и шлюз подхватывает идентификацию pod через цепь учетных данных по умолчанию этого поставщика. Для кросс-облачного сопряжения, такого как upstream Bedrock на GKE, установите явные учетные данные в блоке `auth` upstream вместо этого. [Справочник `upstreams`](/ru/claude-apps-gateway-config#upstreams) имеет детали настройки для каждой платформы.

101</Note>

102 

103<h3 id="cloud-run">

104 Cloud Run

105</h3>

106 

107Настройте сервис следующим образом:

108 

109* Оставьте `listen.port` на его значении по умолчанию `8080`, которое соответствует `PORT` Cloud Run по умолчанию, или установите `port: ${PORT}`

110* Установите `public_url` на внешне доступное происхождение. Для production это обычно имя хоста внутреннего балансировщика нагрузки, потому что `/login` [отклоняет публичные адреса](/ru/claude-apps-gateway#prerequisites) и URL `*.run.app` разрешается на один, поэтому URL Cloud Run один работает только для `curl` или дымового теста браузера. Исключение — сеть, где `*.run.app` разрешается приватно через Private Service Connect и приватную зону Cloud DNS; в этой топологии URL Cloud Run — это действительный `public_url`. [Пример Google Cloud](/ru/claude-apps-gateway-on-gcp#deploy-the-gateway) охватывает оба.

111* Смонтируйте конфигурацию как том секрета

112* Установите `min-instances: 1`, чтобы избежать холодного обнаружения OIDC при первом запросе

113 

114<Note>

115 Для полного примера на Google Cloud, охватывающего Cloud Run или GKE, Cloud SQL и Secret Manager, см. [Развертывание на Google Cloud](/ru/claude-apps-gateway-on-gcp).

116</Note>

117 

118<h3 id="push-the-gateway-url-to-developer-machines">

119 Отправьте URL шлюза на машины разработчиков

120</h3>

121 

122Как только шлюз начнет обслуживать, отправьте `forceLoginMethod` и `forceLoginGatewayUrl` на каждую машину разработчика через управляемые параметры, через MDM или путем прямого написания файла `managed-settings.json` для каждой ОС. Без этого `/login` показывает стандартный выбор аккаунта без опции шлюза. См. [Управляемые параметры на стороне клиента](/ru/claude-apps-gateway-config#client-side-managed-settings) для путей файлов.

123 

124<h2 id="operations">

125 Операции

126</h2>

127 

128Как только шлюз начнет обслуживать трафик, ежедневная операция — это чтение его логов, проверка его здоровья и ротация его секретов по вашему расписанию. Подразделы охватывают каждое, плюс то, что содержит Postgres и как ведут себя обновления и откаты.

129 

130<h3 id="logs">

131 Логи

132</h3>

133 

134Шлюз записывает два потока в stderr, оба JSON-дружественные:

135 

136* **События аудита**: однострочный JSON для каждого события, связанного с безопасностью. Направьте stderr в ваш агрегатор логов. Выдаваемые события включают `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `spend.blocked` и `admin.denied`. Поля варьируются по событиям:

137 * Успешные события mint и refresh содержат `sub`, `email`, `client_ip` и результат

138 * События отказа содержат причину, путь и IP клиента, так как идентификация не существует при отказе

139 * `inference` записывает, какой upstream обслужил запрос и статус ответа

140 * `admin.denied` записывает отклоненную попытку аутентификации admin-API с причиной (`invalid_key` или `no_credentials`), IP клиента, методом и путем, без представленного материала ключа

141* **Операционные логи**: читаемые для человека строки с префиксом `[gateway]` для загрузки, предупреждений и ошибок upstream. Переменная окружения `CLAUDE_GATEWAY_LOG_LEVEL` управляет многословностью и принимает `info`, `warn` или `error`, с `info` по умолчанию. Это не влияет на события аудита, которые всегда выдаются.

142 

143<h3 id="health">

144 Здоровье

145</h3>

146 

147Шлюз обслуживает `GET /healthz` как зонд живучести и `GET /readyz` как зонд готовности; `/readyz` проверяет доступность хранилища. Оба исключены из `access_control.allow_cidrs`, поэтому зонды продолжают работать на заблокированном слушателе.

148 

149Документ обнаружения OAuth в `/.well-known/oauth-authorization-server` также возвращает `200` только после загрузки конфигурации, обнаружения OIDC, построения клиента upstream и миграции Postgres, поэтому он также служит проверкой загрузки end-to-end.

150 

151Работающий шлюз также обслуживает описание путей и форм запросов, которые он принимает, в `<public_url>/protocol`, соответствующих версии, которую вы запускаете. Содержимое не стабильно между выпусками.

152 

153<h3 id="outage-behavior">

154 Поведение при сбое

155</h3>

156 

157Если Postgres выходит из строя, сам шлюз продолжает обслуживать вошедших разработчиков, а новые входы не удаются. Продолжают ли разработчики работать, зависит от того, как ваш оркестратор обрабатывает готовность:

158 

159* **Существующие сеансы**: bearer tokens проверяются локально с помощью JWT secret, обновления сеанса не касаются хранилища, и процесс шлюза все еще может обслуживать inference

160* **Новые входы**: не удаются до восстановления Postgres, потому что поток устройства и его счетчики ограничения скорости живут в Postgres

161* **[Применение ограничения расходов](/ru/claude-apps-gateway-spend-limits#postgres-availability)**: по умолчанию не удается открыто во время сбоя, поэтому inference все еще течет; переключите его на отказ закрыто, если вы предпочитаете блокировать, чем работать без учета

162* **Готовность**: `/readyz` сообщает о неготовности во время сбоя, поэтому оркестраторы, которые управляют трафиком на готовность, удаляют каждую реплику из ротации сразу. В этой топологии весь трафик, включая inference, который шлюз все еще может обслуживать, не удается на балансировщике нагрузки до восстановления Postgres. Зонд живучести на `/healthz` продолжает проходить, поэтому реплики не перезапускаются. Укажите зонд готовности на `/healthz` вместо этого, если вы предпочитаете, чтобы вошедшие разработчики продолжали работать через сбой хранилища; стоимость в том, что новые входы не удаются против реплики, которая все еще сообщает о готовности.

163 

164Если ваш IdP выходит из строя, существующие сеансы работают до `ttl_hours`, а новые входы и обновления не удаются. Установите более длительный `ttl_hours`, если ваш IdP имеет частые окна обслуживания.

165 

166<h3 id="jwt-secret-rotation">

167 Ротация JWT secret

168</h3>

169 

170Ротируйте подписывающий secret в три этапа, чтобы существующие сеансы оставались действительными:

171 

1721. Создайте новый secret. Добавьте его в начало массива `session.jwt_secret`.

1732. Разверните развертывание. Новые tokens подписываются новым secret; старые tokens все еще проверяются.

1743. После `ttl_hours` плюс запас, удалите старый secret и разверните снова.

175 

176Ротация также является единственным способом вынудить сеансы выйти до истечения: bearer tokens проверяются локально против JWT secret, поэтому нет отзыва для каждого сеанса. Замена secret полностью, без сохранения старого в массиве, делает недействительным каждый выдающийся сеанс сразу. Для индивидуального offboarding deprovision пользователя в вашем IdP; их сеанс заканчивается в течение `ttl_hours`.

177 

178<h3 id="postgres">

179 Postgres

180</h3>

181 

182Шлюз содержит пять таблиц, все созданные его миграциями при загрузке:

183 

184| Таблица | Содержимое | Хранение |

185| ------------------ | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |

186| `kv` | Гранты устройства (10-минутный TTL) и счетчики ограничения скорости | TTL для каждой строки |

187| `spend` | Счетчики расходов за период для каждого principal, в центах | `admin.spend_retention_months`, по умолчанию 13 |

188| `spend_limits` | Настроенные лимиты расходов | До удаления через API |

189| `admin_audit` | Трассировка мутаций Admin API | `admin.audit_retention_days`, по умолчанию 365 |

190| `principal_emails` | Последний просмотренный email каждого principal, отображаемое имя и группы IdP. Содержит PII. | `admin.identity_retention_days` с момента последней активности, по умолчанию 90 |

191 

192Цикл на 30 секунд истекает строки `kv` прошедшие их TTL, и почасовая очистка применяет окна хранения на таблицы расходов, поэтому ничего не растет без ограничений. Без [ограничений расходов](/ru/claude-apps-gateway-spend-limits) настроенных, только `kv` записывается. Если ваша политика безопасности запрещает DDL из роли приложения, предварительно создайте эти таблицы и `_migrations` с ролью администратора и предоставьте роли приложения `SELECT, INSERT, UPDATE, DELETE` на каждой.

193 

194С ограничениями расходов в использовании, потерянная база данных означает потерю отслеживания расходов и лимитов, а не просто повторные входы разработчиков, поэтому запускайте регулярные резервные копии. Чтобы стереть одного ушедшего разработчика немедленно, а не ждать хранения, запустите `DELETE FROM principal_emails WHERE principal = '<sub>'` напрямую; это удаляет единственную таблицу, содержащую их email, имя и группы. Строки `spend` и `admin_audit` ссылаются только на псевдонимный OIDC `sub`.

195 

196<h3 id="upgrades">

197 Обновления

198</h3>

199 

200Реплики не имеют состояния, поэтому rolling restart безопасен в любое время. Шлюз запускает миграции схемы при загрузке, что означает, что развертывание нового бинарного файла автоматически мигрирует базу данных. Если роль базы данных не может запускать DDL, предварительно создайте схему, включая таблицу `_migrations`, инициализированную текущей версией; в противном случае загрузка не удается при попытке `CREATE TABLE`.

201 

202Миграции добавляются только, поэтому откат к предыдущему бинарному файлу, который знает меньше миграций, безопасен; он игнорирует дополнительные строки. Откат также переподтверждает YAML против схемы более старого бинарного файла, поэтому конфигурация, которая приняла ключ, введенный более новым выпуском, не удается при загрузке на более старом. Удалите новый ключ перед откатом.

203 

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

205 

206<h2 id="security">

207 Безопасность

208</h2>

209 

210Этот раздел отвечает на вопросы, которые задает проверка безопасности: какие данные проходят через шлюз и куда они идут, какие атаки защищает дизайн и какие ответы принадлежат в опроснике соответствия.

211 

212<h3 id="data-flow">

213 Поток данных

214</h3>

215 

216| Данные | Путь | Отправлено Anthropic шлюзом |

217| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------- |

218| Inference (prompts, completions) | CLI → шлюз → ваш upstream | Только если API Anthropic — это настроенный upstream |

219| Телеметрия (метрики OTLP, плюс [опциональные логи и трассировки](/ru/claude-apps-gateway-config#telemetry)) | CLI → шлюз → ваш сборщик | Никогда |

220| Идентификация (email, groups, sub) | IdP → шлюз → JWT → CLI; CLI штампует это на экспортах OTLP | Никогда |

221| Управляемые параметры | Ваш YAML шлюза → CLI | Никогда |

222| Журнал аудита | Stderr шлюза → ваш агрегатор | Никогда |

223 

224<h3 id="threat-model-summary">

225 Краткое резюме модели угроз

226</h3>

227 

228Шлюз находится внутри периметра вашей сети, но отдельные ноутбуки разработчиков не рассматриваются как доверенные. Дизайн учитывает это тремя способами:

229 

230* Разработчики держат краткосрочные JWT вместо сырых ключей upstream. Ветвь CLI-к-шлюзу использует грант устройства RFC 8628, и обмен авторизацией шлюза с IdP запускает PKCE в конфигурации по умолчанию, поэтому перехваченный код авторизации IdP бесполезен.

231* Страница проверки устройства применяет same-origin POST и ограничение скорости для каждого IP согласно RFC 8628 §5.1. См. [Сопротивление brute-force пользовательского кода](#user-code-brute-force-resistance).

232* Исходящие запросы проходят через защиту от подделки запроса на стороне сервера (SSRF), которая разрешает DNS, блокирует link-local и адреса облачных метаданных плюс loopback по умолчанию и закрепляет соединение на разрешенный IP, поэтому управляемые оператором URL, такие как IdP и назначения OTLP, не могут быть перенаправлены на конечные точки облачных метаданных. Диапазоны приватных RFC 1918 намеренно разрешены, потому что IdP и сборщики OTLP обычно живут на приватных IP. Для локальной разработки против loopback IdP или сборщика установите `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` в окружении шлюза; оставьте его неустановленным в production.

233 

234Если вы добавляете свои собственные элементы управления выходом, шлюз должен достичь сервера метаданных всякий раз, когда он использует учетные данные метаданных экземпляра, такие как workload identity.

235 

236Две угрозы выходят за рамки, потому что это ваша инфраструктура для защиты:

237 

238* **Скомпрометированный хост шлюза**: хост как содержит upstream учетные данные, так и распределяет [управляемые параметры](/ru/claude-apps-gateway-config#managed) каждому подключенному разработчику, поэтому контроль над конфигурацией шлюза сравним с контролем над вашим MDM. Диалог одобрения CLI для параметров, способных к shell, ограничивает молчаливые изменения, но не заменяет безопасность хоста.

239* **Вредоносный поставщик OIDC**: поставщик подписывает id\_tokens, которым шлюз доверяет, поэтому он может утверждать любую идентификацию. Проверка и защита вашего IdP — это ваша ответственность.

240 

241<h3 id="user-code-brute-force-resistance">

242 Сопротивление brute-force пользовательского кода

243</h3>

244 

245`user_code`, который разработчик вводит на странице проверки `/device`, — это 8 символов, взятых из алфавита из 20 символов, что дает 20⁸ или около 2,56×10¹⁰ комбинаций, и он истекает через 10 минут.

246 

247Шлюз применяет ограничения скорости для каждого IP на конечных точках грантов устройства, настраиваемые через [`rate_limits`](/ru/claude-apps-gateway-config#http-tuning). Поднимите лимиты, если много разработчиков входят с одного общего корпоративного NAT адреса. Лимиты применяются только к потоку входа, а не к inference.

248 

249<h3 id="compliance-posture">

250 Позиция соответствия

251</h3>

252 

253* **Резидентность данных**: собственная плоскость данных шлюза не отправляет ничего Anthropic, если только API Anthropic не является настроенным upstream; когда это так, ваше существующее соглашение об обработке данных применяется к пути inference. Телеметрия, аудит, идентификация и параметры идут только к назначениям, которые вы настраиваете.

254* **Трафик хост-процесса**: хост-процесс — это CLI Claude Code, который может отправлять аналитику запуска и проверки обновлений Anthropic. Для развертываний со строгим выходом установите `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` в окружении контейнера шлюза.

255* **Аналитика клиента**: CLI отключает свою собственную аналитику использования при входе в шлюз, и отчеты об ошибках отключены по умолчанию на поверхностях API третьих сторон.

256* **Машины клиентов**: CLI разработчиков все еще отправляют проверки имени хоста WebFetch и проверки версии Anthropic, если не установлены `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` и `skipWebFetchPreflight: true`. См. [использование данных](/ru/data-usage).

257* **Рейтинги опроса**: учетные данные шлюза отключают приемник рейтингов, привязанный к Anthropic, поэтому рейтинги не отправляются Anthropic.

258* **Обмен транскриптом**: выбор Yes на подсказке обмена транскриптом опроса записывает локальный файл в `~/.claude/feedback-bundles/` вместо загрузки Anthropic.

259* **Обновления клиента**: проверки обновлений отделены от трафика шлюза. Закрепите версии через вашу собственную дистрибуцию и установите `DISABLE_UPDATES`, если ноутбуки не должны получать выпуски. `DISABLE_AUTOUPDATER` останавливает только фоновые обновления, в то время как `claude update` все еще работает.

260* **TLS**: обслуживайте `public_url` по HTTPS в production, либо из собственного слушателя шлюза через `listen.tls`, либо из TLS-завершающего ingress перед простыми HTTP репликами с установленным `listen.public_url`. Шлюз не отказывает простой HTTP. IdP должен обслуживать HTTPS в production, и Postgres поддерживает `?sslmode=require`. Установите `Strict-Transport-Security` на вашем ingress.

261* **Раскрытие уязвимостей**: следуйте [Отчету о проблемах безопасности](/ru/security#reporting-security-issues)

262 

263<h2 id="troubleshooting">

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

265</h2>

266 

267Для вопросов и обратной связи используйте [поддержку Claude Code](https://support.claude.com/en/collections/14445694-claude-code) или откройте issue в [репозитории Claude Code на GitHub](https://github.com/anthropics/claude-code/issues). При сообщении о проблеме включите:

268 

269* **Проблема шлюза**: stderr шлюза для соответствующего окна, ваш `gateway.yaml` с редактированными секретами, версию шлюза, показанную на целевой странице в `/` и в заголовке ответа `x-cc-gateway-version` на `/managed/settings`, и что недавно изменилось

270* **Проблема входа**: разработчик запускает `claude --debug-file ./claude-debug.txt`, воспроизводит и отправляет этот файл плюс журнал аудита шлюза для того же окна

271* **Проблема inference**: запрошенная модель, настроенные upstreams и журнал аудита шлюза для запроса, который записывает, какой upstream обслужил его и статус ответа

272 

273| Симптом | Причина | Исправление |

274| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

275| `/login` разработчика показывает стандартный выбор аккаунта вместо экрана **Cloud gateway** | `forceLoginMethod` или `forceLoginGatewayUrl` не установлены в управляемых параметрах на этой машине | Разверните [файл управляемых параметров](/ru/claude-apps-gateway#set-the-gateway-url) на устройство; `/login` читает URL шлюза оттуда |

276| Запуск показывает `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | Установленная сборка Claude Code предшествует поддержке шлюза | Попросите разработчика обновить Claude Code до выпуска, который включает поддержку Cloud gateway |

277| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Имя хоста шлюза разрешается на по крайней мере один публичный IP адрес. Claude Code проверяет каждый разрешенный адрес и требует, чтобы каждый был приватным. Частая причина — dual-stack имя, где одно семейство разрешается на публичный адрес, включая AWS внутренние dual-stack балансировщики нагрузки, которые возвращают публичные AAAA адреса | Попросите имя шлюза разрешаться только на приватные адреса на машинах разработчиков. Для dual-stack имени удалите публичный диапазон записи или обслуживайте отдельное внутреннее DNS имя. См. [предпосылку приватной сети](/ru/claude-apps-gateway#prerequisites). |

278| CLI `/login`: `Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` или `HTTP_PROXY` применяется к хосту шлюза и имя хоста прокси разрешается на публичный адрес. Прокси, чье имя хоста разрешается только на приватные адреса, разрешен и не вызывает эту ошибку | Добавьте хост шлюза в `NO_PROXY` на машине разработчика, чтобы соединение было прямым, или используйте прокси, чье имя хоста разрешается на приватные адреса |

279| CLI `/login`: `Could not resolve gateway host <host>` | Машина не может разрешить внутреннее DNS имя шлюза, обычно потому что она не в корпоративной сети | Попросите разработчика подключиться к вашей сети или VPN, затем повторите попытку `/login` |

280| Загрузка выходит с ошибкой валидации конфигурации, называющей `store.postgres_url` | Postgres не настроен; шлюз требует Postgres | Установите `store.postgres_url`. Для локальной разработки используйте одноразовый контейнер: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

281| Загрузка выходит: `requires the native binary` | Запуск под Node вместо нативного бинарного файла | Установите Claude Code с одним из [методов автономной установки](/ru/setup) |

282| Загрузка выходит с ошибкой обнаружения OIDC после `config.load` | `oidc.issuer` недоступен или цепь TLS не доверена | Проверьте, что издатель доступен из pod и обслуживает `/.well-known/openid-configuration`. Установите `ca_cert_pem` для приватной PKI. |

283| Загрузка выходит с ошибкой разрешения Postgres | Роль приложения не имеет `CREATE TABLE` | Предварительно создайте схему с ролью администратора и предоставьте DML роли приложения или временно предоставьте DDL для загрузок, которые применяют новые миграции |

284| `/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`. |

285| Лог: `token exchange failed: id_token missing email claim` | IdP не включает `email` в id\_token по умолчанию. Это отклонение срабатывает только когда установлен `allowed_email_domains`; без него отсутствующий email создает сеанс без email | Настройте IdP для выдачи `email` в id\_token. Okta: добавьте `email` к утверждениям ID-token пользовательского сервера авторизации. Entra: добавьте `email` как опциональное утверждение на регистрацию приложения. PingFederate: включите политику OpenID Connect, которая выдает `email`. Если IdP обслуживает `email` из конечной точки userinfo, но не будет включать его в id\_token, такой как сервер авторизации организации Okta, установите `oidc.userinfo_fallback: true`. |

286| Каждый запрос Bedrock возвращает 502; лог показывает `Could not load credentials from any providers` | На EC2 hop limit IMDSv2 по умолчанию 1 блокирует запрос метаданных экземпляра изнутри контейнера. Загрузка и `/readyz` проходят в любом случае, потому что AWS SDK разрешает учетные данные экземпляра при первом запросе, а не при построении клиента | Поднимите hop limit с `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` или установите его в шаблоне запуска. Изменение применяется к каждому контейнеру на экземпляре. Предпочитайте роли задач ECS, где доступны, которые читают учетные данные из конечной точки учетных данных контейнера ECS и избегают изменения полностью, или применяйте изменение на выделенном экземпляре шлюза, чтобы ограничить воздействие. |

287| Ошибка IdP: unknown or unsupported scope | IdP отклоняет области, которые он не распознает | Установите `oidc.scopes` на точный список, который принимает ваш IdP; он должен включать `openid`. По умолчанию `openid profile email offline_access`. |

288| Сеансы не молчаливо обновляются после установки `oidc.scopes` | `offline_access` был удален из переопределения | Добавьте `offline_access` обратно, если ваш IdP его поддерживает. Без refresh token разработчики повторно запускают вход в браузер каждые `session.ttl_hours`. |

289| Браузер показывает "This request came from another site and was blocked" | Cross-site form POST, заблокирован как защита CSRF. Ожидается для встроенных или проксированных страниц | Откройте ссылку проверки напрямую |

290| Chrome блокирует кнопку Approve с "Refused to send form data … violates … Content Security Policy directive: form-action", но та же страница работает в Safari или Firefox | Chrome применяет `form-action` ко всей цепи перенаправления. Ваш IdP перенаправляет дальше на второй хост, который не в списке разрешений. | Добавьте каждое дополнительное происхождение в цепи перенаправления в `oidc.form_action_origins`. Откройте Chrome DevTools → Console на странице Approve, чтобы увидеть, какое происхождение было заблокировано. |

291| Вход завершается в IdP, но callback не удается, с ошибкой CSP в Chrome или "this sign-in link has expired" в Safari | IdP вернул код через `response_mode=form_post`, который автоматически отправляет его cross-origin через POST на `/oauth/callback`. Chrome блокирует это под строгой CSP; Safari позволяет отправку, но callback читает только строку запроса. | Убедитесь, что ваш IdP соблюдает `response_mode=query`, который шлюз явно запрашивает, чтобы callback был простым перенаправлением |

292| Вход работает локально, но не удается за ALB | `public_url` не установлен, поэтому IdP получает внутреннее происхождение `http://` как `redirect_uri` | Установите `listen.public_url` на внешнее происхождение `https://` |

293| Разработчик видит подсказку доверия повторно | Сертификат TLS ротируется для каждой реплики или для каждого запроса | Используйте стабильный сертификат на ingress или завершите TLS один раз и запустите реплики по простому HTTP внутри |

294| CLI `/login`: "Could not verify the gateway's TLS certificate" или `SELF_SIGNED_CERT_IN_CHAIN` | Цепь TLS шлюза подписана приватным CA, не в хранилище доверия хоста CLI | Claude Code читает хранилище доверия ОС по умолчанию на нативном бинарном файле и на Node 22.15 или позже; [`CLAUDE_CODE_CERT_STORE`](/ru/network-config#ca-certificate-store) управляет этим поведением. Если CA установлен в хранилище доверия ОС, убедитесь, что разработчики используют текущий runtime. В противном случае установите `NODE_EXTRA_CA_CERTS` на сертификат CA PEM перед запуском. Подсказка отпечатка первого подключения все еще применяется. |

295 

296<h2 id="related">

297 Связанное

298</h2>

299 

300* [Обзор шлюза Claude apps](/ru/claude-apps-gateway): быстрый старт и подключение разработчика

301* [Справочник по конфигурации](/ru/claude-apps-gateway-config): каждый параметр файла `gateway.yaml`

claude-apps-gateway-on-gcp.md +330 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Развертывание Claude apps gateway на Google Cloud

6 

7> Практический пример запуска Claude apps gateway на Google Cloud: Cloud Run или GKE, Cloud SQL для PostgreSQL, Secret Manager и аутентификация через сервисный аккаунт для Agent Platform.

8 

9<Note>

10 На этой странице описан один из способов запуска Claude apps gateway на Google Cloud. Конфигурация является рабочим примером для инфраструктуры, управляемой клиентом, а не поддерживаемым развертыванием для производства; используйте её, чтобы понять, как компоненты работают вместе, прежде чем адаптировать её к своей среде. Требования, независимые от платформы, см. в [руководстве по развертыванию](/ru/claude-apps-gateway-deploy).

11</Note>

12 

13Этот пример развертывает Claude apps gateway на Google Cloud с использованием Agent Platform Google Cloud в качестве вышестоящего поставщика моделей, используя либо Cloud Run, либо GKE для вычислений. Google Workspace используется в качестве примера поставщика идентификации (IdP), но работает любой поставщик, совместимый с OpenID Connect (OIDC); изменяется только блок `oidc`. Подробности для каждого IdP см. в разделе [Настройка поставщика идентификации](/ru/claude-apps-gateway-deploy#identity-provider-setup).

14 

15<h2 id="what-you’ll-build">

16 Что вы создадите

17</h2>

18 

19<Frame>

20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Диаграмма Claude apps gateway на Google Cloud: клиенты Claude Code подключаются по HTTPS к шлюзу (Cloud Run или GKE), который работает внутри VPC рядом с приватной базой данных Cloud SQL для состояния сеанса. Шлюз выполняет вход пользователей через OIDC для Google Workspace, читает конфигурацию и секреты из Secret Manager, перенаправляет запросы моделей в Agent Platform и извлекает свой образ из Artifact Registry при развертывании." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>

22 

23Эталонная конфигурация подготавливает:

24 

25* Сервис **Cloud Run** или развертывание **GKE**, запускающие контейнер шлюза

26* Репозиторий **Artifact Registry** для образа шлюза

27* Экземпляр **Cloud SQL для PostgreSQL**, только с приватным IP, для [хранилища](/ru/claude-apps-gateway-config#store) шлюза

28* Секреты **Secret Manager** для `gateway.yaml`, ключа подписи JWT, секрета клиента OIDC и URL Postgres

29* **Сервисный аккаунт** с `roles/aiplatform.user`, подключённый непосредственно на Cloud Run или привязанный через Workload Identity на GKE

30* **Внутренний Application Load Balancer** на Cloud Run или внутренний **GKE Ingress** класса `gce-internal` на GKE для HTTPS

31 

32<h2 id="prerequisites">

33 Предварительные требования

34</h2>

35 

36* Проект GCP с включённым биллингом и разрешением на создание указанных выше ресурсов

37* CLI `gcloud`, аутентифицированный с помощью `gcloud auth login`, и Docker, установленный локально

38* Для трека GKE: `kubectl` и кластер GKE на VPC, созданный в пошаговом руководстве ниже

39* Доступ к необходимым моделям Claude в Model Garden в регионе, который их публикует

40* Веб-приложение OAuth 2.0 Google Workspace с URI перенаправления `https://<gateway-host>/oauth/callback`; см. [Настройка поставщика идентификации](/ru/claude-apps-gateway-deploy#identity-provider-setup)

41* TLS имя хоста для шлюза, обычно внутреннее имя DNS, указывающее на балансировщик нагрузки

42 

43Установите проект и регион один раз:

44 

45```bash theme={null}

46export PROJECT_ID=<your-project>

47export REGION=us-east5 # a region where the Claude models you need are published in Model Garden

48gcloud config set project "$PROJECT_ID"

49```

50 

51<h2 id="deploy-the-gateway">

52 Развертывание шлюза

53</h2>

54 

55Приведённые ниже шаги подготавливают полное развертывание с помощью команд `gcloud`.

56 

57<Steps>

58 <Step title="Включение API">

59 Включите API сервисов, которые использует пошаговое руководство:

60 

61 ```bash theme={null}

62 gcloud services enable \

63 aiplatform.googleapis.com \

64 artifactregistry.googleapis.com \

65 sqladmin.googleapis.com \

66 secretmanager.googleapis.com \

67 iamcredentials.googleapis.com \

68 iam.googleapis.com \

69 compute.googleapis.com \

70 servicenetworking.googleapis.com \

71 run.googleapis.com \

72 container.googleapis.com

73 ```

74 

75 Необходимые API зависят от пути развертывания:

76 

77 * `compute` и `servicenetworking`: требуются для пути приватного IP Cloud SQL

78 * `run`: только Cloud Run

79 * `container`: только GKE

80 </Step>

81 

82 <Step title="Создание сервисного аккаунта и предоставление IAM">

83 Шлюз работает как выделенный сервисный аккаунт с разрешением на вызов Agent Platform. Он достигает Cloud SQL через VPC с пользователем пароля, поэтому роль Cloud SQL IAM не требуется:

84 

85 ```bash theme={null}

86 gcloud iam service-accounts create claude-gateway --display-name="Claude apps gateway"

87 SA="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

88 

89 gcloud projects add-iam-policy-binding "$PROJECT_ID" \

90 --member="serviceAccount:${SA}" --role="roles/aiplatform.user" --condition=None

91 ```

92 

93 Затем включите модели Claude для проекта в Model Garden; модели публикуются в определённых регионах, поэтому проверьте каждую карточку модели.

94 </Step>

95 

96 <Step title="Построение и отправка образа в Artifact Registry">

97 Постройте образ в соответствии с [требованиями к образу контейнера](/ru/claude-apps-gateway-deploy#container-image), используя двоичный файл `linux-x64` glibc, и отправьте его:

98 

99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \

101 --repository-format=docker --location="$REGION"

102 gcloud auth configure-docker "${REGION}-docker.pkg.dev" --quiet

103 

104 # Cloud Run requires linux/amd64. --provenance=false avoids a buildx OCI

105 # image index that Cloud Run rejects.

106 docker build --platform=linux/amd64 --provenance=false \

107 -t "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" .

108 docker push "${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>"

109 ```

110 </Step>

111 

112 <Step title="Подготовка Cloud SQL для PostgreSQL">

113 Создайте экземпляр на VPC через Private Services Access, чтобы он не имел публичного IP; это также удовлетворяет проектам, где применяется `constraints/sql.restrictPublicIp`:

114 

115 ```bash theme={null}

116 VPC=cc-gateway-vpc

117 gcloud compute networks create "$VPC" --subnet-mode=custom

118 gcloud compute networks subnets create cc-gateway-subnet \

119 --network="$VPC" --region="$REGION" --range=10.0.0.0/24

120 

121 # Private Services Access: one-time per VPC

122 gcloud compute addresses create "google-managed-services-${VPC}" \

123 --global --purpose=VPC_PEERING --prefix-length=16 --network="$VPC"

124 gcloud services vpc-peerings connect \

125 --service=servicenetworking.googleapis.com \

126 --ranges="google-managed-services-${VPC}" --network="$VPC"

127 

128 gcloud sql instances create claude-gateway-db \

129 --database-version=POSTGRES_16 --tier=db-g1-small --region="$REGION" \

130 --network="projects/${PROJECT_ID}/global/networks/${VPC}" --no-assign-ip

131 gcloud sql databases create claude_gateway --instance=claude-gateway-db

132 PGPASS="$(openssl rand -hex 24)"

133 gcloud sql users create gateway --instance=claude-gateway-db --password="$PGPASS"

134 

135 PRIVATE_IP="$(gcloud sql instances describe claude-gateway-db \

136 --format='value(ipAddresses[0].ipAddress)')"

137 GATEWAY_POSTGRES_URL="postgres://gateway:${PGPASS}@${PRIVATE_IP}:5432/claude_gateway?sslmode=require"

138 ```

139 

140 Среда выполнения Cloud Run или GKE должна находиться на этом VPC или маршрутизироваться в него.

141 </Step>

142 

143 <Step title="Написание gateway.yaml">

144 Блок `upstreams` указывает на Agent Platform с `auth: {}`, поэтому шлюз аутентифицируется через Application Default Credentials из сервисного аккаунта среды выполнения. Полное описание каждого поля см. в [справочнике конфигурации](/ru/claude-apps-gateway-config).

145 

146 Два поля `listen` зависят от того, что находится перед шлюзом:

147 

148 * `public_url`: требуется за Cloud Run или GKE Ingress. Шлюз строит `redirect_uri` IdP и документ обнаружения только из этого значения, никогда из заголовков `X-Forwarded-*`.

149 * `trusted_proxies`: диапазоны источников переднего конца. Шлюз соблюдает `X-Forwarded-For` только когда TCP-пир находится в этом списке, затем проходит по цепи мимо доверенных переходов, поэтому ограничения скорости входа на IP и события аудита записывают IP-адреса разработчиков вместо адреса балансировщика нагрузки.

150 

151 Установите `trusted_proxies` в соответствии с вашим передним концом. Внешний GKE Ingress класса `gce` не указан: он подготавливает адрес публичного правила переадресации, который проверка [приватной сети](/ru/claude-apps-gateway#prerequisites) `/login` отклоняет.

152 

153 | Передний конец | `trusted_proxies` |

154 | ------------------------------------------------------------ | ---------------------------------------------------------- |

155 | Cloud Run, достигнутый напрямую, без балансировщика нагрузки | `[169.254.0.0/16]` |

156 | Internal Application Load Balancer перед Cloud Run | `169.254.0.0/16` плюс CIDR вашей подсети только для прокси |

157 | GKE внутренний Ingress, класс `gce-internal` | CIDR вашей подсети только для прокси |

158 

159 Пример ниже использует значения внутреннего балансировщика нагрузки перед Cloud Run.

160 

161 ```yaml gateway.yaml theme={null}

162 listen:

163 host: 0.0.0.0

164 port: 8080

165 public_url: https://claude-gateway.internal.example.com

166 trusted_proxies: [169.254.0.0/16, <your-proxy-only-subnet-cidr>]

167 

168 oidc:

169 issuer: https://accounts.google.com

170 client_id: <your-oauth-client-id>

171 client_secret: ${OIDC_CLIENT_SECRET} # GKE: ${file:/secrets/oidc-client-secret}

172 allowed_email_domains: [example.com]

173 # Google ignores offline_access; these yield refresh tokens:

174 scopes: [openid, profile, email]

175 extra_auth_params: { access_type: offline, prompt: consent }

176 

177 session:

178 jwt_secret: ${GATEWAY_JWT_SECRET} # GKE: ${file:/secrets/jwt-secret}

179 

180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 

183 upstreams:

184 - provider: vertex

185 region: <your-region> # must match $REGION

186 project_id: <your-project>

187 auth: {} # ADC via the runtime service account

188 ```

189 

190 <Note>

191 Google id\_tokens не содержат претензию `groups`. Для использования политик на основе групп в [`managed.policies`](/ru/claude-apps-gateway-config#managed) с Google Workspace в качестве IdP настройте [`oidc.google_groups`](/ru/claude-apps-gateway-config#oidc), которая ищет группы каждого пользователя через Admin SDK Directory API, используя сервисный аккаунт с делегированием на уровне домена. Без этого вместо этого сопоставляйте по `email_domain`.

192 </Note>

193 </Step>

194 

195 <Step title="Сохранение секретов в Secret Manager">

196 Создайте четыре секрета и предоставьте `roles/secretmanager.secretAccessor` сервисному аккаунту `claude-gateway`:

197 

198 | Секрет | Источник |

199 | ---------------------------- | ----------------------------------------- |

200 | `gateway-jwt-secret` | `openssl rand -base64 32` |

201 | `gateway-oidc-client-secret` | Google Cloud Console → OAuth client |

202 | `gateway-postgres-url` | `$GATEWAY_POSTGRES_URL` из шага Cloud SQL |

203 | `gateway-config` | полный `gateway.yaml` из предыдущего шага |

204 

205 Способ доставки секретов в контейнер отличается в зависимости от трека:

206 

207 * На GKE они монтируются как файлы через драйвер Secret Manager CSI, и `gateway.yaml` ссылается на `${file:/secrets/...}`.

208 * На Cloud Run, который не может монтировать несколько секретов в один каталог, `gateway.yaml` монтируется как файл, а остальные три внедряются как переменные окружения, поэтому `gateway.yaml` ссылается на `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}` и `${GATEWAY_POSTGRES_URL}` вместо этого.

209 </Step>

210 

211 <Step title="Развертывание">

212 <Tabs>

213 <Tab title="Cloud Run">

214 Команда ниже развертывает для производства за внутренним балансировщиком нагрузки.

215 

216 ```bash theme={null}

217 gcloud run deploy claude-gateway \

218 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \

219 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \

222 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check

227 ```

228 

229 Прямой исход VPC через `--network`, `--subnet` и `--vpc-egress=private-ranges-only` позволяет сервису достичь приватного IP Cloud SQL напрямую. Публичный исход к конечным точкам Agent Platform и `accounts.google.com` идёт непосредственно в интернет, а не через VPC, поэтому Cloud NAT не требуется.

230 

231 Проверка IAM вызывающего должна быть открыта или отключена. Шлюз запускает свой собственный OIDC, и его клиенты не несут токен GCP, поэтому проверка вызывающего Cloud Run должна допускать неаутентифицированные запросы. Аутентификация запроса OIDC шлюза происходит после того, как он достигает контейнера, с `allowed_email_domains`, ограничивающим, какие домены могут входить.

232 

233 Два флага допускают неаутентифицированные запросы:

234 

235 * `--no-invoker-iam-check`: отключает проверку без привязки `allUsers` для управления и работает в рамках Domain Restricted Sharing

236 * `--allow-unauthenticated`: предоставляет `allUsers` роль `run.invoker`; используйте, если ваша организация не позволяет `--no-invoker-iam-check`

237 

238 Ограничение входа через `--ingress` — это отдельный, независимый слой от проверки вызывающего; держите его установленным, чтобы ограничить сервис вашей корпоративной сетью.

239 

240 По умолчанию URL Cloud Run `*.run.app` разрешается на публичный адрес, который проверка [приватной сети](/ru/claude-apps-gateway#prerequisites) `/login` отклоняет. Две топологии дают разработчикам приватно разрешаемое имя хоста, и Cloud Run не подготавливает ни одну для вас:

241 

242 * **Internal Application Load Balancer**, топология, которую предполагает команда развертывания выше: развертывайте с `--ingress=internal-and-cloud-load-balancing`, подготовьте внутренний Application Load Balancer перед сервисом с внутренним именем DNS и сертификатом, и установите `listen.public_url` на это имя хоста.

243 * **Внутренний вход только без балансировщика нагрузки**: развертывайте с `--ingress=internal` и оставьте `listen.public_url` как URL `*.run.app`, значение по умолчанию в [эталонных активах](#terraform-reference) ниже. Чтобы `*.run.app` разрешался приватно, ваша команда сети должна уже работать с конечной точкой Private Service Connect для Google APIs, приватной зоной Cloud DNS, разрешающей `*.run.app` для неё, и маршрутизацией на месте к этой конечной точке.

244 

245 [Руководство Google по приватной сети для Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) охватывает инфраструктуру, которая требуется обоим вариантам. Проверьте вход после того, как шлюз обслуживает приватное имя хоста; до этого подтвердите загрузку контейнера из его журналов в Cloud Run.

246 

247 Обновите URI перенаправления авторизации клиента OAuth на `<public_url>/oauth/callback` перед первым входом. Переразверните после изменения `public_url`, потому что шлюз строит свой публичный источник только из этого параметра и игнорирует `X-Forwarded-Host` и `X-Forwarded-Proto`. `X-Forwarded-For` соблюдается для IP-адресов клиентов только когда установлен `listen.trusted_proxies`.

248 </Tab>

249 

250 <Tab title="GKE">

251 Кластер должен находиться на `$VPC`, созданном на шаге Cloud SQL, чтобы поды могли достичь приватного IP базы данных; одного пиринга VPC недостаточно, потому что приватный IP Cloud SQL сам по себе является пиринговой сетью, и пиринг не является транзитивным. Чтобы создать новый кластер на этом VPC, передайте `--network="$VPC" --subnetwork=cc-gateway-subnet` в `gcloud container clusters create`.

252 

253 Включите Workload Identity на кластере и его пулах узлов, затем привяжите сервисный аккаунт Google к сервисному аккаунту Kubernetes, чтобы поды наследовали его учётные данные:

254 

255 ```bash theme={null}

256 gcloud container clusters update <cluster> --region="$REGION" \

257 --workload-pool="${PROJECT_ID}.svc.id.goog"

258 # On a Standard cluster, existing node pools also need GKE_METADATA;

259 # Autopilot enables this by default.

260 gcloud container node-pools update <pool> --cluster=<cluster> \

261 --region="$REGION" --workload-metadata=GKE_METADATA

262 

263 kubectl create namespace claude-gateway

264 kubectl create serviceaccount gateway -n claude-gateway

265 

266 gcloud iam service-accounts add-iam-policy-binding \

267 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

268 --role roles/iam.workloadIdentityUser \

269 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"

270 

271 kubectl annotate serviceaccount gateway -n claude-gateway \

272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```

274 

275 Развертывайте шлюз как стандартное развертывание плюс сервис и внутренний Ingress, класс `gce-internal`, как описано в [развертывании Kubernetes](/ru/claude-apps-gateway-deploy#kubernetes), с:

276 

277 * `serviceAccountName: gateway`

278 * драйвер Secret Manager CSI, монтирующий секреты в `/secrets`

279 * зонд готовности, указывающий на `GET /readyz`

280 

281 Присоедините BackendConfig с повышенным `timeoutSec` к сервису шлюза: сервис бэкенда балансировщика нагрузки за GKE Ingress по умолчанию имеет тайм-аут 30 секунд, который отсекает длинные потоковые ответы.

282 

283 Не применяйте исходящую NetworkPolicy, которая блокирует `169.254.169.254` на кластере Workload Identity; под должен достичь сервера метаданных для учётных данных. Встроенная [защита SSRF](/ru/claude-apps-gateway-deploy#threat-model-summary) шлюза — это защита там.

284 

285 Шлюз регистрирует предупреждение при загрузке о том, что конечная точка метаданных доступна и предлагает применить исходящую NetworkPolicy. При Workload Identity это предупреждение ожидается, потому что под нуждается в конечной точке.

286 </Tab>

287 </Tabs>

288 </Step>

289 

290 <Step title="Отправка URL шлюза на машины разработчиков">

291 Шлюз теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL шлюза не будет на их машинах. Установите `forceLoginMethod` и `forceLoginGatewayUrl` в [файле управляемых параметров](/ru/claude-apps-gateway#set-the-gateway-url), который вы развертываете на каждом устройстве через MDM. В средстве выбора входа нет опции шлюза для разработчика, чтобы выбрать вручную.

292 </Step>

293</Steps>

294 

295<h2 id="terraform-reference">

296 Справочник Terraform

297</h2>

298 

299[Эталонные активы развертывания](https://github.com/anthropics/claude-code/tree/main/examples/gateway/gcp) автоматизируют трек Cloud Run на этой странице; активы конфигурации и образа применяются к обоим трекам:

300 

301* `setup.sh`: идемпотентный подготовщик `gcloud`, который проходит полный путь Cloud Run, от включения API до первого развертывания

302* `terraform/`: то же развертывание как инфраструктура как код, для развертывания на зелёном поле: целевое применение для создания репозитория Artifact Registry, затем построение и отправка образа, затем полное применение

303* `gateway.yaml.example` и `Dockerfile` для образа среды выполнения distroless

304 

305Артефакты по умолчанию используют входящий трафик Cloud Run `internal`, поэтому балансировщик нагрузки не требуется. Чтобы соответствовать развертыванию этой страницы за ALB для производства, запустите `setup.sh` с `INGRESS=internal-and-cloud-load-balancing` или установите переменную Terraform `ingress` на `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`. Артефакты также по умолчанию используют слой вызывающего как предоставление `allUsers` `run.invoker` вместо `--no-invoker-iam-check`, обратное пошаговому руководству этой страницы; оба работают, и выбор зависит от ограничений политики вашей организации.

306 

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

308 

309<h2 id="troubleshooting">

310 Troubleshooting

311</h2>

312 

313Для ошибок загрузки и входа шлюза см. независимую от платформы [таблицу troubleshooting](/ru/claude-apps-gateway-deploy#troubleshooting). Записи ниже относятся к Google Cloud.

314 

315| Симптом | Причина | Исправление |

316| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

317| Cloud Run возвращает `403 Forbidden` перед достижением контейнера | Проверка IAM вызывающего всё ещё включена | Развертывайте с `--no-invoker-iam-check` или предоставьте `allUsers` роль `run.invoker` с `--allow-unauthenticated` |

318| `--no-invoker-iam-check` отклонён с `invoker_iam_disabled is not currently available` | Заблокировано `constraints/run.managed.requireInvokerIam` | Используйте `--allow-unauthenticated`. Если Domain Restricted Sharing через `constraints/iam.allowedPolicyMemberDomains` также блокирует это, используйте трек GKE, который предоставляет шлюз на уровне сети без привязки `allUsers`. |

319| `Container manifest type … must support amd64/linux` при развертывании | Образ был построен на хосте, отличном от amd64, или buildx выдал индекс образа OCI | Постройте с `--platform=linux/amd64 --provenance=false` |

320| Загрузка шлюза завершается с ошибкой тайм-аута подключения Postgres на Cloud Run | Сервис не подключён к VPC или Cloud SQL не имеет приватного IP на этом VPC; хранилище перестаёт ждать после 5 секунд | Развертывайте с `--network` и `--subnet` для прямого исхода VPC и создавайте экземпляр Cloud SQL с `--no-assign-ip` и `--network`, указывающим на тот же VPC |

321| Запросы Agent Platform возвращают `403 PERMISSION_DENIED` | Среда выполнения не использует сервисный аккаунт `claude-gateway` или модель не включена в Model Garden для проекта | Установите `--service-account` на Cloud Run или привяжите Workload Identity на GKE и включите каждую модель Claude в Model Garden для целевого региона |

322| Потоковые ответы обрезаны после фиксированной продолжительности | Тайм-аут запроса переднего конца: сервис бэкенда балансировщика нагрузки за GKE Ingress по умолчанию имеет 30 секунд, а Cloud Run — 300 секунд | Присоедините BackendConfig с повышенным `timeoutSec` на GKE или развертывайте с `--timeout=3600` на Cloud Run |

323 

324<h2 id="next-steps">

325 Следующие шаги

326</h2>

327 

328* [Справочник конфигурации](/ru/claude-apps-gateway-config): каждый параметр `gateway.yaml`, включая `managed.policies` и `telemetry`

329* [Развертывание и операции](/ru/claude-apps-gateway-deploy): настройка IdP, проверки здоровья, ротация секрета JWT, обновления и модель безопасности

330* [Обзор Claude apps gateway](/ru/claude-apps-gateway): быстрый старт и подключение разработчиков

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Лимиты расходов Claude apps gateway

6 

7> Ограничьте расходы каждого разработчика через Claude apps gateway по дням, неделям или месяцам. Установите лимиты с помощью Admin API, и шлюз будет их соблюдать в реальном времени при каждом запросе.

8 

9Лимиты расходов ограничивают, сколько каждый разработчик может потратить через ваш [Claude apps gateway](/ru/claude-apps-gateway) в течение дня, недели или месяца. Когда разработчик превышает свой лимит, шлюз возвращает `429` при следующем запросе и блокирует его до сброса периода или пока администратор не повысит лимит. Используйте лимиты расходов, чтобы установить потолок расходов для каждого разработчика, группы или всей организации на общем учетном данном.

10 

11Claude apps gateway пересылает все вычисления через одно общее учетное данное вышестоящего провайдера, поэтому счет вашего провайдера относит все к этому учетному данному, а не к отдельным разработчикам. Без лимитов на разработчика один неконтролируемый флот агентов может потратить всю приверженность организации. Лимиты расходов — это представление шлюза на уровне разработчика и автоматический выключатель поверх этого общего счета.

12 

13<h2 id="set-a-cap">

14 Установка лимита

15</h2>

16 

17С настроенным блоком [`admin:`](/ru/claude-apps-gateway-config#admin) в `gateway.yaml`, gateway предоставляет Admin API по адресу `/v1/organizations/spend_limits` и соблюдает лимиты в реальном времени при каждом запросе вывода. Сами лимиты устанавливаются через этот API, а не в `gateway.yaml`; каждый запрос `POST /v1/organizations/spend_limits` создает или заменяет один лимит из `{scope, amount, period}`. API отражает форматы проводки публичного [Admin API](https://platform.claude.com/docs/en/manage-claude/admin-api) Anthropic для лимитов расходов, поэтому HTTP-клиент, написанный для этого контракта, может нацеливаться на gateway, изменив его базовый URL.

18 

19Этот запрос устанавливает организационный лимит по умолчанию в размере \$500 в месяц для каждого разработчика:

20 

21```bash theme={null}

22curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

23 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

24 -H "Content-Type: application/json" \

25 -d '{"scope": {"type": "organization"}, "amount": "50000", "period": "monthly"}'

26```

27 

28Этот запрос добавляет более строгий лимит в размере \$100 в день для каждого члена группы `contractors`:

29 

30```bash theme={null}

31curl -sS https://claude-gateway.internal.example.com/v1/organizations/spend_limits \

32 -H "x-api-key: $GATEWAY_ADMIN_WRITE_KEY" \

33 -H "Content-Type: application/json" \

34 -d '{"scope": {"type": "rbac_group", "rbac_group_id": "contractors"}, "amount": "10000", "period": "daily"}'

35```

36 

37| Поле | Значения | Описание |

38| ------------ | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

39| `scope.type` | `user`, `rbac_group`, `organization` | `user` нацеливается на одного разработчика по его OpenID Connect (OIDC) `sub`, стабильному ID пользователя, который назначает ваш поставщик идентификации; передайте его как `scope.user_id`. `rbac_group` нацеливается на [группу IdP](/ru/claude-apps-gateway-config#managed) по имени; передайте его как `scope.rbac_group_id`. `organization` — это организационный лимит по умолчанию. Gateway принимает все три; публичный `POST` Anthropic сегодня поддерживает только пользователей. |

40| `amount` | Строка целого числа в центах USD или `null` | `null` означает неограниченно. `"0"` — это нулевой лимит, который блокирует каждый запрос. |

41| `period` | `daily`, `weekly`, `monthly` | Область может содержать один лимит на период, и каждый применяется независимо: разработчик блокируется, если превышает любой из них. |

42 

43Лимит группы или организации — это лимит по умолчанию на одного пользователя, который наследует каждый член, а не общий пул. За период эффективный лимит разработчика разрешается в этом порядке: переопределение для конкретного пользователя, затем наиболее строгий из его групповых лимитов, затем организационный лимит по умолчанию, затем неограниченно. [`admin.group_limit_mode: max`](/ru/claude-apps-gateway-config#admin) переключает разрешение конфликта для нескольких групп на наименее строгий вместо этого.

44 

45<h3 id="authenticate-to-the-admin-api">

46 Аутентификация в Admin API

47</h3>

48 

49Отправьте одно из следующего:

50 

51* Заголовок `x-api-key`, соответствующий ключу в [`admin.write_keys`](/ru/claude-apps-gateway-config#admin) для полного доступа или `admin.read_keys` для доступа только для чтения `GET`. Каждый ключ имеет `id`, который появляется в журнале аудита как `admin-key:<id>`, поэтому дайте Terraform, CI и каждой автоматизации свой собственный.

52* Токен bearer gateway, чей claim `groups` включает одну из [`admin.admin_groups`](/ru/claude-apps-gateway-config#admin). Это полный доступ и аудит как `oidc:<sub>`, поэтому предпочитайте это для администраторов-людей.

53 

54<h2 id="how-enforcement-works">

55 Как работает соблюдение

56</h2>

57 

58При каждом запросе `/v1/messages` gateway разрешает лимиты разработчика и расходы с начала периода в одном запросе Postgres. Если они превышают какой-либо лимит, запрос возвращает `429` с `error.type: billing_error` и заголовком `x-should-retry: false`. Сообщение — это `spend limit reached`, за которым следует ваш [`admin.blocked_message`](/ru/claude-apps-gateway-config#admin), если установлен.

59 

60`/v1/messages/count_tokens` исключен. Подсчет токенов бесплатен, поэтому он работает независимо от состояния лимита.

61 

62После каждого ответа счетчик использования читает количество токенов из ответа по мере его потоковой передачи клиенту, оценивает их по цене USD по прайс-листу и увеличивает счетчики Postgres для всех трех периодических корзин. Счетчик — это один читатель потока, поэтому байты клиента не затрагиваются, и сбой измерения не нарушает ответ.

63 

64Лимиты расходов оценивают расходы на основе количества токенов по цене USD по прайс-листу; они являются автоматическим выключателем, а не счетом. Для авторитетного выставления счетов согласуйте с собственной отчетностью об использовании вашего провайдера, такой как Anthropic Usage & Cost Admin API, журналы вызовов на Bedrock или Cloud Monitoring на Google Cloud.

65 

66Ценообразование использует ту же таблицу, которую использует Claude Code CLI для собственного отображения стоимости, с той же канонизацией ID модели в формах Anthropic, Bedrock (`us.anthropic.…-v1:0`), Agent Platform (`claude-…@date`) и Foundry ID. ID модели, который таблица не может найти, такой как имя развертывания Foundry или ARN профиля вывода, оценивается по уровню неизвестной модели по умолчанию в размере \$5/\$25 за миллион входных/выходных токенов, а не нулю, поэтому неузнанный ID не может обойти лимит, оставаясь неизмеренным. Gateway предупреждает при загрузке и один раз за ID во время выполнения, когда модель оценивается через резервный вариант.

67 

68Прерывания клиента также учитываются. Upstream сообщает выходные токены только в терминальном кадре потока, поэтому прерванный поток их не содержит. Счетчик сохраняет консервативную оценку пола из размера потокового контента, примерно четыре символа на токен, и учитывает его, когда и только когда отсутствует терминальный кадр использования. Полный поток всегда учитывает количество, сообщаемое upstream. Без этого ограниченный разработчик мог бы потоком передавать выходные данные и прерывать каждый запрос непосредственно перед концом, тратя без учета.

69 

70<h3 id="postgres-availability">

71 Доступность Postgres

72</h3>

73 

74Предварительная проверка запрашивает Postgres с двухсекундным тайм-аутом. Если хранилище недоступно или истекает время ожидания, соблюдение по умолчанию не срабатывает: запрос продолжается и gateway регистрирует предупреждение. Установите [`enforcement.fail_closed_on_error: true`](/ru/claude-apps-gateway-config#enforcement), чтобы вместо этого не срабатывать закрыто, что возвращает то же самое `429 billing_error` с сообщением `spend limit unavailable`. Отказ в открытом виде предотвращает превращение сбоя хранилища в сбой вывода; отказ в закрытом виде гарантирует отсутствие неучтенных расходов.

75 

76<h2 id="admin-api-reference">

77 Справочник Admin API

78</h2>

79 

80Конечные точки ниже обслуживаются в `/v1/organizations/spend_limits`.

81 

82| Метод и путь | Описание |

83| ---------------------------------------------- | --------------------------------------------------------------------------- |

84| `GET /v1/organizations/spend_limits` | Список настроенных лимитов. Запрос: `?limit=&after_id=&before_id=`. |

85| `POST /v1/organizations/spend_limits` | Создать или заменить лимит для `{scope, period}`. |

86| `GET /v1/organizations/spend_limits/{id}` | Получить один лимит по его ID с префиксом `spl_`. |

87| `DELETE /v1/organizations/spend_limits/{id}` | Удалить один лимит. Возвращает `{type: "spend_limit_deleted", id}`. |

88| `GET /v1/organizations/spend_limits/effective` | Разрешенный лимит и расходы с начала периода на одного участника за период. |

89| `GET /v1/organizations/spend_limits/audit` | Журнал мутаций администратора, самые новые первыми. Запрос: `?limit=`. |

90 

91Соглашения отражают Admin API Anthropic:

92 

93* `type` на каждом объекте

94* ID с префиксом `spl_`

95* Суммы как строки целых чисел в центах USD; `POST` отклоняет любую другую `currency` с `400`

96* Конверт ошибки `{type: "error", error: {type, message}, request_id}`

97* Заголовок ответа `request-id` при каждом ответе администратора, успехе или ошибке, соответствующий `request_id` тела

98 

99Каждая мутация записывает строку до/после в `admin_audit` в той же транзакции, отнесенную к `admin-key:<id>` или `oidc:<sub>`.

100 

101Шлюз обслуживает конечные точки лимитов расходов только. Другие поверхности Admin API, такие как очередь `spend_limit_increase_requests`, не являются частью Admin API шлюза.

102 

103<h3 id="/effective">

104 `/effective`

105</h3>

106 

107`GET /v1/organizations/spend_limits/effective` возвращает схему `SpendSummary` Anthropic: каждая строка — это участник за период с разрешенным лимитом, расходами с начала периода и объектом `actor`. Различия, специфичные для gateway:

108 

109* `user_id` — это OIDC `sub`.

110* `actor.name` и `actor.email_address` — это `null` до первого запроса вывода участника через gateway. Gateway не имеет каталога пользователей; он записывает последние видимые значения из JWT сеанса каждого пользователя.

111* Каждая строка также содержит массив `groups`, последние видимые группы IdP участника. Это расширение gateway, поэтому пользовательский интерфейс администратора может показать каждый уровень лимита, который применяется; клиенты, совместимые с Anthropic, игнорируют это.

112* Без фильтра `user_ids[]` он перечисляет участников с записанными расходами, потому что gateway не может перечислить всех членов организации.

113 

114Лимиты на основе групп разрешаются против этих последних видимых групп с тем же разрешением конфликта `group_limit_mode`, которое использует соблюдение, поэтому средство просмотра показывает применяемый лимит.

115 

116| Параметр запроса | Описание |

117| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |

118| `user_ids[]` | Повторяемый. Фильтр для конкретных участников по OIDC `sub`. |

119| `period[]` | Повторяемый. Фильтр для строк `daily`, `weekly` или `monthly`. |

120| `sort` | `spend_desc` перечисляет крупнейших потребителей первыми. Требует ровно один `period[]`. |

121| `q` | Фильтр подстроки без учета регистра по OIDC `sub`, последнему видимому адресу электронной почты и последнему видимому отображаемому имени. |

122| `limit` / `page` | Размер страницы (1–1000, по умолчанию 20) и непрозрачный курсор из `next_page` предыдущего ответа. |

123 

124<Warning>

125 `q=` и `user_ids[]=` находятся в строках запроса GET, поэтому любой фасадный прокси или балансировщик нагрузки захватывает их в своих журналах доступа. Если ваша политика логирования PII строгая, очистите эти параметры там.

126</Warning>

127 

128<h3 id="/audit">

129 `/audit`

130</h3>

131 

132Возвращает журнал мутаций лимитов расходов: кто изменил какой лимит, снимки до/после и необязательную причину, самые новые первыми. `has_more` точен. Эта конечная точка следует локальным соглашениям Admin API, а не форме проводки первой стороны.

133 

134<h3 id="pagination">

135 Разбиение на страницы

136</h3>

137 

138Необработанный список разбивается на страницы по `after_id` и `before_id`, которые являются взаимоисключающими ID `spl_…`; результаты упорядочены по созданию и `has_more` отражает направление обхода. `/effective` разбивается на страницы по непрозрачному токену `next_page`, переданному обратно как `?page=`, с участниками, упорядоченными по возрастанию, поэтому страницы остаются стабильными во время записи расходов. `limit` — это 1–1000, по умолчанию 20, на обоих.

139 

140<h2 id="data-lifecycle">

141 Жизненный цикл данных

142</h2>

143 

144Gateway содержит четыре таблицы, связанные с расходами; почасовая очистка применяет окна удержания:

145 

146| Таблица | Содержимое | Удержание |

147| ------------------ | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |

148| `spend` | Счетчики расходов с начала периода на одного участника в центах | [`admin.spend_retention_months`](/ru/claude-apps-gateway-config#admin), по умолчанию 13 |

149| `spend_limits` | Настроенные лимиты | До удаления через API |

150| `admin_audit` | Журнал мутаций | [`admin.audit_retention_days`](/ru/claude-apps-gateway-config#admin), по умолчанию 365 |

151| `principal_emails` | Последний видимый адрес электронной почты каждого участника, отображаемое имя и группы IdP. Содержит PII. | [`admin.identity_retention_days`](/ru/claude-apps-gateway-config#admin) с момента последней активности, по умолчанию 90 |

152 

153`identity_retention_days` намеренно короче, чем `spend_retention_months`: деподготовленная идентификация перестает обновляться и стареет, в то время как ее анонимные счетчики расходов остаются для отчетности год за годом.

154 

155Когда разработчик уходит, удалите любой лимит для конкретного пользователя через `DELETE /v1/organizations/spend_limits/{id}`; его расходы и строки идентификации стареют в окнах удержания выше. Чтобы стереть одного человека немедленно, для offboarding или запроса доступа субъекта данных (DSAR), запустите `DELETE FROM principal_emails WHERE principal = '<sub>'` непосредственно против базы данных gateway. Это удаляет единственную таблицу, содержащую их адрес электронной почты, имя и группы. Строки `spend` и `admin_audit` ссылаются только на псевдонимный OIDC `sub` и стареют в своих собственных окнах.

156 

157<h2 id="related">

158 Связанное

159</h2>

160 

161* [Конфигурация `admin` и `enforcement`](/ru/claude-apps-gateway-config#admin): включение Admin API и настройка удержания

162* [Руководство по развертыванию](/ru/claude-apps-gateway-deploy#postgres): схема Postgres и рекомендации по резервному копированию

Details

63 Что доступно в облачных сессиях63 Что доступно в облачных сессиях

64</h3>64</h3>

65 65 

66Облачные сессии начинаются со свежего клона вашего репозитория. Всё, что зафиксировано в репозитории, доступно. Всё, что вы установили или настроили только на своей машине, недоступно; политика вашей организации поступает отдельно через [параметры, управляемые сервером](/ru/server-managed-settings).66Облачные сессии начинаются со свежего клона вашего репозитория. Всё, что зафиксировано в репозитории, доступно. Всё, что вы установили или настроили только на своей машине, недоступно в сессии. Политика вашей организации поступает отдельно через [параметры, управляемые сервером](/ru/server-managed-settings).

67 67 

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

69| :------------------------------------------------------------------------------------ | :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |69| :------------------------------------------------------------------------------------ | :-------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


81| Статические API токены и учётные данные | Нет | Выделенного хранилища секретов пока не существует. См. ниже |81| Статические API токены и учётные данные | Нет | Выделенного хранилища секретов пока не существует. См. ниже |

82| Интерактивная аутентификация, такая как AWS SSO | Нет | Не поддерживается. SSO требует входа на основе браузера, который не может работать в облачной сессии |82| Интерактивная аутентификация, такая как AWS SSO | Нет | Не поддерживается. SSO требует входа на основе браузера, который не может работать в облачной сессии |

83 83 

84Чтобы сделать конфигурацию доступной в облачных сессиях, зафиксируйте её в репозитории; политика организации поступает отдельно через [параметры, управляемые сервером](/ru/server-managed-settings). Выделенное хранилище секретов пока не доступно. Как переменные окружения, так и setup scripts хранятся в конфигурации окружения, видимой для всех, кто может редактировать это окружение. Если вам нужны секреты в облачной сессии, добавьте их как переменные окружения с учётом этой видимости.84Чтобы сделать конфигурацию доступной в облачных сессиях, зафиксируйте её в репозитории; политика организации поступает отдельно через [параметры, управляемые сервером](/ru/server-managed-settings).

85 

86Выделенное хранилище секретов пока не доступно. Как переменные окружения, так и setup scripts хранятся в конфигурации окружения, видимой для всех, кто может редактировать это окружение. Если вам нужны секреты в облачной сессии, добавьте их как переменные окружения с учётом этой видимости.

85 87 

86<h3 id="installed-tools">88<h3 id="installed-tools">

87 Установленные инструменты89 Установленные инструменты


186| Архивировать окружение | Откройте окружение для редактирования и выберите **Archive**. Архивированные окружения скрыты из селектора, но существующие сессии продолжают работать. |188| Архивировать окружение | Откройте окружение для редактирования и выберите **Archive**. Архивированные окружения скрыты из селектора, но существующие сессии продолжают работать. |

187| Установить значение по умолчанию для `--remote` | Запустите `/remote-env` в вашем терминале. Если у вас одно окружение, эта команда показывает вашу текущую конфигурацию. `/remote-env` только выбирает значение по умолчанию; добавляйте, редактируйте и архивируйте окружения из веб-интерфейса. |189| Установить значение по умолчанию для `--remote` | Запустите `/remote-env` в вашем терминале. Если у вас одно окружение, эта команда показывает вашу текущую конфигурацию. `/remote-env` только выбирает значение по умолчанию; добавляйте, редактируйте и архивируйте окружения из веб-интерфейса. |

188 190 

189Переменные окружения используют формат `.env` с одной парой `KEY=value` на строку. Не оборачивайте значения в кавычки, так как кавычки хранятся как часть значения.191Переменные окружения используют формат `.env` с одной парой `KEY=value` на строку. Не оборачивайте значения в кавычки, так как кавычки хранятся как часть значения. Этот пример определяет три переменные:

190 192 

191```text theme={null}193```text theme={null}

192NODE_ENV=development194NODE_ENV=development


593 * \*.sentry.io595 * \*.sentry.io

594 * downloads.sentry-cdn.com596 * downloads.sentry-cdn.com

595 * http-intake.logs.datadoghq.com597 * http-intake.logs.datadoghq.com

598 * browser-intake-us5-datadoghq.com

596 * \*.datadoghq.com599 * \*.datadoghq.com

597 * \*.datadoghq.eu600 * \*.datadoghq.eu

598 * api.honeycomb.io601 * api.honeycomb.io


641 644 

642Это создаёт новую облачную сессию на claude.ai. Сессия клонирует удалённый GitHub вашего текущего каталога в вашей текущей ветке, поэтому сначала отправьте, если у вас есть локальные коммиты, так как виртуальная машина клонирует из GitHub, а не с вашей машины. `--remote` работает с одним репозиторием за раз. Задача запускается в облаке, пока вы продолжаете работать локально.645Это создаёт новую облачную сессию на claude.ai. Сессия клонирует удалённый GitHub вашего текущего каталога в вашей текущей ветке, поэтому сначала отправьте, если у вас есть локальные коммиты, так как виртуальная машина клонирует из GitHub, а не с вашей машины. `--remote` работает с одним репозиторием за раз. Задача запускается в облаке, пока вы продолжаете работать локально.

643 646 

647{/* min-version: 2.1.195 */}Начиная с версии v2.1.195, CLI показывает живой чек-лист шагов настройки, таких как клонирование репозитория и запуск вашего [скрипта настройки](#setup-scripts), пока облачный контейнер запускается. Сообщения, которые вы вводите, пока контейнер подготавливается, ставятся в очередь и отправляются после того, как сессия будет готова.

648 

644<Note>649<Note>

645 `--remote` создаёт облачные сессии. `--remote-control` не связан: он предоставляет локальную сессию CLI для мониторинга из веб-интерфейса. См. [Remote Control](/ru/remote-control).650 `--remote` создаёт облачные сессии. `--remote-control` не связан: он предоставляет локальную сессию CLI для мониторинга из веб-интерфейса. См. [Remote Control](/ru/remote-control).

646</Note>651</Note>


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

704 709 

705* **Используя `--teleport`**: из командной строки запустите `claude --teleport` для интерактивного выбора сессии, или `claude --teleport <session-id>` для прямого возобновления конкретной сессии. Если у вас есть незафиксированные изменения, вам будет предложено сначала их спрятать.710* **Используя `--teleport`**: из командной строки запустите `claude --teleport` для интерактивного выбора сессии, или `claude --teleport <session-id>` для прямого возобновления конкретной сессии. Если у вас есть незафиксированные изменения, вам будет предложено сначала их спрятать.

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

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

708* **Из веб-интерфейса**: выберите **Open in CLI** для копирования команды, которую вы можете вставить в ваш терминал713* **Из веб-интерфейса**: выберите **Open in CLI** для копирования команды, которую вы можете вставить в ваш терминал.

709 714 

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

711 716 


752 757 

753Auto-compaction запускается автоматически, когда окно контекста приближается к ёмкости. Чтобы запустить его раньше, установите [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/ru/env-vars) в ваши [переменные окружения](#configure-your-environment). Например, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` компактирует при 70% ёмкости вместо ожидания, пока окно почти не заполнится. Чтобы изменить эффективный размер окна для расчётов компактирования, используйте [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/ru/env-vars).758Auto-compaction запускается автоматически, когда окно контекста приближается к ёмкости. Чтобы запустить его раньше, установите [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/ru/env-vars) в ваши [переменные окружения](#configure-your-environment). Например, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=70` компактирует при 70% ёмкости вместо ожидания, пока окно почти не заполнится. Чтобы изменить эффективный размер окна для расчётов компактирования, используйте [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/ru/env-vars).

754 759 

755[Subagents](/ru/sub-agents) работают так же, как они работают локально. Claude может порождать их с помощью инструмента Task для разгрузки исследования или параллельной работы в отдельное окно контекста, сохраняя основной разговор легче. Subagents определённые в `.claude/agents/` вашего репозитория подбираются автоматически. [Agent teams](/ru/agent-teams) отключены по умолчанию, но могут быть включены путём добавления `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` в ваши [переменные окружения](#configure-your-environment).760[Subagents](/ru/sub-agents) работают так же, как они работают локально. Claude может порождать их с помощью инструмента Task для разгрузки исследования или параллельной работы в отдельное окно контекста, сохраняя основной разговор легче. Subagents определённые в `.claude/agents/` вашего репозитория подбираются автоматически.

761 

762[Agent teams](/ru/agent-teams) отключены по умолчанию, но могут быть включены путём добавления `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` в ваши [переменные окружения](#configure-your-environment).

756 763 

757<h3 id="review-changes">764<h3 id="review-changes">

758 Просмотр изменений765 Просмотр изменений


770 Совместное использование из аккаунта Enterprise или Team777 Совместное использование из аккаунта Enterprise или Team

771</h4>778</h4>

772 779 

773Для аккаунтов Enterprise и Team два варианта видимости — **Private** и **Team**. Видимость Team делает сессию видимой для других членов вашей организации claude.ai. Проверка доступа к репозиторию включена по умолчанию на основе аккаунта GitHub, подключённого к аккаунту получателя. Отображаемое имя вашего аккаунта видно всем получателям с доступом. Сессии [Claude в Slack](/ru/slack) автоматически общаются с видимостью Team.780Для аккаунтов Enterprise и Team два варианта видимости — **Private** и **Team**. Видимость Team делает сессию видимой для других членов вашей организации claude.ai. [Claude в Slack](/ru/slack) сессии автоматически общаются с видимостью Team.

781 

782Проверка доступа к репозиторию включена по умолчанию на основе аккаунта GitHub, подключённого к аккаунту получателя. Отображаемое имя вашего аккаунта видно всем получателям с доступом.

774 783 

775<h4 id="share-from-a-max-or-pro-account">784<h4 id="share-from-a-max-or-pro-account">

776 Совместное использование из аккаунта Max или Pro785 Совместное использование из аккаунта Max или Pro


863 872 

864* Проверьте [status.claude.com](https://status.claude.com) на предмет инцидентов облачных сессий873* Проверьте [status.claude.com](https://status.claude.com) на предмет инцидентов облачных сессий

865* Повторите попытку через минуту, так как ёмкость подготавливается по требованию874* Повторите попытку через минуту, так как ёмкость подготавливается по требованию

866* Подтвердите, что ваш репозиторий доступен. Подключаемый аккаунт GitHub должен иметь доступ к репозиторию на GitHub либо через авторизацию Claude GitHub App, либо через токен `gh`, синхронизированный через `/web-setup` установка приложения на репозиторий не требуется. См. [GitHub authentication options](#github-authentication-options).875* Подтвердите, что ваш репозиторий доступен. Подключаемый аккаунт GitHub должен иметь доступ к репозиторию на GitHub либо через авторизацию Claude GitHub App, либо через токен `gh`, синхронизированный через `/web-setup`. Установка приложения на репозиторий не требуется. См. [GitHub authentication options](#github-authentication-options).

867 876 

868<h3 id="remote-control-session-expired-or-access-denied">877<h3 id="remote-control-session-expired-or-access-denied">

869 Remote Control session expired or access denied878 Remote Control session expired or access denied

Details

283```bash theme={null}283```bash theme={null}

284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5284export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5

285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7285export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7

286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6286export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5287export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

288```288```

289 289 

Details

22| `claude -c -p "query"` | Продолжить через SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Продолжить через SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Возобновить сеанс по ID или имени | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Возобновить сеанс по ID или имени | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Обновить до последней версии | `claude update` |24| `claude update` | Обновить до последней версии | `claude update` |

25| `claude gateway` | Запустить сервер самостоятельно размещаемого [Claude apps gateway](/ru/claude-apps-gateway), для администраторов, развертывающих SSO и политику перед Claude Code на Bedrock, Vertex AI или Foundry. Требует `--config`, указывающий на [`gateway.yaml`](/ru/claude-apps-gateway-config). Доступно в Claude Code v2.1.195 и позже. | `claude gateway --config gateway.yaml` |

25| `claude install [version]` | Установить или переустановить собственный двоичный файл. Принимает версию, такую как `2.1.118`, или `stable`, или `latest`. См. [Установить конкретную версию](/ru/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Установить или переустановить собственный двоичный файл. Принимает версию, такую как `2.1.118`, или `stable`, или `latest`. См. [Установить конкретную версию](/ru/setup#install-a-specific-version) | `claude install stable` |

26| `claude auth login` | Войти в свою учетную запись Anthropic. Используйте `--email` для предварительного заполнения адреса электронной почты, `--sso` для принудительной аутентификации SSO и `--console` для входа с помощью Anthropic Console для выставления счетов за использование API вместо подписки Claude | `claude auth login --console` |27| `claude auth login` | Войти в свою учетную запись Anthropic. Используйте `--email` для предварительного заполнения адреса электронной почты, `--sso` для принудительной аутентификации SSO и `--console` для входа с помощью Anthropic Console для выставления счетов за использование API вместо подписки Claude | `claude auth login --console` |

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


93| `--max-budget-usd` | Максимальная сумма в долларах для расходования на вызовы API перед остановкой (только режим печати) | `claude -p --max-budget-usd 5.00 "query"` |94| `--max-budget-usd` | Максимальная сумма в долларах для расходования на вызовы API перед остановкой (только режим печати) | `claude -p --max-budget-usd 5.00 "query"` |

94| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита | `claude -p --max-turns 3 "query"` |95| `--max-turns` | Ограничить количество агентских ходов (только режим печати). Выходит с ошибкой при достижении лимита. По умолчанию нет лимита | `claude -p --max-turns 3 "query"` |

95| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделенные пробелом) | `claude --mcp-config ./mcp.json` |96| `--mcp-config` | Загрузить MCP серверы из JSON файлов или строк (разделенные пробелом) | `claude --mcp-config ./mcp.json` |

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

97| `--name`, `-n` | Установить отображаемое имя для сеанса, показываемое в `/resume` и в заголовке терминала. Вы можете возобновить именованный сеанс с помощью `claude --resume <name>`. <br /><br />[`/rename`](/ru/commands) изменяет имя во время сеанса и также показывает его на панели приглашения | `claude -n "my-feature-work"` |98| `--name`, `-n` | Установить отображаемое имя для сеанса, показываемое в `/resume` и в заголовке терминала. Вы можете возобновить именованный сеанс с помощью `claude --resume <name>`. <br /><br />[`/rename`](/ru/commands) изменяет имя во время сеанса и также показывает его на панели приглашения | `claude -n "my-feature-work"` |

98| `--no-chrome` | Отключить [интеграцию браузера Chrome](/ru/chrome) для этого сеанса | `claude --no-chrome` |99| `--no-chrome` | Отключить [интеграцию браузера Chrome](/ru/chrome) для этого сеанса | `claude --no-chrome` |

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

commands.md +2 −0

Details

70| `/cost` | Псевдоним для `/usage` |70| `/cost` | Псевдоним для `/usage` |

71| `/debug [description]` | **[Skill](/ru/skills#bundled-skills).** Включить отладочное логирование для текущего сеанса и устранить проблемы путем чтения журнала отладки сеанса. Отладочное логирование отключено по умолчанию, если вы не запустили с `claude --debug`, поэтому запуск `/debug` в середине сеанса начинает захватывать логи с этого момента. Опционально опишите проблему, чтобы сосредоточить анализ |71| `/debug [description]` | **[Skill](/ru/skills#bundled-skills).** Включить отладочное логирование для текущего сеанса и устранить проблемы путем чтения журнала отладки сеанса. Отладочное логирование отключено по умолчанию, если вы не запустили с `claude --debug`, поэтому запуск `/debug` в середине сеанса начинает захватывать логи с этого момента. Опционально опишите проблему, чтобы сосредоточить анализ |

72| `/deep-research <question>` | **[Workflow](/ru/workflows#bundled-workflows).** Распределить веб-поиски по вопросу, получить и перекрестно проверить источники и синтезировать цитируемый отчет |72| `/deep-research <question>` | **[Workflow](/ru/workflows#bundled-workflows).** Распределить веб-поиски по вопросу, получить и перекрестно проверить источники и синтезировать цитируемый отчет |

73| `/design-login` | Авторизовать доступ к системе дизайна для `/design-sync` с вашей учетной записью claude.ai |

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

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

74| `/diff` | Открыть интерактивное средство просмотра различий, показывающее незафиксированные изменения и различия для каждого хода. Используйте стрелки влево/вправо для переключения между текущим git diff и отдельными ходами Claude, а вверх/вниз для просмотра файлов |76| `/diff` | Открыть интерактивное средство просмотра различий, показывающее незафиксированные изменения и различия для каждого хода. Используйте стрелки влево/вправо для переключения между текущим git diff и отдельными ходами Claude, а вверх/вниз для просмотра файлов |

75| `/doctor` | Диагностировать и проверить вашу установку и параметры Claude Code. Результаты отображаются со значками статуса. Нажмите `f`, чтобы Claude исправил любые сообщаемые проблемы |77| `/doctor` | Диагностировать и проверить вашу установку и параметры Claude Code. Результаты отображаются со значками статуса. Нажмите `f`, чтобы Claude исправил любые сообщаемые проблемы |

computer-use.md +3 −3

Details

112 Один сеанс за раз112 Один сеанс за раз

113</h3>113</h3>

114 114 

115Computer use удерживает блокировку на уровне машины во время активности. Если другой сеанс Claude Code уже использует ваш компьютер, новые попытки завершаются с сообщением, сообщающим вам, какой сеанс удерживает блокировку. Сначала завершите или выйдите из этого сеанса.115Computer use удерживает блокировку на уровне машины с первого действия computer use до выхода из сеанса, который её получил. {/* min-version: 2.1.195 */}Начиная с версии 2.1.195, завершение задачи не освобождает блокировку; её освобождает только выход из сеанса. Если другой сеанс Claude Code уже использует ваш компьютер, новые попытки завершаются с сообщением, сообщающим вам, какой сеанс удерживает блокировку. Сначала выйдите из этого сеанса.

116 116 

117<h3 id="apps-are-hidden-while-claude-works">117<h3 id="apps-are-hidden-while-claude-works">

118 Приложения скрыты, пока Claude работает118 Приложения скрыты, пока Claude работает


134 Остановитесь в любой момент134 Остановитесь в любой момент

135</h3>135</h3>

136 136 

137Когда Claude получает блокировку, появляется уведомление macOS: "Claude is using your computer · press Esc to stop". Нажмите `Esc` в любом месте, чтобы немедленно прервать текущее действие, или нажмите `Ctrl+C` в терминале. В любом случае Claude освобождает блокировку, показывает ваши приложения и возвращает вам управление.137Когда Claude получает блокировку, появляется уведомление macOS: "Claude is using your computer · press Esc to stop." Нажмите `Esc` в любом месте, чтобы немедленно прервать текущее действие, или нажмите `Ctrl+C` в терминале. В любом случае Claude останавливается, показывает ваши приложения и возвращает вам управление. Сеанс сохраняет [блокировку computer use](#one-session-at-a-time) до выхода из него.

138 138 

139Второе уведомление появляется, когда Claude закончит.139Второе уведомление появляется, когда Claude закончит.

140 140 


223 "Computer use is in use by another Claude session"223 "Computer use is in use by another Claude session"

224</h3>224</h3>

225 225 

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

227 227 

228<h3 id="macos-permissions-prompt-keeps-reappearing">228<h3 id="macos-permissions-prompt-keeps-reappearing">

229 Приглашение разрешений macOS продолжает появляться229 Приглашение разрешений macOS продолжает появляться

Details

1615* **Очищайте между задачами**: запустите `/clear` при переходе на несвязанную работу. Старый разговор вытесняет файлы, которые вам нужны дальше, и стоит токены на каждом сообщении.1615* **Очищайте между задачами**: запустите `/clear` при переходе на несвязанную работу. Старый разговор вытесняет файлы, которые вам нужны дальше, и стоит токены на каждом сообщении.

1616* **Делегируйте большие чтения**: отправьте исследование [subagent](/ru/sub-agents), чтобы содержимое файла оставалось в его контекстном окне, а не в вашем.1616* **Делегируйте большие чтения**: отправьте исследование [subagent](/ru/sub-agents), чтобы содержимое файла оставалось в его контекстном окне, а не в вашем.

1617 1617 

1618Если вам нужно большее окно, а не меньший разговор, Fable 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают контекстное окно в 1 миллион токенов. Смотрите [Расширенный контекст](/ru/model-config#extended-context) для доступности по плану и как выбрать вариант модели `[1m]`. Компактирование работает так же при большем лимите.1618Если вам нужно большее окно, а не меньший разговор, Fable 5, Sonnet 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают контекстное окно в 1 миллион токенов. Смотрите [Расширенный контекст](/ru/model-config#extended-context) для доступности по плану и как выбрать вариант модели `[1m]`. Sonnet 5 работает при 1M без варианта `[1m]` для выбора; смотрите [Контекстное окно Sonnet 5](/ru/model-config#sonnet-5-context-window) для его пороговых значений автокомпактирования и исключения шлюза LLM. Компактирование работает так же при большем лимите.

1619 1619 

1620<h2 id="check-your-own-session">1620<h2 id="check-your-own-session">

1621 Проверьте свой собственный сеанс1621 Проверьте свой собственный сеанс

costs.md +1 −1

Details

51 Для организаций с пользовательскими ограничениями скорости трафик Claude Code в этом рабочем пространстве учитывается в общих ограничениях скорости API вашей организации. Вы можете установить [ограничение скорости рабочего пространства](https://platform.claude.com/docs/ru/api/rate-limits#setting-lower-limits-for-workspaces) на странице Limits этого рабочего пространства в Claude Console, чтобы ограничить долю Claude Code и защитить другие производственные рабочие нагрузки.51 Для организаций с пользовательскими ограничениями скорости трафик Claude Code в этом рабочем пространстве учитывается в общих ограничениях скорости API вашей организации. Вы можете установить [ограничение скорости рабочего пространства](https://platform.claude.com/docs/ru/api/rate-limits#setting-lower-limits-for-workspaces) на странице Limits этого рабочего пространства в Claude Console, чтобы ограничить долю Claude Code и защитить другие производственные рабочие нагрузки.

52</Note>52</Note>

53 53 

54На Bedrock, Vertex и Foundry Claude Code не отправляет метрики из вашего облака. Организации, которые уже маршрутизируют Claude Code через [LLM gateway](/ru/llm-gateway), могут отслеживать расходы там, поскольку шлюз видит каждый запрос.54На Bedrock, Vertex и Foundry Claude Code не отправляет метрики из вашего облака. Самостоятельно размещённый [Claude apps gateway](/ru/claude-apps-gateway) обеспечивает атрибуцию использования для каждого пользователя, метрики OTLP с подсчётом токенов и [лимиты расходов для каждого пользователя](/ru/claude-apps-gateway-spend-limits) на этих поставщиках. Организации, которые маршрутизируют Claude Code через другой [LLM gateway](/ru/llm-gateway), могут отслеживать расходы на шлюзе вместо этого, поскольку он видит каждый запрос.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Рекомендации по ограничению скорости57 Рекомендации по ограничению скорости

data-usage.md +2 −2

Details

39 39 

40После подсказки оценки вы можете увидеть отдельный дополнительный вопрос "Can Anthropic look at your session transcript to help us improve Claude Code?". Это необязательный второй шаг, отличный от оценки:40После подсказки оценки вы можете увидеть отдельный дополнительный вопрос "Can Anthropic look at your session transcript to help us improve Claude Code?". Это необязательный второй шаг, отличный от оценки:

41 41 

42* **Yes**: загружает стенограмму вашего разговора, любые стенограммы подагентов и файл необработанного журнала сеанса с диска в Anthropic. Известные шаблоны ключей API и токенов удаляются перед загрузкой. Исходный код, содержимое файлов и другое содержимое разговора загружаются как есть. Общие стенограммы сохраняются до 6 месяцев.42* **Yes**: загружает стенограмму вашего разговора, любые стенограммы подагентов и файл необработанного журнала сеанса с диска в Anthropic. Известные шаблоны ключей API и токенов удаляются перед загрузкой. Исходный код, содержимое файлов и другое содержимое разговора загружаются как есть. Общие стенограммы сохраняются до 6 месяцев. На Bedrock, Vertex AI, Foundry и сеансах [Claude apps gateway](/ru/claude-apps-gateway) с входом в систему, Yes записывает тот же полезный груз в локальный архив под `~/.claude/feedback-bundles/` вместо загрузки; ничего не покидает вашу машину, пока вы не переправите этот файл.

43* **No**: отклоняет без отправки чего-либо43* **No**: отклоняет без отправки чего-либо

44* **Don't ask again**: отклоняет и останавливает появление этого дополнительного вопроса в будущих сеансах44* **Don't ask again**: отклоняет и останавливает появление этого дополнительного вопроса в будущих сеансах

45 45 


127 Поведение по умолчанию в зависимости от поставщика API127 Поведение по умолчанию в зависимости от поставщика API

128</h2>128</h2>

129 129 

130По умолчанию отчёты об ошибках, телеметрия и отчёты об ошибках отключены при использовании Bedrock, Vertex, Foundry или Claude Platform on AWS. Опросы о качестве сеанса и проверка безопасности домена WebFetch являются исключениями и выполняются независимо от поставщика. Вы можете отказаться от всего несущественного трафика, включая опросы, сразу же, установив `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Эта переменная не влияет на проверку WebFetch, которая имеет свой собственный отказ. Вот полное поведение по умолчанию:130По умолчанию отчёты об ошибках, телеметрия и отчёты об ошибках отключены при использовании Bedrock, Vertex, Foundry или Claude Platform on AWS. Опросы о качестве сеанса и проверка безопасности домена WebFetch являются исключениями и выполняются независимо от поставщика. На сеансе с подписью [Claude apps gateway](/ru/claude-apps-gateway) аналитика использования, отчёты об ошибках и оценки опросов для Anthropic отключены самим учётным данным шлюза, без возможности их повторного включения. Вы можете отказаться от всего несущественного трафика, включая опросы, сразу же, установив `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`. Эта переменная не влияет на проверку WebFetch, которая имеет свой собственный отказ. Вот полное поведение по умолчанию:

131 131 

132| Сервис | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform on AWS |132| Сервис | Claude API | Vertex API | Bedrock API | Foundry API | Claude Platform on AWS |

133| ------------------------------------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |133| ------------------------------------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |

Details

19Для деталей по конкретной категории используйте специализированную команду:19Для деталей по конкретной категории используйте специализированную команду:

20 20 

21| Команда | Показывает |21| Команда | Показывает |

22| :--------------- | :--------------------------------------------------------------------------------------------------------------------- |22| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

23| `/memory` | Какие файлы `CLAUDE.md` и rules загрузились, плюс записи auto-memory |23| `/memory` | Какие файлы `CLAUDE.md` и rules загрузились, плюс записи auto-memory |

24| `/skills` | Доступные skills из проекта, пользователя и источников плагинов |24| `/skills` | Доступные skills из проекта, пользователя и источников плагинов |

25| `/agents` | Настроенные subagents и их параметры |25| `/agents` | Настроенные subagents и их параметры |

26| `/hooks` | Активные конфигурации hooks |26| `/hooks` | Активные конфигурации hooks |

27| `/mcp` | Подключённые MCP серверы и их статус |27| `/mcp` | Подключённые MCP серверы и их статус |

28| `/permissions` | Разрешённые и запрещённые правила, которые в настоящее время действуют |28| `/permissions` | Разрешённые и запрещённые правила, которые в настоящее время действуют |

29| `/doctor` | Диагностика конфигурации: неверные ключи, ошибки схемы, здоровье установки |29| `/doctor` | Диагностика конфигурации: неверные ключи, ошибки схемы, здоровье установки. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, также сообщает о дублирующихся именах [subagent](/ru/sub-agents), определённых в одной области, и отмечает, какой из них активен |

30| `/debug [issue]` | Включает логирование отладки для сессии и предлагает Claude диагностировать, используя вывод журнала и пути параметров |30| `/debug [issue]` | Включает логирование отладки для сессии и предлагает Claude диагностировать, используя вывод журнала и пути параметров |

31| `/status` | Активные источники параметров, включая то, действуют ли управляемые параметры |31| `/status` | Активные источники параметров, включая то, действуют ли управляемые параметры |

32 32 

desktop.md +10 −6

Details

8 8 

9Приложение Claude Desktop имеет три вкладки: **Chat** для разговоров, **Cowork** для [Dispatch и более длительной агентивной работы](https://claude.com/product/cowork) и **Code** для разработки программного обеспечения. Эта страница является справочником для вкладки Code.9Приложение Claude Desktop имеет три вкладки: **Chat** для разговоров, **Cowork** для [Dispatch и более длительной агентивной работы](https://claude.com/product/cowork) и **Code** для разработки программного обеспечения. Эта страница является справочником для вкладки Code.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23После установки запустите Claude, войдите в систему и нажмите на вкладку **Code**. Первый раз при открытии на Windows вам необходимо установить [Git for Windows](https://git-scm.com/downloads/win); перезагрузите приложение после установки. Для пошагового руководства вашего первого сеанса см. [Руководство по началу работы](/ru/desktop-quickstart).27После установки запустите Claude, войдите в систему и нажмите на вкладку **Code**. Первый раз при открытии на Windows вам необходимо установить [Git for Windows](https://git-scm.com/downloads/win); перезагрузите приложение после установки. Для пошагового руководства вашего первого сеанса см. [Руководство по началу работы](/ru/desktop-quickstart).

24 28 


88 92 

89<span id="auto-mode-availability" />93<span id="auto-mode-availability" />

90 94 

91Auto mode — это исследовательский предпросмотр, доступный всем пользователям на Anthropic API и требует Claude Opus 4.6 или позже, или Sonnet 4.6. В развёртываниях Enterprise, которые маршрутизируют Desktop на Google Cloud Vertex AI, auto mode отключен до тех пор, пока вы не [установите `CLAUDE_CODE_ENABLE_AUTO_MODE`](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry), и там поддерживаются только Claude Opus 4.7 и Opus 4.8.95Auto mode — это исследовательский предпросмотр, доступный всем пользователям на Anthropic API и требует Claude Opus 4.6 или позже, или Sonnet 4.6 или позже. В развёртываниях Enterprise, которые маршрутизируют Desktop на Google Cloud Vertex AI, auto mode отключен до тех пор, пока вы не [установите `CLAUDE_CODE_ENABLE_AUTO_MODE`](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry), и там поддерживаются только Claude Sonnet 5, Opus 4.7 и Opus 4.8.

92 96 

93<Tip title="Best practice">97<Tip title="Best practice">

94 Начните сложные задачи в Plan mode, чтобы Claude наметил подход перед внесением изменений. После одобрения плана переключитесь на Auto accept edits или Ask permissions для его выполнения. См. [explore first, then plan, then code](/ru/best-practices#explore-first-then-plan-then-code) для получения дополнительной информации об этом рабочем процессе.98 Начните сложные задачи в Plan mode, чтобы Claude наметил подход перед внесением изменений. После одобрения плана переключитесь на Auto accept edits или Ask permissions для его выполнения. См. [explore first, then plan, then code](/ru/best-practices#explore-first-then-plan-then-code) для получения дополнительной информации об этом рабочем процессе.


600 604 

601Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/ru/env-vars) для полного списка поддерживаемых переменных.605Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/ru/env-vars) для полного списка поддерживаемых переменных.

602 606 

603[Extended thinking](/ru/model-config#extended-thinking) включен по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. Чтобы отключить thinking, установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения; это не влияет на Fable 5, который всегда использует extended thinking. На [сторонних поставщиках](/ru/third-party-integrations) `0` опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения могут всё ещё думать. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) любое другое значение `MAX_THINKING_TOKENS` игнорируется, потому что адаптивное рассуждение контролирует глубину thinking вместо этого. На Opus 4.6 и Sonnet 4.6 установите `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` на `1`, чтобы использовать фиксированный бюджет thinking; Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.607[Extended thinking](/ru/model-config#extended-thinking) включен по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. Чтобы отключить thinking, установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения; это не влияет на Fable 5, который всегда использует extended thinking. На [сторонних поставщиках](/ru/third-party-integrations) `0` опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения могут всё ещё думать. На моделях с [адаптивным рассуждением](/ru/model-config#adjust-effort-level) любое другое значение `MAX_THINKING_TOKENS` игнорируется, потому что адаптивное рассуждение контролирует глубину thinking вместо этого. На Opus 4.6 и Sonnet 4.6 установите `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` на `1`, чтобы использовать фиксированный бюджет thinking; Fable 5, Sonnet 5 и Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.

604 608 

605<h3 id="cloud-sessions">609<h3 id="cloud-sessions">

606 Удалённые сеансы610 Удалённые сеансы


822Следующие функции доступны только в CLI или расширении VS Code, кроме случаев, указанных ниже:826Следующие функции доступны только в CLI или расширении VS Code, кроме случаев, указанных ниже:

823 827 

824* **Сторонние провайдеры**: Desktop подключается к API Anthropic по умолчанию. Развёртывания предприятия могут конфигурировать Vertex AI и провайдеров шлюза через [управляемые параметры](https://support.claude.com/en/articles/12622667-enterprise-configuration). Для Bedrock или Foundry в CLI см. [quickstart](/ru/quickstart). В качестве исключения из раздела выше, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) запускает вкладку Code на Bedrock, Vertex AI, Foundry или самостоятельно размещённом шлюзе LLM.828* **Сторонние провайдеры**: Desktop подключается к API Anthropic по умолчанию. Развёртывания предприятия могут конфигурировать Vertex AI и провайдеров шлюза через [управляемые параметры](https://support.claude.com/en/articles/12622667-enterprise-configuration). Для Bedrock или Foundry в CLI см. [quickstart](/ru/quickstart). В качестве исключения из раздела выше, [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/overview) запускает вкладку Code на Bedrock, Vertex AI, Foundry или самостоятельно размещённом шлюзе LLM.

825* **Linux**: приложение desktop доступно только на macOS и Windows. На Linux используйте [CLI](/ru/quickstart).829* **Linux (бета)**: Computer Use ещё недоступна в приложении desktop Linux. См. [Claude Desktop на Linux](/ru/desktop-linux).

826* **Встроенные предложения кода**: Desktop не предоставляет предложения в стиле автодополнения. Это работает через разговорные подсказки и явные изменения кода.830* **Встроенные предложения кода**: Desktop не предоставляет предложения в стиле автодополнения. Это работает через разговорные подсказки и явные изменения кода.

827* **Команды агентов**: параллельные сеансы Claude Code, которые обмениваются сообщениями друг с другом, доступны в [CLI](/ru/agent-teams), а не в Desktop. Для многоагентной работы внутри одного сеанса используйте [динамические рабочие процессы](/ru/workflows), которые работают в Desktop.831* **Команды агентов**: параллельные сеансы Claude Code, которые обмениваются сообщениями друг с другом, доступны в [CLI](/ru/agent-teams), а не в Desktop. Для многоагентной работы внутри одного сеанса используйте [динамические рабочие процессы](/ru/workflows), которые работают в Desktop.

828* **Команды диалога терминала**: встроенные команды, которые открывают интерактивную панель в терминале, такие как `/permissions`, `/config`, `/agents` и `/doctor`, недоступны на вкладке Code и отвечают сообщением `isn't available in this environment`. Отредактируйте [файлы параметров](/ru/settings) напрямую, чтобы управлять правилами разрешений и конфигурацией, или запустите команду из автономного CLI.832* **Команды диалога терминала**: встроенные команды, которые открывают интерактивную панель в терминале, такие как `/permissions`, `/config`, `/agents` и `/doctor`, недоступны на вкладке Code и отвечают сообщением `isn't available in this environment`. Отредактируйте [файлы параметров](/ru/settings) напрямую, чтобы управлять правилами разрешений и конфигурацией, или запустите команду из автономного CLI.


862Если приложение открывается, но показывает пустой или неответный экран:866Если приложение открывается, но показывает пустой или неответный экран:

863 867 

8641. Перезагрузите приложение.8681. Перезагрузите приложение.

8652. Проверьте наличие ожидающих обновлений. Приложение автоматически обновляется при запуске.8692. Проверьте наличие ожидающих обновлений. На macOS и Windows приложение автоматически обновляется при запуске; на Linux обновите через apt, как описано в [Claude Desktop на Linux](/ru/desktop-linux).

8663. На Windows проверьте Event Viewer на логи сбоев под **Windows Logs → Application**.8703. На Windows проверьте Event Viewer на логи сбоев под **Windows Logs → Application**.

867 871 

868<h3 id="failed-to-load-session">872<h3 id="failed-to-load-session">

desktop-linux.md +113 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Claude Desktop на Linux (бета)

6 

7> Установка и обновление приложения Claude Desktop на Ubuntu и Debian

8 

9<Note>

10 Поддержка Linux для приложения Claude Desktop находится в бета-версии. Доступны все вкладки Chat, Cowork и Code.

11</Note>

12 

13Приложение Desktop на Linux предоставляет вам тот же опыт Chat, Cowork и Claude Code, что и на macOS и Windows: параллельные сеансы, визуальный просмотр различий, интегрированный терминал и редактор, а также предпросмотр приложения в реальном времени. Полный справочник функций см. в разделе [Use Claude Code Desktop](/ru/desktop).

14 

15<h2 id="requirements">

16 Требования

17</h2>

18 

19* Ubuntu 22.04 или более поздняя версия, или Debian 12 или более поздняя версия

20* x86\_64 или arm64

21 

22Другие дистрибутивы на основе Debian, соответствующие этим требованиям, могут работать, но официально не тестируются.

23 

24<h2 id="install">

25 Установка

26</h2>

27 

28Установите из репозитория apt Anthropic, чтобы обновления поступали через обычные обновления пакетов вашей системы.

29 

30<Steps>

31 <Step title="Добавьте репозиторий apt Anthropic">

32 Загрузите ключ подписи Anthropic:

33 

34 ```bash theme={null}

35 sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc

36 ```

37 

38 Зарегистрируйте репозиторий:

39 

40 ```bash theme={null}

41 echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list

42 ```

43 </Step>

44 

45 <Step title="Установите пакет">

46 ```bash theme={null}

47 sudo apt update && sudo apt install claude-desktop

48 ```

49 </Step>

50 

51 <Step title="Запустите и войдите">

52 Запустите **Claude** из вашего средства запуска приложений или выполните `claude-desktop` из терминала и войдите с помощью вашей учетной записи Anthropic.

53 </Step>

54</Steps>

55 

56<Accordion title="Проверьте ключ подписи">

57 Вы можете подтвердить, что загруженный ключ подписи принадлежит Anthropic:

58 

59 ```bash theme={null}

60 gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc

61 ```

62 

63 Отпечаток должен быть `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE`.

64</Accordion>

65 

66<h3 id="install-from-a-downloaded-file">

67 Установка из загруженного файла

68</h3>

69 

70Если вы не можете использовать репозиторий apt, загрузите пакет `.deb` для вашей архитектуры (x64 или arm64) с сайта [claude.com/download](https://claude.com/download), затем либо откройте его с помощью установщика программного обеспечения, либо запустите из каталога загрузок:

71 

72```bash theme={null}

73sudo apt install ./claude-desktop_*.deb

74```

75 

76Пакет `.deb`, установленный таким образом, не получает обновления. Чтобы получать обновления через apt, добавьте репозиторий, как показано выше, или раскомментируйте строку `deb` в записи-заполнителе, которую пакет записывает в `/etc/apt/sources.list.d/claude-desktop.list`.

77 

78<h2 id="update">

79 Обновление

80</h2>

81 

82Приложение Desktop не обновляется само по себе на Linux. Обновления поступают с обычными обновлениями пакетов вашей системы:

83 

84```bash theme={null}

85sudo apt update && sudo apt upgrade

86```

87 

88Графический обновитель программного обеспечения вашего дистрибутива также будет подхватывать новые версии.

89 

90<h2 id="uninstall">

91 Удаление

92</h2>

93 

94```bash theme={null}

95sudo apt remove claude-desktop

96```

97 

98Это удаляет ключ подписи вместе с приложением, поэтому если вы добавили запись репозитория во время установки, удалите и её:

99 

100```bash theme={null}

101sudo rm /etc/apt/sources.list.d/claude-desktop.list

102```

103 

104<h2 id="what’s-not-in-the-linux-beta-yet">

105 Что еще не включено в бета-версию Linux

106</h2>

107 

108* **Computer Use**: [управление приложением и экраном](/ru/desktop#let-claude-use-your-computer) недоступно на Linux.

109* **Dictation**: голосовой ввод недоступен в приложении Claude Desktop для Linux. Используйте [голосовую диктовку](/ru/voice-dictation) в CLI вместо этого.

110* **Quick Entry global hotkey**: работает на X11. На нативном Wayland требуется портал GlobalShortcuts вашей среды рабочего стола.

111* **Fedora и RHEL**: сегодня поддерживаются только дистрибутивы на основе Debian. Поддержка дополнительных дистрибутивов появится в будущем.

112 

113Для всего, что еще недоступно в приложении Desktop, [CLI](/ru/quickstart) запускает тот же механизм Claude Code и поддерживает более широкий диапазон дистрибутивов Linux; см. [системные требования](/ru/setup#system-requirements).

Details

8 8 

9Настольное приложение предоставляет вам Claude Code с графическим интерфейсом, созданным для запуска нескольких сеансов рядом: боковая панель для управления параллельной работой, макет с перетаскиванием с интегрированным терминалом и редактором файлов, визуальный просмотр различий, предпросмотр приложения в реальном времени, мониторинг GitHub PR с автоматическим слиянием и запланированные задачи. Терминал не требуется.9Настольное приложение предоставляет вам Claude Code с графическим интерфейсом, созданным для запуска нескольких сеансов рядом: боковая панель для управления параллельной работой, макет с перетаскиванием с интегрированным терминалом и редактором файлов, визуальный просмотр различий, предпросмотр приложения в реальном времени, мониторинг GitHub PR с автоматическим слиянием и запланированные задачи. Терминал не требуется.

10 10 

11<CardGroup cols={2}>11<CardGroup cols={3}>

12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="Download for macOS" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">

13 Universal build for Intel and Apple Silicon13 Universal build for Intel and Apple Silicon

14 </Card>14 </Card>


16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">16 <Card title="Download for Windows" icon="windows" href="https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code&utm_medium=docs">

17 For x64 processors17 For x64 processors

18 </Card>18 </Card>

19 

20 <Card title="Get Claude for Linux (beta)" icon="linux" href="/en/desktop-linux">

21 apt or .deb for Ubuntu and Debian

22 </Card>

19</CardGroup>23</CardGroup>

20 24 

21For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). The desktop app is not available on Linux; use the [CLI](/en/quickstart) instead.25For Windows ARM64, download the [ARM64 installer](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs). On Linux, install with apt; see [Claude Desktop on Linux](/en/desktop-linux).

22 26 

23<Note>27<Note>

24 Claude Code требует [подписку Pro, Max, Team или Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).28 Claude Code требует [подписку Pro, Max, Team или Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).


40 44 

41<Steps>45<Steps>

42 <Step title="Установка и вход в систему">46 <Step title="Установка и вход в систему">

43 Загрузите установщик для вашей платформы по ссылкам выше и запустите его. Запустите Claude из папки Applications на macOS или из меню Start на Windows, затем войдите со своей учетной записью Anthropic.47 На macOS и Windows загрузите установщик по ссылкам выше и запустите его. На Linux следуйте инструкциям по установке в разделе [Claude Desktop на Linux](/ru/desktop-linux). Запустите Claude из папки Applications на macOS, из меню Start на Windows или из средства запуска приложений на Linux, затем войдите со своей учетной записью Anthropic.

44 </Step>48 </Step>

45 49 

46 <Step title="Откройте вкладку Code">50 <Step title="Откройте вкладку Code">

Details

224</Tip>224</Tip>

225 225 

226* **GitHub repositories**: формат `owner/repo` (например, `anthropics/claude-code`)226* **GitHub repositories**: формат `owner/repo` (например, `anthropics/claude-code`)

227* **Git URLs**: любой URL репозитория git (GitLab, Bitbucket, самостоятельно размещенные)227* **Git URLs**: любой URL репозитория git, включая GitLab, Bitbucket и самостоятельно размещенные серверы

228* **Local paths**: каталоги или прямые пути к файлам `marketplace.json`228* **Local paths**: каталоги или прямые пути к файлам `marketplace.json`

229* **Remote URLs**: прямые URL к размещенным файлам `marketplace.json`229* **Remote URLs**: прямые URL к размещенным файлам `marketplace.json`

230 230 


246 246 

247Добавьте любой репозиторий git, предоставив полный URL. Это работает с любым хостом Git, включая GitLab, Bitbucket и самостоятельно размещенные серверы. Включите суффикс `.git`, чтобы Claude Code клонировал репозиторий, а не рассматривал URL как прямую ссылку на размещенный файл `marketplace.json`.247Добавьте любой репозиторий git, предоставив полный URL. Это работает с любым хостом Git, включая GitLab, Bitbucket и самостоятельно размещенные серверы. Включите суффикс `.git`, чтобы Claude Code клонировал репозиторий, а не рассматривал URL как прямую ссылку на размещенный файл `marketplace.json`.

248 248 

249Включите префикс `https://` также. Claude Code v2.1.196 и более поздние версии отклоняют хост, введенный без него, например `gitlab.com/company/plugins.git`, как неправильное сокращение GitHub `owner/repo`, и ошибка указывает вам добавить префикс. Более ранние версии неправильно интерпретируют это как путь репозитория GitHub и не работают при клонировании.

250 

249Используя HTTPS:251Используя HTTPS:

250 252 

251```shell theme={null}253```shell theme={null}


298 Установка плагинов300 Установка плагинов

299</h2>301</h2>

300 302 

301После добавления маркетплейсов вы можете установить плагины напрямую (по умолчанию устанавливается в область пользователя):303После добавления маркетплейсов вы можете установить плагины напрямую:

302 304 

303```shell theme={null}305```shell theme={null}

304/plugin install plugin-name@marketplace-name306/plugin install plugin-name@marketplace-name

305```307```

306 308 

307Чтобы выбрать другую [область установки](/ru/settings#configuration-scopes), используйте интерактивный интерфейс: запустите `/plugin`, перейдите на вкладку **Discover** и нажмите **Enter** на плагине. Вы увидите опции для:309Команда открывает детали плагина, где вы выбираете [область установки](/ru/settings#configuration-scopes). Вы видите те же варианты, когда запускаете `/plugin`, переходите на вкладку **Discover** и нажимаете **Enter** на плагине:

308 310 

309* **User scope** (по умолчанию): установите для себя во всех проектах311* **User scope** (по умолчанию): установите для себя во всех проектах

310* **Project scope**: установите для всех сотрудников в этом репозитории (добавляет в `.claude/settings.json`)312* **Project scope**: установите для всех сотрудников в этом репозитории, что добавляет плагин в `.claude/settings.json`

311* **Local scope**: установите для себя только в этом репозитории (не делится с сотрудниками)313* **Local scope**: установите для себя в этом репозитории только, не делится с сотрудниками

314 

315Чтобы установить без интерактивного шага, используйте команду оболочки [`claude plugin install`](/ru/plugins-reference#plugin-install), которая устанавливает в область пользователя, если вы не передадите `--scope`.

312 316 

313Вы также можете увидеть плагины с областью **managed** они установлены администраторами через [управляемые параметры](/ru/settings#settings-files) и не могут быть изменены.317Вы также можете увидеть плагины с областью **managed**. Они установлены администраторами через [управляемые параметры](/ru/settings#settings-files) и не могут быть изменены.

314 318 

315<Warning>319<Warning>

316 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.320 Убедитесь, что вы доверяете плагину перед его установкой. Anthropic не контролирует, какие MCP servers, файлы или другое программное обеспечение включены в плагины, и не может проверить, что они работают как предполагается. Проверьте домашнюю страницу каждого плагина для получения дополнительной информации.


358/plugin enable plugin-name@marketplace-name362/plugin enable plugin-name@marketplace-name

359```363```

360 364 

365В этих идентификаторах `plugin-name` — это `name` плагина в [записи маркетплейса](/ru/plugin-marketplaces#plugin-entries), которое может отличаться от `name` в собственном `plugin.json` плагина.

366 

367Начиная с Claude Code v2.1.195, **Enable** и **Disable** в интерфейсе `/plugin` работают для плагинов, у которых два имени отличаются, и `/plugin enable` и `/plugin disable` принимают любое имя. Когда вы отключаете такой плагин в более ранней версии, Claude Code сообщает `already disabled` и оставляет его включенным.

368 

361Полностью удалите плагин:369Полностью удалите плагин:

362 370 

363```shell theme={null}371```shell theme={null}


464 472 

465Администраторы команды могут настроить автоматическую установку маркетплейса для проектов, добавив конфигурацию маркетплейса в `.claude/settings.json`. Когда члены команды доверяют папке репозитория, Claude Code предлагает им установить эти маркетплейсы и плагины.473Администраторы команды могут настроить автоматическую установку маркетплейса для проектов, добавив конфигурацию маркетплейса в `.claude/settings.json`. Когда члены команды доверяют папке репозитория, Claude Code предлагает им установить эти маркетплейсы и плагины.

466 474 

475Начиная с Claude Code v2.1.195, этот шаг установки применяется на каждом пути, который загружает плагины. Плагин, который включен только в `.claude/settings.json` проекта и поступает из внешнего источника, такого как репозиторий GitHub или пакет npm, не загружается до тех пор, пока член команды его не установит. До этого момента Claude Code сообщает о плагине как не установленном и показывает команду `claude plugin install` для запуска.

476 

467Добавьте `extraKnownMarketplaces` в `.claude/settings.json` вашего проекта:477Добавьте `extraKnownMarketplaces` в `.claude/settings.json` вашего проекта:

468 478 

469```json theme={null}479```json theme={null}


499 509 

5001. **Check your version**: запустите `claude --version`, чтобы увидеть, что установлено.5101. **Check your version**: запустите `claude --version`, чтобы увидеть, что установлено.

5012. **Update Claude Code**:5112. **Update Claude Code**:

502 * **Homebrew**: `brew upgrade claude-code` (или `brew upgrade claude-code@latest`, если вы установили этот cask)512 * **Homebrew**: `brew upgrade claude-code`, или `brew upgrade claude-code@latest`, если вы установили этот cask

503 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`513 * **npm**: `npm install -g @anthropic-ai/claude-code@latest`

504 * **Native installer**: повторно запустите команду установки из [Setup](/ru/setup)514 * **Native installer**: повторно запустите команду установки из [Setup](/ru/setup)

5053. **Restart Claude Code**: после обновления перезагрузите терминал и снова запустите `claude`.5153. **Restart Claude Code**: после обновления перезагрузите терминал и снова запустите `claude`.


509</h3>519</h3>

510 520 

511* **Marketplace not loading**: проверьте, что URL доступен и что `.claude-plugin/marketplace.json` существует по пути521* **Marketplace not loading**: проверьте, что URL доступен и что `.claude-plugin/marketplace.json` существует по пути

512* **Plugin installation failures**: проверьте, что URL источника плагина доступны и репозитории являются общедоступными (или у вас есть доступ)522* **Plugin installation failures**: проверьте, что URL источника плагина доступны и репозитории являются общедоступными, или что у вас есть доступ к ним

513* **Files not found after installation**: плагины копируются в кэш, поэтому пути, ссылающиеся на файлы вне каталога плагина, не будут работать523* **Files not found after installation**: плагины копируются в кэш, поэтому пути, ссылающиеся на файлы вне каталога плагина, не будут работать

514* **Plugin skills not appearing**: очистите кэш с помощью `rm -rf ~/.claude/plugins/cache`, перезагрузите Claude Code и переустановите плагин.524* **Plugin skills not appearing**: очистите кэш с помощью `rm -rf ~/.claude/plugins/cache`, перезагрузите Claude Code и переустановите плагин.

515 525 

env-vars.md +24 −18

Details

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

103| `ANTHROPIC_AWS_BASE_URL` | Переопределить URL конечной точки [Claude Platform on AWS](/ru/claude-platform-on-aws). Используйте для пользовательских регионов или при маршрутизации через [шлюз LLM](/ru/llm-gateway). По умолчанию `https://aws-external-anthropic.{AWS_REGION}.api.aws` |103| `ANTHROPIC_AWS_BASE_URL` | Переопределить URL конечной точки [Claude Platform on AWS](/ru/claude-platform-on-aws). Используйте для пользовательских регионов или при маршрутизации через [шлюз LLM](/ru/llm-gateway). По умолчанию `https://aws-external-anthropic.{AWS_REGION}.api.aws` |

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

105| `ANTHROPIC_BASE_URL` | Переопределить конечную точку API для маршрутизации запросов через прокси или шлюз. При установке на хост, не являющийся хостом первой стороны, [поиск инструментов MCP](/ru/mcp#scale-with-mcp-tool-search) отключен по умолчанию. Установите `ENABLE_TOOL_SEARCH=true`, если ваш прокси пересылает блоки `tool_reference` |105| `ANTHROPIC_BASE_URL` | Переопределить конечную точку API для маршрутизации запросов через прокси или шлюз. При установке на хост, не являющийся хостом первой стороны, [поиск инструментов MCP](/ru/mcp#scale-with-mcp-tool-search) отключен по умолчанию. Установите `ENABLE_TOOL_SEARCH=true`, если ваш прокси пересылает блоки `tool_reference`. {/* min-version: 2.1.196 */}Начиная с v2.1.196, [Remote Control](/ru/remote-control#requirements) отключен, когда это указывает на хост, отличный от `api.anthropic.com`, что соответствует его поведению на Bedrock, Vertex AI и Foundry |

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

107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределить URL конечной точки Bedrock Mantle. См. [конечная точка Mantle](/ru/amazon-bedrock#use-the-mantle-endpoint) |107| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Переопределить URL конечной точки Bedrock Mantle. См. [конечная точка Mantle](/ru/amazon-bedrock#use-the-mantle-endpoint) |

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


148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист |148| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Установите на `1`, чтобы отключить все встроенные типы [subagent](/ru/sub-agents), такие как Explore и Plan. Применяется только в неинтерактивном режиме (флаг `-p`). Полезно для пользователей SDK, которые хотят чистый лист |

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

150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Тайм-аут зависания в миллисекундах для фоновых subagents. По умолчанию `600000` (10 минут). Таймер сбрасывается при каждом событии потоковой передачи прогресса; если прогресс не поступает в течение окна, subagent прерывается и задача отмечается как неудачная, выводя любой частичный результат родителю |150| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Тайм-аут зависания в миллисекундах для фоновых subagents. По умолчанию `600000` (10 минут). Таймер сбрасывается при каждом событии потоковой передачи прогресса; если прогресс не поступает в течение окна, subagent прерывается и задача отмечается как неудачная, выводя любой частичный результат родителю |

151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна auto-compaction, при котором срабатывает auto-compaction. Используйте меньшие значения, такие как `50`, для более раннего сжатия. Эта переменная вызывает более раннее сжатие только когда Claude Code сжимает упреждающе: когда установлен `CLAUDE_CODE_AUTO_COMPACT_WINDOW`, в [облачных сессиях](/ru/claude-code-on-the-web) и на Sonnet 4.6 и Opus 4.6 без [расширенного контекста](/ru/model-config#extended-context), которые сжимаются на границе 200K по умолчанию. В других случаях, таких как локальная сессия на Opus 4.8 или любой модели с расширенным контекстом, auto-compaction срабатывает, когда разговор достигает лимита контекста модели. Переопределение может только снизить порог, поэтому значения выше значения по умолчанию не имеют эффекта. Применяется как к основным разговорам, так и к subagents |151| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна auto-compaction, при котором срабатывает auto-compaction. Используйте меньшие значения, такие как `50`, для более раннего сжатия. Эта переменная вызывает более раннее сжатие только когда Claude Code сжимает упреждающе: когда установлен `CLAUDE_CODE_AUTO_COMPACT_WINDOW`, в [облачных сессиях](/ru/claude-code-on-the-web) и на Sonnet 4.6 и Opus 4.6 без [расширенного контекста](/ru/model-config#extended-context), которые сжимаются на границе 200K по умолчанию. На Sonnet 5 упреждающее сжатие применяется на [пороге по умолчанию](/ru/model-config#sonnet-5-context-window) модели. В других случаях, таких как локальная сессия на Opus 4.8, auto-compaction срабатывает, когда разговор достигает лимита контекста модели. Переопределение может только снизить порог, поэтому значения выше значения по умолчанию не имеют эффекта. Применяется как к основным разговорам, так и к subagents |

152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. При включении subagents перемещаются в фон после выполнения примерно две минуты |152| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. При включении subagents перемещаются в фон после выполнения примерно две минуты |

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

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


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

161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Установите на `0`, чтобы остановить Claude Code от автоматического открытия браузера при публикации нового [artifact](/ru/artifacts). Повторная публикация существующего artifact не открывает браузер независимо от этого параметра |161| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Установите на `0`, чтобы остановить Claude Code от автоматического открытия браузера при публикации нового [artifact](/ru/artifacts). Повторная публикация существующего artifact не открывает браузер независимо от этого параметра |

162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить блок атрибуции (версия клиента и отпечаток приглашения) с начала системного приглашения. Отключение его улучшает коэффициент попадания кэша приглашений при маршрутизации через [шлюз LLM](/ru/llm-gateway). Кэширование Anthropic API не затронуто |162| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Установите на `0`, чтобы опустить блок атрибуции (версия клиента и отпечаток приглашения) с начала системного приглашения. Отключение его улучшает коэффициент попадания кэша приглашений при маршрутизации через [шлюз LLM](/ru/llm-gateway). Кэширование Anthropic API не затронуто |

163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установите ёмкость контекста в токенах, используемую для расчётов auto-compaction. По умолчанию используется контекстное окно модели: 200K для стандартных моделей или 1M для моделей с [расширенным контекстом](/ru/model-config#extended-context). Используйте меньшее значение, такое как `500000`, на модели 1M, чтобы рассматривать окно как 500K для целей сжатия. Значение ограничено фактическим контекстным окном модели. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется как процент от этого значения. Установка этой переменной отделяет порог сжатия от `used_percentage` в строке состояния, который всегда использует полное контекстное окно модели |163| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Установите ёмкость контекста в токенах, используемую для расчётов auto-compaction. По умолчанию используется контекстное окно модели: 200K для стандартных моделей или 1M для моделей с [расширенным контекстом](/ru/model-config#extended-context), кроме Sonnet 5, который имеет свой [порог по умолчанию](/ru/model-config#sonnet-5-context-window). Используйте меньшее значение, такое как `500000`, на модели 1M, чтобы рассматривать окно как 500K для целей сжатия. Значение ограничено фактическим контекстным окном модели. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` применяется как процент от этого значения. Установка этой переменной отделяет порог сжатия от `used_percentage` в строке состояния, который всегда использует полное контекстное окно модели |

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

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

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

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

168| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |168| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу приватного ключа клиента для аутентификации mTLS |


170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Удалено в v2.1.186 и теперь является no-op. Ранее устанавливало отдельный тайм-аут для фазы подключения, TLS и заголовка ответа потокового запроса API. Используйте `API_TIMEOUT_MS` для тайм-аута для каждого запроса |170| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | {/* max-version: 2.1.185 */}Удалено в v2.1.186 и теперь является no-op. Ранее устанавливало отдельный тайм-аут для фазы подключения, TLS и заголовка ответа потокового запроса API. Используйте `API_TIMEOUT_MS` для тайм-аута для каждого запроса |

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

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

173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [контекстного окна 1M](/ru/model-config#extended-context). При установке варианты модели 1M недоступны в средстве выбора модели. Полезно для корпоративных сред с требованиями соответствия |173| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите на `1`, чтобы отключить поддержку [контекстного окна 1M](/ru/model-config#extended-context). При установке варианты модели 1M недоступны в средстве выбора модели, и сессии [Sonnet 5](/ru/model-config#sonnet-5-context-window) рассматриваются как имеющие окно 200K. Полезно для корпоративных сред с требованиями соответствия |

174| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Начиная с v2.1.111, не влияет на Fable 5 или на Opus 4.7 и более поздние версии, которые всегда используют адаптивное рассуждение |174| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Установите на `1`, чтобы отключить [адаптивное рассуждение](/ru/model-config#adjust-effort-level) на Opus 4.6 и Sonnet 4.6 и вернуться к фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. {/* min-version: 2.1.111 */}Начиная с v2.1.111, не влияет на Fable 5, Sonnet 5 или на Opus 4.7 и более поздние версии, которые всегда используют адаптивное рассуждение |

175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Установите на `1`, чтобы отключить [инструмент advisor](/ru/advisor). Команда `/advisor` и флаг `--advisor` становятся недоступными и любой настроенный `advisorModel` игнорируется. Требуется Claude Code v2.1.98 или более поздняя версия |175| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | {/* min-version: 2.1.98 */}Установите на `1`, чтобы отключить [инструмент advisor](/ru/advisor). Команда `/advisor` и флаг `--advisor` становятся недоступными и любой настроенный `advisorModel` игнорируется. Требуется Claude Code v2.1.98 или более поздняя версия |

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

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


179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |179| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |

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

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

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

183| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}Установите на `1`, чтобы остановить Claude Code от завершения [фоновых команд оболочки](/ru/interactive-mode#background-bash-commands) при сообщении операционной системой о нехватке памяти. По умолчанию на macOS и Linux Claude Code завершает фоновую оболочку, запущенную в основной сессии, при сигнале нехватки памяти, как только сессия была неактивна в течение 30 минут и ни один ход или subagent не выполняется. Windows не имеет сигнала нехватки памяти, поэтому эта переменная не влияет там. Требуется Claude Code v2.1.193 или более поздняя версия |

182| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите на `1`, чтобы отключить [skills](/ru/skills) и workflows, которые поставляются с Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные slash commands, такие как `/init`, остаются доступными для ввода, но скрыты от модели. Skills из plugins, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалент параметра [`disableBundledSkills`](/ru/settings#available-settings); `0` не переопределяет его |184| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Установите на `1`, чтобы отключить [skills](/ru/skills) и workflows, которые поставляются с Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные slash commands, такие как `/init`, остаются доступными для ввода, но скрыты от модели. Skills из plugins, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалент параметра [`disableBundledSkills`](/ru/settings#available-settings); `0` не переопределяет его |

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

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

185| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta` для Anthropic и поля схемы инструментов beta (такие как `defer_loading` и `eager_input_streaming`) из запросов API. Используйте это, когда шлюз прокси отклоняет запросы с ошибками типа "Unexpected value(s) for the `anthropic-beta` header" или "Extra inputs are not permitted". Стандартные поля (`name`, `description`, `input_schema`, `cache_control`) сохраняются. |187| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Установите на `1`, чтобы удалить заголовки запроса `anthropic-beta` для Anthropic и поля схемы инструментов beta (такие как `defer_loading` и `eager_input_streaming`) из запросов API. Используйте это, когда шлюз прокси отклоняет запросы с ошибками типа "Unexpected value(s) for the `anthropic-beta` header" или "Extra inputs are not permitted". Стандартные поля (`name`, `description`, `input_schema`, `cache_control`) сохраняются |

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

187| `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`](/ru/settings#available-settings). См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |189| `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`](/ru/settings#available-settings). См. [Опросы качества сессии](/ru/data-usage#session-quality-surveys) |

188| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите на `1`, чтобы отключить [checkpointing](/ru/checkpointing) файлов. Команда `/rewind` не сможет восстановить изменения кода |190| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Установите на `1`, чтобы отключить [checkpointing](/ru/checkpointing) файлов. Команда `/rewind` не сможет восстановить изменения кода |

189| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите на `1`, чтобы удалить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git из системного приглашения Claude. Полезно при использовании собственных skills рабочего процесса git. Имеет приоритет над параметром [`includeGitInstructions`](/ru/settings#available-settings) при установке |191| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Установите на `1`, чтобы удалить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git из системного приглашения Claude. Полезно при использовании собственных skills рабочего процесса git. Имеет приоритет над параметром [`includeGitInstructions`](/ru/settings#available-settings) при установке |

190| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите на `1`, чтобы предотвратить автоматическое переназначение Opus 4.0 и 4.1 на текущую версию Opus в Anthropic API. Используйте, когда вы намеренно хотите закрепить старую модель. Переназначение не выполняется на Bedrock, Vertex или Foundry |192| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Установите на `1`, чтобы предотвратить автоматическое переназначение Opus 4.0 и 4.1 на текущую версию Opus в Anthropic API. Используйте, когда вы намеренно хотите закрепить старую модель. Переназначение не выполняется на Bedrock, Vertex или Foundry |

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

194| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | {/* min-version: 2.1.195 */}Установите на `1`, чтобы отключить обработку щелчков, перетаскивания и наведения в [полноэкранном режиме](/ru/fullscreen), сохраняя прокрутку колеса мыши. Используйте это, когда вы хотите, чтобы прокрутка колеса работала внутри Claude Code, но не хотите, чтобы щелчки позиционировали курсор, расширяли вывод инструмента или открывали ссылки. `CLAUDE_CODE_DISABLE_MOUSE` имеет приоритет, когда оба установлены. Требуется Claude Code v2.1.195 или более поздняя версия |

192| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Эквивалент установки `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` и `DISABLE_TELEMETRY` |195| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Эквивалент установки `DISABLE_AUTOUPDATER`, `DISABLE_FEEDBACK_COMMAND`, `DISABLE_ERROR_REPORTING` и `DISABLE_TELEMETRY` |

193| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Установите на `1`, чтобы отключить резервный вариант без потоковой передачи, когда запрос потоковой передачи не удаётся в середине потока. Ошибки потоковой передачи распространяются на уровень повтора вместо этого. Полезно, когда прокси или шлюз вызывает резервный вариант для создания дублирующегося выполнения инструмента |196| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Установите на `1`, чтобы отключить резервный вариант без потоковой передачи, когда запрос потоковой передачи не удаётся в середине потока. Ошибки потоковой передачи распространяются на уровень повтора вместо этого. Полезно, когда прокси или шлюз вызывает резервный вариант для создания дублирующегося выполнения инструмента |

197| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | {/* min-version: 2.1.193 */}Установите на `1`, чтобы отправить уведомление на рабочий стол инструмента `PushNotification` даже во время ввода текста в терминал или его фокусировки. По умолчанию инструмент пропускает как уведомление на рабочий стол, так и [мобильный push](/ru/remote-control#mobile-push-notifications), когда обнаруживает недавнюю активность клавиатуры или фокус терминала. Эта переменная отключает только эту локальную проверку, поэтому сервер по-прежнему может подавить мобильный push, когда обнаруживает, что вы активны. Требуется Claude Code v2.1.193 или более поздняя версия |

194| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите на `1`, чтобы пропустить автоматическое добавление официального marketplace plugin при первом запуске |198| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Установите на `1`, чтобы пропустить автоматическое добавление официального marketplace plugin при первом запуске |

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

196| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите на `1`, чтобы отключить автоматическое обновление заголовка терминала на основе контекста разговора. В сессиях Agent SDK и `claude -p` это также пропускает фоновый запрос Haiku, который генерирует заголовок сессии |200| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Установите на `1`, чтобы отключить автоматическое обновление заголовка терминала на основе контекста разговора. В сессиях Agent SDK и `claude -p` это также пропускает фоновый запрос Haiku, который генерирует заголовок сессии |


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

199| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите на `1`, чтобы отключить [workflows](/ru/workflows#turn-workflows-off). Эквивалент параметра [`disableWorkflows`](/ru/settings#available-settings) |203| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Установите на `1`, чтобы отключить [workflows](/ru/workflows#turn-workflows-off). Эквивалент параметра [`disableWorkflows`](/ru/settings#available-settings) |

200| `CLAUDE_CODE_EFFORT_LEVEL` | Установите уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения по умолчанию модели. Доступные уровни зависят от модели. Имеет приоритет над `/effort` и параметром `effortLevel`. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) |204| `CLAUDE_CODE_EFFORT_LEVEL` | Установите уровень усилий для поддерживаемых моделей. Значения: `low`, `medium`, `high`, `xhigh`, `max` или `auto` для использования значения по умолчанию модели. Доступные уровни зависят от модели. Имеет приоритет над `/effort` и параметром `effortLevel`. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) |

201| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Установите на `1`, чтобы сделать [автоматический режим](/ru/permission-modes#eliminate-prompts-with-auto-mode) доступным на Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry. Требуется Claude Code v2.1.158 или более поздняя версия. Не влияет на Anthropic API, где автоматический режим доступен по умолчанию. См. [Включить автоматический режим на Bedrock, Vertex AI или Foundry](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |205| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Установите на `1`, чтобы сделать [автоматический режим](/ru/permission-modes#eliminate-prompts-with-auto-mode) доступным на Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry и вошедших в систему сессиях [Claude apps gateway](/ru/claude-apps-gateway). Требуется Claude Code v2.1.158 или более поздняя версия. Не влияет на Anthropic API, где автоматический режим доступен по умолчанию. См. [Включить автоматический режим на Bedrock, Vertex AI или Foundry](/ru/permission-modes#enable-auto-mode-on-bedrock-vertex-ai-or-foundry) |

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

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

204| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите на `1`, чтобы направить опрос качества сессии "How is Claude doing?" на ваш собственный [сборщик OpenTelemetry](/ru/monitoring-usage), когда трафик, не связанный с Anthropic, заблокирован. Оценки опроса выдаются только как события OTEL вашему настроенному сборщику. Никакие данные опроса не отправляются в Anthropic в этом режиме. Применяется, когда установлена переменная `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, и не имеет эффекта в противном случае. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика обратной связи организации имеют приоритет |208| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Установите на `1`, чтобы направить опрос качества сессии "How is Claude doing?" на ваш собственный [сборщик OpenTelemetry](/ru/monitoring-usage), когда трафик, не связанный с Anthropic, заблокирован. Оценки опроса выдаются только как события OTEL вашему настроенному сборщику. Никакие данные опроса не отправляются в Anthropic в этом режиме. Применяется, когда установлена переменная `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` или `DO_NOT_TRACK`, и не имеет эффекта в противном случае. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` и политика обратной связи организации имеют приоритет |

205| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет потоковой передачей входных данных инструмента с тонкой зернистостью из API по мере их создания Claude. С этим отключением большой входной параметр инструмента, такой как длинная запись файла, поступает только после завершения создания Claude, что может выглядеть как зависание. Включено по умолчанию на Anthropic API. На Bedrock и Vertex включено для каждой модели, где развёрнутый контейнер это поддерживает. Установите на `0`, чтобы отказаться. Установите на `1`, чтобы принудительно включить при маршрутизации через прокси через `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. Отключено по умолчанию на Foundry и соединениях [шлюза](/ru/llm-gateway) |209| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет потоковой передачей входных данных инструмента с тонкой зернистостью из API по мере их создания Claude. С этим отключением большой входной параметр инструмента, такой как длинная запись файла, поступает только после завершения создания Claude, что может выглядеть как зависание. Включено по умолчанию на Anthropic API. На Bedrock и Vertex включено для каждой модели, где развёрнутый контейнер это поддерживает. Установите на `0`, чтобы отказаться. Установите на `1`, чтобы принудительно включить при маршрутизации через прокси через `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. Отключено по умолчанию на Foundry и соединениях [шлюза](/ru/llm-gateway) |

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

207| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | {/* max-version: 2.1.141 */}Удалено в v2.1.142, когда [быстрый режим](/ru/fast-mode) по умолчанию переместился с Opus 4.6 на Opus 4.7 |211| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | {/* max-version: 2.1.141 */}Удалено в v2.1.142, когда [быстрый режим](/ru/fast-mode) по умолчанию переместился с Opus 4.6 на Opus 4.7 |

208| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите на `false`, чтобы отключить предложения приглашений (переключатель "Prompt suggestions" в `/config`). Это затемнённые предсказания, которые появляются в вашем вводе приглашения после ответа Claude. См. [Предложения приглашений](/ru/interactive-mode#prompt-suggestions) |212| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите на `false`, чтобы отключить предложения приглашений (переключатель "Prompt suggestions" в `/config`). Это затемнённые предсказания, которые появляются в вашем вводе приглашения после ответа Claude. См. [Предложения приглашений](/ru/interactive-mode#prompt-suggestions) |

209| `CLAUDE_CODE_ENABLE_TASKS` | Управляет тем, используют ли сессии структурированные инструменты Task (`TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList`) или устаревший инструмент `TodoWrite`. {/* min-version: 2.1.142 */}Начиная с Claude Code v2.1.142, инструменты Task являются стандартом во всех режимах. Установите на `0`, чтобы вернуться к `TodoWrite`. См. [Список задач](/ru/interactive-mode#task-list) и [Миграция на инструменты Task](/ru/agent-sdk/todo-tracking#migrate-to-task-tools) |213| `CLAUDE_CODE_ENABLE_TASKS` | Управляет тем, используют ли сессии структурированные инструменты Task (`TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList`) или устаревший инструмент `TodoWrite`. {/* min-version: 2.1.142 */}Начиная с Claude Code v2.1.142, инструменты Task являются стандартом во всех режимах. Установите на `0`, чтобы вернуться к `TodoWrite`. См. [Список задач](/ru/interactive-mode#task-list) и [Миграция на инструменты Task](/ru/agent-sdk/todo-tracking#migrate-to-task-tools) |


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

225| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Пропустить автоматическую установку расширений IDE. Эквивалент установки [`autoInstallIdeExtension`](/ru/settings#global-config-settings) на `false` |229| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Пропустить автоматическую установку расширений IDE. Эквивалент установки [`autoInstallIdeExtension`](/ru/settings#global-config-settings) на `false` |

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

227| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Переопределить размер контекстного окна, который Claude Code предполагает для активной модели. Вступает в силу только при установке `DISABLE_COMPACT`. Используйте это при маршрутизации к модели через `ANTHROPIC_BASE_URL`, чьё контекстное окно не совпадает с встроенным размером для её имени |231| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Переопределить размер контекстного окна, который Claude Code предполагает для активной модели. {/* min-version: 2.1.193 */}Начиная с v2.1.193, применяется непосредственно для имён моделей, которые Claude Code не распознаёт как модель Claude; для распознанных моделей Claude это вступает в силу только при установке `DISABLE_COMPACT`. Используйте это при маршрутизации к модели через `ANTHROPIC_BASE_URL`, чьё контекстное окно не совпадает с встроенным размером для её имени |

228| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Установите максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и максимальные значения варьируются в зависимости от модели; см. [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Увеличение этого значения уменьшает доступное контекстное окно перед срабатыванием [auto-compaction](/ru/costs#reduce-token-usage). |232| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Установите максимальное количество выходных токенов для большинства запросов. Значения по умолчанию и максимальные значения варьируются в зависимости от модели; см. [максимальное количество выходных токенов](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Увеличение этого значения уменьшает доступное контекстное окно перед срабатыванием [auto-compaction](/ru/costs#reduce-token-usage) |

229| `CLAUDE_CODE_MAX_RETRIES` | Переопределить количество попыток повтора неудачных запросов API (по умолчанию: 10). {/* min-version: 2.1.186 */}Ограничено 15 начиная с v2.1.186. Для автоматических сессий, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG` вместо этого |233| `CLAUDE_CODE_MAX_RETRIES` | Переопределить количество попыток повтора неудачных запросов API (по умолчанию: 10). {/* min-version: 2.1.186 */}Ограничено 15 начиная с v2.1.186. Для автоматических сессий, которым нужно ждать через более длительные сбои, установите `CLAUDE_CODE_RETRY_WATCHDOG` вместо этого |

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

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

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

233| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Тайм-аут неактивности в миллисекундах для удалённых вызовов инструментов MCP (по умолчанию: 300000, или 5 минут). Когда HTTP, SSE, WebSocket или [claude.ai connector](/ru/mcp#use-mcp-servers-from-claude-ai) MCP server не отправляет ответ и не отправляет уведомление о прогрессе в течение этого времени, вызов инструмента прерывается с ошибкой вместо ожидания стены часов `MCP_TOOL_TIMEOUT`. Установите на `0`, чтобы отключить проверку неактивности. Значения ниже 1000 повышаются до одной секунды, и значение ограничено эффективным `MCP_TOOL_TIMEOUT`. Не применяется к stdio или IDE servers. Требуется Claude Code v2.1.187 или более поздняя версия |237| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | {/* min-version: 2.1.187 */}Тайм-аут неактивности в миллисекундах для удалённых вызовов инструментов MCP (по умолчанию: 300000, или 5 минут). Когда HTTP, SSE, WebSocket или [claude.ai connector](/ru/mcp#use-mcp-servers-from-claude-ai) MCP server не отправляет ответ и не отправляет уведомление о прогрессе в течение этого времени, вызов инструмента прерывается с ошибкой вместо ожидания стены часов `MCP_TOOL_TIMEOUT`. Установите на `0`, чтобы отключить проверку неактивности. Значения ниже 1000 повышаются до одной секунды, и значение ограничено эффективным `MCP_TOOL_TIMEOUT`. Не применяется к stdio или IDE servers. Требуется Claude Code v2.1.187 или более поздняя версия |

234| `CLAUDE_CODE_NATIVE_CURSOR` | Установите на `1`, чтобы показать собственный курсор терминала в позиции ввода вместо нарисованного блока. Курсор соблюдает параметры мигания, формы и фокуса терминала |238| `CLAUDE_CODE_NATIVE_CURSOR` | Установите на `1`, чтобы показать собственный курсор терминала в позиции ввода вместо нарисованного блока. Курсор соблюдает параметры мигания, формы и фокуса терминала |

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

236| `CLAUDE_CODE_NO_FLICKER` | Установите на `1`, чтобы включить [полноэкранный режим](/ru/fullscreen), исследовательский предпросмотр, который уменьшает мерцание и сохраняет память плоской в длинных разговорах. Эквивалент параметра [`tui`](/ru/settings#available-settings); вы также можете переключаться с помощью `/tui fullscreen` |240| `CLAUDE_CODE_NO_FLICKER` | Установите на `1`, чтобы включить [полноэкранный режим](/ru/fullscreen), исследовательский предпросмотр, который уменьшает мерцание и сохраняет память плоской в длинных разговорах. Эквивалент параметра [`tui`](/ru/settings#available-settings); вы также можете переключаться с помощью `/tui fullscreen` |

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

238| `CLAUDE_CODE_OAUTH_SCOPES` | Разделённые пробелом OAuth области, с которыми был выдан токен обновления, такие как `"user:profile user:inference user:sessions:claude_code"`. Требуется, когда установлен `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |242| `CLAUDE_CODE_OAUTH_SCOPES` | Разделённые пробелом OAuth области, с которыми был выдан токен обновления, такие как `"user:profile user:inference user:sessions:claude_code"`. Требуется, когда установлен `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` |

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

240| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Удалено в v2.1.160 и теперь является no-op. Ранее закреплял [быстрый режим](/ru/fast-mode) на Claude Opus 4.6 вместо текущего стандарта |244| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | {/* max-version: 2.1.159 */}Удалено в v2.1.160 и теперь является no-op. Ранее закреплял [быстрый режим](/ru/fast-mode) на Claude Opus 4.6 вместо текущего стандарта. Opus 4.6 больше не поддерживает быстрый режим |

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

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

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


261| `CLAUDE_CODE_RETRY_WATCHDOG` | {/* min-version: 2.1.186 */}Установите на `1` для автоматических сессий, таких как eval harnesses, CI jobs или удалённые рабочие. Повторяет ошибки ёмкости `429` и `529` бесконечно вместо отказа после попыток `CLAUDE_CODE_MAX_RETRIES`. Сторож отступает до 5 минут между попытками, или до сброса лимита, когда ответ содержит время сброса ограничения скорости, поэтому сессия, которая попадает в лимит использования, ждёт оставшегося окна. Требуется Claude Code v2.1.186 или более поздняя версия |265| `CLAUDE_CODE_RETRY_WATCHDOG` | {/* min-version: 2.1.186 */}Установите на `1` для автоматических сессий, таких как eval harnesses, CI jobs или удалённые рабочие. Повторяет ошибки ёмкости `429` и `529` бесконечно вместо отказа после попыток `CLAUDE_CODE_MAX_RETRIES`. Сторож отступает до 5 минут между попытками, или до сброса лимита, когда ответ содержит время сброса ограничения скорости, поэтому сессия, которая попадает в лимит использования, ждёт оставшегося окна. Требуется Claude Code v2.1.186 или более поздняя версия |

262| `CLAUDE_CODE_SAFE_MODE` | Установите на `1`, чтобы запустить в безопасном режиме: CLAUDE.md, skills, plugins, hooks, MCP servers, пользовательские команды и агенты, стили вывода, workflows, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и предложения файлов, LSP servers и автоматическая память не загружаются для устранения неполадок в сломанной конфигурации. Политика управляемых параметров по-прежнему применяется, включая hooks, настроенные политикой, строку состояния и команды предложения файлов; управляемые plugins, управляемые skills, управляемые CLAUDE.md и настроенные политикой MCP servers не применяются. Эквивалент передачи [`--safe-mode`](/ru/cli-reference#cli-flags). Непосредственно порождённые дочерние процессы наследуют переменную |266| `CLAUDE_CODE_SAFE_MODE` | Установите на `1`, чтобы запустить в безопасном режиме: CLAUDE.md, skills, plugins, hooks, MCP servers, пользовательские команды и агенты, стили вывода, workflows, пользовательские темы, пользовательские сочетания клавиш, команды строки состояния и предложения файлов, LSP servers и автоматическая память не загружаются для устранения неполадок в сломанной конфигурации. Политика управляемых параметров по-прежнему применяется, включая hooks, настроенные политикой, строку состояния и команды предложения файлов; управляемые plugins, управляемые skills, управляемые CLAUDE.md и настроенные политикой MCP servers не применяются. Эквивалент передачи [`--safe-mode`](/ru/cli-reference#cli-flags). Непосредственно порождённые дочерние процессы наследуют переменную |

263| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сессию, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения целого числа вызовов. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему учитываются в отношении лимита. Разветвление среды выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |267| `CLAUDE_CODE_SCRIPT_CAPS` | JSON объект, ограничивающий, сколько раз конкретные скрипты могут быть вызваны за сессию, когда установлен `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`. Ключи — это подстроки, сопоставленные с текстом команды; значения — это ограничения целого числа вызовов. Например, `{"deploy.sh": 2}` позволяет `deploy.sh` быть вызванным максимум дважды. Сопоставление основано на подстроке, поэтому трюки расширения оболочки, такие как `./scripts/deploy.sh $(evil)`, по-прежнему учитываются в отношении лимита. Разветвление среды выполнения через `xargs` или `find -exec` не обнаруживается; это контроль защиты в глубину |

264| `CLAUDE_CODE_SCROLL_SPEED` | Установите множитель прокрутки колеса мыши в [полноэкранном режиме](/ru/fullscreen#mouse-wheel-scrolling). Принимает значения от 1 до 20, и дробные значения ниже 1, такие как `0.5`, чтобы замедлить ускоренную прокрутку трекпада и колеса в терминалах на собственном пути прокрутки. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на зубец без усиления. Игнорируется в встроенном терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |268| `CLAUDE_CODE_SCROLL_SPEED` | Установите множитель прокрутки колеса мыши в [полноэкранном режиме](/ru/fullscreen#mouse-wheel-scrolling). Принимает значения от 1 до 20, и дробные значения ниже 1, такие как `0.5`, чтобы замедлить ускоренную прокрутку трекпада и колеса в терминалах, которые уже усиливают события колеса. Установите на `3`, чтобы соответствовать `vim`, если ваш терминал отправляет одно событие колеса на зубец без усиления. Игнорируется в встроенном терминале JetBrains IDE, где Claude Code использует собственную обработку прокрутки |

265| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/ru/hooks#sessionend) hooks. Применяется к выходу из сессии, `/clear` и переключению сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды, автоматически повышается до наивысшего `timeout` для каждого hook, настроенного в файлах параметров, до 60 секунд. Тайм-ауты на hooks, предоставленные plugin, не повышают бюджет |269| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Переопределить бюджет времени в миллисекундах для [SessionEnd](/ru/hooks#sessionend) hooks. Применяется к выходу из сессии, `/clear` и переключению сессий через интерактивный `/resume`. По умолчанию бюджет составляет 1,5 секунды, автоматически повышается до наивысшего `timeout` для каждого hook, настроенного в файлах параметров, до 60 секунд. Тайм-ауты на hooks, предоставленные plugin, не повышают бюджет |

266| `CLAUDE_CODE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и PowerShell, подпроцессах [команды hook](/ru/hooks) и подпроцессах stdio [MCP server](/ru/mcp) на ID текущей сессии. Совпадает с полем `session_id` в входных данных hook JSON и обновляется при `/clear`. Подпроцесс MCP server сохраняет ID, с которым он был порождён. На `--resume <session-id>` он получает возобновленный ID, совпадающий с hooks и Bash. На `--continue` или `--resume` без явного ID он может получить начальный ID при запуске вместо этого. Используйте для корреляции скриптов и внешних инструментов с сессией Claude Code, которая их запустила |270| `CLAUDE_CODE_SESSION_ID` | Установите автоматически в подпроцессах инструмента Bash и PowerShell, подпроцессах [команды hook](/ru/hooks) и подпроцессах stdio [MCP server](/ru/mcp) на ID текущей сессии. Совпадает с полем `session_id` в входных данных hook JSON и обновляется при `/clear`. Подпроцесс MCP server сохраняет ID, с которым он был порождён. На `--resume <session-id>` он получает возобновленный ID, совпадающий с hooks и Bash. На `--continue` или `--resume` без явного ID он может получить начальный ID при запуске вместо этого. Используйте для корреляции скриптов и внешних инструментов с сессией Claude Code, которая их запустила |

267| `CLAUDE_CODE_SHELL` | Переопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочтительной рабочей оболочки (например, `bash` против `zsh`) |271| `CLAUDE_CODE_SHELL` | Переопределить автоматическое обнаружение оболочки. Полезно, когда ваша оболочка входа отличается от вашей предпочтительной рабочей оболочки (например, `bash` против `zsh`) |


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

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропустить аутентификацию Google для Vertex (например, при использовании шлюза LLM) |280| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропустить аутентификацию Google для Vertex (например, при использовании шлюза LLM) |

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

278| `CLAUDE_CODE_SUBAGENT_MODEL` | См. [Конфигурация модели](/ru/model-config) |282| `CLAUDE_CODE_SUBAGENT_MODEL` | См. [Конфигурация модели](/ru/model-config). {/* min-version: 2.1.196 */}Начиная с v2.1.196, установка на `inherit` — это то же самое, что оставить её неустановленной; более ранние версии рассматривали `inherit` как переопределение, которое принудительно переводило каждого subagent на модель основного разговора |

279| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учётные данные Anthropic и поставщика облачных услуг из сред подпроцессов (инструмент Bash, hooks, MCP stdio servers). Родительский процесс Claude сохраняет эти учётные данные для вызовов API, но дочерние процессы не могут их читать, снижая воздействие атак внедрения приглашений, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имён PID, поэтому они не могут читать сред хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |283| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Установите на `1`, чтобы удалить учётные данные Anthropic и поставщика облачных услуг из сред подпроцессов (инструмент Bash, hooks, MCP stdio servers). Родительский процесс Claude сохраняет эти учётные данные для вызовов API, но дочерние процессы не могут их читать, снижая воздействие атак внедрения приглашений, которые пытаются экспортировать секреты через расширение оболочки. На Linux это также запускает подпроцессы Bash в изолированном пространстве имён PID, поэтому они не могут читать сред хост-процессов через `/proc`; как побочный эффект, `ps`, `pgrep` и `kill` не могут видеть или сигнализировать хост-процессам. `claude-code-action` устанавливает это автоматически, когда настроен `allowed_non_write_users` |

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

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


295| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Управляет инструментом PowerShell. На Windows без Git Bash инструмент включен автоматически; установите на `0`, чтобы отключить его. На Windows с установленным Git Bash инструмент постепенно развёртывается: установите на `1`, чтобы согласиться, или на `0`, чтобы отказаться. На Linux, macOS и WSL установите на `1`, чтобы включить его, что требует `pwsh` в вашем `PATH`. При включении на Windows Claude может запускать команды PowerShell изначально вместо маршрутизации через Git Bash. См. [Инструмент PowerShell](/ru/tools-reference#powershell-tool) |299| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Управляет инструментом PowerShell. На Windows без Git Bash инструмент включен автоматически; установите на `0`, чтобы отключить его. На Windows с установленным Git Bash инструмент постепенно развёртывается: установите на `1`, чтобы согласиться, или на `0`, чтобы отказаться. На Linux, macOS и WSL установите на `1`, чтобы включить его, что требует `pwsh` в вашем `PATH`. При включении на Windows Claude может запускать команды PowerShell изначально вместо маршрутизации через Git Bash. См. [Инструмент PowerShell](/ru/tools-reference#powershell-tool) |

296| `CLAUDE_CODE_USE_VERTEX` | Использовать [Vertex](/ru/google-vertex-ai) |300| `CLAUDE_CODE_USE_VERTEX` | Использовать [Vertex](/ru/google-vertex-ai) |

297| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все параметры, учётные данные, история сессии и plugins хранятся под этим путём. Полезно для запуска нескольких учётных записей рядом: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |301| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все параметры, учётные данные, история сессии и plugins хранятся под этим путём. Полезно для запуска нескольких учётных записей рядом: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'` |

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

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

299| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя на уровне байтов, или установите на `0`, чтобы принудительно отключить его. Когда не установлено, сторож включен по умолчанию для соединений Anthropic API и [Claude Platform on AWS](/ru/claude-platform-on-aws). Сторож байтов прерывает соединение, когда на проводе не поступают байты в течение 180 секунд по умолчанию на соединениях прямого Anthropic API, 300 секунд на Claude Platform on AWS и когда включен на Bedrock, или для значения `CLAUDE_STREAM_IDLE_TIMEOUT_MS`, когда это установлено, которое ограничено минимумом 5 минут, независимо от сторожа на уровне событий |304| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя на уровне байтов, или установите на `0`, чтобы принудительно отключить его. Когда не установлено, сторож включен по умолчанию для соединений Anthropic API и [Claude Platform on AWS](/ru/claude-platform-on-aws). Сторож байтов прерывает соединение, когда на проводе не поступают байты в течение 180 секунд по умолчанию на соединениях прямого Anthropic API, 300 секунд на Claude Platform on AWS и когда включен на Bedrock, или для значения `CLAUDE_STREAM_IDLE_TIMEOUT_MS`, когда это установлено, которое ограничено минимумом 5 минут, независимо от сторожа на уровне событий |

300| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите на `1`, чтобы включить сторож простоя на уровне байтов на ответах Amazon Bedrock `vnd.amazon.eventstream`. Отключено по умолчанию. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |305| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите на `1`, чтобы включить сторож простоя на уровне байтов на ответах Amazon Bedrock `vnd.amazon.eventstream`. Отключено по умолчанию. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

301| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя потока на уровне событий, или установите на `0`, чтобы принудительно отключить его. Когда не установлено, значение по умолчанию контролируется сервером на прямом Anthropic API и отключено на других поставщиках. {/* min-version: 2.1.169 */}Начиная с v2.1.169, поставщики, отличные от прямого Anthropic API и Claude Platform on AWS, также имеют тайм-аут простоя тела в 5 минут по умолчанию, независимый от этой переменной; см. `API_FORCE_IDLE_TIMEOUT`. На Bedrock вы также можете включить независимый сторож на уровне байтов с помощью `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; оба работают вместе, когда оба установлены. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |306| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите на `1`, чтобы принудительно включить сторож простоя потока на уровне событий, или установите на `0`, чтобы принудительно отключить его. {/* min-version: 2.1.196 */}Когда не установлено, сторож включен по умолчанию для всех поставщиков. До v2.1.196 неустановленное значение по умолчанию было контролируемым сервером на прямом Anthropic API и отключено на других поставщиках. {/* min-version: 2.1.169 */}Начиная с v2.1.169, поставщики, отличные от прямого Anthropic API и Claude Platform on AWS, также имеют тайм-аут простоя тела в 5 минут по умолчанию, независимый от этой переменной; см. `API_FORCE_IDLE_TIMEOUT`. На Bedrock вы также можете включить независимый сторож на уровне байтов с помощью `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`; оба работают вместе, когда оба установлены. Настройте тайм-аут с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

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

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

304| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Тайм-аут в миллисекундах перед тем, как сторож простоя потока закроет зависшее соединение. Когда вы устанавливаете эту переменную явно, минимум составляет `300000` (5 минут); более низкие значения молча ограничиваются, чтобы поглотить паузы расширенного мышления и буферизацию прокси. Когда не установлено, сторож на уровне событий по умолчанию составляет 300 секунд, а сторож на уровне байтов по умолчанию составляет 180 секунд на соединениях прямого Anthropic API (300 секунд на Claude Platform on AWS и других поставщиках). Неустановленное значение по умолчанию сторожа на уровне байтов в 180 секунд — это отдельное значение и не подлежит ограничению в 5 минут. Для сторожа на уровне событий на сторонних поставщиках требуется `CLAUDE_ENABLE_STREAM_WATCHDOG=1`; тайм-аут простоя тела, описанный в `API_FORCE_IDLE_TIMEOUT`, применяется независимо. На Bedrock также применяется, когда `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |309| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Тайм-аут в миллисекундах перед тем, как сторож простоя потока закроет зависшее соединение. Когда вы устанавливаете эту переменную явно, минимум составляет `300000` (5 минут); более низкие значения молча ограничиваются, чтобы поглотить паузы расширенного мышления и буферизацию прокси. Когда не установлено, сторож на уровне событий по умолчанию составляет 300 секунд, а сторож на уровне байтов по умолчанию составляет 180 секунд на соединениях прямого Anthropic API (300 секунд на Claude Platform on AWS и других поставщиках). Неустановленное значение по умолчанию сторожа на уровне байтов в 180 секунд — это отдельное значение и не подлежит ограничению в 5 минут. Тайм-аут простоя тела, описанный в `API_FORCE_IDLE_TIMEOUT`, применяется независимо. На Bedrock также применяется, когда `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` |

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

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

307| `DISABLE_AUTO_COMPACT` | Установите на `1`, чтобы отключить автоматическое сжатие при приближении к лимиту контекста. Команда `/compact` остаётся доступной. Используйте, когда вы хотите явный контроль над тем, когда происходит сжатие |312| `DISABLE_AUTO_COMPACT` | Установите на `1`, чтобы отключить автоматическое сжатие при приближении к лимиту контекста. Команда `/compact` остаётся доступной. Используйте, когда вы хотите явный контроль над тем, когда происходит сжатие |


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

349| `MCP_TOOL_TIMEOUT` | Тайм-аут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, примерно 28 часов). Поле `timeout` для каждого сервера в `.mcp.json` переопределяет это для этого сервера. Для переменной окружения значения ниже 1000 ограничиваются одной секундой; для поля для каждого сервера значения ниже 1000 игнорируются |354| `MCP_TOOL_TIMEOUT` | Тайм-аут в миллисекундах для выполнения инструмента MCP (по умолчанию: 100000000, примерно 28 часов). Поле `timeout` для каждого сервера в `.mcp.json` переопределяет это для этого сервера. Для переменной окружения значения ниже 1000 ограничиваются одной секундой; для поля для каждого сервера значения ниже 1000 игнорируются |

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

356| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}Установите на `1`, чтобы включить текст ответа модели на события логирования OpenTelemetry `assistant_response`. Когда не установлено, используется значение `OTEL_LOG_USER_PROMPTS`. Установите на `0`, чтобы сохранить ответы скрытыми, даже когда установлен `OTEL_LOG_USER_PROMPTS`. Требуется Claude Code v2.1.193 или более поздняя версия. См. [Мониторинг](/ru/monitoring-usage#assistant-response-event) |

351| `OTEL_LOG_RAW_API_BODIES` | Выдавать JSON запроса и ответа Anthropic Messages API как события логирования `api_request_body` / `api_response_body`. Установите на `1` для встроенных тел, усечённых на 60 КБ, или `file:<dir>` для записи неусечённых тел на диск и выдачи пути `body_ref` вместо этого. Отключено по умолчанию; тела включают всю историю разговора. См. [Мониторинг](/ru/monitoring-usage#api-request-body-event) |357| `OTEL_LOG_RAW_API_BODIES` | Выдавать JSON запроса и ответа Anthropic Messages API как события логирования `api_request_body` / `api_response_body`. Установите на `1` для встроенных тел, усечённых на 60 КБ, или `file:<dir>` для записи неусечённых тел на диск и выдачи пути `body_ref` вместо этого. Отключено по умолчанию; тела включают всю историю разговора. См. [Мониторинг](/ru/monitoring-usage#api-request-body-event) |

352| `OTEL_LOG_TOOL_CONTENT` | Установите на `1`, чтобы включить содержимое входных и выходных данных инструмента в события span OpenTelemetry. Отключено по умолчанию для защиты конфиденциальных данных. См. [Мониторинг](/ru/monitoring-usage) |358| `OTEL_LOG_TOOL_CONTENT` | Установите на `1`, чтобы включить содержимое входных и выходных данных инструмента в события span OpenTelemetry. Отключено по умолчанию для защиты конфиденциальных данных. См. [Мониторинг](/ru/monitoring-usage) |

353| `OTEL_LOG_TOOL_DETAILS` | Установите на `1`, чтобы включить аргументы входных данных инструмента, имена MCP servers, необработанные строки ошибок при сбоях инструментов и другие детали инструментов в трассировки и логи OpenTelemetry. Отключено по умолчанию для защиты PII. См. [Мониторинг](/ru/monitoring-usage) |359| `OTEL_LOG_TOOL_DETAILS` | Установите на `1`, чтобы включить аргументы входных данных инструмента, имена MCP servers, необработанные строки ошибок при сбоях инструментов, категорию отказа на событиях `api_refusal` и другие детали инструментов в трассировки и логи OpenTelemetry. Отключено по умолчанию для защиты PII. См. [Мониторинг](/ru/monitoring-usage) |

354| `OTEL_LOG_USER_PROMPTS` | Установите на `1`, чтобы включить текст приглашения пользователя в трассировки и логи OpenTelemetry. Отключено по умолчанию (приглашения скрыты). См. [Мониторинг](/ru/monitoring-usage) |360| `OTEL_LOG_USER_PROMPTS` | Установите на `1`, чтобы включить текст приглашения пользователя в трассировки и логи OpenTelemetry. Отключено по умолчанию (приглашения скрыты). См. [Мониторинг](/ru/monitoring-usage) |

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

356| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Установите на `true`, чтобы включить точку входа сессии в атрибуты метрик (по умолчанию: исключено). Добавлено в v2.1.152. См. [Мониторинг](/ru/monitoring-usage) |362| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | {/* min-version: 2.1.152 */}Установите на `true`, чтобы включить точку входа сессии в атрибуты метрик (по умолчанию: исключено). Добавлено в v2.1.152. См. [Мониторинг](/ru/monitoring-usage) |

errors.md +22 −4

Details

40| `Your organization has disabled API key authentication` | [Authentication](#your-organization-has-disabled-api-key-authentication) |40| `Your organization has disabled API key authentication` | [Authentication](#your-organization-has-disabled-api-key-authentication) |

41| `Your organization has disabled Claude subscription access` | [Authentication](#your-organization-has-disabled-claude-subscription-access) |41| `Your organization has disabled Claude subscription access` | [Authentication](#your-organization-has-disabled-claude-subscription-access) |

42| `Routines are disabled by your organization's policy` | [Authentication](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |42| `Routines are disabled by your organization's policy` | [Authentication](#routines-are-disabled-by-your-organization%E2%80%99s-policy) |

43| `Remote Control is only available when using Claude via api.anthropic.com` | [Authentication](#remote-control-requires-the-anthropic-api) |

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

44| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |45| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |

45| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |46| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |


426* Попросите вашего администратора включить переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)427* Попросите вашего администратора включить переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

427* Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. [scheduled tasks](/ru/scheduled-tasks)428* Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. [scheduled tasks](/ru/scheduled-tasks)

428 429 

430<h3 id="remote-control-requires-the-anthropic-api">

431 Remote Control requires the Anthropic API

432</h3>

433 

434Сеанс не взаимодействует с Anthropic API напрямую, поэтому нет бэкенда claude.ai для [Remote Control](/ru/remote-control) для сопряжения.

435 

436```text theme={null}

437Remote Control is only available when using Claude via api.anthropic.com.

438```

439 

440Это появляется на Amazon Bedrock, Google Vertex AI и Microsoft Foundry. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, это также появляется, когда [`ANTHROPIC_BASE_URL`](/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/ru/llm-gateway) или прокси, даже когда вы входите с помощью claude.ai.

441 

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

443 

444* Отмените установку `ANTHROPIC_BASE_URL` и перезапустите сеанс, или запустите Remote Control из сеанса, который взаимодействует с Anthropic API напрямую

445* Для этого и других сообщений запуска Remote Control см. [Troubleshoot Remote Control](/ru/remote-control#troubleshooting)

446 

429<h3 id="oauth-token-revoked-or-expired">447<h3 id="oauth-token-revoked-or-expired">

430 OAuth token revoked or expired448 OAuth token revoked or expired

431</h3>449</h3>


727 thinking.type.enabled is not supported for this model745 thinking.type.enabled is not supported for this model

728</h3>746</h3>

729 747 

730Ваша версия Claude Code старше минимальной для Opus 4.7 или Opus 4.8. CLI отправила конфигурацию thinking, которую модель больше не принимает.748Ваша версия Claude Code старше минимальной для Sonnet 5, Opus 4.8 или Opus 4.7. CLI отправила конфигурацию thinking, которую модель больше не принимает.

731 749 

732```text theme={null}750```text theme={null}

733API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.751API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


735 753 

736**Что делать:**754**Что делать:**

737 755 

738* Запустите `claude update` и перезапустите Claude Code. Opus 4.7 требует v2.1.111 или позже. Opus 4.8 требует v2.1.154 или позже756* Запустите `claude update` и перезапустите Claude Code. Opus 4.7 требует v2.1.111 или позже. Opus 4.8 требует v2.1.154 или позже. Sonnet 5 требует v2.1.197 или позже

739* Если вы не можете обновиться, запустите `/model` и выберите Opus 4.6 или Sonnet вместо этого757* Если вы не можете обновиться, запустите `/model` и выберите Opus 4.6 или Sonnet 4.6 вместо этого

740* Если вы столкнулись с этим в Agent SDK, см. [SDK troubleshooting](/ru/agent-sdk/quickstart#troubleshooting)758* {/* min-version: agent-sdk@0.3.197 */}Если вы столкнулись с этим в [Agent SDK](/ru/agent-sdk/overview), обновите пакет SDK вместо этого. Opus 4.8 требует TypeScript SDK v0.3.154 или позже и Python SDK v0.2.88 или позже. Sonnet 5 требует TypeScript SDK v0.3.197 или позже

741 759 

742<h3 id="thinking-budget-exceeds-output-limit">760<h3 id="thinking-budget-exceeds-output-limit">

743 Thinking budget exceeds output limit761 Thinking budget exceeds output limit

fullscreen.md +13 −3

Details

62* **Клик и перетаскивание** для выделения текста в любом месте диалога. Двойной клик выделяет слово, соответствуя границам слов iTerm2, поэтому путь к файлу выделяется как одна единица. Тройной клик выделяет строку.62* **Клик и перетаскивание** для выделения текста в любом месте диалога. Двойной клик выделяет слово, соответствуя границам слов iTerm2, поэтому путь к файлу выделяется как одна единица. Тройной клик выделяет строку.

63* **Прокрутка колесом мыши** для перемещения по диалогу.63* **Прокрутка колесом мыши** для перемещения по диалогу.

64 64 

65Выделенный текст копируется в буфер обмена автоматически при отпускании мыши. Чтобы отключить это, переключите Copy on select в `/config`. Если это отключено, нажмите `Ctrl+Shift+c` для ручного копирования. На терминалах, поддерживающих протокол клавиатуры kitty, таких как kitty, WezTerm, Ghostty и iTerm2, `Cmd+c` также работает. Если у вас активно выделение, `Ctrl+c` копирует вместо отмены.65Выделенный текст копируется в буфер обмена автоматически при отпускании мыши. Чтобы отключить это, переключите Copy on select в `/config`.

66 

67С отключённым Copy on select нажмите `Ctrl+Shift+c` для ручного копирования. На терминалах, поддерживающих протокол клавиатуры kitty, таких как kitty, WezTerm, Ghostty и iTerm2, `Cmd+c` также работает. Если у вас активно выделение, `Ctrl+c` копирует вместо отмены.

66 68 

67С активным выделением удерживайте `Shift` и нажимайте клавиши со стрелками для его расширения с клавиатуры. `Shift+↑` и `Shift+↓` прокручивают область просмотра, когда выделение достигает верхнего или нижнего края. `Shift+Home` и `Shift+End` расширяют до начала или конца текущей строки.69С активным выделением удерживайте `Shift` и нажимайте клавиши со стрелками для его расширения с клавиатуры. `Shift+↑` и `Shift+↓` прокручивают область просмотра, когда выделение достигает верхнего или нижнего края. `Shift+Home` и `Shift+End` расширяют до начала или конца текущей строки.

68 70 


107 109 

108Значение `3` соответствует значению по умолчанию в `vim` и аналогичных приложениях. Параметр принимает значения от 1 до 20, а также дробные значения ниже 1, такие как `0.5`, для замедления ускоренной прокрутки трекпада и колеса в терминалах, которые уже усиливают события колеса.110Значение `3` соответствует значению по умолчанию в `vim` и аналогичных приложениях. Параметр принимает значения от 1 до 20, а также дробные значения ниже 1, такие как `0.5`, для замедления ускоренной прокрутки трекпада и колеса в терминалах, которые уже усиливают события колеса.

109 111 

110Чтобы отрегулировать скорость прокрутки интерактивно, запустите `/scroll-speed`. Диалог показывает линейку, по которой вы можете прокручивать, пока он открыт, чтобы вы могли почувствовать изменение немедленно. Нажимайте `←` и `→` для регулировки, `r` для сброса на автоматически обнаруженное значение по умолчанию, и `Enter` для сохранения. Команда записывает то же значение, которое устанавливает переменная окружения `CLAUDE_CODE_SCROLL_SPEED`, сохраняемое в `~/.claude/settings.json`. Команда недоступна в терминале IDE JetBrains.112Чтобы отрегулировать скорость прокрутки интерактивно, запустите `/scroll-speed`. Диалог показывает линейку, по которой вы можете прокручивать, пока он открыт, чтобы вы могли почувствовать изменение немедленно. Нажимайте `←` и `→` для регулировки, `r` для сброса на автоматически обнаруженное значение по умолчанию, и `Enter` для сохранения.

113 

114Команда записывает то же значение, которое устанавливает переменная окружения `CLAUDE_CODE_SCROLL_SPEED`, сохраняемое в `~/.claude/settings.json`. Команда недоступна в терминале IDE JetBrains.

111 115 

112Отдельно от базовой скорости Claude Code ускоряет скорость прокрутки, когда вы быстро крутите колесо, поэтому быстрое вращение охватывает большее расстояние, чем то же количество медленных щелчков. Чтобы отключить ускорение и сохранить постоянную скорость на щелчок, установите `wheelScrollAccelerationEnabled` на `false` в [`settings.json`](/ru/settings#available-settings). Этот параметр требует Claude Code v2.1.174 или более поздней версии.116Отдельно от базовой скорости Claude Code ускоряет скорость прокрутки, когда вы быстро крутите колесо, поэтому быстрое вращение охватывает большее расстояние, чем то же количество медленных щелчков. Чтобы отключить ускорение и сохранить постоянную скорость на щелчок, установите `wheelScrollAccelerationEnabled` на `false` в [`settings.json`](/ru/settings#available-settings). Этот параметр требует Claude Code v2.1.174 или более поздней версии.

113 117 


123 Поиск и просмотр диалога127 Поиск и просмотр диалога

124</h2>128</h2>

125 129 

126`Ctrl+o` переключается между обычной подсказкой и режимом стенограммы. Для более спокойного представления, которое показывает только вашу последнюю подсказку, однострочное резюме вызовов инструментов с diffstats редактирования и финальный ответ, запустите `/focus`. Параметр сохраняется между сеансами. Запустите `/focus` снова для его отключения.130`Ctrl+o` переключается между обычной подсказкой и режимом стенограммы.

131 

132Для более спокойного представления, которое показывает только вашу последнюю подсказку, однострочное резюме вызовов инструментов с diffstats редактирования и финальный ответ, запустите `/focus`. Параметр сохраняется между сеансами. Запустите `/focus` снова для его отключения.

127 133 

128Режим стенограммы получает навигацию и поиск в стиле `less`:134Режим стенограммы получает навигацию и поиск в стиле `less`:

129 135 


203 209 

204С отключённым захватом мыши прокрутка с клавиатуры с помощью `PgUp`, `PgDn`, `Ctrl+Home` и `Ctrl+End` всё ещё работает, и ваш терминал обрабатывает выделение встроенным образом. Вы теряете клик для позиционирования курсора, клик для развёртывания выходных данных инструмента, клик по URL и прокрутку колесом внутри Claude Code.210С отключённым захватом мыши прокрутка с клавиатуры с помощью `PgUp`, `PgDn`, `Ctrl+Home` и `Ctrl+End` всё ещё работает, и ваш терминал обрабатывает выделение встроенным образом. Вы теряете клик для позиционирования курсора, клик для развёртывания выходных данных инструмента, клик по URL и прокрутку колесом внутри Claude Code.

205 211 

212Чтобы сохранить прокрутку колесом, но отключить обработку клика, перетаскивания и наведения, установите вместо этого `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Требуется Claude Code версии 2.1.195 или позже. `CLAUDE_CODE_DISABLE_MOUSE` имеет приоритет, когда установлены обе переменные.

213 

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

215 

206<h2 id="research-preview">216<h2 id="research-preview">

207 Исследовательский предпросмотр217 Исследовательский предпросмотр

208</h2>218</h2>

gateways.md +87 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Запуск Claude Code через шлюз

6 

7> Маршрутизируйте Claude Code через самостоятельно размещаемый шлюз для централизованного управления учетными данными, отслеживания использования и контроля затрат. Охватывает архитектуру, шлюз Claude apps от Anthropic и использование других продуктов шлюзов.

8 

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

10 

11Claude Code включает самостоятельно размещаемый шлюз, [Claude apps gateway](/ru/claude-apps-gateway), в бинарном файле `claude`, поэтому вам не нужно принимать отдельный продукт шлюза для его запуска. Если ваша организация уже запускает [LLM gateway](/ru/llm-gateway), Claude Code также работает с ним.

12 

13На этой странице рассматривается:

14 

15* [Как шлюз находится между Claude Code и вашим поставщиком](#how-a-gateway-works)

16* [Выбор между Claude apps gateway и шлюзом, который уже запускает ваша организация](#choose-a-gateway)

17* [Как шлюзы взаимодействуют с подписками claude.ai](#subscriptions-and-gateways)

18* [Что настраивается отдельно от шлюза](#configure-separately-from-the-gateway)

19 

20<h2 id="how-a-gateway-works">

21 How a gateway works

22</h2>

23 

24Каждый Claude Code разработчика указывает на адрес шлюза и проходит аутентификацию с учетными данными, выданными шлюзом.

25 

26Шлюз проходит аутентификацию разработчика, применяет любые правила доступа и бюджета, которые вы настраиваете, и перенаправляет запрос вашему поставщику с учетными данными организации. Поставщиком может быть API Anthropic или [облачный поставщик](/ru/third-party-integrations), такой как Amazon Bedrock, Agent Platform Google Cloud или Microsoft Foundry; конфигурация шлюза решает. С Claude apps gateway или другим шлюзом, который предоставляет одну конечную точку в формате Anthropic, изменение поставщика не требует изменений на машинах разработчиков.

27 

28<Frame>

29 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Диаграмма, показывающая маршрутизацию Claude Code через шлюз. В зоне машин разработчиков CLI Claude Code и расширение VS Code отправляют запросы на адрес шлюза с учетными данными для каждого разработчика. В зоне, обозначенной как ваша инфраструктура, шлюз обрабатывает аутентификацию, отслеживание использования, бюджеты и маршрутизацию, а также перенаправляет запросы с учетными данными вашей организации. В зоне поставщиков моделей сплошная стрелка указывает на поставщика, который вы настраиваете, показанного как API Anthropic, а пунктирные стрелки указывают на другие варианты поставщиков, проиллюстрированные Amazon Bedrock, Google Cloud и Microsoft Foundry в качестве примеров." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

30</Frame>

31 

32Задействованы два вида учетных данных:

33 

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

35* **Учетные данные поставщика**: шлюз хранит одни учетные данные для вашей учетной записи поставщика, используемые всем перенаправленным трафиком

36 

37<h2 id="choose-a-gateway">

38 Choose a gateway

39</h2>

40 

41Claude Code работает с собственным шлюзом Anthropic или со шлюзом, который уже запускает ваша организация.

42 

43<h3 id="claude-apps-gateway">

44 Claude apps gateway

45</h3>

46 

47Claude apps gateway — это самостоятельно размещаемый шлюз Anthropic, включенный в бинарный файл `claude`. Он маршрутизирует на Amazon Bedrock, Google Cloud, Microsoft Foundry или API Anthropic в качестве восходящего потока. Разработчики входят с помощью вашего корпоративного поставщика удостоверений через `/login`, шлюз обеспечивает доступ к модели и [управляемые параметры](/ru/permissions#managed-settings) по группе IdP, и он выдает метрики использования [OpenTelemetry Protocol (OTLP)](/ru/monitoring-usage) в ваш собственный стек наблюдаемости.

48 

49Поскольку он создается и тестируется вместе с каждым выпуском Claude Code, он перенаправляет заголовки и поля запроса, которые отправляет Claude Code. Шлюз, поддерживаемый отдельно, требует обновления [правил перенаправления](/ru/llm-gateway-protocol#forward-as-open-lists) по мере изменения этих заголовков и полей с каждым выпуском; Claude apps gateway выпускается вместе с CLI, поэтому нет списка для поддержания в актуальном состоянии. См. [Доступность и ограничения](/ru/claude-apps-gateway#availability-and-limitations) для небольшого набора функций, которые ведут себя иначе в сеансе шлюза.

50 

51Вход на шлюз — это шаг браузерного SSO, и нет потока токена сервиса, поэтому конвейер CI без разработчика для одобрения входа не может пройти аутентификацию через него; настройте их непосредственно для вашего поставщика. Сеансы Agent SDK и запуски `claude -p` на машине, где разработчик вошел, используют сеанс шлюза этой машины и управляются его политиками. См. [Конвейеры CI и удаленные машины](/ru/claude-apps-gateway#ci-pipelines-and-remote-machines).

52 

53См. [Claude apps gateway](/ru/claude-apps-gateway) для его развертывания.

54 

55<h3 id="other-gateways">

56 Other gateways

57</h3>

58 

59Если ваша организация уже запускает LLM gateway или API gateway, вы можете использовать его вместо этого. Anthropic не одобряет, не поддерживает и не проверяет другие продукты шлюзов, и не поддерживает маршрутизацию Claude Code на модели, отличные от Claude, через любой шлюз. См. [Other LLM gateways](/ru/llm-gateway) для контрольного списка развертывания администратора, что должен реализовать шлюз и как указать Claude Code на него.

60 

61<h2 id="subscriptions-and-gateways">

62 Subscriptions and gateways

63</h2>

64 

65Когда разработчики подключаются через шлюз с учетными данными шлюза, использование выставляется на счет учетной записи поставщика вашей организации по тарифам API, и их подписки claude.ai не используются и не взимаются. Установка [`ANTHROPIC_AUTH_TOKEN`](/ru/env-vars) для шлюза, который вы запускаете, или вход в Claude apps gateway с помощью `/login`, отключает вход по подписке для этого сеанса. Каждый запрос, перенаправленный под этим учетным данием, выставляется на счет учетной записи, стоящей за учетными данными поставщика шлюза.

66 

67Исключением является установка только `ANTHROPIC_BASE_URL`, без учетных данных шлюза. Запросы по-прежнему маршрутизируются через шлюз, но сохраненный вход claude.ai остается активным учетным данием, поэтому применяются ограничения использования и выставление счетов подписки. [Other LLM gateways](/ru/llm-gateway#subscriptions-and-gateways) охватывает эту конфигурацию и то, что шлюз должен перенаправить, чтобы это работало.

68 

69<h2 id="configure-separately-from-the-gateway">

70 Configure separately from the gateway

71</h2>

72 

73Шлюз маршрутизирует запросы API модели. Несколько вещей, которые вы можете ожидать, что он будет обрабатывать, настраиваются в другом месте:

74 

75* **Какая модель отвечает**: выберите модель с помощью команды `/model` или [переменных окружения модели](/ru/model-config#setting-your-model). Шлюз решает, куда идут запросы, а не какую модель выбирает разработчик. Claude apps gateway может ограничить выбор с помощью списка разрешений `availableModels` для каждой группы, но разработчик все равно выбирает в его пределах.

76* **Другой сетевой трафик**: Claude Code сам отправляет проверки версий и загрузки непосредственно в Anthropic, отдельно от пути шлюза. Находится ли дополнительный поток телеметрии клиента также зависит от вашего поставщика; [таблица стандартных значений телеметрии](/ru/data-usage#telemetry-services) охватывает каждый случай. В сеансе Claude apps gateway с входом учетные данные шлюза отключают аналитику, связанную с Anthropic, и, когда [перенаправление телеметрии](/ru/claude-apps-gateway-config#telemetry) настроено, закрепляет экспорт OTLP на шлюзе. Вашей сети по-прежнему требуется исходящий трафик на [требуемые домены](/ru/network-config), или установите [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/ru/env-vars) для отключения дополнительных потоков.

77* **Корпоративные HTTP прокси**: `HTTPS_PROXY` находится между Claude Code и каждым сервером, с которым он разговаривает, включая шлюз. Если ваша сеть требует его, [настройте прокси](/ru/network-config) в дополнение к шлюзу. Для Claude apps gateway в частности, [вход проверяет, что хост прокси также находится в частной сети](/ru/claude-apps-gateway#prerequisites); если это не так, добавьте хост шлюза в `NO_PROXY`, чтобы CLI подключался к нему напрямую.

78 

79<h2 id="next-steps">

80 Next steps

81</h2>

82 

83Следующая страница зависит от того, кто запускает шлюз. Шлюз Anthropic запускается из бинарного файла `claude` и имеет свое собственное руководство по настройке; шлюз, который уже запускает ваша организация, имеет протокол для реализации и контрольный список развертывания администратора.

84 

85* [Claude apps gateway](/ru/claude-apps-gateway) для развертывания самостоятельно размещаемого шлюза Anthropic с входом SSO и телеметрией OTLP

86* [Other LLM gateways](/ru/llm-gateway) для того, что должен реализовать шлюз, который уже запускает ваша организация, и как указать Claude Code на него

87* [Set up Claude Code for your organization](/ru/admin-setup) для более широких решений развертывания, частью которых является шлюз

Details

127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

128 custom_instructions: "Follow our coding standards"128 custom_instructions: "Follow our coding standards"

129 max_turns: "10"129 max_turns: "10"

130 model: "claude-sonnet-4-6"130 model: "claude-sonnet-5"

131```131```

132 132 

133**Версия GA (v1.0):**133**Версия GA (v1.0):**


140 claude_args: |140 claude_args: |

141 --append-system-prompt "Follow our coding standards"141 --append-system-prompt "Follow our coding standards"

142 --max-turns 10142 --max-turns 10

143 --model claude-sonnet-4-6143 --model claude-sonnet-5

144```144```

145 145 

146<Tip>146<Tip>


228 228 

229В комментариях issue или PR:229В комментариях issue или PR:

230 230 

231```text theme={null}231```text wrap theme={null}

232@claude implement this feature based on the issue description232@claude implement this feature based on the issue description

233@claude how should I implement user authentication for this endpoint?233@claude how should I implement user authentication for this endpoint?

234@claude fix the TypeError in the user dashboard component234@claude fix the TypeError in the user dashboard component


709Параметр `claude_args` принимает любые аргументы Claude Code CLI:709Параметр `claude_args` принимает любые аргументы Claude Code CLI:

710 710 

711```yaml theme={null}711```yaml theme={null}

712claude_args: "--max-turns 5 --model claude-sonnet-4-6 --mcp-config /path/to/config.json"712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"

713```713```

714 714 

715Распространённые аргументы:715Распространённые аргументы:

716 716 

717* `--max-turns`: Максимальное количество ходов разговора (по умолчанию: 10)717* `--max-turns`: Максимальное количество ходов разговора (по умолчанию: 10)

718* `--model`: Модель для использования (например, `claude-sonnet-4-6`)718* `--model`: Модель для использования (например, `claude-sonnet-5`)

719* `--mcp-config`: Путь к конфигурации MCP719* `--mcp-config`: Путь к конфигурации MCP

720* `--allowedTools`: Список разрешённых инструментов, разделённый запятыми. Также работает псевдоним `--allowed-tools`.720* `--allowedTools`: Список разрешённых инструментов, разделённый запятыми. Также работает псевдоним `--allowed-tools`.

721* `--debug`: Включить вывод отладки721* `--debug`: Включить вывод отладки

glossary.md +1 −1

Details

170 Effort level170 Effort level

171</h3>171</h3>

172 172 

173Параметр, который управляет тем, сколько адаптивного бюджета thinking Claude использует на каждый ход. Более высокий effort означает больше thinking tokens и более глубокое рассуждение; более низкий effort быстрее и дешевле. Effort поддерживается на Fable 5, на Opus 4.6 и более поздних версиях, а также на Sonnet 4.6.173Параметр, который управляет тем, сколько адаптивного бюджета thinking Claude использует на каждый ход. Более высокий effort означает больше thinking tokens и более глубокое рассуждение; более низкий effort быстрее и дешевле. Effort поддерживается на Fable 5, на Opus 4.6 и более поздних версиях, а также на Sonnet 4.6 и более поздних версиях.

174 174 

175Подробнее: [Adjust effort level](/ru/model-config#adjust-effort-level)175Подробнее: [Adjust effort level](/ru/model-config#adjust-effort-level)

176 176 

Details

236 236 

237```bash theme={null}237```bash theme={null}

238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'238export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'239export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'240export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'

241```241```

242 242 


290 Контекстное окно с 1M токенов290 Контекстное окно с 1M токенов

291</h2>291</h2>

292 292 

293Claude Opus 4.6 и более поздние версии, а также Sonnet 4.6, поддерживают [контекстное окно с 1M токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) на Vertex AI. Claude Code автоматически включает расширенное контекстное окно при выборе варианта модели с 1M.293Claude Sonnet 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6 поддерживают [контекстное окно с 1M токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) на Vertex AI. Sonnet 5 всегда работает с окном 1M, без варианта `[1m]` для выбора. Для других моделей Claude Code автоматически включает расширенное контекстное окно при выборе варианта модели с 1M.

294 294 

295[Мастер установки](#sign-in-with-vertex-ai) предлагает опцию контекстного окна с 1M при закреплении моделей. Чтобы включить его для вручную закрепленной модели, добавьте `[1m]` к ID модели. Подробности см. в разделе [Закрепите модели для развертываний третьих сторон](/ru/model-config#pin-models-for-third-party-deployments).295[Мастер установки](#sign-in-with-vertex-ai) предлагает опцию контекстного окна с 1M при закреплении моделей. Чтобы включить его для вручную закрепленной модели, добавьте `[1m]` к ID модели. Подробности см. в разделе [Закрепите модели для развертываний третьих сторон](/ru/model-config#pin-models-for-third-party-deployments).

296 296 

hooks.md +53 −20

Details

191Поле `matcher` фильтрует срабатывание hooks. Способ оценки фильтра зависит от содержащихся в нём символов:191Поле `matcher` фильтрует срабатывание hooks. Способ оценки фильтра зависит от содержащихся в нём символов:

192 192 

193| Значение фильтра | Оценивается как | Пример |193| Значение фильтра | Оценивается как | Пример |

194| :-------------------------------------------- | :------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |194| :------------------------------------------------- | :------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

195| `"*"`, `""` или опущено | Совпадение со всеми | срабатывает при каждом возникновении события |195| `"*"`, `""` или опущено | Совпадение со всеми | срабатывает при каждом возникновении события |

196| Только буквы, цифры, `_`, пробелы, `,` и `\|` | Точная строка или список точных строк, разделённых `\|` или `,` с опциональным окружающим пробелом | `Bash` совпадает только с инструментом Bash; `Edit\|Write` и `Edit, Write` каждый совпадает с любым инструментом точно |196| Только буквы, цифры, `_`, `-`, пробелы, `,` и `\|` | Точная строка или список точных строк, разделённых `\|` или `,` с опциональным окружающим пробелом | `Bash` совпадает только с инструментом Bash; `Edit\|Write` и `Edit, Write` каждый совпадает с любым инструментом точно; `code-reviewer` совпадает только с этим типом агента |

197| Содержит любой другой символ | Регулярное выражение JavaScript | `^Notebook` совпадает с любым инструментом, начинающимся с Notebook; `mcp__memory__.*` совпадает с каждым инструментом с сервера `memory` |197| Содержит любой другой символ | Регулярное выражение JavaScript, без привязки | `^Notebook` совпадает с любым инструментом, начинающимся с Notebook; `mcp__memory__.*` совпадает с каждым инструментом с сервера `memory` |

198 198 

199Разделители запятых и допуск окружающего пробела требуют Claude Code v2.1.191 или позже. События `FileChanged` и `StopFailure` принимают только `|` как разделитель списка и обрабатывают `,` как буквальный символ; все остальные события, перечисленные в таблице ниже, принимают `|` или `,`.199Фильтр на пути регулярного выражения проверяется с помощью `RegExp.prototype.test` JavaScript, который успешно совпадает в любом месте значения. `Edit.*` совпадает как с `Edit`, так и с `NotebookEdit`; оберните шаблон в `^` и `$`, как в `^Edit$`, когда вам нужно совпадение всей строки.

200 

201Разделители запятых и допуск окружающего пробела требуют Claude Code v2.1.191 или позже.

202 

203Дефисы в наборе точного совпадения требуют Claude Code v2.1.195 или позже. На более ранних версиях дефисное имя, такое как `code-reviewer`, оценивается как регулярное выражение без привязки, поэтому оно также срабатывает для `senior-code-reviewer`; закрепите его как `^code-reviewer$` на этих версиях, чтобы совпадать только с этим именем.

204 

205`FileChanged` и `StopFailure` используют более узкий набор точного совпадения только букв, цифр, `_` и `|`. Дефис, пробел или запятая в фильтре для этих двух событий держит его на пути регулярного выражения, и только `|` разделяет альтернативы. Каждое другое событие с поддержкой фильтра в таблице ниже принимает `|` или `,`.

200 206 

201Событие `FileChanged` не следует этим правилам при построении своего списка наблюдения. См. [FileChanged](#filechanged).207Событие `FileChanged` не следует этим правилам при построении своего списка наблюдения. См. [FileChanged](#filechanged).

202 208 


209| `Setup` | какой флаг CLI запустил setup | `init`, `maintenance` |215| `Setup` | какой флаг CLI запустил setup | `init`, `maintenance` |

210| `SessionEnd` | почему сеанс закончился | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |216| `SessionEnd` | почему сеанс закончился | `clear`, `resume`, `logout`, `prompt_input_exit`, `bypass_permissions_disabled`, `other` |

211| `Notification` | тип уведомления | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |217| `Notification` | тип уведомления | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_complete`, `elicitation_response` |

212| `SubagentStart` | тип агента | `general-purpose`, `Explore`, `Plan` или пользовательские имена агентов |218| `SubagentStart` | тип агента | `general-purpose`, `Explore`, `Plan`, пользовательские имена агентов или имена с областью плагина, такие как `^my-plugin:reviewer$` |

213| `PreCompact`, `PostCompact` | что вызвало компактирование | `manual`, `auto` |219| `PreCompact`, `PostCompact` | что вызвало компактирование | `manual`, `auto` |

214| `SubagentStop` | тип агента | те же значения, что и `SubagentStart` |220| `SubagentStop` | тип агента | те же значения, что и `SubagentStart` |

215| `ConfigChange` | источник конфигурации | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |221| `ConfigChange` | источник конфигурации | `user_settings`, `project_settings`, `local_settings`, `policy_settings`, `skills` |


244}250}

245```251```

246 252 

247`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove` и `CwdChanged` не поддерживают фильтры и всегда срабатывают при каждом вхождении. Если вы добавите поле `matcher` к этим событиям, оно будет молча проигнорировано.253`UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` и `CwdChanged` не поддерживают фильтры и всегда срабатывают при каждом вхождении. Если вы добавите поле `matcher` к этим событиям, оно будет молча проигнорировано.

248 254 

249Для событий инструмента вы можете фильтровать более узко, установив поле [`if`](#common-fields) на отдельных обработчиках hook. `if` использует [синтаксис правила разрешения](/ru/permissions) для совпадения с именем инструмента и аргументами вместе, поэтому `"Bash(git *)"` запускается когда любая подкоманда входа Bash совпадает с `git *` и `"Edit(*.ts)"` запускается только для файлов TypeScript.255Для событий инструмента вы можете фильтровать более узко, установив поле [`if`](#common-fields) на отдельных обработчиках hook. `if` использует [синтаксис правила разрешения](/ru/permissions) для совпадения с именем инструмента и аргументами вместе, поэтому `"Bash(git *)"` запускается когда любая подкоманда входа Bash совпадает с `git *` и `"Edit(*.ts)"` запускается только для файлов TypeScript.

250 256 


260* `mcp__filesystem__read_file`: инструмент read file сервера Filesystem266* `mcp__filesystem__read_file`: инструмент read file сервера Filesystem

261* `mcp__github__search_repositories`: инструмент поиска сервера GitHub267* `mcp__github__search_repositories`: инструмент поиска сервера GitHub

262 268 

263Чтобы совпадать с каждым инструментом с сервера, добавьте `.*` к префиксу сервера. `.*` требуется: фильтр, такой как `mcp__memory`, содержит только буквы и подчёркивания, поэтому он сравнивается как точная строка и не совпадает ни с одним инструментом.269Чтобы совпадать с каждым инструментом с сервера, добавьте `.*` к префиксу сервера. `.*` требуется: фильтр, такой как `mcp__memory` или `mcp__brave-search`, содержит только символы точного совпадения, поэтому он сравнивается как точная строка и не совпадает ни с одним инструментом.

264 270 

265* `mcp__memory__.*` совпадает со всеми инструментами сервера `memory`271* `mcp__memory__.*` совпадает со всеми инструментами сервера `memory`

272* `mcp__brave-search__.*` совпадает со всеми инструментами с сервера, чьё имя содержит дефис

266* `mcp__.*__write.*` совпадает с любым инструментом, чьё имя начинается с `write` из любого сервера273* `mcp__.*__write.*` совпадает с любым инструментом, чьё имя начинается с `write` из любого сервера

267 274 

275Дефисы в наборе точного совпадения требуют Claude Code v2.1.195 или позже. На более ранних версиях голый дефисный префикс, такой как `mcp__brave-search`, оценивается как регулярное выражение без привязки и совпадает с каждым инструментом с этого сервера. Форма `mcp__brave-search__.*` работает на каждой версии.

276 

268Этот пример логирует все операции сервера memory и проверяет операции записи из любого MCP сервера:277Этот пример логирует все операции сервера memory и проверяет операции записи из любого MCP сервера:

269 278 

270```json theme={null}279```json theme={null}


306* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): отправляют подсказку модели Claude для однооборотной оценки. Модель возвращает решение да/нет как JSON. См. [Prompt-based hooks](#prompt-based-hooks).315* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): отправляют подсказку модели Claude для однооборотной оценки. Модель возвращает решение да/нет как JSON. См. [Prompt-based hooks](#prompt-based-hooks).

307* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): порождают subagent, который может использовать инструменты, такие как Read, Grep и Glob, для проверки условий перед возвратом решения. Agent hooks являются экспериментальными и могут измениться. См. [Agent-based hooks](#agent-based-hooks).316* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): порождают subagent, который может использовать инструменты, такие как Read, Grep и Glob, для проверки условий перед возвратом решения. Agent hooks являются экспериментальными и могут измениться. См. [Agent-based hooks](#agent-based-hooks).

308 317 

318Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды и `args`, а HTTP hooks дедублируются по URL.

319 

320Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI.

321 

309<h4 id="common-fields">322<h4 id="common-fields">

310 Common fields323 Common fields

311</h4>324</h4>


341В дополнение к [общим полям](#common-fields), command hooks принимают эти поля:354В дополнение к [общим полям](#common-fields), command hooks принимают эти поля:

342 355 

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

344| :------------ | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |357| :------------ | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

345| `command` | да | Команда оболочки для выполнения. С `args`, исполняемый файл для прямого запуска. См. [Exec form and shell form](#exec-form-and-shell-form) |358| `command` | да | Команда оболочки для выполнения. С `args`, исполняемый файл для прямого запуска. См. [Exec form and shell form](#exec-form-and-shell-form) |

346| `args` | нет | Список аргументов. Когда присутствует, `command` разрешается как исполняемый файл и запускается напрямую с `args` как вектор аргументов, без участия оболочки. См. [Exec form and shell form](#exec-form-and-shell-form) |359| `args` | нет | Список аргументов. Когда присутствует, `command` разрешается как исполняемый файл и запускается напрямую с `args` как вектор аргументов, без участия оболочки. См. [Exec form and shell form](#exec-form-and-shell-form) |

347| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |360| `async` | нет | Если `true`, запускается в фоне без блокировки. См. [Run hooks in the background](#run-hooks-in-the-background) |

348| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Подразумевает `async`. Stderr hook или stdout, если stderr пусто, показывается Claude как системное напоминание, чтобы он мог реагировать на долгоживущий фоновый сбой |361| `asyncRewake` | нет | Если `true`, запускается в фоне и пробуждает Claude при коде выхода 2. Подразумевает `async`. Stderr hook или stdout, если stderr пусто, показывается Claude как системное напоминание, чтобы он мог реагировать на долгоживущий фоновый сбой |

349| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` (по умолчанию) или `"powershell"`. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |362| `shell` | нет | Оболочка для использования для этого hook. Принимает `"bash"` или `"powershell"`. По умолчанию `"bash"`, или `"powershell"` на Windows когда Git Bash не установлен. Установка `"powershell"` запускает команду через PowerShell на Windows. Не требует `CLAUDE_CODE_USE_POWERSHELL_TOOL`, так как hooks порождают PowerShell напрямую. Игнорируется когда установлен `args` |

350 363 

351<a id="exec-form-and-shell-form" />364<a id="exec-form-and-shell-form" />

352 365 


479| `prompt` | да | Текст подсказки для отправки модели. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Экранируйте обратной косой чертой для включения буквального текста: `\$1.00` отображается как `$1.00` |492| `prompt` | да | Текст подсказки для отправки модели. Используйте `$ARGUMENTS` как заполнитель для JSON входа hook. Экранируйте обратной косой чертой для включения буквального текста: `\$1.00` отображается как `$1.00` |

480| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |493| `model` | нет | Модель для использования при оценке. По умолчанию быстрая модель |

481 494 

482Все совпадающие hooks запускаются параллельно, и идентичные обработчики автоматически дедублируются. Command hooks дедублируются по строке команды и `args`, а HTTP hooks дедублируются по URL. Обработчики запускаются в текущем каталоге с окружением Claude Code. Переменная окружения `$CLAUDE_CODE_REMOTE` устанавливается на `"true"` в удалённых веб-окружениях и не устанавливается в локальном CLI.

483 

484<h3 id="reference-scripts-by-path">495<h3 id="reference-scripts-by-path">

485 Reference scripts by path496 Reference scripts by path

486</h3>497</h3>


620| Поле | Описание |631| Поле | Описание |

621| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |632| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

622| `session_id` | Текущий идентификатор сеанса |633| `session_id` | Текущий идентификатор сеанса |

634| `prompt_id` | UUID, идентифицирующий пользовательский запрос, который в настоящее время обрабатывается. Совпадает с атрибутом [`prompt.id` на событиях OpenTelemetry](/ru/monitoring-usage#event-correlation-attributes), поэтому вы можете коррелировать выход hook с телеметрией для одного запроса. Отсутствует до первого пользовательского ввода. {/* min-version: 2.1.196 */}Требует Claude Code v2.1.196 или позже |

623| `transcript_path` | Путь к JSON разговора |635| `transcript_path` | Путь к JSON разговора |

624| `cwd` | Текущий рабочий каталог при вызове hook |636| `cwd` | Текущий рабочий каталог при вызове hook |

625| `permission_mode` | Текущий [режим разрешения](/ru/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` или `"bypassPermissions"`. Не все события получают это поле: см. пример JSON каждого события ниже для проверки |637| `permission_mode` | Текущий [режим разрешения](/ru/permissions#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` или `"bypassPermissions"`. Не все события получают это поле: см. пример JSON каждого события ниже для проверки |


629При запуске с `--agent` или внутри subagent включаются два дополнительных поля:641При запуске с `--agent` или внутри subagent включаются два дополнительных поля:

630 642 

631| Поле | Описание |643| Поле | Описание |

632| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |644| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

633| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |645| `agent_id` | Уникальный идентификатор для subagent. Присутствует только когда hook срабатывает внутри вызова subagent. Используйте это для различения вызовов hook subagent от вызовов основного потока. |

634| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. Для [пользовательских subagents](/ru/sub-agents) это поле `name` из frontmatter агента, а не имя файла. |646| `agent_type` | Имя агента (например, `"Explore"` или `"security-reviewer"`). Присутствует когда сеанс использует `--agent` или hook срабатывает внутри subagent. Для subagents тип subagent имеет приоритет над значением `--agent` сеанса. Для [пользовательских subagents](/ru/sub-agents) это поле `name` из frontmatter агента, а не имя файла. Для subagents, поставляемых [plugin](/ru/plugins), это идентификатор с областью видимости плагина, такой как `my-plugin:reviewer`, а не простое имя frontmatter. См. [SubagentStart](#subagentstart) для того, как написать matcher для имени с областью видимости плагина. |

635 647 

636Только hooks [`SessionStart`](#sessionstart) могут получать поле `model`, и его присутствие не гарантировано. Нет переменной окружения `$CLAUDE_MODEL`. Процесс hook наследует родительское окружение, поэтому он может читать `$ANTHROPIC_MODEL`, если вы установили её в вашей оболочке, но это значение не меняется при переключении моделей с `/model` во время сеанса.648Только hooks [`SessionStart`](#sessionstart) могут получать поле `model`, и его присутствие не гарантировано. Нет переменной окружения `$CLAUDE_MODEL`. Процесс hook наследует родительское окружение, поэтому он может читать `$ANTHROPIC_MODEL`, если вы установили её в вашей оболочке, но это значение не меняется при переключении моделей с `/model` во время сеанса.

637 649 


640```json theme={null}652```json theme={null}

641{653{

642 "session_id": "abc123",654 "session_id": "abc123",

655 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

643 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",656 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

644 "cwd": "/home/user/my-project",657 "cwd": "/home/user/my-project",

645 "permission_mode": "default",658 "permission_mode": "default",


796# Notification hook: ping the desktop when Claude Code needs attention.809# Notification hook: ping the desktop when Claude Code needs attention.

797input=$(cat)810input=$(cat)

798title="Claude Code'811title="Claude Code'

799body=$(jq -r '.message // 'Needs your attention'' <<<'$input")812body=$(jq -r '.message // 'Needs your attention"' <<<"$input")

800seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")813seq=$(printf '\033]777;notify;%s;%s\007' "$title" "$body")

801jq -nc --arg seq "$seq" '{terminalSequence: $seq}'814jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

802```815```


867 880 

868Несколько событий также могут переписывать содержимое, а не только разрешать или блокировать его:881Несколько событий также могут переписывать содержимое, а не только разрешать или блокировать его:

869 882 

870* `PreToolUse` `updatedInput` непосредственно под `hookSpecificOutput` заменяет аргументы инструмента перед его запуском ([детали](#pretooluse-decision-control))883* `PreToolUse`: `updatedInput` непосредственно под `hookSpecificOutput` заменяет аргументы инструмента перед его запуском. См. [PreToolUse decision control](#pretooluse-decision-control)

871* `PermissionRequest` `updatedInput` внутри объекта `decision` ([детали](#permissionrequest-decision-control))884* `PermissionRequest`: `updatedInput` внутри объекта `decision`. См. [PermissionRequest decision control](#permissionrequest-decision-control)

872* `PostToolUse` `updatedToolOutput` заменяет результат инструмента ([детали](#posttooluse-decision-control))885* `PostToolUse`: `updatedToolOutput` заменяет результат инструмента. См. [PostToolUse decision control](#posttooluse-decision-control)

873* `UserPromptSubmit` не может заменить подсказку; только внедряет `additionalContext` рядом с ней886* `UserPromptSubmit`: не может заменить подсказку; только внедряет `additionalContext` рядом с ней

874 887 

875Для редактирования или трансформации используйте перехват на `PreToolUse` для исходящих входных данных инструмента и `PostToolUse` для входящих результатов инструмента.888Для редактирования или трансформации используйте перехват на `PreToolUse` для исходящих входных данных инструмента и `PostToolUse` для входящих результатов инструмента.

876 889 


959 "cwd": "/Users/...",972 "cwd": "/Users/...",

960 "hook_event_name": "SessionStart",973 "hook_event_name": "SessionStart",

961 "source": "startup",974 "source": "startup",

962 "model": "claude-sonnet-4-6"975 "model": "claude-sonnet-5"

963}976}

964```977```

965 978 


1148 1161 

1149Hooks `UserPromptSubmit` имеют таймаут по умолчанию 30 секунд для типов `command`, `http` и `mcp_tool`, что короче, чем таймаут по умолчанию 600 секунд для этих типов на других событиях. Поскольку этот hook запускается перед каждой подсказкой и блокирует обработку модели до его завершения, застрявший hook замораживает сеанс. Если вашему hook нужно больше времени, установите поле `timeout` в записи hook.1162Hooks `UserPromptSubmit` имеют таймаут по умолчанию 30 секунд для типов `command`, `http` и `mcp_tool`, что короче, чем таймаут по умолчанию 600 секунд для этих типов на других событиях. Поскольку этот hook запускается перед каждой подсказкой и блокирует обработку модели до его завершения, застрявший hook замораживает сеанс. Если вашему hook нужно больше времени, установите поле `timeout` в записи hook.

1150 1163 

1164Hook `UserPromptSubmit`, который достигает своего таймаута, отменяется и его выход, включая любой `additionalContext`, отбрасывается. Подсказка всё ещё достигает Claude без этого контекста. Начиная с v2.1.196, транскрипт показывает уведомление, называющее hook, таймаут, который сработал, и что выход был отброшен. Более ранние версии отменяют hook без уведомления.

1165 

1151<h4 id="userpromptsubmit-input">1166<h4 id="userpromptsubmit-input">

1152 UserPromptSubmit input1167 UserPromptSubmit input

1153</h4>1168</h4>


1404 1419 

1405Запускается после того, как Claude создаёт параметры инструмента и перед обработкой вызова инструмента. Совпадает с именем инструмента: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` и любые [имена MCP инструментов](#match-mcp-tools).1420Запускается после того, как Claude создаёт параметры инструмента и перед обработкой вызова инструмента. Совпадает с именем инструмента: `Bash`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `WebFetch`, `WebSearch`, `AskUserQuestion`, `ExitPlanMode` и любые [имена MCP инструментов](#match-mcp-tools).

1406 1421 

1422<Warning>

1423 PreToolUse запускается только когда Claude вызывает инструмент. Файлы, которые вы [ссылаетесь с `@` в вашей подсказке](/ru/common-workflows#reference-files-and-directories), добавляются без какого-либо вызова инструмента: Claude Code вставляет их содержимое при построении подсказки, поэтому никакой hook PreToolUse не срабатывает для них, включая hooks, соответствующие `Read`. Чтобы заблокировать определённые пути от ссылок `@`, используйте [правило отклонения `Read`](/ru/permissions#read-and-edit) вместо этого.

1424</Warning>

1425 

1407Используйте [PreToolUse decision control](#pretooluse-decision-control) для разрешения, отклонения, запроса или отложения вызова инструмента.1426Используйте [PreToolUse decision control](#pretooluse-decision-control) для разрешения, отклонения, запроса или отложения вызова инструмента.

1408 1427 

1409<h4 id="pretooluse-input">1428<h4 id="pretooluse-input">


2054 2073 

2055Запускается при порождении Claude Code subagent через инструмент Agent. Поддерживает фильтры для фильтрации по имени типа агента. Для встроенных агентов это имя агента, такое как `general-purpose`, `Explore` или `Plan`. Для [пользовательских subagents](/ru/sub-agents), это поле `name` из frontmatter агента, а не имя файла.2074Запускается при порождении Claude Code subagent через инструмент Agent. Поддерживает фильтры для фильтрации по имени типа агента. Для встроенных агентов это имя агента, такое как `general-purpose`, `Explore` или `Plan`. Для [пользовательских subagents](/ru/sub-agents), это поле `name` из frontmatter агента, а не имя файла.

2056 2075 

2076Для subagents, поставляемых [плагином](/ru/plugins), тип агента — это идентификатор, ограниченный плагином, такой как `my-plugin:reviewer`, а не простое имя frontmatter. Двоеточие помещает имя, ограниченное плагином, на путь регулярного выражения, поэтому закрепите фильтр с `^` и `$` для точного совпадения: `^my-plugin:reviewer$`.

2077 

2057<h4 id="subagentstart-input">2078<h4 id="subagentstart-input">

2058 SubagentStart input2079 SubagentStart input

2059</h4>2080</h4>


2780 SessionEnd input2801 SessionEnd input

2781</h4>2802</h4>

2782 2803 

2783В дополнение к [общим полям входа](#common-input-fields), SessionEnd hooks получают поле `reason`, указывающее, почему сеанс закончился. См. таблицу [reason](#sessionend) выше для всех значений.2804В дополнение к [общим полям входа](#common-input-fields), SessionEnd hooks получают поле `reason`, указывающее, почему сеанс закончился. См. таблиц выше для всех значений.

2784 2805 

2785```json theme={null}2806```json theme={null}

2786{2807{


3287}3308}

3288```3309```

3289 3310 

3311Чтобы ссылаться на корневой каталог проекта из команды PowerShell в форме shell, прочитайте его как переменную окружения с помощью `$env:CLAUDE_PROJECT_DIR`. PowerShell рассматривает простую форму `${CLAUDE_PROJECT_DIR}` как локальную переменную, а не как поиск в окружении, и Claude Code подставляет этот заполнитель в форме shell только для [plugin hooks](#reference-scripts-by-path). Для hook, определённого в `settings.json`, либо используйте форму `$env:`, либо переключитесь на [exec form](#exec-form-and-shell-form), где `${CLAUDE_PROJECT_DIR}` подставляется в каждый элемент `args` независимо от того, где определён hook.

3312 

3313Пример ниже показывает hook в `settings.json`, который запускает скрипт проекта с формой `$env:`:

3314 

3315```json theme={null}

3316{

3317 "type": "command",

3318 "shell": "powershell",

3319 "command": "& \"$env:CLAUDE_PROJECT_DIR\\.claude\\hooks\\check.ps1\""

3320}

3321```

3322 

3290<h2 id="debug-hooks">3323<h2 id="debug-hooks">

3291 Debug hooks3324 Debug hooks

3292</h2>3325</h2>

Details

249* История ввода сбрасывается при запуске `/clear` для начала нового сеанса. Разговор предыдущего сеанса сохраняется и может быть возобновлен.249* История ввода сбрасывается при запуске `/clear` для начала нового сеанса. Разговор предыдущего сеанса сохраняется и может быть возобновлен.

250* Отправка одного и того же приглашения дважды подряд записывает одну запись в историю, поэтому нажатие стрелки вверх переходит к предыдущему отличающемуся приглашению250* Отправка одного и того же приглашения дважды подряд записывает одну запись в историю, поэтому нажатие стрелки вверх переходит к предыдущему отличающемуся приглашению

251* Используйте стрелки вверх/вниз для навигации (см. сочетания клавиш выше)251* Используйте стрелки вверх/вниз для навигации (см. сочетания клавиш выше)

252* **Примечание**: расширение истории (`!`) отключено по умолчанию252* Расширение истории с `!` отключено по умолчанию

253 253 

254<h3 id="reverse-search-with-ctrl-r">254<h3 id="reverse-search-with-ctrl-r">

255 Поиск в обратном порядке с Ctrl+R255 Поиск в обратном порядке с Ctrl+R


285Для запуска команд в фоновом режиме вы можете либо:285Для запуска команд в фоновом режиме вы можете либо:

286 286 

287* Попросить Claude Code запустить команду в фоновом режиме287* Попросить Claude Code запустить команду в фоновом режиме

288* Нажать Ctrl+B для перемещения обычного вызова инструмента Bash в фоновый режим. (Пользователи Tmux должны нажать Ctrl+B дважды из-за префиксной клавиши tmux.)288* Нажать `Ctrl+B` для перемещения обычного вызова инструмента Bash в фоновый режим. Пользователи Tmux должны нажать `Ctrl+B` дважды из-за префиксной клавиши tmux.

289 289 

290**Ключевые особенности:**290**Ключевые особенности:**

291 291 

292* Вывод записывается в файл и Claude может получить его с помощью инструмента Read292* Вывод записывается в файл и Claude может получить его с помощью инструмента Read

293* Фоновые задачи имеют уникальные ID для отслеживания и получения вывода293* Фоновые задачи имеют уникальные ID для отслеживания и получения вывода

294* Фоновые задачи автоматически очищаются при выходе из Claude Code294* Фоновые задачи автоматически очищаются при выходе из Claude Code. Фоновое выполнение сеанса вместо выхода передает их фоновому сеансу, где они продолжают работать. См. [фоновое выполнение работающего сеанса](/ru/agent-view#from-inside-a-session)

295* Фоновые задачи автоматически завершаются, если вывод превышает 5GB, с примечанием в stderr, объясняющим почему295* Фоновые задачи автоматически завершаются, если вывод превышает 5GB, с примечанием в stderr, объясняющим почему

296* {/* min-version: 2.1.193 */}Начиная с версии 2.1.193, на macOS и Linux работающие фоновые задачи завершаются, когда операционная система сигнализирует о нехватке памяти, при условии, что сеанс был неактивен не менее 30 минут без выполнения хода или подагента. Установите [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/ru/env-vars) на `1`, чтобы отключить это

296 297 

297Чтобы отключить всю функциональность фоновых задач, установите переменную окружения `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` на `1`. Подробнее см. в разделе [Переменные окружения](/ru/env-vars).298Чтобы отключить всю функциональность фоновых задач, установите переменную окружения `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` на `1`. Подробнее см. в разделе [Переменные окружения](/ru/env-vars).

298 299 


322* Показывает прогресс и вывод в реальном времени323* Показывает прогресс и вывод в реальном времени

323* Поддерживает то же самое `Ctrl+B` фоновое выполнение для долгоживущих команд324* Поддерживает то же самое `Ctrl+B` фоновое выполнение для долгоживущих команд

324* Не требует интерпретации или одобрения команды Claude325* Не требует интерпретации или одобрения команды Claude

325* Поддерживает автодополнение на основе истории: введите частичную команду и нажмите **Tab** для завершения из предыдущих команд `!` в текущем проекте326* Поддерживает автодополнение на основе истории: введите частичную команду и нажмите `Tab` для завершения из предыдущих команд `!` в текущем проекте

327* {/* min-version: 2.1.193 */}Поддерживает автодополнение пути к файлу в реальном времени начиная с версии 2.1.193 на всех платформах: введите токен, содержащий прямую косую черту, такой как `./src/` или `~/`, чтобы увидеть раскрывающийся список совпадающих файлов и каталогов, затем нажмите `Tab` для принятия. Используйте прямые косые черты на Windows тоже; раскрывающийся список вызывается `/`, а не `\`

326* Выход с помощью `Escape`, `Backspace` или `Ctrl+U` на пустом запросе328* Выход с помощью `Escape`, `Backspace` или `Ctrl+U` на пустом запросе

327* Вставка текста, начинающегося с `!`, в пустой запрос автоматически входит в режим bash, соответствуя поведению введенного `!`329* Вставка текста, начинающегося с `!`, в пустой запрос автоматически входит в режим bash, соответствуя поведению введенного `!`

328 330 


338 340 

339После ответа Claude предложения продолжают появляться на основе истории вашего разговора, такие как следующий шаг из многочастного запроса или естественное продолжение вашего рабочего процесса.341После ответа Claude предложения продолжают появляться на основе истории вашего разговора, такие как следующий шаг из многочастного запроса или естественное продолжение вашего рабочего процесса.

340 342 

341* Нажмите **Tab** или **Right arrow** для размещения предложения в поле ввода запроса, затем **Enter** для отправки343* Нажмите `Tab` или `Right arrow` для размещения предложения в поле ввода запроса, затем `Enter` для отправки

342* Начните печатать для отклонения344* Начните печатать для отклонения

343 345 

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


368* **Один ответ**: нет последующих ходов в оверлее. Чтобы продолжить диалог, разветвите его в отдельный сеанс с помощью `f`.370* **Один ответ**: нет последующих ходов в оверлее. Чтобы продолжить диалог, разветвите его в отдельный сеанс с помощью `f`.

369* **Низкая стоимость**: боковой вопрос повторно использует кэш запроса родительского разговора, поэтому дополнительная стоимость минимальна.371* **Низкая стоимость**: боковой вопрос повторно использует кэш запроса родительского разговора, поэтому дополнительная стоимость минимальна.

370 372 

371После появления ответа оверлей принимает эти клавиши. Более ранние боковые вопросы из того же сеанса появляются как затемненный список выше текущего ответа; они остаются вне истории разговора, но остаются видимыми в оверлее до тех пор, пока вы их не очистите.373После появления ответа оверлей принимает эти клавиши.

374 

375\| Клавиша | Действие |

372 376 

373| Клавиша | Действие |377| Клавиша | Действие |

374| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |378| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |


413* Красный: запрошены изменения417* Красный: запрошены изменения

414* Серый: черновик418* Серый: черновик

415 419 

416Значок исчезает после объединения или закрытия pull request. `Cmd+click` (Mac) или `Ctrl+click` (Windows/Linux) на ссылку для открытия pull request в вашем браузере. Статус обновляется каждые 60 секунд и сразу же после выполнения команды `gh pr` или `git push` в сеансе.420Значок исчезает после объединения или закрытия pull request. `Cmd+click` (macOS) или `Ctrl+click` (Windows/Linux) на ссылку для открытия pull request в вашем браузере. Статус обновляется каждые 60 секунд и сразу же после выполнения команды `gh pr` или `git push` в сеансе.

417 421 

418<Note>422<Note>

419 Статус PR требует установки и аутентификации CLI `gh` (`gh auth login`).423 Статус PR требует установки и аутентификации CLI `gh` (`gh auth login`).

jetbrains.md +1 −1

Details

233 Соображения безопасности233 Соображения безопасности

234</h2>234</h2>

235 235 

236Когда Claude Code работает в JetBrains IDE с включенными разрешениями на автоматическое редактирование, он может быть в состоянии изменять файлы конфигурации IDE, которые могут быть автоматически выполнены вашей IDE. Это может увеличить риск запуска Claude Code в режиме автоматического редактирования и позволить обойти подсказки разрешений Claude Code для выполнения bash.236Когда Claude Code работает в JetBrains IDE в режиме разрешения [`acceptEdits`](/ru/permission-modes#auto-approve-file-edits-with-acceptedits-mode), он может быть в состоянии изменять файлы конфигурации IDE, которые могут быть автоматически выполнены вашей IDE. Это может увеличить риск запуска Claude Code в режиме `acceptEdits` и позволить обойти подсказки разрешений Claude Code для выполнения bash.

237 237 

238При запуске в JetBrains IDEs учитывайте:238При запуске в JetBrains IDEs учитывайте:

239 239 

llm-gateway.md +0 −96 deleted

File Deleted View Diff

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# LLM gateways

6 

7> Маршрутизируйте Claude Code через LLM gateway для централизованной аутентификации, отслеживания использования и контроля затрат. Охватывает подключение Claude Code к шлюзу, развертывание шлюза для вашей организации, что Claude Code отправляет на шлюз и как шлюзы взаимодействуют с подписками claude.ai.

8 

9LLM gateway — это прокси, который ваша организация запускает между Claude Code и поставщиком модели. Claude Code отправляет трафик API на шлюз, а шлюз перенаправляет его поставщику, используя учетные данные, которыми управляет ваша организация.

10 

11<Note>

12 * Если вы разработчик, подключающийся к существующему шлюзу: [подключите Claude Code к вашему шлюзу](/ru/llm-gateway-connect)

13 * Если вы администратор, развертывающий шлюз для вашей организации: [разверните и распределите шлюз](/ru/llm-gateway-rollout)

14 * Если вы настраиваете продукт шлюза: [справочник протокола шлюза](/ru/llm-gateway-protocol)

15</Note>

16 

17<h2 id="what-a-gateway-provides">

18 Что предоставляет шлюз

19</h2>

20 

21Шлюз дает вашей организации одно место для управления:

22 

23* **Учетные данные**: ключ поставщика остается на стороне сервера; разработчики вместо этого используют учетные данные шлюза

24* **Отслеживание использования**: атрибутируйте использование по разработчику или команде, независимо от того, какой поставщик обслуживает запрос

25* **Контроль затрат**: применяйте бюджеты и ограничения скорости в одном месте

26* **Логирование аудита**: логируйте каждый запрос модели для соответствия требованиям

27* **Переключение поставщика**: измените поставщика в конфигурации шлюза, не трогая машины разработчиков

28 

29Все эти функции, кроме переключения поставщика, применяются независимо от того, является ли upstream API Anthropic или [облачный поставщик](/ru/third-party-integrations).

30 

31Компромисс заключается в том, что шлюз становится инфраструктурой, которую управляет ваша организация. Claude Code добавляет возможности с каждым выпуском, и шлюз, который не перенаправляет их, нарушает соответствующие функции, поэтому продукт шлюза должен быть обновлен по мере развития Claude Code. [Справочник протокола шлюза](/ru/llm-gateway-protocol) охватывает то, что нужно перенаправлять.

32 

33<h2 id="how-a-gateway-works">

34 Как работает шлюз

35</h2>

36 

37По умолчанию Claude Code отправляет запросы непосредственно на API Anthropic по адресу `api.anthropic.com`. Чтобы маршрутизировать через шлюз, установите `ANTHROPIC_BASE_URL` на адрес шлюза; Claude Code отправляет туда же запросы. Шлюз аутентифицирует разработчика, прикрепляет учетные данные поставщика вашей организации и перенаправляет каждый запрос поставщику, для которого он настроен.

38 

39`ANTHROPIC_BASE_URL` — это переменная адреса для большинства шлюзов. Шлюз, который находится перед конкретным облачным поставщиком, таким как Bedrock, Vertex, Foundry или Claude Platform на AWS, использует переменную базового URL этого поставщика; [Форматы API](/ru/llm-gateway-protocol#api-formats) указывает, какая переменная идет с каждой конфигурацией.

40 

41<Frame>

42 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/llm-gateway-flow.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=1c1a8dcc0cfcc3a58652cc8e28cd3e20" alt="Диаграмма, показывающая маршрутизацию Claude Code через LLM gateway. В зоне машин разработчиков Claude Code CLI, расширение VS Code и клиенты CI или Agent SDK отправляют запросы на шлюз, с переменной базового URL для формата API шлюза, указывающей на него, и каждый разработчик держит учетные данные для каждого разработчика, а настольное приложение достигает того же шлюза через конфигурацию, распределенную организацией. В зоне, обозначенной как ваша инфраструктура, LLM gateway обрабатывает аутентификацию, отслеживание использования, бюджеты и маршрутизацию, и перенаправляет запросы с учетными данными вашей организации. В зоне поставщиков моделей сплошная стрелка ведет к поставщику, который вы настраиваете, показанному как API Anthropic, и пунктирные стрелки ведут к другим вариантам поставщика, проиллюстрированным Amazon Bedrock, Google Vertex AI и Microsoft Foundry в качестве примеров." width="780" height="322" data-path="images/llm-gateway-flow.svg" />

43</Frame>

44 

45Задействованы два вида учетных данных:

46 

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

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

49 

50Шлюз перенаправляет каждый запрос поставщику, который вы настраиваете, такому как API Anthropic, [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai), [Microsoft Foundry](/ru/microsoft-foundry) или [Claude Platform на AWS](/ru/claude-platform-on-aws). Поскольку Claude Code разговаривает только со шлюзом, выбор поставщика — это конфигурация шлюза, а не клиента.

51 

52<h2 id="roll-out-a-gateway">

53 Развертывание шлюза

54</h2>

55 

56Когда вы готовы развернуть LLM gateway для вашей организации, последовательность одинакова независимо от того, какой продукт шлюза вы выберете:

57 

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

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

603. Распределите конфигурацию через [управляемый файл параметров](/ru/settings#settings-files) и ваши инструменты управления секретами, чтобы каждая машина получила базовый URL и учетные данные. Когда оба распределены, разработчики ничего не настраивают. Если у вас нет распределения параметров, разработчики следуют [странице подключения](/ru/llm-gateway-connect), чтобы установить переменные самостоятельно.

614. Попросите каждого разработчика [проверить конфигурацию в Claude Code](/ru/llm-gateway-connect#check-for-an-existing-configuration), чтобы проблемы распределения выявились до того, как они будут зависеть от шлюза.

62 

63[Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout) проходит каждый шаг и показывает файлы конфигурации для распределения на каждом. Шлюз — это одна часть организационной настройки; для применения политики, видимости использования и решений по обработке данных см. [Настройка Claude Code для вашей организации](/ru/admin-setup).

64 

65<h2 id="third-party-gateways">

66 Шлюзы третьих сторон

67</h2>

68 

69Любой шлюз, который предоставляет [поддерживаемый формат API](/ru/llm-gateway-protocol#api-formats), работает. Anthropic не одобряет, не поддерживает и не проверяет продукты шлюзов третьих сторон. Разверните их, следуя их собственной документации, затем завершите сторону Claude Code развертывания с помощью [этапов развертывания](/ru/llm-gateway-rollout).

70 

71<h2 id="subscriptions-and-gateways">

72 Подписки и шлюзы

73</h2>

74 

75Пока активна [переменная учетных данных шлюза](/ru/llm-gateway-connect#set-the-credential-variable) или `apiKeyHelper`, подписка claude.ai разработчика не используется: учетные данные заменяют вход подписки для этого сеанса, и ограничения использования подписки не применяются. Этот трафик выставляется счетом за токен тому, кто владеет учетными данными, которые перенаправляет шлюз, например вашей учетной записи Anthropic Console организации или вашей учетной записи Bedrock, Vertex или Foundry, когда шлюз маршрутизирует туда.

76 

77Установка только `ANTHROPIC_BASE_URL` без учетных данных шлюза не заменяет подписку. Запросы по-прежнему маршрутизируются через шлюз, но сохраненный вход claude.ai остается активным учетным данным, поэтому применяются его ограничения использования и выставление счетов. Шлюзы, которые передают этот трафик на Anthropic, должны перенаправлять возможность OAuth в `anthropic-beta`; см. [справочник заголовков запроса](/ru/llm-gateway-protocol#request-headers).

78 

79<h2 id="configure-separately-from-the-gateway">

80 Настройка отдельно от шлюза

81</h2>

82 

83Шлюз определяет, куда отправляются запросы API модели. Выбор модели, остальной трафик сети Claude Code и корпоративные прокси настраиваются отдельно:

84 

85* **Выбор модели**: базовый URL определяет, куда идут запросы, а не какая модель отвечает. Выберите модель с помощью команды `/model` или переменных окружения модели; см. [как установить вашу модель](/ru/model-config#setting-your-model)

86* **Трафик на стороне клиента**: проверки версии и дополнительная телеметрия клиента, обе отключены с помощью [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/ru/env-vars), и трафик входа при использовании входа claude.ai или Console идут на конечные точки обновления и аутентификации Anthropic, а не на шлюз. См. [требования доступа в сеть](/ru/network-config#network-access-requirements) для доменов

87* **Корпоративные прокси**: прокси, установленный с помощью `HTTPS_PROXY`, находится между Claude Code и каждым сервером, с которым он разговаривает, включая шлюз. Если ваша сеть требует прокси, настройте оба; см. [конфигурация прокси](/ru/network-config#proxy-configuration)

88 

89<h2 id="related-pages">

90 Связанные страницы

91</h2>

92 

93* [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect): установите базовый URL и учетные данные на вашей собственной машине, с конфигурацией для каждой поверхности и таблицей устранения неполадок

94* [Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout): контрольный список администратора для развертывания шлюза, выдачи учетных данных разработчика и распределения управляемых параметров

95* [Справочник протокола шлюза](/ru/llm-gateway-protocol): что Claude Code отправляет на шлюз, для операторов, настраивающих его, охватывающий конечные точки, заголовки для перенаправления и передачу функций

96* [Настройка Claude Code для вашей организации](/ru/admin-setup): более широкие решения развертывания, частью которых является шлюз, включая применение политики и видимость использования

Details

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```232```

233 233 

234Для шлюза bearer-token передайте один и тот же секрет как вход `anthropic_api_key` и `ANTHROPIC_AUTH_TOKEN` в блоке `env` рабочего процесса. Действие требует `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN` или федерацию рабочей нагрузки перед запуском Claude Code, и оно не читает `ANTHROPIC_AUTH_TOKEN`, поэтому вход удовлетворяет эту проверку запуска, а переменная окружения помещает ключ в заголовок `Authorization`, который читает шлюз. Копия в `x-api-key` игнорируется:234Для шлюза bearer-token передайте один и тот же секрет как вход `anthropic_api_key` и `ANTHROPIC_AUTH_TOKEN` в блоке `env` рабочего процесса. Действие требует `anthropic_api_key`, `CLAUDE_CODE_OAUTH_TOKEN` или федерацию рабочей нагрузки перед запуском Claude Code, и оно не читает `ANTHROPIC_AUTH_TOKEN`, поэтому вход удовлетворяет эту проверку запуска. Переменная окружения помещает ключ в заголовок `Authorization`, который читает шлюз; копия в `x-api-key` игнорируется:

235 235 

236```yaml theme={null}236```yaml theme={null}

237env:237env:


285 285 

286[Claude Code в Slack](/ru/slack) и [Claude Code на веб](/ru/claude-code-on-the-web) — это размещенные Anthropic продукты, которые всегда используют API Anthropic; они не являются частью развертывания шлюза. Переменные шлюза, установленные в конфигурации окружения облачного сеанса, не применяются. Если ваш трафик должен оставаться на шлюзе, не включайте эти поверхности для этих пользователей.286[Claude Code в Slack](/ru/slack) и [Claude Code на веб](/ru/claude-code-on-the-web) — это размещенные Anthropic продукты, которые всегда используют API Anthropic; они не являются частью развертывания шлюза. Переменные шлюза, установленные в конфигурации окружения облачного сеанса, не применяются. Если ваш трафик должен оставаться на шлюзе, не включайте эти поверхности для этих пользователей.

287 287 

288[Remote Control](/ru/remote-control) и [голосовая диктовка](/ru/voice-dictation) оба полагаются на идентичность claude.ai: Remote Control для связи живого сеанса с вашей учетной записью и голосовая диктовка для достижения конечной точки транскрипции claude.ai. Они недоступны, пока активны `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`. Чтобы использовать любой из них, отмените установку учетных данных шлюза и вместо этого войдите с claude.ai; `/doctor` называет переменную для отмены установки.288[Remote Control](/ru/remote-control) и [голосовая диктовка](/ru/voice-dictation) оба полагаются на идентичность claude.ai: Remote Control для связи живого сеанса с вашей учетной записью, и голосовая диктовка для достижения конечной точки транскрипции claude.ai. Они недоступны, пока активны `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, Remote Control также отключен, пока `ANTHROPIC_BASE_URL` указывает на хост, не принадлежащий Anthropic, поэтому входа с claude.ai недостаточно само по себе.

289 

290Чтобы восстановить любую из этих функций, войдите с claude.ai и отмените установку переменных шлюза, которые он проверяет. `/doctor` называет переменную учетных данных для отмены установки.

291 

292* Голосовая диктовка: отмените установку учетных данных шлюза

293* Remote Control: отмените установку учетных данных шлюза и `ANTHROPIC_BASE_URL`

289 294 

290<h2 id="additional-configuration">295<h2 id="additional-configuration">

291 Дополнительная конфигурация296 Дополнительная конфигурация


318```json theme={null}323```json theme={null}

319{324{

320 "env": {325 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"326 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: example"

322 }327 }

323}328}

324```329```


388 Маршрутизация к облачному поставщику через шлюз393 Маршрутизация к облачному поставщику через шлюз

389</h3>394</h3>

390 395 

391Эти конфигурации направляют Claude Code на шлюз через переменную базового URL, специфичную для поставщика, вместо `ANTHROPIC_BASE_URL`. Шлюзы Bedrock и Vertex принимают собственные форматы запросов этих поставщиков; шлюзы Foundry и Claude Platform на AWS принимают формат Anthropic Messages и отличаются только тем, какая переменная базового URL их достигает.396Эти конфигурации направляют Claude Code на шлюз через переменную базового URL, специфичную для поставщика, вместо `ANTHROPIC_BASE_URL`. Шлюзы Bedrock и Agent Platform принимают собственные форматы запросов этих поставщиков; шлюзы Foundry и Claude Platform на AWS принимают формат Anthropic Messages и отличаются только тем, какая переменная базового URL их достигает.

392 397 

393Используйте один только если команда шлюза специально назвала Bedrock, Vertex, Foundry или Claude Platform на AWS. Если [запрос проверки](#verify-the-connection) выше вернул JSON, вы можете пропустить этот раздел.398Используйте один только если команда шлюза специально назвала Bedrock, Agent Platform, Foundry или Claude Platform на AWS. Если [запрос проверки](#verify-the-connection) выше вернул JSON, вы можете пропустить этот раздел.

394 399 

395Установите блок для поставщика, которого назвала команда шлюза. Переменные skip-auth говорят Claude Code не подписывать запросы с учетными данными поставщика, так как шлюз их держит. Если шлюзу нужен свой собственный токен, добавьте `ANTHROPIC_AUTH_TOKEN` после блока, кроме Foundry, который использует `ANTHROPIC_FOUNDRY_API_KEY`, как показано.400Установите блок для поставщика, которого назвала команда шлюза. Переменные skip-auth говорят Claude Code не подписывать запросы с учетными данными поставщика, так как шлюз их держит. Если шлюзу нужен свой собственный токен, добавьте `ANTHROPIC_AUTH_TOKEN` после блока, кроме Foundry, который использует `ANTHROPIC_FOUNDRY_API_KEY`, как показано.

396 401 


416 </Tab>421 </Tab>

417</Tabs>422</Tabs>

418 423 

419<h4 id="google-vertex-ai">424<h4 id="google-cloud’s-agent-platform">

420 Google Vertex AI425 Google Cloud's Agent Platform

421</h4>426</h4>

422 427 

423<Tabs>428<Tabs>

Details

8 8 

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

10 10 

11Работающий [Claude apps gateway](/ru/claude-apps-gateway) предоставляет машиночитаемую версию этого контракта по адресу `GET /protocol`, охватывающую те же требования пересылки плюс специфичные для Claude apps gateway конечные точки для входа SSO, доставки управляемых параметров и телеметрии. Claude apps gateway работает из того же двоичного файла `claude`, что и CLI, поэтому [быстрый старт Claude apps gateway](/ru/claude-apps-gateway#quickstart) — это кратчайший путь к работающему экземпляру, из которого вы можете получить спецификацию.

12 

11<Note>13<Note>

12 * Чтобы развернуть существующий или сторонний gateway для вашей организации, см. [Развертывание LLM gateway](/ru/llm-gateway-rollout)14 * Чтобы развернуть существующий или сторонний gateway для вашей организации, см. [Развертывание LLM gateway](/ru/llm-gateway-rollout)

13 * Если вы отдельный разработчик, аутентифицирующий Claude Code на gateway с учетными данными, которые вам были предоставлены, см. [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect)15 * Если вы отдельный разработчик, аутентифицирующий Claude Code на gateway с учетными данными, которые вам были предоставлены, см. [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect)


32 API форматы34 API форматы

33</h2>35</h2>

34 36 

35Gateway должен предоставить клиентам Claude Code по крайней мере один из следующих форматов API. Какой формат использует Claude Code, определяется конфигурацией клиента: переменная в столбце "Выбрано" таблицы ниже указывает Claude Code на ваш gateway в этом формате.37Gateway должен предоставить клиентам Claude Code по крайней мере один из следующих форматов API. Какой формат использует Claude Code, определяется конфигурацией клиента: переменная в столбце "Выбрано" таблицы ниже указывает Claude Code на ваш gateway в этом формате. Agent Platform — это конечная точка Claude компании Google Cloud, ранее известная как Vertex AI; названия её переменных сохраняют написание `VERTEX`.

36 38 

37| Формат | Выбрано | Конечные точки | Пересылать без изменений |39| Формат | Выбрано | Конечные точки | Пересылать без изменений |

38| :------------------ | :--------------------------------------------------------- | :-------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |40| :------------------------ | :--------------------------------------------------------- | :-------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |

39| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (опционально) | заголовки запроса `anthropic-beta` и `anthropic-version` |41| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (опционально) | заголовки запроса `anthropic-beta` и `anthropic-version` |

40| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` с `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | поля тела запроса `anthropic_beta` и `anthropic_version` |42| Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` с `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream` | поля тела запроса `anthropic_beta` и `anthropic_version` |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` с `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (опционально) | заголовки запроса `anthropic-beta` и `anthropic-version`, и поле тела запроса `anthropic_version` |43| Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` с `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (опционально) | заголовки запроса `anthropic-beta` и `anthropic-version`, и поле тела запроса `anthropic_version` |

42 44 

43<h3 id="foundry-and-claude-platform-on-aws">45<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry и Claude Platform on AWS46 Foundry и Claude Platform on AWS


50 Опциональные конечные точки и трафик при запуске52 Опциональные конечные точки и трафик при запуске

51</h3>53</h3>

52 54 

53Конечные точки подсчета токенов — единственные опциональные: когда их нет, Claude Code локально оценивает использование контекста. Запросы вывода отправляются на `/v1/messages?beta=true`, поэтому сопоставляйте по пути, а не по полному URL. Суффиксы метода Vertex присоединяются к пути модели издателя, как в `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.55Конечные точки подсчета токенов — единственные опциональные: когда их нет, Claude Code локально оценивает использование контекста. Запросы вывода отправляются на `/v1/messages?beta=true`, поэтому сопоставляйте по пути, а не по полному URL. Суффиксы метода Agent Platform присоединяются к пути модели издателя, как в `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 56 

55Gateway также видит трафик при запуске, который он может отклонить без нарушения чего-либо: зонд подключения `HEAD /` и на gateway-ах формата Bedrock запрос `GET /inference-profiles?type=SYSTEM_DEFINED`.57Gateway также видит трафик при запуске, который он может отклонить без нарушения чего-либо: зонд подключения `HEAD /` и на gateway-ах формата Bedrock запрос `GET /inference-profiles?type=SYSTEM_DEFINED`.

56 58 


66 68 

67Какой формат использует клиент, определяет, что получает ваш gateway. Распространенный режим отказа — несоответствие между форматом, который клиент отправляет вашему gateway, и форматом, который принимает поставщик upstream позади него.69Какой формат использует клиент, определяет, что получает ваш gateway. Распространенный режим отказа — несоответствие между форматом, который клиент отправляет вашему gateway, и форматом, который принимает поставщик upstream позади него.

68 70 

69* Когда клиент использует формат Bedrock или Vertex, Claude Code отправляет только подмножество своего полного набора возможностей, которое эти поставщики принимают71* Когда клиент использует формат Bedrock или Agent Platform, Claude Code отправляет только подмножество своего полного набора возможностей, которое эти поставщики принимают

70* Когда клиент использует формат Anthropic Messages, Claude Code отправляет полный набор, даже если ваш gateway пересылает на upstream Bedrock или Vertex72* Когда клиент использует формат Anthropic Messages, Claude Code отправляет полный набор, даже если ваш gateway пересылает на upstream Bedrock или Agent Platform

71 73 

72Преодоление этого различия — задача вашего gateway. [Сквозная передача функций](#feature-pass-through) описывает, что ломается, когда этого не происходит.74Преодоление этого различия — задача вашего gateway. [Сквозная передача функций](#feature-pass-through) описывает, что ломается, когда этого не происходит.

73 75 


80| Заголовок | Описание |82| Заголовок | Описание |

81| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |83| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

82| `Authorization`, `x-api-key` | Учетные данные gateway разработчика, в одном или обоих заголовках в зависимости от того, какую [переменную учетных данных](/ru/llm-gateway-connect#set-the-credential-variable) они установили |84| `Authorization`, `x-api-key` | Учетные данные gateway разработчика, в одном или обоих заголовках в зависимости от того, какую [переменную учетных данных](/ru/llm-gateway-connect#set-the-credential-variable) они установили |

83| `anthropic-version` | Версия API, в настоящее время `2023-06-01`. Запросы формата Bedrock и Vertex также содержат поле тела `anthropic_version`, значение которого — строка диалекта поставщика, а не значение этого заголовка |85| `anthropic-version` | Версия API, в настоящее время `2023-06-01`. Запросы формата Bedrock и Agent Platform также содержат поле тела `anthropic_version`, значение которого — строка диалекта поставщика, а не значение этого заголовка |

84| `anthropic-beta` | Значения возможностей, разделенные запятыми, для запроса. Пересылайте заголовок дословно; не создавайте список разрешений отдельных значений, потому что набор изменяется с выпусками Claude Code. Когда разработчик аутентифицируется с помощью входа claude.ai, что возможно, когда `ANTHROPIC_BASE_URL` установлен без переменной учетных данных gateway, этот заголовок также содержит возможность OAuth, которую требует upstream, и удаление его приводит к отказу этих запросов с `401` |86| `anthropic-beta` | Значения возможностей, разделенные запятыми, для запроса. Пересылайте заголовок дословно; не создавайте список разрешений отдельных значений, потому что набор изменяется с выпусками Claude Code. Когда разработчик аутентифицируется с помощью входа claude.ai, что возможно, когда `ANTHROPIC_BASE_URL` установлен без переменной учетных данных gateway, этот заголовок также содержит возможность OAuth, которую требует upstream, и удаление его приводит к отказу этих запросов с `401` |

85| `x-claude-code-session-id` | Уникальный идентификатор текущего сеанса Claude Code. Используйте его для агрегирования всех запросов из одного сеанса без анализа тел запросов |87| `x-claude-code-session-id` | Уникальный идентификатор текущего сеанса Claude Code. Используйте его для агрегирования всех запросов из одного сеанса без анализа тел запросов |

86| `x-claude-code-agent-id` | Идентификатор [подагента](/ru/sub-agents), который выдал запрос, присутствует только в запросах от агента, порожденного Claude Code внутри сеанса. Используйте его с идентификатором сеанса для отнесения затрат к параллельным агентам |88| `x-claude-code-agent-id` | Идентификатор [подагента](/ru/sub-agents), который выдал запрос, присутствует только в запросах от агента, порожденного Claude Code внутри сеанса. Используйте его с идентификатором сеанса для отнесения затрат к параллельным агентам |


98 100 

99При пересылке на upstream формата Anthropic пропускайте заголовки запроса `anthropic-*` и поля тела запроса без изменений, а не создавайте список разрешений видимых вами сегодня. Gateway, привязанный к наблюдаемому списку, удаляет заголовок или поле следующей возможности и ломает его при выпуске, который его вводит.101При пересылке на upstream формата Anthropic пропускайте заголовки запроса `anthropic-*` и поля тела запроса без изменений, а не создавайте список разрешений видимых вами сегодня. Gateway, привязанный к наблюдаемому списку, удаляет заголовок или поле следующей возможности и ломает его при выпуске, который его вводит.

100 102 

101Исключением является upstream, не относящийся к Anthropic, такой как Bedrock или Vertex, где преодоление различия схемы — задача gateway; см. [сквозная передача функций](#feature-pass-through).103Исключением является upstream, не относящийся к Anthropic, такой как Bedrock или Agent Platform, где преодоление различия схемы — задача gateway; см. [сквозная передача функций](#feature-pass-through).

102 104 

103<h2 id="system-prompt-attribution-block">105<h2 id="system-prompt-attribution-block">

104 Блок атрибуции системного приглашения106 Блок атрибуции системного приглашения


112 Сквозная передача функций114 Сквозная передача функций

113</h2>115</h2>

114 116 

115Claude Code рассматривает gateway `ANTHROPIC_BASE_URL` как конечную точку формата Anthropic и отправляет ему бета-заголовки и поля тела запроса, которые он отправляет на `api.anthropic.com`, за исключением небольшого набора диагностики и значений по умолчанию, зарезервированных для прямых соединений.117Claude Code рассматривает gateway `ANTHROPIC_BASE_URL` как конечную точку формата Anthropic и отправляет ему бета-заголовки и поля тела запроса, которые он отправляет на `api.anthropic.com`, за исключением небольшого набора диагностики и значений по умолчанию, зарезервированных для прямых соединений, таких как значение по умолчанию для потоковой передачи инструментов с точной детализацией, описанное ниже. Этот набор варьируется в зависимости от выпуска, поэтому не полагайтесь на его содержимое.

116 118 

117Возможности, которые добавляют поля тела, связывают их с бета-заголовком, и пара путешествует вместе. Gateway, который удаляет заголовок при передаче тела или пересылает тело формата Anthropic на upstream с другой схемой, создает жесткие ошибки `400`; только когда обе половины отсутствуют вместе, функция отключается тихо. Gateway, который переписывает или редактирует тела запросов для проверки содержимого, нарушает связь так же, как удаление, поэтому проверяйте без изменения. Таблица отмечает, где функция отклоняется от связи.119Возможности, которые добавляют поля тела, связывают их с бета-заголовком, и пара путешествует вместе. Gateway, который удаляет заголовок при передаче тела или пересылает тело формата Anthropic на upstream с другой схемой, создает жесткие ошибки `400`; только когда обе половины отсутствуют вместе, функция отключается тихо. Gateway, который переписывает или редактирует тела запросов для проверки содержимого, нарушает связь так же, как удаление, поэтому проверяйте без изменения. Таблица отмечает, где функция отклоняется от связи.

118 120 


124| [Управление контекстом](https://platform.claude.com/docs/en/build-with-claude/context-management) | Бета-заголовок управления контекстом связан с полем тела `context_management` | `400` с `Extra inputs are not permitted`. Часто встречается, когда gateway принимает запросы формата Anthropic, но пересылает их на Bedrock | Пересылайте оба или [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/ru/env-vars) |126| [Управление контекстом](https://platform.claude.com/docs/en/build-with-claude/context-management) | Бета-заголовок управления контекстом связан с полем тела `context_management` | `400` с `Extra inputs are not permitted`. Часто встречается, когда gateway принимает запросы формата Anthropic, но пересылает их на Bedrock | Пересылайте оба или [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/ru/env-vars) |

125| [Расширенный контекст](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) и [чередующееся мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Только бета-заголовки, нет поля тела | Молча недоступно, когда заголовок удален; upstream никогда не видит запрос возможности | Пересылайте `anthropic-beta` дословно |127| [Расширенный контекст](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) и [чередующееся мышление](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | Только бета-заголовки, нет поля тела | Молча недоступно, когда заголовок удален; upstream никогда не видит запрос возможности | Пересылайте `anthropic-beta` дословно |

126| Бета [поля инструментов](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Бета-заголовки, связанные с инструментами, связаны с полями схемы инструментов, такими как `strict` и `defer_loading` | `400` с указанием неузнанного поля схемы инструмента, когда тело проходит без его заголовка | Пересылайте оба или `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |128| Бета [поля инструментов](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Бета-заголовки, связанные с инструментами, связаны с полями схемы инструментов, такими как `strict` и `defer_loading` | `400` с указанием неузнанного поля схемы инструмента, когда тело проходит без его заголовка | Пересылайте оба или `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` |

127| [Усилие](https://platform.claude.com/docs/en/build-with-claude/effort) и [структурированные выходы](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Поле тела `output_config` содержит усилие, формат структурированного вывода и параметры бюджета задачи; каждое связано с собственным бета-заголовком | `400` с указанием `output_config`, часто `Extra inputs are not permitted`, на upstream-ах Bedrock и Vertex | Пересылайте поле и его заголовки вместе |129| [Усилие](https://platform.claude.com/docs/en/build-with-claude/effort) и [структурированные выходы](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Поле тела `output_config` содержит усилие, формат структурированного вывода и параметры бюджета задачи; каждое связано с собственным бета-заголовком | `400` с указанием `output_config`, часто `Extra inputs are not permitted`, на upstream-ах Bedrock и Agent Platform | Пересылайте поле и его заголовки вместе |

128| [Подсчет токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Нет бета-связи; использует конечную точку `count_tokens` | Claude Code возвращается к локальной оценке использования контекста | Предоставьте конечную точку, если вы хотите точные подсчеты |130| [Подсчет токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Нет бета-связи; использует конечную точку `count_tokens` | Claude Code возвращается к локальной оценке использования контекста | Предоставьте конечную точку, если вы хотите точные подсчеты |

129 131 

130Переменные `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [объявляют](/ru/model-config) возможности модели только в конфигурациях поставщика: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY` и [`CLAUDE_CODE_USE_MANTLE`](/ru/amazon-bedrock#use-the-mantle-endpoint). Они не имеют эффекта позади gateway `ANTHROPIC_BASE_URL`.132Переменные `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` [объявляют](/ru/model-config) возможности модели только в конфигурациях поставщика: `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY` и [`CLAUDE_CODE_USE_MANTLE`](/ru/amazon-bedrock#use-the-mantle-endpoint). Они не имеют эффекта позади gateway `ANTHROPIC_BASE_URL`.


182{184{

183 "data": [185 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },186 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }187 { "id": "claude-opus-4-8" }

186 ]188 ]

187}189}

188```190```


191 Записи средства выбора и кеширование193 Записи средства выбора и кеширование

192</h3>194</h3>

193 195 

194Средство выбора — это интерактивный список моделей, который открывается, когда разработчик запускает `/model` в Claude Code. Каждая обнаруженная запись помечена "From gateway" и использует `display_name` при предоставлении. Обнаруженный ID пропускается только, когда он точно совпадает со строкой, уже находящейся в средстве выбора, или когда оба обнаруженный и существующий ID разрешаются в [Fable](/ru/model-config#work-with-fable-5). Встроенные строки ключены по псевдонимам, таким как `sonnet`, поэтому обнаруженный ID, такой как `claude-sonnet-4-6`, добавляет собственную строку "From gateway" рядом со встроенной записью. Управляемый параметр [`availableModels`](/ru/settings#available-settings) ограничивает то, что может добавить обнаружение.196Средство выбора — это интерактивный список моделей, который открывается, когда разработчик запускает `/model` в Claude Code. Каждая обнаруженная запись помечена "From gateway" и использует `display_name` при предоставлении. Управляемый параметр [`availableModels`](/ru/settings#available-settings) ограничивает то, что может добавить обнаружение.

197 

198Обнаруженный ID пропускается только, когда он точно совпадает со строкой, уже находящейся в средстве выбора, или когда оба обнаруженный и существующий ID разрешаются в [Fable](/ru/model-config#work-with-fable-5). Встроенные строки ключены по псевдонимам, таким как `sonnet`, поэтому обнаруженный ID, такой как `claude-sonnet-4-6`, добавляет собственную строку "From gateway" рядом со встроенной записью, а не заменяя её.

195 199 

196Результаты кешируются в `~/.claude/cache/gateway-models.json` или `%USERPROFILE%\.claude\cache\gateway-models.json` на Windows и обновляются при каждом запуске. Если запрос не выполняется или gateway не реализует `/v1/models`, средство выбора возвращается к кешированному списку из предыдущего запуска или к встроенному списку моделей. Если ваш gateway обслуживает модели Claude под псевдонимами, которые не совпадают с фильтром обнаружения, разработчики могут добавить эти псевдонимы вручную с помощью переменных [конфигурации модели](/ru/model-config).200Результаты кешируются в `~/.claude/cache/gateway-models.json` или `%USERPROFILE%\.claude\cache\gateway-models.json` на Windows и обновляются при каждом запуске. Если запрос не выполняется или gateway не реализует `/v1/models`, средство выбора возвращается к кешированному списку из предыдущего запуска или к встроенному списку моделей. Если ваш gateway обслуживает модели Claude под псевдонимами, которые не совпадают с фильтром обнаружения, разработчики могут добавить эти псевдонимы вручную с помощью переменных [конфигурации модели](/ru/model-config).

197 201 


201 205 

202Для остальной документации gateway и базовых справочников API:206Для остальной документации gateway и базовых справочников API:

203 207 

204* [Обзор LLM gateway](/ru/llm-gateway): что такое gateway и как он взаимодействует с подписками claude.ai208* [Обзор gateway](/ru/gateways): что такое gateway и как выбрать между Claude apps gateway и другим продуктом

209* [Другие LLM gateway](/ru/llm-gateway): как развернуть gateway, который работает в вашей организации, и как он взаимодействует с подписками claude.ai

205* [Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout): контрольный список администратора, который использует этот контракт210* [Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout): контрольный список администратора, который использует этот контракт

206* [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect): конфигурация для каждого разработчика и таблица устранения неполадок211* [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect): конфигурация для каждого разработчика и таблица устранения неполадок

207* [Справочник бета-заголовков](https://platform.claude.com/docs/en/api/beta-headers): текущий набор значений `anthropic-beta`212* [Справочник бета-заголовков](https://platform.claude.com/docs/en/api/beta-headers): текущий набор значений `anthropic-beta`

Details

22* Шлюз, развернутый на вашей инфраструктуре, обслуживающий HTTPS по точному адресу, который вы будете распределять разработчикам, а не адресу, который перенаправляет на него, и настроенный для маршрутизации имен моделей Claude к вашему поставщику22* Шлюз, развернутый на вашей инфраструктуре, обслуживающий HTTPS по точному адресу, который вы будете распределять разработчикам, а не адресу, который перенаправляет на него, и настроенный для маршрутизации имен моделей Claude к вашему поставщику

23* Учетные данные поставщика для шлюза для перенаправления:23* Учетные данные поставщика для шлюза для перенаправления:

24 * Для Anthropic API: ключ API из [Claude Console](https://platform.claude.com/settings/keys)24 * Для Anthropic API: ключ API из [Claude Console](https://platform.claude.com/settings/keys)

25 * Для облачного поставщика: облачные учетные данные с доступом к моделям. См. предварительные требования на странице [Amazon Bedrock](/ru/amazon-bedrock#prerequisites), [Google Vertex AI](/ru/google-vertex-ai#prerequisites) или [Microsoft Foundry](/ru/microsoft-foundry#prerequisites)25 * Для облачного поставщика: облачные учетные данные с доступом к моделям. См. предварительные требования на странице [Amazon Bedrock](/ru/amazon-bedrock#prerequisites), [Google Cloud's Agent Platform](/ru/google-vertex-ai#prerequisites) или [Microsoft Foundry](/ru/microsoft-foundry#prerequisites)

26* Способ доставки файлов параметров на машины разработчиков, например MDM или управление конфигурацией26* Способ доставки файлов параметров на машины разработчиков, например MDM или управление конфигурацией

27 * Если у вас его еще нет, [как параметры достигают устройств](/ru/admin-setup#decide-how-settings-reach-devices) сравнивает варианты27 * Если у вас его еще нет, [как параметры достигают устройств](/ru/admin-setup#decide-how-settings-reach-devices) сравнивает варианты

28 28 


180Один и тот же набор переменных применяется независимо от выбранного пути. Большинство развертываний требуют только `ANTHROPIC_BASE_URL` и учетные данные; включите условные строки, когда ваша настройка шлюза требует их.180Один и тот же набор переменных применяется независимо от выбранного пути. Большинство развертываний требуют только `ANTHROPIC_BASE_URL` и учетные данные; включите условные строки, когда ваша настройка шлюза требует их.

181 181 

182| Переменная или параметр | Что она делает | Включить когда |182| Переменная или параметр | Что она делает | Включить когда |

183| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |183| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `ANTHROPIC_BASE_URL` | Отправляет запросы API Claude Code на шлюз вместо `api.anthropic.com` | Всегда |184| `ANTHROPIC_BASE_URL` | Отправляет запросы API Claude Code на шлюз вместо `api.anthropic.com` | Всегда |

185| `apiKeyHelper`, или учетные данные в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_API_KEY` | Аутентифицирует каждый запрос к шлюзу. Помощник запускает команду для получения ключа; переменные содержат статический ключ, отправляемый как `Authorization: Bearer` и `x-api-key` соответственно | Всегда; один из трех |185| `apiKeyHelper`, или учетные данные в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_API_KEY` | Аутентифицирует каждый запрос к шлюзу. Помощник запускает команду для получения ключа; переменные содержат статический ключ, отправляемый как `Authorization: Bearer` и `x-api-key` соответственно | Всегда; один из трех |

186| `ANTHROPIC_CUSTOM_HEADERS` | Добавляет дополнительные HTTP-заголовки к каждому запросу API | Ваш шлюз требует заголовок клиента или маршрутизации на каждом запросе |186| `ANTHROPIC_CUSTOM_HEADERS` | Добавляет дополнительные HTTP-заголовки к каждому запросу API | Ваш шлюз требует заголовок клиента или маршрутизации на каждом запросе |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Запрашивает `/v1/models` шлюза при запуске и добавляет возвращаемые имена в средство выбора `/model` | Ваш шлюз обслуживает `/v1/models` и вы хотите, чтобы средства выбора разработчиков были заполнены из него |187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Запрашивает `/v1/models` шлюза при запуске и добавляет возвращаемые имена в средство выбора `/model` | Ваш шлюз обслуживает `/v1/models` и вы хотите, чтобы средства выбора разработчиков были заполнены из него |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Останавливает отправку Claude Code заголовков и полей тела предварительного выпуска | Ваш шлюз перенаправляет на восходящий Bedrock или Vertex, который отклоняет поля бета-версии; см. [Требования к шлюзу](#gateway-requirements) |188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Останавливает отправку Claude Code заголовков и полей тела предварительного выпуска | Ваш шлюз перенаправляет на восходящий Bedrock или Agent Platform, который отклоняет поля бета-версии; см. [Требования к шлюзу](#gateway-requirements) |

189| `ANTHROPIC_MODEL` или [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config) | Установить, какое имя модели Claude Code запрашивает для основного сеанса и для фонового трафика | Ваш шлюз маршрутизирует имена моделей, которые не соответствуют значениям по умолчанию Claude Code, или вы маршрутизируете [фоновую функциональность](/ru/costs#background-token-usage) на другую модель. Маршрутизируйте как переопределенные имена, так и имена по умолчанию Claude Code на шлюзе, так как некоторые подвызовы могут запросить имя по умолчанию независимо от переопределения |189| `ANTHROPIC_MODEL` или [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config) | Установить, какое имя модели Claude Code запрашивает для основного сеанса и для фонового трафика | Ваш шлюз маршрутизирует имена моделей, которые не соответствуют значениям по умолчанию Claude Code, или вы маршрутизируете [фоновую функциональность](/ru/costs#background-token-usage) на другую модель. Маршрутизируйте как переопределенные имена, так и встроенные идентификаторы моделей Claude Code, которые запрашиваются, когда переопределение не установлено, так как некоторые подвызовы могут запросить встроенный идентификатор независимо от переопределения; [конфигурация моделей](/ru/model-config) охватывает, какую модель использует каждая часть сеанса |

190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL` или `ANTHROPIC_AWS_BASE_URL` с [переменными для этого поставщика](/ru/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Указать Claude Code на шлюз через базовый URL, специфичный для поставщика. Bedrock и Vertex также переключаются на собственный формат запроса этих поставщиков | Ваш шлюз находится перед Bedrock, Vertex, Foundry или Claude Platform на AWS; см. [Форматы API](/ru/llm-gateway-protocol#api-formats) |190| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL` или `ANTHROPIC_AWS_BASE_URL` с [переменными для этого поставщика](/ru/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Указать Claude Code на шлюз через базовый URL, специфичный для поставщика. Bedrock и Agent Platform также переключаются на собственный формат запроса этих поставщиков | Ваш шлюз находится перед Bedrock, Agent Platform, Foundry или Claude Platform на AWS; см. [Форматы API](/ru/llm-gateway-protocol#api-formats) |

191 191 

192<h4 id="distribute-through-managed-settings">192<h4 id="distribute-through-managed-settings">

193 Распределить через управляемые параметры193 Распределить через управляемые параметры

mcp.md +46 −16

Details

111 111 

112Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.112Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.

113 113 

114Claude Code устанавливает `CLAUDE_PROJECT_DIR` в окружение порожденного server в корень проекта, поэтому ваш server может разрешать пути относительно проекта без зависимости от рабочей директории. Это та же директория, которую hooks получают в своей переменной `CLAUDE_PROJECT_DIR`. Прочитайте ее изнутри вашего процесса server, например `process.env.CLAUDE_PROJECT_DIR` в Node или `os.environ["CLAUDE_PROJECT_DIR"]` в Python. Ваш server также может вызвать MCP запрос `roots/list`, который возвращает директорию, из которой был запущен Claude Code.114Claude Code устанавливает `CLAUDE_PROJECT_DIR` в окружение порожденного server в корень проекта, поэтому ваш server может разрешать пути относительно проекта без зависимости от рабочей директории. Это та же директория, которую hooks получают в своей переменной `CLAUDE_PROJECT_DIR`. Прочитайте ее изнутри вашего процесса server, например `process.env.CLAUDE_PROJECT_DIR` в Node или `os.environ["CLAUDE_PROJECT_DIR"]` в Python.

115 

116Ваш server также может вызвать MCP запрос `roots/list`, который возвращает директорию, из которой был запущен Claude Code.

115 117 

116Эта переменная устанавливается в окружение server, а не в собственное окружение Claude Code, поэтому ссылка на нее через расширение `${VAR}` в проекте или пользовательском `.mcp.json` `command` или `args` требует значения по умолчанию, такого как `${CLAUDE_PROJECT_DIR:-.}`. Конфигурации MCP, предоставляемые плагинами, подставляют `${CLAUDE_PROJECT_DIR}` напрямую и не требуют значения по умолчанию.118Эта переменная устанавливается в окружение server, а не в собственное окружение Claude Code, поэтому ссылка на нее через расширение `${VAR}` в проекте или пользовательском `.mcp.json` `command` или `args` требует значения по умолчанию, такого как `${CLAUDE_PROJECT_DIR:-.}`. Конфигурации MCP, предоставляемые плагинами, подставляют `${CLAUDE_PROJECT_DIR}` напрямую и не требуют значения по умолчанию.

117 119 


176 178 

177Servers с областью действия проекта из `.mcp.json`, которые ожидают вашего одобрения, отображаются в `claude mcp list` как `⏸ Pending approval`. Запустите `claude` интерактивно, чтобы просмотреть и одобрить их. `claude mcp get <name>` показывает ожидающие servers как `⏸ Pending approval` и отклоненные servers как `✗ Rejected`.179Servers с областью действия проекта из `.mcp.json`, которые ожидают вашего одобрения, отображаются в `claude mcp list` как `⏸ Pending approval`. Запустите `claude` интерактивно, чтобы просмотреть и одобрить их. `claude mcp get <name>` показывает ожидающие servers как `⏸ Pending approval` и отклоненные servers как `✗ Rejected`.

178 180 

181Начиная с версии 2.1.196, `claude mcp list` и `claude mcp get` читают одобрения `.mcp.json` только из файлов параметров, которые не проверены в репозитории, пока вы не доверите рабочей области, запустив `claude` в ней и приняв диалог доверия рабочей области. Клонированный репозиторий не может одобрить свои собственные servers: [`enableAllProjectMcpServers` или `enabledMcpjsonServers`](/ru/settings#available-settings), зафиксированные в `.claude/settings.json` проекта, игнорируются в недоверенной папке, и server остается в состоянии `⏸ Pending approval` вместо подключения и проверки здоровья.

182 

183Одобрения из этих источников все еще применяются в недоверенной папке:

184 

185* ваш пользовательский `~/.claude/settings.json`

186* управляемые параметры

187* параметры, переданные с помощью `--settings`

188* `.claude/settings.local.json`, при условии, что git его не отслеживает

189 

190Запись `disabledMcpjsonServers` в любом файле параметров все еще отклоняет server.

191 

179Панель `/mcp` показывает количество инструментов рядом с каждым подключенным server и отмечает servers, которые объявляют возможность tools, но не предоставляют никаких инструментов.192Панель `/mcp` показывает количество инструментов рядом с каждым подключенным server и отмечает servers, которые объявляют возможность tools, но не предоставляют никаких инструментов.

180 193 

181Если ваш запрос требует инструментов от server, который все еще подключается в фоновом режиме, Claude ждет подключения этого server перед продолжением. С включенным [поиском инструментов](#scale-with-mcp-tool-search), который используется по умолчанию, ожидание происходит внутри вызова `ToolSearch`. В конфигурациях без поиска инструментов, таких как Vertex AI, пользовательский `ANTHROPIC_BASE_URL` или `ENABLE_TOOL_SEARCH=false`, Claude использует инструмент `WaitForMcpServers` вместо этого.194Если ваш запрос требует инструментов от server, который все еще подключается в фоновом режиме, Claude ждет подключения этого server перед продолжением. С включенным [поиском инструментов](#scale-with-mcp-tool-search), который используется по умолчанию, ожидание происходит внутри вызова `ToolSearch`. В конфигурациях без поиска инструментов, таких как Vertex AI, пользовательский `ANTHROPIC_BASE_URL` или `ENABLE_TOOL_SEARCH=false`, Claude использует инструмент `WaitForMcpServers` вместо этого.


208 Советы:221 Советы:

209 222 

210 * Используйте флаг `--scope` для указания места хранения конфигурации:223 * Используйте флаг `--scope` для указания места хранения конфигурации:

211 * `local` (по умолчанию): доступно только вам в текущем проекте старых версиях называлось `project`)224 * `local` (по умолчанию): доступно только вам в текущем проекте. В старых версиях эта область называлась `project`

212 * `project`: общий доступ для всех в проекте через файл `.mcp.json`225 * `project`: общий доступ для всех в проекте через файл `.mcp.json`

213 * `user`: доступно вам во всех проектах старых версиях называлось `global`)226 * `user`: доступно вам во всех проектах. В старых версиях эта область называлась `global`

214 * Установите переменные окружения с флагами `--env` (например, `--env KEY=value`)227 * Установите переменные окружения с флагами `--env` (например, `--env KEY=value`)

215 * Настройте timeout запуска MCP server, используя переменную окружения MCP\_TIMEOUT (например, `MCP_TIMEOUT=10000 claude` устанавливает timeout в 10 секунд)228 * Настройте timeout запуска MCP server, используя переменную окружения `MCP_TIMEOUT` (например, `MCP_TIMEOUT=10000 claude` устанавливает timeout в 10 секунд)

216 * Установите timeout выполнения инструмента для каждого server, добавив поле `timeout` в миллисекундах в запись этого server в `.mcp.json`, например `"timeout": 600000` для десяти минут. Это переопределяет переменную окружения `MCP_TOOL_TIMEOUT` только для этого server229 * Установите timeout выполнения инструмента для каждого server, добавив поле `timeout` в миллисекундах в запись этого server в `.mcp.json`, например `"timeout": 600000` для десяти минут. Это переопределяет переменную окружения `MCP_TOOL_TIMEOUT` только для этого server

217 * Claude Code отобразит предупреждение, когда выход инструмента MCP превышает 10 000 токенов. Чтобы увеличить этот лимит, установите переменную окружения `MAX_MCP_OUTPUT_TOKENS` (например, `MAX_MCP_OUTPUT_TOKENS=50000`)230 * Claude Code отобразит предупреждение, когда выход инструмента MCP превышает 10 000 токенов. Чтобы увеличить этот лимит, установите переменную окружения `MAX_MCP_OUTPUT_TOKENS` (например, `MAX_MCP_OUTPUT_TOKENS=50000`)

218 * Используйте `/mcp` для аутентификации с удаленными servers, которые требуют аутентификацию OAuth 2.0231 * Используйте `/mcp` для аутентификации с удаленными servers, которые требуют аутентификацию OAuth 2.0

219</Tip>232</Tip>

220 233 

221Timeout для каждого server — это жесткий лимит реального времени для каждого вызова инструмента, и уведомления о прогрессе от server не продлевают его. Значения ниже 1000 игнорируются и переходят к `MCP_TOOL_TIMEOUT`, или к его значению по умолчанию примерно 28 часов, когда эта переменная не установлена. {/* min-version: 2.1.162 */}До версии 2.1.162 значения ниже 1000 округлялись до одной секунды. Для HTTP и SSE servers бюджет первого байта для каждого запроса fetch имеет минимум 60 секунд.234Timeout для каждого server — это жесткий лимит реального времени для каждого вызова инструмента, и уведомления о прогрессе от server не продлевают его. Значения ниже 1000 игнорируются и переходят к `MCP_TOOL_TIMEOUT`, или к его значению по умолчанию примерно 28 часов, когда эта переменная не установлена. {/* min-version: 2.1.162 */}До версии 2.1.162 значения ниже 1000 округлялись до одной секунды вместо этого.

235 

236Для HTTP и SSE servers бюджет первого байта для каждого запроса fetch имеет минимум 60 секунд.

222 237 

223Начиная с версии 2.1.187, вызов инструмента к удаленному HTTP, SSE, WebSocket или [claude.ai connector](#use-mcp-servers-from-claude-ai) server, который не отправляет ответ и не отправляет уведомление о прогрессе в течение 5 минут, прерывается с ошибкой вместо ожидания лимита реального времени. Установите переменную окружения [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/ru/env-vars) в миллисекундах, чтобы изменить окно неактивности, или установите ее на `0`, чтобы отключить проверку. Stdio servers — это локальные процессы и не подлежат timeout неактивности.238Начиная с версии 2.1.187, вызов инструмента к удаленному HTTP, SSE, WebSocket или [claude.ai connector](#use-mcp-servers-from-claude-ai) server, который не отправляет ответ и не отправляет уведомление о прогрессе в течение 5 минут, прерывается с ошибкой вместо ожидания лимита реального времени. Установите переменную окружения [`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`](/ru/env-vars) в миллисекундах, чтобы изменить окно неактивности, или установите ее на `0`, чтобы отключить проверку. Stdio servers — это локальные процессы и не подлежат timeout неактивности.

224 239 


233* Плагины определяют MCP servers в `.mcp.json` в корне плагина или встроенные в `plugin.json`248* Плагины определяют MCP servers в `.mcp.json` в корне плагина или встроенные в `plugin.json`

234* Когда плагин включен, его MCP servers запускаются автоматически249* Когда плагин включен, его MCP servers запускаются автоматически

235* Plugin MCP tools отображаются рядом с вручную настроенными MCP tools250* Plugin MCP tools отображаются рядом с вручную настроенными MCP tools

236* Plugin servers управляются через установку плагина (не через команды `/mcp`)251* Plugin servers управляются через установку плагина, не через команды `/mcp`

237 252 

238**Пример конфигурации plugin MCP**:253**Пример конфигурации plugin MCP**:

239 254 


272* **Автоматический жизненный цикл**: При запуске сеанса servers для включенных плагинов подключаются автоматически. Если вы включите или отключите плагин во время сеанса, запустите `/reload-plugins` для подключения или отключения его MCP servers287* **Автоматический жизненный цикл**: При запуске сеанса servers для включенных плагинов подключаются автоматически. Если вы включите или отключите плагин во время сеанса, запустите `/reload-plugins` для подключения или отключения его MCP servers

273* **Переменные окружения**: используйте `${CLAUDE_PLUGIN_ROOT}` для файлов плагина, `${CLAUDE_PLUGIN_DATA}` для [постоянного состояния](/ru/plugins-reference#persistent-data-directory), которое сохраняется при обновлении плагина, и `${CLAUDE_PROJECT_DIR}` для стабильного корня проекта288* **Переменные окружения**: используйте `${CLAUDE_PLUGIN_ROOT}` для файлов плагина, `${CLAUDE_PLUGIN_DATA}` для [постоянного состояния](/ru/plugins-reference#persistent-data-directory), которое сохраняется при обновлении плагина, и `${CLAUDE_PROJECT_DIR}` для стабильного корня проекта

274* **Доступ к переменным окружения пользователя**: доступ к тем же переменным окружения, что и вручную настроенные servers289* **Доступ к переменным окружения пользователя**: доступ к тем же переменным окружения, что и вручную настроенные servers

275* **Несколько типов транспорта**: поддержка stdio, SSE, HTTP и WebSocket транспортов (поддержка транспорта может варьироваться в зависимости от server)290* **Несколько типов транспорта**: поддержка stdio, SSE, HTTP и WebSocket транспортов, хотя поддержка транспорта может варьироваться в зависимости от server

276 291 

277**Просмотр plugin MCP servers**:292**Просмотр plugin MCP servers**:

278 293 


524 539 

525Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.540Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.

526 541 

527Claude Code отмечает удаленный server как требующий аутентификации, когда server отвечает с `401 Unauthorized` или `403 Forbidden`. Любой из этих кодов состояния отмечает server в `/mcp`, чтобы вы могли завершить поток OAuth. Пользовательский server, который возвращает заголовок `WWW-Authenticate`, указывающий на его сервер авторизации, получает то же автоматическое обнаружение, как и любой другой удаленный server.542Claude Code отмечает удаленный server как требующий аутентификации, когда server отвечает с `401 Unauthorized` или `403 Forbidden`. Любой из этих кодов состояния отмечает server в `/mcp`, чтобы вы могли завершить поток OAuth.

543 

544Начиная с v2.1.195, когда обновление токена не удается, потому что server отклоняет сохраненный токен обновления, Claude Code немедленно показывает уведомление, указывающее на `/mcp`. Меню подключенного server там предлагает Re-authenticate, чтобы вы могли снова войти перед следующим вызовом инструмента.

545 

546Пользовательский server, который возвращает заголовок `WWW-Authenticate`, указывающий на его сервер авторизации, получает то же автоматическое обнаружение, как и любой другой удаленный server.

547 

548Начиная с v2.1.193, Claude Code также показывает уведомление при запуске, когда один или несколько настроенных servers требуют аутентификации, поэтому вам не нужно открывать `/mcp` для обнаружения, какие servers требуют входа.

549 

550В неинтерактивном режиме нет панели `/mcp`, поэтому Claude Code не может запустить поток OAuth для вас. Начиная с v2.1.196, когда настроенный server требует аутентификации во время запуска `claude -p` или Agent SDK с включенным [поиском инструментов](#scale-with-mcp-tool-search), что является значением по умолчанию, Claude Code сообщает Claude, что инструменты server недоступны, пока вы его не авторизуете. Claude затем может назвать server, который требует входа, вместо того чтобы отвечать так, как будто server не был настроен. Завершите вход из интерактивного сеанса с помощью `/mcp` или `claude mcp login <name>`.

528 551 

529Если вы настроили `headers.Authorization` для server и server отклонил этот заголовок, Claude Code сообщает о соединении как о неудачном вместо того, чтобы вернуться к OAuth. Проверьте, что токен действителен для конечной точки MCP, или удалите заголовок, чтобы использовать поток OAuth.552Если вы настроили `headers.Authorization` для server и server отклонил этот заголовок, Claude Code сообщает о соединении как о неудачном вместо того, чтобы вернуться к OAuth. Проверьте, что токен действителен для конечной точки MCP, или удалите заголовок, чтобы использовать поток OAuth.

530 553 


710 733 

711`oauth.scopes` имеет приоритет над `authServerMetadataUrl` и областями, которые server обнаруживает на `/.well-known`. Оставьте его неустановленным, чтобы позволить MCP server определить запрашиваемый набор областей.734`oauth.scopes` имеет приоритет над `authServerMetadataUrl` и областями, которые server обнаруживает на `/.well-known`. Оставьте его неустановленным, чтобы позволить MCP server определить запрашиваемый набор областей.

712 735 

736Начиная с v2.1.196, когда `oauth.scopes` не установлен, Claude Code запрашивает область, предоставленную заголовком `WWW-Authenticate` server или его метаданными защищенного ресурса, и не отправляет параметр `scope`, когда ни один из них не предоставляет его. Он больше не запрашивает полный каталог `scopes_supported` из автоматически обнаруженных метаданных сервера авторизации. Запрос этого каталога заставил поставщиков идентификации, которые объявляют области только для администраторов или шаблонов, отклонить запрос авторизации с ошибкой `invalid_scope`. Метаданные, полученные из настроенного `authServerMetadataUrl`, по-прежнему предоставляют свой `scopes_supported` как запрашиваемые области.

737 

713Если сервер авторизации объявляет `offline_access` в `scopes_supported`, Claude Code добавляет его к фиксированным областям, чтобы токен доступа мог быть обновлен без нового входа в браузер.738Если сервер авторизации объявляет `offline_access` в `scopes_supported`, Claude Code добавляет его к фиксированным областям, чтобы токен доступа мог быть обновлен без нового входа в браузер.

714 739 

715Если server позже возвращает 403 `insufficient_scope` для вызова инструмента, Claude Code переаутентифицируется с теми же фиксированными областями. Расширьте `oauth.scopes`, когда инструмент, который вам нужен, требует область вне фиксации.740Если server позже возвращает 403 `insufficient_scope` для вызова инструмента, Claude Code переаутентифицируется с теми же фиксированными областями. Расширьте `oauth.scopes`, когда инструмент, который вам нужен, требует область вне фиксации.


754 779 

755Помощник запускается заново при каждом подключении (при запуске сеанса и при переподключении). Кэширования нет, поэтому ваш скрипт отвечает за любое повторное использование токена.780Помощник запускается заново при каждом подключении (при запуске сеанса и при переподключении). Кэширования нет, поэтому ваш скрипт отвечает за любое повторное использование токена.

756 781 

782Начиная с v2.1.193, если вызов инструмента возвращает `401 Unauthorized` или `403 Forbidden`, Claude Code автоматически повторно запускает помощника, переподключается со свежими заголовками и повторяет вызов один раз. Claude Code отмечает server как требующий аутентификации в `/mcp` только если этот повторный вызов также не удается.

783 

757Claude Code устанавливает эти переменные окружения при выполнении помощника:784Claude Code устанавливает эти переменные окружения при выполнении помощника:

758 785 

759| Переменная | Значение |786| Переменная | Значение |

760| :---------------------------- | :------------- |787| :---------------------------- | :------------------------------------------------------------------------------------------------------------------ |

761| `CLAUDE_CODE_MCP_SERVER_NAME` | имя MCP server |788| `CLAUDE_CODE_MCP_SERVER_NAME` | имя MCP server |

762| `CLAUDE_CODE_MCP_SERVER_URL` | URL MCP server |789| `CLAUDE_CODE_MCP_SERVER_URL` | URL MCP server |

790| `CLAUDE_PLUGIN_ROOT` | корневой каталог плагина. Установлено только когда [плагин](/ru/plugins-reference#mcp-servers) предоставляет server |

763 791 

764Используйте их для написания одного скрипта помощника, который служит нескольким MCP servers.792Используйте их для написания одного скрипта помощника, который служит нескольким MCP servers.

765 793 

794Для server, предоставленного плагином, помощник также запускается с его рабочим каталогом, установленным в корень плагина, поэтому относительный путь `headersHelper` разрешается внутри каталога плагина, а не в рабочем каталоге сеанса. Требует Claude Code v2.1.195 или позже.

795 

766<Note>796<Note>

767 `headersHelper` выполняет произвольные команды оболочки. Когда определено в области проекта или локальной области, он запускается только после того, как вы примете диалог доверия рабочей области.797 `headersHelper` выполняет произвольные команды оболочки. Когда определено в области проекта или локальной области, он запускается только после того, как вы примете диалог доверия рабочей области.

768</Note>798</Note>


841</Tip>871</Tip>

842 872 

843<h2 id="use-mcp-servers-from-claude-ai">873<h2 id="use-mcp-servers-from-claude-ai">

844 Используйте MCP servers из Claude.ai874 Используйте MCP servers из claude.ai

845</h2>875</h2>

846 876 

847Если вы вошли в Claude Code с учетной записью [Claude.ai](https://claude.ai), MCP servers, которые вы добавили в Claude.ai, автоматически доступны в Claude Code:877Если вы вошли в Claude Code с учетной записью [claude.ai](https://claude.ai), MCP servers, которые вы добавили в claude.ai, автоматически доступны в Claude Code:

848 878 

849<Steps>879<Steps>

850 <Step title="Настройте MCP servers в Claude.ai">880 <Step title="Настройте MCP servers в claude.ai">

851 Добавьте servers на [claude.ai/customize/connectors](https://claude.ai/customize/connectors). В планах Team и Enterprise только администраторы могут добавлять servers.881 Добавьте servers на [claude.ai/customize/connectors](https://claude.ai/customize/connectors). В планах Team и Enterprise только администраторы могут добавлять servers.

852 </Step>882 </Step>

853 883 

854 <Step title="Аутентифицируйте MCP server">884 <Step title="Аутентифицируйте MCP server">

855 Завершите все необходимые шаги аутентификации в Claude.ai.885 Завершите все необходимые шаги аутентификации в claude.ai.

856 </Step>886 </Step>

857 887 

858 <Step title="Просмотрите и управляйте servers в Claude Code">888 <Step title="Просмотрите и управляйте servers в Claude Code">


862 /mcp892 /mcp

863 ```893 ```

864 894 

865 Claude.ai servers отображаются в списке с индикаторами, показывающими, что они поступают из Claude.ai.895 Servers из claude.ai отображаются в списке с индикаторами, показывающими, что они поступают из claude.ai.

866 </Step>896 </Step>

867</Steps>897</Steps>

868 898 

869Начиная с версии 2.1.161, коннекторы, в которые вы никогда не входили, свернуты за строкой `Show unused connectors` в конце раздела claude.ai, поэтому список, предоставленный организацией, не заполняет панель. Выберите строку, чтобы развернуть их. Коннектор, в который вы входили ранее, остается видимым даже если в настоящее время требуется повторная аутентификация.899Начиная с версии 2.1.161, коннекторы, в которые вы никогда не входили, свернуты за строкой `Show unused connectors` в конце раздела claude.ai, поэтому список, предоставленный организацией, не заполняет панель. Выберите строку, чтобы развернуть их. Коннектор, в который вы входили ранее, остается видимым даже если в настоящее время требуется повторная аутентификация.

870 900 

871Коннекторы Claude.ai загружаются только когда ваш активный [метод аутентификации](/ru/authentication#authentication-precedence) — это ваша подписка Claude.ai. Они не загружаются, когда активны `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper` или сторонний поставщик, такой как Bedrock или Vertex, даже если вы ранее запустили `/login`. Если `/mcp` не отображает коннектор, который вы добавили, запустите `/status`, чтобы подтвердить, какой метод аутентификации активен, отмените установку этой переменной окружения или удалите параметр `apiKeyHelper`, затем запустите `/login`, чтобы выбрать вашу учетную запись Claude.ai.901Коннекторы из claude.ai загружаются только когда ваш активный [метод аутентификации](/ru/authentication#authentication-precedence) — это ваша подписка claude.ai. Они не загружаются, когда активны `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, `apiKeyHelper` или сторонний поставщик, такой как Bedrock или Vertex, даже если вы ранее запустили `/login`. Если `/mcp` не отображает коннектор, который вы добавили, запустите `/status`, чтобы подтвердить, какой метод аутентификации активен, отмените установку этой переменной окружения или удалите параметр `apiKeyHelper`, затем запустите `/login`, чтобы выбрать вашу учетную запись claude.ai.

872 902 

873Server, который вы добавили в Claude Code, имеет [приоритет](#scope-hierarchy-and-precedence) над коннектором claude.ai, который указывает на тот же URL. Когда это происходит, `/mcp` отображает коннектор как скрытый и показывает, как удалить дубликат, если вы предпочитаете использовать коннектор.903Server, который вы добавили в Claude Code, имеет [приоритет](#scope-hierarchy-and-precedence) над коннектором claude.ai, который указывает на тот же URL. Когда это происходит, `/mcp` отображает коннектор как скрытый и показывает, как удалить дубликат, если вы предпочитаете использовать коннектор.

874 904 


958 988 

959 * Server предоставляет доступ к инструментам Claude, таким как View, Edit, LS и т. д.989 * Server предоставляет доступ к инструментам Claude, таким как View, Edit, LS и т. д.

960 * В Claude Desktop попробуйте попросить Claude прочитать файлы в каталоге, внести изменения и многое другое.990 * В Claude Desktop попробуйте попросить Claude прочитать файлы в каталоге, внести изменения и многое другое.

961 * Обратите внимание, что этот MCP server только предоставляет инструменты Claude Code вашему MCP клиенту, поэтому ваш собственный клиент отвечает за реализацию подтверждения пользователя для отдельных вызовов инструментов.991 * Этот MCP server только предоставляет инструменты Claude Code вашему MCP клиенту, поэтому ваш собственный клиент отвечает за реализацию подтверждения пользователя для отдельных вызовов инструментов.

962</Tip>992</Tip>

963 993 

964<h2 id="mcp-output-limits-and-warnings">994<h2 id="mcp-output-limits-and-warnings">

Details

171 171 

172```bash theme={null}172```bash theme={null}

173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'173export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'

174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'174export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'

175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'175export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

176```176```

177 177 

model-config.md +44 −31

Details

30Псевдонимы моделей предоставляют удобный способ выбора параметров модели без необходимости запоминать точные номера версий:30Псевдонимы моделей предоставляют удобный способ выбора параметров модели без необходимости запоминать точные номера версий:

31 31 

32| Псевдоним модели | Поведение |32| Псевдоним модели | Поведение |

33| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |33| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

34| **`default`** | Специальное значение, которое очищает любое переопределение модели и возвращается к рекомендуемой модели для типа вашей учетной записи. Сам по себе не является псевдонимом модели |34| **`default`** | Специальное значение, которое очищает любое переопределение модели и возвращается к рекомендуемой модели для типа вашей учетной записи. Сам по себе не является псевдонимом модели |

35| **`best`** | Использует Fable 5, где ваша организация имеет к нему доступ, в противном случае последнюю модель Opus |35| **`best`** | Использует Fable 5, где ваша организация имеет к нему доступ, в противном случае последнюю модель Opus |

36| **`fable`** | Использует Claude Fable 5 для ваших самых сложных и долгоживущих задач |36| **`fable`** | Использует Claude Fable 5 для ваших самых сложных и долгоживущих задач |

37| **`sonnet`** | Использует последнюю модель Sonnet для ежедневных задач кодирования |37| **`sonnet`** | Использует последнюю модель Sonnet для ежедневных задач кодирования |

38| **`opus`** | Использует последнюю модель Opus для сложных задач рассуждения |38| **`opus`** | Использует последнюю модель Opus для сложных задач рассуждения |

39| **`haiku`** | Использует быструю и эффективную модель Haiku для простых задач |39| **`haiku`** | Использует быструю и эффективную модель Haiku для простых задач |

40| **`sonnet[1m]`** | Использует Sonnet с [контекстным окном в 1 миллион токенов](https://platform.claude.com/docs/ru/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов |40| **`sonnet[1m]`** | Использует Sonnet с [контекстным окном в 1 миллион токенов](https://platform.claude.com/docs/ru/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов. Не имеет эффекта, когда `sonnet` уже разрешается в Sonnet 5 с его собственным окном 1M; за [LLM gateway](/ru/llm-gateway) выбирает окно 1M для Sonnet 5 |

41| **`opus[1m]`** | Использует Opus с [контекстным окном в 1 миллион токенов](https://platform.claude.com/docs/ru/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов |41| **`opus[1m]`** | Использует Opus с [контекстным окном в 1 миллион токенов](https://platform.claude.com/docs/ru/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов |

42| **`opusplan`** | Специальный режим, который использует `opus` во время режима плана, а затем переключается на `sonnet` для выполнения |42| **`opusplan`** | Специальный режим, который использует `opus` во время режима плана, а затем переключается на `sonnet` для выполнения |

43 43 

44На Anthropic API `opus` разрешается в Opus 4.8, а `sonnet` разрешается в Sonnet 4.6. На [Claude Platform on AWS](/ru/claude-platform-on-aws) `opus` разрешается в Opus 4.7, а `sonnet` разрешается в Sonnet 4.6. На Bedrock, Vertex и Foundry `opus` разрешается в Opus 4.6, а `sonnet` разрешается в Sonnet 4.5; более новые модели доступны на этих поставщиках путем явного выбора полного имени модели или установки `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`.44На Anthropic API `opus` разрешается в Opus 4.8, а `sonnet` разрешается в Sonnet 5. На [Claude Platform on AWS](/ru/claude-platform-on-aws) `opus` разрешается в Opus 4.7, а `sonnet` разрешается в Sonnet 4.6. На Bedrock, Vertex и Foundry `opus` разрешается в Opus 4.6, а `sonnet` разрешается в Sonnet 4.5; более новые модели доступны на этих поставщиках путем явного выбора полного имени модели или установки `ANTHROPIC_DEFAULT_OPUS_MODEL` или `ANTHROPIC_DEFAULT_SONNET_MODEL`.

45 45 

46Псевдонимы указывают на рекомендуемую версию для вашего поставщика и обновляются со временем. Чтобы закрепить определенную версию, используйте полное имя модели (например, `claude-opus-4-8`) или установите соответствующую переменную окружения, такую как `ANTHROPIC_DEFAULT_OPUS_MODEL`.46Псевдонимы указывают на рекомендуемую версию для вашего поставщика и обновляются со временем. Чтобы закрепить определенную версию, используйте полное имя модели, например `claude-opus-4-8`, или установите соответствующую переменную окружения, такую как `ANTHROPIC_DEFAULT_OPUS_MODEL`.

47 47 

48<Note>48<Note>

49 Opus 4.8 требует Claude Code v2.1.154 или более поздней версии. Запустите `claude update` для обновления.49 Sonnet 5 требует Claude Code v2.1.197 или более поздней версии. Opus 4.8 требует v2.1.154 или более поздней версии. Запустите `claude update` для обновления.

50</Note>50</Note>

51 51 

52<h3 id="work-with-fable-5">52<h3 id="work-with-fable-5">


74 74 

75Вы можете настроить вашу модель несколькими способами, перечисленными в порядке приоритета:75Вы можете настроить вашу модель несколькими способами, перечисленными в порядке приоритета:

76 76 

771. **Во время сеанса** - Используйте `/model <alias|name>` для переключения немедленно, или запустите `/model` без аргумента для открытия средства выбора. Средство выбора запрашивает подтверждение, когда в разговоре есть предыдущий вывод, так как следующий ответ перечитывает полную историю без кэшированного контекста771. **Во время сеанса**: используйте `/model <alias|name>` для переключения немедленно, или запустите `/model` без аргумента для открытия средства выбора. Средство выбора запрашивает подтверждение, когда в разговоре есть предыдущий вывод, так как следующий ответ перечитывает полную историю без кэшированного контекста

782. **При запуске** - Запустите с `claude --model <alias|name>`782. **При запуске**: запустите с `claude --model <alias|name>`

793. **Переменная окружения** - Установите `ANTHROPIC_MODEL=<alias|name>`793. **Переменная окружения**: установите `ANTHROPIC_MODEL=<alias|name>`

804. **Параметры** - Настройте постоянно в файле параметров, используя поле `model`.804. **Параметры**: настройте постоянно в файле параметров, используя поле `model`

81 81 

82Начиная с версии v2.1.153, `/model` сохраняет ваш выбор в качестве значения по умолчанию для новых сеансов путем записи поля `model` в ваши пользовательские параметры. В средстве выбора:82Начиная с версии v2.1.153, `/model` сохраняет ваш выбор в качестве значения по умолчанию для новых сеансов путем записи поля `model` в ваши пользовательские параметры. В средстве выбора:

83 83 


92 92 

93Возобновленные сеансы, запущенные с `claude --resume`, `--continue` или средством выбора `/resume`, сохраняют модель, которую они использовали при сохранении стенограммы, независимо от текущего параметра `model`. Если эта модель была снята с производства или исключена [`availableModels`](#restrict-model-selection), сеанс переходит к обычному порядку приоритета. Это предотвращает изменение модели при возобновлении выбором `/model` другого сеанса.93Возобновленные сеансы, запущенные с `claude --resume`, `--continue` или средством выбора `/resume`, сохраняют модель, которую они использовали при сохранении стенограммы, независимо от текущего параметра `model`. Если эта модель была снята с производства или исключена [`availableModels`](#restrict-model-selection), сеанс переходит к обычному порядку приоритета. Это предотвращает изменение модели при возобновлении выбором `/model` другого сеанса.

94 94 

95Модель, которую вы выбираете для нового запуска с `--model` или `ANTHROPIC_MODEL`, по-прежнему имеет приоритет над восстановленной моделью. {/* min-version: 2.1.195 */}Начиная с версии v2.1.195, то же самое относится к переменной семейства [`ANTHROPIC_DEFAULT_OPUS_MODEL`](#environment-variables).

96 

95Когда активная модель при запуске поступает из параметров проекта или управляемых параметров, а не из вашего собственного выбора, заголовок при запуске показывает, какой файл параметров установил его. Запустите `/model` для переопределения; параметр проекта или управляемый параметр переприменяется при следующем запуске.97Когда активная модель при запуске поступает из параметров проекта или управляемых параметров, а не из вашего собственного выбора, заголовок при запуске показывает, какой файл параметров установил его. Запустите `/model` для переопределения; параметр проекта или управляемый параметр переприменяется при следующем запуске.

96 98 

97Когда запрашиваемая модель имеет запланированную дату снятия с производства или автоматически переназначается на более новую версию, Claude Code показывает предупреждение, которое называет запрашиваемую модель. Интерактивные сеансы показывают его как уведомление при запуске. Начиная с версии v2.1.182, то же предупреждение записывается в stderr в [неинтерактивном режиме](/ru/headless) при использовании формата вывода текста по умолчанию. Проверка также охватывает `model`, установленный в [frontmatter подагента](/ru/sub-agents). Предупреждение stderr подавляется для `--output-format json` и `stream-json`; прочитайте фактическую модель из поля `modelUsage` [результирующего сообщения](/ru/headless#get-structured-output) вместо этого.99Когда запрашиваемая модель имеет запланированную дату снятия с производства или автоматически переназначается на более новую версию, Claude Code показывает предупреждение, которое называет запрашиваемую модель. Интерактивные сеансы показывают его как уведомление при запуске. Начиная с версии v2.1.182, то же предупреждение записывается в stderr в [неинтерактивном режиме](/ru/headless) при использовании формата вывода текста по умолчанию. Проверка также охватывает `model`, установленный в [frontmatter подагента](/ru/sub-agents). Предупреждение stderr подавляется для `--output-format json` и `stream-json`; прочитайте фактическую модель из поля `modelUsage` [результирующего сообщения](/ru/headless#get-structured-output) вместо этого.


123 125 

124Администраторы предприятия могут использовать `availableModels` в [управляемых или политических параметрах](/ru/settings#settings-files) для ограничения того, какие модели могут выбирать пользователи. Записи соответствуют семейству моделей, такому как `sonnet`, префиксу версии, такому как `claude-sonnet-4-5`, или полному идентификатору модели, такому как `claude-sonnet-4-5-20250929`.126Администраторы предприятия могут использовать `availableModels` в [управляемых или политических параметрах](/ru/settings#settings-files) для ограничения того, какие модели могут выбирать пользователи. Записи соответствуют семейству моделей, такому как `sonnet`, префиксу версии, такому как `claude-sonnet-4-5`, или полному идентификатору модели, такому как `claude-sonnet-4-5-20250929`.

125 127 

126Когда установлен `availableModels`, список разрешений применяется к каждой поверхности, где пользователь может назвать модель:128Когда установлен `availableModels`, список разрешений применяется везде, где пользователь может указать модель:

127 129 

128* **Модель основного сеанса**: `/model`, флаг `--model`, переменная окружения `ANTHROPIC_MODEL`, параметр `model` и модель, восстановленная при [возобновлении сеанса](#setting-your-model)130* **Модель основного сеанса**: `/model`, флаг `--model`, переменная окружения `ANTHROPIC_MODEL`, параметр `model` и модель, восстановленная при [возобновлении сеанса](#setting-your-model)

129* **Разрешение псевдонимов**: {/* min-version: 2.1.176 */}переменные окружения `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` и `ANTHROPIC_DEFAULT_FABLE_MODEL` не могут перенаправить разрешённый псевдоним на модель вне списка131* **Разрешение псевдонимов**: {/* min-version: 2.1.176 */}переменные окружения `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` и `ANTHROPIC_DEFAULT_FABLE_MODEL` не могут перенаправить разрешённый псевдоним на модель вне списка


234 Ограничения модели организации236 Ограничения модели организации

235</h3>237</h3>

236 238 

237Используйте переключатель Console вместо `availableModels`, когда ваши члены аутентифицируются через API Anthropic и вы хотите один переключатель на уровне организации без развёртывания файлов параметров. Администраторы организации ограничивают, какие модели могут запускать члены, отключая отдельные модели в Claude Console. Это ограничение доставляется с правами учётной записи, когда Claude Code аутентифицируется, отдельно от любого списка `availableModels` в параметрах, и сервер независимо применяет то же ограничение при создании сеанса. Требует Claude Code v2.1.187 или более поздней версии.239Администраторы организации ограничивают, какие модели могут запускать члены, отключая отдельные модели в Claude Console. Используйте этот переключатель Console вместо `availableModels`, когда ваши члены аутентифицируются через API Anthropic и вы хотите один переключатель на уровне организации без развёртывания файлов параметров. Это ограничение доставляется с правами учётной записи, когда Claude Code аутентифицируется, отдельно от любого списка `availableModels` в параметрах, и сервер независимо применяет то же ограничение при создании сеанса. Требует Claude Code v2.1.187 или более поздней версии.

238 240 

239Ограниченная модель скрыта из средства выбора `/model`. Выбор её по имени с помощью `--model`, переменной окружения `ANTHROPIC_MODEL` или параметра `model` показывает уведомление `Model "<name>" is restricted by your organization's settings. Using <model> instead.` и сеанс начинается на разрешённой модели. Ввод `/model <name>` для ограниченной модели отклоняется с `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` и сеанс сохраняет свою текущую модель.241Ограниченная модель скрыта из средства выбора `/model`. Выбор её по имени с помощью `--model`, переменной окружения `ANTHROPIC_MODEL` или параметра `model` показывает уведомление `Model "<name>" is restricted by your organization's settings. Using <model> instead.` и сеанс начинается на разрешённой модели. Ввод `/model <name>` для ограниченной модели отклоняется с `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` и сеанс сохраняет свою текущую модель.

240 242 

241Два механизма составляют: модель доступна для выбора только когда она разрешена `availableModels` и не ограничена организацией. Ограничения организации доставляются сеансам на API Anthropic и развёртываниях [LLM gateway](/ru/llm-gateway). Сеансы на Bedrock, Vertex AI, Foundry и Claude Platform на AWS не получают их, поэтому используйте `availableModels` на этих поставщиках вместо этого.243Оба механизма применяются вместе: модель доступна для выбора только когда она разрешена `availableModels` и не ограничена организацией. Ограничения организации доставляются сеансам на API Anthropic и развёртываниях [LLM gateway](/ru/llm-gateway). Сеансы на Bedrock, Vertex AI, Foundry и Claude Platform на AWS не получают их, поэтому используйте `availableModels` на этих поставщиках вместо этого.

242 244 

243<h2 id="special-model-behavior">245<h2 id="special-model-behavior">

244 Специальное поведение модели246 Специальное поведение модели


252 254 

253* **Max, Team Premium, Enterprise с оплатой по мере использования и Anthropic API**: по умолчанию Opus 4.8255* **Max, Team Premium, Enterprise с оплатой по мере использования и Anthropic API**: по умолчанию Opus 4.8

254* **Claude Platform на AWS**: по умолчанию Opus 4.7256* **Claude Platform на AWS**: по умолчанию Opus 4.7

255* **Pro, Team Standard и места Enterprise подписки**: по умолчанию Sonnet 4.6257* **Pro, Team Standard и места Enterprise подписки**: по умолчанию Sonnet 5

256* **Bedrock, Vertex и Foundry**: по умолчанию Sonnet 4.5258* **Bedrock, Vertex и Foundry**: по умолчанию Sonnet 4.5

257 259 

258Enterprise с оплатой по мере использования означает организацию Enterprise, выставляемую счет по использованию, а не по месту подписки.260Enterprise с оплатой по мере использования означает организацию Enterprise, выставляемую счет по использованию, а не по месту подписки.


267 269 

268Псевдоним модели `opusplan` предоставляет автоматизированный гибридный подход:270Псевдоним модели `opusplan` предоставляет автоматизированный гибридный подход:

269 271 

270* **В режиме плана** - Использует `opus` для сложного рассуждения и решений архитектуры272* **В режиме плана**: использует `opus` для сложного рассуждения и решений архитектуры

271* **В режиме выполнения** - Автоматически переключается на `sonnet` для генерации кода и реализации273* **В режиме выполнения**: автоматически переключается на `sonnet` для генерации кода и реализации

272 274 

273Это дает вам лучшее из обоих миров: превосходное рассуждение Opus для планирования и эффективность Sonnet для выполнения.275Это дает вам лучшее из обоих миров: превосходное рассуждение Opus для планирования и эффективность Sonnet для выполнения.

274 276 


296 298 

297```json theme={null}299```json theme={null}

298{300{

299 "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]301 "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]

300}302}

301```303```

302 304 


368Доступные уровни усилий зависят от модели. Модели, не указанные здесь, не поддерживают усилия:370Доступные уровни усилий зависят от модели. Модели, не указанные здесь, не поддерживают усилия:

369 371 

370| Модель | Уровни |372| Модель | Уровни |

371| :-------------------- | :-------------------------------------- |373| :---------------------------- | :-------------------------------------- |

372| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |374| Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

373| Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |375| Sonnet 5, Opus 4.8 и Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

374| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |376| Opus 4.6 и Sonnet 4.6 | `low`, `medium`, `high`, `max` |

375 377 

376Если вы установите уровень, который активная модель не поддерживает, Claude Code вернется к наивысшему поддерживаемому уровню на или ниже установленного вами. Например, `xhigh` работает как `high` на Opus 4.6.378Если вы установите уровень, который активная модель не поддерживает, Claude Code вернется к наивысшему поддерживаемому уровню на или ниже установленного вами. Например, `xhigh` работает как `high` на Opus 4.6.

377 379 

378Усилие по умолчанию составляет `high` на Fable 5, Opus 4.8, Opus 4.6 и Sonnet 4.6, и `xhigh` на Opus 4.7.380Усилие по умолчанию составляет `high` на Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 и Sonnet 4.6, и `xhigh` на Opus 4.7.

379 381 

380Когда вы впервые запускаете Fable 5, Opus 4.8 или Opus 4.7, Claude Code применяет усилие по умолчанию этой модели, даже если вы ранее установили другой уровень для другой модели: `high` на Fable 5 и Opus 4.8, и `xhigh` на Opus 4.7. Запустите `/effort` снова, чтобы выбрать другой уровень после переключения.382Когда вы впервые запускаете Fable 5, Opus 4.8 или Opus 4.7, Claude Code применяет усилие по умолчанию этой модели, даже если вы ранее установили другой уровень для другой модели: `high` на Fable 5 и Opus 4.8, и `xhigh` на Opus 4.7. Запустите `/effort` снова, чтобы выбрать другой уровень после переключения.

381 383 


393| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |395| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

394| `low` | Зарезервируйте для коротких, ограниченных, чувствительных к задержкам задач, которые не требуют высокого интеллекта |396| `low` | Зарезервируйте для коротких, ограниченных, чувствительных к задержкам задач, которые не требуют высокого интеллекта |

395| `medium` | Снижает использование токенов для работы, чувствительной к затратам, которая может пожертвовать некоторым интеллектом |397| `medium` | Снижает использование токенов для работы, чувствительной к затратам, которая может пожертвовать некоторым интеллектом |

396| `high` | Балансирует использование токенов и интеллект. По умолчанию на Fable 5, Opus 4.8, Opus 4.6 и Sonnet 4.6 |398| `high` | Балансирует использование токенов и интеллект. По умолчанию на Fable 5, Sonnet 5, Opus 4.8, Opus 4.6 и Sonnet 4.6 |

397| `xhigh` | Более глубокое рассуждение при более высоком расходовании токенов. По умолчанию на Opus 4.7 |399| `xhigh` | Более глубокое рассуждение при более высоком расходовании токенов. По умолчанию на Opus 4.7 |

398| `max` | Может улучшить производительность на сложных задачах, но может показать убывающую отдачу и склонен к переосмыслению. Протестируйте перед широким внедрением |400| `max` | Может улучшить производительность на сложных задачах, но может показать убывающую отдачу и склонен к переосмыслению. Протестируйте перед широким внедрением |

399| `ultracode` | Параметр Claude Code, который планирует [динамический рабочий процесс](/ru/workflows) для каждой существенной задачи с рассуждением `xhigh` для каждого сообщения. Только для сеанса |401| `ultracode` | Параметр Claude Code, который планирует [динамический рабочий процесс](/ru/workflows) для каждой существенной задачи с рассуждением `xhigh` для каждого сообщения. Только для сеанса |


429 431 

430Адаптивное рассуждение делает мышление необязательным на каждом шаге, поэтому Claude может быстрее реагировать на рутинные подсказки и зарезервировать более глубокое мышление для шагов, которые от него выигрывают. Если вы хотите, чтобы Claude думал чаще или реже, чем производит текущий уровень, вы можете сказать об этом прямо в вашей подсказке или в `CLAUDE.md`; модель реагирует на это руководство в рамках своего параметра усилий.432Адаптивное рассуждение делает мышление необязательным на каждом шаге, поэтому Claude может быстрее реагировать на рутинные подсказки и зарезервировать более глубокое мышление для шагов, которые от него выигрывают. Если вы хотите, чтобы Claude думал чаще или реже, чем производит текущий уровень, вы можете сказать об этом прямо в вашей подсказке или в `CLAUDE.md`; модель реагирует на это руководство в рамках своего параметра усилий.

431 433 

432Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение, как и Fable 5. Режим фиксированного бюджета мышления и `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` не применяются к ним.434Fable 5, Sonnet 5 и Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение. Режим фиксированного бюджета мышления и `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` не применяются к ним.

433 435 

434На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` для возврата к предыдущему фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/ru/env-vars).436На Opus 4.6 и Sonnet 4.6 вы можете установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` для возврата к предыдущему фиксированному бюджету мышления, контролируемому `MAX_THINKING_TOKENS`. См. [переменные окружения](/ru/env-vars).

435 437 


453 Расширенный контекст455 Расширенный контекст

454</h3>456</h3>

455 457 

456Fable 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6, поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов с большими кодовыми базами.458Fable 5, Sonnet 5, Opus 4.6 и более поздние версии, а также Sonnet 4.6, поддерживают [контекстное окно в 1 миллион токенов](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window) для длительных сеансов с большими кодовыми базами.

457 459 

458Доступность варьируется в зависимости от модели и плана. На планах Max, Team и Enterprise Opus автоматически обновляется до контекста 1M без дополнительной конфигурации. Это применяется как к местам Team Standard, так и к Team Premium. На Anthropic API Fable 5, Opus 4.8 и Opus 4.7 всегда работают с окном 1M. Sonnet с контекстом 1M не входит в автоматическое обновление и требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на каждом плане подписки, включая Max.460Доступность варьируется в зависимости от модели и плана. На Anthropic API Fable 5, Sonnet 5, Opus 4.8 и Opus 4.7 всегда работают с окном 1M. На планах Max, Team и Enterprise Opus автоматически обновляется до контекста 1M без дополнительной конфигурации. Это применяется как к местам Team Standard, так и к Team Premium. Sonnet 4.6 с контекстом 1M не входит в автоматическое обновление и требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) на каждом плане подписки, включая Max.

459 461 

460| План | Opus с контекстом 1M | Sonnet с контекстом 1M |462| План | Opus с контекстом 1M | Sonnet 4.6 с контекстом 1M |

461| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |463| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |

462| Max, Team и Enterprise | Включено в подписку | Требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |464| Max, Team и Enterprise | Включено в подписку | Требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

463| Pro | Требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |465| Pro | Требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) | Требует [дополнительного использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |


480/model claude-opus-4-8[1m]482/model claude-opus-4-8[1m]

481```483```

482 484 

485<h4 id="sonnet-5-context-window">

486 Контекстное окно Sonnet 5

487</h4>

488 

489На Anthropic API Sonnet 5 всегда работает с контекстным окном 1M. Нет варианта 200K, нет суффикса `[1m]` для выбора, и дополнительное использование не требуется ни на одном плане. Сеансы автоматически сжимаются до заполнения окна, по умолчанию примерно при 967K токенов; установите [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/ru/env-vars), чтобы выбрать другой порог.

490 

491Две конфигурации вместо этого ограничивают окно значением 200K и автоматически сжимают на этой границе:

492 

493* **LLM gateway**: когда `ANTHROPIC_BASE_URL` указывает на [шлюз](/ru/llm-gateway), Claude Code не может проверить поддержку 1M. Чтобы использовать полное окно, выберите Sonnet 5 (1M context) в средстве выбора модели, что соответствует `sonnet[1m]`.

494* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: обрабатывает сеансы Sonnet 5 как имеющие окно 200K, для развертываний, которым нужно ограничить контекст.

495 

483<h2 id="checking-your-current-model">496<h2 id="checking-your-current-model">

484 Проверка вашей текущей модели497 Проверка вашей текущей модели

485</h2>498</h2>

486 499 

487Вы можете увидеть, какую модель вы используете в настоящее время, несколькими способами:500Вы можете увидеть, какую модель вы используете в настоящее время, в двух местах:

488 501 

4891. В [строке состояния](/ru/statusline) (если настроено)502* В [строке состояния](/ru/statusline), если у вас она настроена

4902. В `/status`, который также отображает информацию вашей учетной записи.503* В `/status`, который также отображает информацию вашей учетной записи

491 504 

492<h2 id="add-a-custom-model-option">505<h2 id="add-a-custom-model-option">

493 Добавление пользовательского варианта модели506 Добавление пользовательского варианта модели


498Этот пример устанавливает все три переменные, чтобы сделать развертывание Opus с маршрутизацией через шлюз выбираемым:511Этот пример устанавливает все три переменные, чтобы сделать развертывание Opus с маршрутизацией через шлюз выбираемым:

499 512 

500```bash theme={null}513```bash theme={null}

501export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-7"514export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-4-8"

502export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"515export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

503export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"516export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

504```517```

505 518 

506Пользовательская запись появляется в нижней части средства выбора `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` и `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` являются необязательными. Если они опущены, идентификатор модели используется как имя, а описание по умолчанию — `Custom model (<model-id>)`.519Пользовательская запись появляется в нижней части средства выбора `/model`. `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` и `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` являются необязательными. Если они опущены, идентификатор модели используется как имя, а описание по умолчанию — `Custom model (<model-id>)`.

507 520 

508Claude Code пропускает валидацию для идентификатора модели, установленного в `ANTHROPIC_CUSTOM_MODEL_OPTION`, поэтому вы можете использовать любую строку, которую принимает ваша конечная точка API. Когда установлено значение [`availableModels`](#restrict-model-selection), включите пользовательский идентификатор модели в список разрешений: пользовательская запись фильтруется из средства выбора, а выбор `--model` отклоняется как любая другая исключенная модель. Пользовательский идентификатор, который встраивает имя семейства, такой как `my-gateway/claude-opus-4-7`, считается конкретной записью для этого семейства и отключает его подстановочный знак, поэтому также перечислите версии, которые вы намереваетесь оставить выбираемыми. См. [Поведение слияния](#merge-behavior).521Claude Code пропускает валидацию для идентификатора модели, установленного в `ANTHROPIC_CUSTOM_MODEL_OPTION`, поэтому вы можете использовать любую строку, которую принимает ваша конечная точка API. Когда установлено значение [`availableModels`](#restrict-model-selection), включите пользовательский идентификатор модели в список разрешений: пользовательская запись фильтруется из средства выбора, а выбор `--model` отклоняется как любая другая исключенная модель. Пользовательский идентификатор, который встраивает имя семейства, такой как `my-gateway/claude-opus-4-8`, считается конкретной записью для этого семейства и отключает его подстановочный знак, поэтому также перечислите версии, которые вы намереваетесь оставить выбираемыми. См. [Поведение слияния](#merge-behavior).

509 522 

510<h2 id="environment-variables">523<h2 id="environment-variables">

511 Переменные окружения524 Переменные окружения

512</h2>525</h2>

513 526 

514Вы можете использовать следующие переменные окружения, которые должны быть полными **именами моделей** (или эквивалентом для вашего поставщика API), для управления именами моделей, на которые отображаются псевдонимы.527Вы можете использовать следующие переменные окружения для управления именами моделей, на которые отображаются псевдонимы. Каждое значение должно быть полным именем модели или эквивалентным идентификатором для вашего поставщика API.

515 528 

516| Переменная окружения | Описание |529| Переменная окружения | Описание |

517| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |530| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


555 568 

556* Claude Code удаляет суффикс перед отправкой идентификатора модели вашему поставщику.569* Claude Code удаляет суффикс перед отправкой идентификатора модели вашему поставщику.

557* Добавляйте `[1m]` только когда базовая модель [поддерживает контекст 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).570* Добавляйте `[1m]` только когда базовая модель [поддерживает контекст 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#1m-token-context-window).

558* Суффикс читается для каждой переменной, а не для каждой модели. На Bedrock, Vertex и Foundry идентификатор модели без `[1m]` в одной переменной использует контекст 200K, даже если другая переменная устанавливает ту же модель с суффиксом.571* Суффикс читается для каждой переменной, а не для каждой модели. На Bedrock, Vertex и Foundry идентификатор модели без `[1m]` в одной переменной использует контекст 200K, даже если другая переменная устанавливает ту же модель с суффиксом. Sonnet 5 всегда работает с окном 1M на этих поставщиках и никогда не требует суффикса.

559 572 

560<Note>573<Note>

561 Список разрешений `availableModels`, доставленный через [MDM или управляемый файл параметров](/ru/settings#settings-files), все еще применяется при использовании поставщиков третьих сторон; [параметры, управляемые сервером, не доставляются туда](/ru/server-managed-settings#platform-availability). Фильтрация соответствует псевдониму модели, такому как `opus`, префиксу версии, такому как `claude-opus-4-8`, или полному идентификатору модели в форме поставщика. Префиксы, специфичные для поставщика, такие как `us.anthropic.`, не удаляются, поэтому для разрешения конкретной модели укажите ту же форму идентификатора поставщика, которую показывает средство выбора, или отобразите ее через [`modelOverrides`](#override-model-ids-per-version). Любой суффикс `[1m]` удаляется как из записи списка разрешений, так и из запрашиваемой модели перед сопоставлением.574 Список разрешений `availableModels`, доставленный через [MDM или управляемый файл параметров](/ru/settings#settings-files), все еще применяется при использовании поставщиков третьих сторон; [параметры, управляемые сервером, не доставляются туда](/ru/server-managed-settings#platform-availability). Фильтрация соответствует псевдониму модели, такому как `opus`, префиксу версии, такому как `claude-opus-4-8`, или полному идентификатору модели в форме поставщика. Префиксы, специфичные для поставщика, такие как `us.anthropic.`, не удаляются, поэтому для разрешения конкретной модели укажите ту же форму идентификатора поставщика, которую показывает средство выбора, или отобразите ее через [`modelOverrides`](#override-model-ids-per-version). Любой суффикс `[1m]` удаляется как из записи списка разрешений, так и из запрашиваемой модели перед сопоставлением.

Details

93| `OTEL_METRIC_EXPORT_INTERVAL` | Интервал экспорта в миллисекундах (по умолчанию: 60000) | `5000`, `60000` |93| `OTEL_METRIC_EXPORT_INTERVAL` | Интервал экспорта в миллисекундах (по умолчанию: 60000) | `5000`, `60000` |

94| `OTEL_LOGS_EXPORT_INTERVAL` | Интервал экспорта логов в миллисекундах (по умолчанию: 5000) | `1000`, `10000` |94| `OTEL_LOGS_EXPORT_INTERVAL` | Интервал экспорта логов в миллисекундах (по умолчанию: 5000) | `1000`, `10000` |

95| `OTEL_LOG_USER_PROMPTS` | Включить логирование содержимого пользовательских подсказок (по умолчанию: отключено) | `1` для включения |95| `OTEL_LOG_USER_PROMPTS` | Включить логирование содержимого пользовательских подсказок (по умолчанию: отключено) | `1` для включения |

96| `OTEL_LOG_ASSISTANT_RESPONSES` | Включить логирование текста ответа ассистента на событиях `assistant_response` (по умолчанию: отключено). Если не установлено, возвращается к значению `OTEL_LOG_USER_PROMPTS`. {/* min-version: 2.1.193 */}Требует Claude Code v2.1.193 или позже | `1` для включения, `0` для сохранения скрытым |

96| `OTEL_LOG_TOOL_DETAILS` | Включить логирование параметров инструмента и аргументов входных данных в событиях инструментов и атрибутах span трассировки: команды Bash, имена MCP сервера и инструмента, имена навыков и входные данные инструмента. Также включает пользовательские, плагин и MCP имена команд на событиях `user_prompt` (по умолчанию: отключено) | `1` для включения |97| `OTEL_LOG_TOOL_DETAILS` | Включить логирование параметров инструмента и аргументов входных данных в событиях инструментов и атрибутах span трассировки: команды Bash, имена MCP сервера и инструмента, имена навыков и входные данные инструмента. Также включает пользовательские, плагин и MCP имена команд на событиях `user_prompt` (по умолчанию: отключено) | `1` для включения |

97| `OTEL_LOG_TOOL_CONTENT` | Включить логирование входных и выходных данных инструмента в событиях span (по умолчанию: отключено). Требует [трассировку](#traces-beta). Содержимое усекается на 60 КБ | `1` для включения |98| `OTEL_LOG_TOOL_CONTENT` | Включить логирование входных и выходных данных инструмента в событиях span (по умолчанию: отключено). Требует [трассировку](#traces-beta). Содержимое усекается на 60 КБ | `1` для включения |

98| `OTEL_LOG_RAW_API_BODIES` | Выдавать полный JSON запроса и ответа Anthropic Messages API как события логов `api_request_body` / `api_response_body` (по умолчанию: отключено). Тела включают всю историю разговора. Включение этого подразумевает согласие со всем, что раскрыли бы `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` и `OTEL_LOG_TOOL_CONTENT` | `1` для встроенных тел, усеченных на 60 КБ, или `file:<dir>` для неусеченных тел на диске с указателем `body_ref` в событии |99| `OTEL_LOG_RAW_API_BODIES` | Выдавать полный JSON запроса и ответа Anthropic Messages API как события логов `api_request_body` / `api_response_body` (по умолчанию: отключено). Тела включают всю историю разговора. Включение этого подразумевает согласие со всем, что раскрыли бы `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` и `OTEL_LOG_TOOL_CONTENT` | `1` для встроенных тел, усеченных на 60 КБ, или `file:<dir>` для неусеченных тел на диске с указателем `body_ref` в событии |


341Каждый пользовательский ключ становится меткой на каждой серии метрик, поэтому высококардинальные значения увеличивают затраты на хранилище в вашем бэкенде метрик. Чтобы отправлять пользовательские атрибуты только в блоке ресурсов и опускать их из меток точек данных, установите `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. См. [Управление кардинальностью метрик](#metrics-cardinality-control).342Каждый пользовательский ключ становится меткой на каждой серии метрик, поэтому высококардинальные значения увеличивают затраты на хранилище в вашем бэкенде метрик. Чтобы отправлять пользовательские атрибуты только в блоке ресурсов и опускать их из меток точек данных, установите `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`. См. [Управление кардинальностью метрик](#metrics-cardinality-control).

342 343 

343<Warning>344<Warning>

344 **Важные требования к форматированию для OTEL\_RESOURCE\_ATTRIBUTES:**

345 

346 Переменная окружения `OTEL_RESOURCE_ATTRIBUTES` использует пары ключ=значение, разделенные запятыми, со строгими требованиями к форматированию:345 Переменная окружения `OTEL_RESOURCE_ATTRIBUTES` использует пары ключ=значение, разделенные запятыми, со строгими требованиями к форматированию:

347 346 

348 * **Пробелы не допускаются**: Значения не могут содержать пробелы. Например, `user.organizationName=My Company` недопустимо347 * **Пробелы не допускаются**: значения не могут содержать пробелы. Например, `user.organizationName=My Company` недопустимо

349 * **Формат**: Должны быть пары ключ=значение, разделенные запятыми: `key1=value1,key2=value2`348 * **Формат**: должны быть пары ключ=значение, разделенные запятыми: `key1=value1,key2=value2`

350 * **Допустимые символы**: Только символы US-ASCII, исключая управляющие символы, пробелы, двойные кавычки, запятые, точки с запятой и обратные слэши349 * **Допустимые символы**: только символы US-ASCII, исключая управляющие символы, пробелы, двойные кавычки, запятые, точки с запятой и обратные слэши

351 * **Специальные символы**: Символы вне допустимого диапазона должны быть закодированы в процентах350 * **Специальные символы**: символы вне допустимого диапазона должны быть закодированы в процентах

352 351 

353 **Примеры:**352 Для значения, которому нужен пробел, используйте подчеркивания или camelCase вместо этого. Следующие примеры устанавливают `org.name` с каждой формой:

354 353 

355 ```bash theme={null}354 ```bash theme={null}

356 # ❌ Недопустимо - содержит пробелы

357 export OTEL_RESOURCE_ATTRIBUTES="org.name=John's Organization"

358 

359 # ✅ Допустимо - используйте подчеркивания или camelCase вместо этого

360 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"355 export OTEL_RESOURCE_ATTRIBUTES="org.name=Johns_Organization"

361 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"356 export OTEL_RESOURCE_ATTRIBUTES="org.name=JohnsOrganization"

357 ```

362 358 

363 # Допустимо - закодируйте специальные символы в процентах, если необходимо359 Вы можете закодировать в процентах любой символ, не только исключенные. Этот пример кодирует как пробел, так и апостроф:

360 

361 ```bash theme={null}

364 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"362 export OTEL_RESOURCE_ATTRIBUTES="org.name=John%27s%20Organization"

365 ```363 ```

366 364 

367 Примечание: заключение значений в кавычки не экранирует пробелы. Например, `org.name="My Company"` приводит к буквальному значению `"My Company"` (с кавычками включены), а не `My Company`.365 Заключение значений в кавычки не экранирует пробелы. Например, `org.name="My Company"` приводит к буквальному значению `"My Company"` с кавычками включены, а не `My Company`.

368</Warning>366</Warning>

369 367 

370<h3 id="example-configurations">368<h3 id="example-configurations">


439| `terminal.type` | Тип терминала, такой как `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |437| `terminal.type` | Тип терминала, такой как `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |

440| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы установили, такие как `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |438| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы установили, такие как `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |

441 439 

440Когда Claude Code подписан на [Claude apps gateway](/ru/claude-apps-gateway), CLI помечает экспорты аутентифицированной идентичностью из сеанса gateway: `user.id` является субъектом IdP, а не анонимным идентификатором установки, `user.email` является адресом электронной почты, на который выполнен вход, и `user.groups` содержит членство в группе IdP в виде строки, разделенной запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентичность gateway применяется последней, поэтому ключи `user.*` и `identity.*`, установленные через `OTEL_RESOURCE_ATTRIBUTES`, игнорируются в сеансах gateway.

441 

442События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, потому что они вызовут неограниченную кардинальность:442События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, потому что они вызовут неограниченную кардинальность:

443 443 

444* `prompt.id`: UUID, коррелирующий пользовательскую подсказку со всеми последующими событиями до следующей подсказки. См. [Атрибуты корреляции событий](#event-correlation-attributes).444* `prompt.id`: UUID, коррелирующий пользовательскую подсказку со всеми последующими событиями до следующей подсказки. См. [Атрибуты корреляции событий](#event-correlation-attributes).


488 488 

489* Все [стандартные атрибуты](#standard-attributes)489* Все [стандартные атрибуты](#standard-attributes)

490* `type`: (`"added"`, `"removed"`)490* `type`: (`"added"`, `"removed"`)

491* `model`: Идентификатор модели для модели, которая внесла изменение (например, "claude-sonnet-4-6"). Требует Claude Code v2.1.172 или позже491* `model`: Идентификатор модели для модели, которая внесла изменение (например, "claude-sonnet-5")

492 492 

493<h4 id="pull-request-counter">493<h4 id="pull-request-counter">

494 Счетчик pull request494 Счетчик pull request


519**Атрибуты**:519**Атрибуты**:

520 520 

521* Все [стандартные атрибуты](#standard-attributes)521* Все [стандартные атрибуты](#standard-attributes)

522* `model`: Идентификатор модели (например, "claude-sonnet-4-6")522* `model`: Идентификатор модели (например, "claude-sonnet-5")

523* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`523* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`

524* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае524* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае

525* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда модель не поддерживает усилия.525* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда модель не поддерживает усилия.


540 540 

541* Все [стандартные атрибуты](#standard-attributes)541* Все [стандартные атрибуты](#standard-attributes)

542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)542* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

543* `model`: Идентификатор модели (например, "claude-sonnet-4-6")543* `model`: Идентификатор модели (например, "claude-sonnet-5")

544* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`544* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`

545* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае545* `speed`: `"fast"` когда запрос использовал быстрый режим. Отсутствует в противном случае

546* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу. Подробности см. в разделе [Счетчик затрат](#cost-counter).546* `effort`: [Уровень усилий](/ru/model-config#adjust-effort-level), применяемый к запросу. Подробности см. в разделе [Счетчик затрат](#cost-counter).


564 Счетчик активного времени564 Счетчик активного времени

565</h4>565</h4>

566 566 

567Отслеживает фактическое время, потраченное на активное использование Claude Code, исключая время простоя. Эта метрика увеличивается во время взаимодействия пользователя (ввод текста, чтение ответов) и во время обработки CLI (выполнение инструментов, генерация ответов AI).567Отслеживает фактическое время, потраченное на активное использование Claude Code, исключая время простоя. Эта метрика увеличивается во время взаимодействия пользователя, такого как ввод текста и чтение ответов, и во время обработки CLI, такой как выполнение инструментов и генерация ответов AI.

568 568 

569**Атрибуты**:569**Атрибуты**:

570 570 


608* `event.timestamp`: Временная метка ISO 8601608* `event.timestamp`: Временная метка ISO 8601

609* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе609* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

610* `prompt_length`: Длина подсказки610* `prompt_length`: Длина подсказки

611* `prompt`: Содержимое подсказки (скрыто по умолчанию, включите с помощью `OTEL_LOG_USER_PROMPTS=1`)611* `prompt`: Содержимое подсказки. Скрыто по умолчанию. Установите `OTEL_LOG_USER_PROMPTS=1` для включения

612* `command_name`: Имя команды, когда подсказка вызывает одну. Встроенные и поставляемые имена команд, такие как `compact` или `debug`, выдаются как есть; псевдонимы, такие как `reset`, выдаются как введено, а не как каноническое имя. Пользовательские, плагин и MCP имена команд сворачиваются в `custom` или `mcp`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`612* `command_name`: Имя команды, когда подсказка вызывает одну. Встроенные и поставляемые имена команд, такие как `compact` или `debug`, выдаются как есть; псевдонимы, такие как `reset`, выдаются как введено, а не как каноническое имя. Пользовательские, плагин и MCP имена команд сворачиваются в `custom` или `mcp`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`

613* `command_source`: Происхождение команды, когда присутствует: `builtin`, `custom` или `mcp`. Команды, предоставляемые плагинами, сообщают как `custom`613* `command_source`: Происхождение команды, когда присутствует: `builtin`, `custom` или `mcp`. Команды, предоставляемые плагинами, сообщают как `custom`

614 614 

615<h4 id="assistant-response-event">

616 Событие результата помощника

617</h4>

618 

619Логируется после каждого запроса API, который возвращает текстовое содержимое от модели. Включены только текстовые блоки ответа; блоки мышления и блоки использования инструментов исключены. Требует Claude Code v2.1.193 или позже.

620 

621**Имя события**: `claude_code.assistant_response`

622 

623**Атрибуты**:

624 

625* Все [стандартные атрибуты](#standard-attributes)

626* `event.name`: `"assistant_response"`

627* `event.timestamp`: Временная метка ISO 8601

628* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

629* `response_length`: Длина текста ответа в символах

630* `response`: Текст ответа, усеченный на 60 КБ. Скрыт как `<REDACTED>` по умолчанию. Установите `OTEL_LOG_ASSISTANT_RESPONSES=1` для включения. Когда `OTEL_LOG_ASSISTANT_RESPONSES` не установлен, `OTEL_LOG_USER_PROMPTS` контролирует его вместо этого, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, чтобы сохранить ответы скрытыми, пока логирование подсказок включено

631* `model`: Идентификатор модели (например, "claude-sonnet-4-6")

632* `request_id`: ID запроса Anthropic API из заголовка ответа `request-id`. Присутствует только, когда API возвращает его

633* `query_source`: Подсистема, которая выдала запрос, такая как `"repl_main_thread"`, `"compact"` или имя подагента

634 

615<h4 id="tool-result-event">635<h4 id="tool-result-event">

616 Событие результата инструмента636 Событие результата инструмента

617</h4>637</h4>


632* `duration_ms`: Время выполнения в миллисекундах652* `duration_ms`: Время выполнения в миллисекундах

633* `error_type`: Строка категории ошибки при сбое инструмента, такая как `"Error:ENOENT"` или `"ShellError"`653* `error_type`: Строка категории ошибки при сбое инструмента, такая как `"Error:ENOENT"` или `"ShellError"`

634* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке при сбое инструмента654* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке при сбое инструмента

635* `decision_type`: Всегда `"accept"`, так как это событие выдается только после запуска инструмента (отклоненные вызовы не производят результат инструмента)655* `decision_type`: Всегда `"accept"`, так как это событие выдается только после запуска инструмента. Отклоненные вызовы не производят результат инструмента

636* `decision_source`: Источник решения о разрешении. Один из `"config"`, `"hook"`, `"user_permanent"` или `"user_temporary"`. См. [Событие решения инструмента](#tool-decision-event) для получения информации о том, что означает каждое значение. Источники, только для отклонения, `"user_abort"` и `"user_reject"`, никогда не появляются на этом событии.656* `decision_source`: Источник решения о разрешении. Один из `"config"`, `"hook"`, `"user_permanent"` или `"user_temporary"`. См. [Событие решения инструмента](#tool-decision-event) для получения информации о том, что означает каждое значение. Источники, только для отклонения, `"user_abort"` и `"user_reject"`, никогда не появляются на этом событии.

637* `tool_input_size_bytes`: Размер JSON-сериализованного входа инструмента в байтах657* `tool_input_size_bytes`: Размер JSON-сериализованного входа инструмента в байтах

638* `tool_result_size_bytes`: Размер результата инструмента в байтах658* `tool_result_size_bytes`: Размер результата инструмента в байтах


659* `event.name`: `"api_request"`679* `event.name`: `"api_request"`

660* `event.timestamp`: Временная метка ISO 8601680* `event.timestamp`: Временная метка ISO 8601

661* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе681* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

662* `model`: Используемая модель (например, "claude-sonnet-4-6")682* `model`: Используемая модель (например, "claude-sonnet-5")

663* `cost_usd`: Приблизительная стоимость в USD683* `cost_usd`: Приблизительная стоимость в USD

664* `duration_ms`: Длительность запроса в миллисекундах684* `duration_ms`: Длительность запроса в миллисекундах

665* `input_tokens`: Количество входных токенов685* `input_tokens`: Количество входных токенов


686* `event.name`: `"api_error"`706* `event.name`: `"api_error"`

687* `event.timestamp`: Временная метка ISO 8601707* `event.timestamp`: Временная метка ISO 8601

688* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе708* `event.sequence`: монотонно возрастающий счетчик для упорядочивания событий в сеансе

689* `model`: Используемая модель (например, "claude-sonnet-4-6")709* `model`: Используемая модель (например, "claude-sonnet-5")

690* `error`: Сообщение об ошибке710* `error`: Сообщение об ошибке

691* `status_code`: HTTP код состояния в виде числа. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.711* `status_code`: HTTP код состояния в виде числа. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.

692* `duration_ms`: Длительность запроса в миллисекундах712* `duration_ms`: Длительность запроса в миллисекундах


1156* Необычное потребление токенов1176* Необычное потребление токенов

1157* Высокий объем сеансов от конкретных пользователей1177* Высокий объем сеансов от конкретных пользователей

1158 1178 

1159Все метрики можно сегментировать по [стандартным атрибутам](#standard-attributes). Атрибут `model` доступен на `claude_code.token.usage`, `claude_code.cost.usage` и {/* min-version: 2.1.172 */}начиная с версии 2.1.172, `claude_code.lines_of_code.count`. Разбивки по моделям для коммитов можно только приблизительно оценить, объединив данные с метриками токенов или затрат по `session.id`, поскольку один сеанс может охватывать несколько моделей. Отфильтруйте сторону токенов или затрат до строк, где `query_source` равен `"main"`, чтобы вспомогательные запросы и запросы подагентов не приписывали коммиты сеанса модели, которая их не создавала.1179Все метрики можно сегментировать по [стандартным атрибутам](#standard-attributes). Атрибут `model` доступен на `claude_code.token.usage`, `claude_code.cost.usage` и {/* min-version: 2.1.172 */}начиная с версии 2.1.172, `claude_code.lines_of_code.count`.

1180 

1181Разбивки по моделям для коммитов можно только приблизительно оценить, объединив данные с метриками токенов или затрат по `session.id`, поскольку один сеанс может охватывать несколько моделей. Отфильтруйте сторону токенов или затрат до строк, где `query_source` равен `"main"`, чтобы вспомогательные запросы и запросы подагентов не приписывали коммиты сеанса модели, которая их не создавала.

1160 1182 

1161<h3 id="detect-retry-exhaustion">1183<h3 id="detect-retry-exhaustion">

1162 Обнаружение исчерпания повторных попыток1184 Обнаружение исчерпания повторных попыток


1187 Аудит событий безопасности1209 Аудит событий безопасности

1188</h2>1210</h2>

1189 1211 

1190События OpenTelemetry являются источником данных аудита для активности Claude Code. Каждое событие содержит атрибуты идентификации, которые связывают вызовы инструментов, активность MCP и решения о разрешениях с пользователем, который их инициировал, и экспортер логов OTLP может доставлять эти события на любую платформу Security Information and Event Management (SIEM) с приемником OTLP или на OpenTelemetry Collector, который перенаправляет на ваш SIEM.1212События OpenTelemetry являются источником данных аудита для активности Claude Code. Каждое событие содержит атрибуты идентификации, которые связывают вызовы инструментов, активность MCP и решения о разрешениях с пользователем, который их инициировал. Экспортер логов OTLP может доставлять эти события на любую платформу Security Information and Event Management (SIEM) с приемником OTLP или на OpenTelemetry Collector, который перенаправляет на ваш SIEM.

1191 1213 

1192<h3 id="attribute-actions-to-users">1214<h3 id="attribute-actions-to-users">

1193 Атрибуция действий пользователям1215 Атрибуция действий пользователям

1194</h3>1216</h3>

1195 1217 

1196[Стандартные атрибуты](#standard-attributes) на каждом событии включают идентификацию аутентифицированного пользователя: `user.email`, `user.account_uuid`, `user.account_id` и `organization.id` при входе с учетной записью Claude, плюс область установки `user.id` и область сеанса `session.id`.1218[Стандартные атрибуты](#standard-attributes) на каждом событии включают идентификацию аутентифицированного пользователя: `user.email`, `user.account_uuid`, `user.account_id` и `organization.id` при входе с учетной записью Claude, плюс `user.id` и область сеанса `session.id`. `user.id` является идентификатором, ограниченным установкой, за исключением сеансов [Claude apps gateway](/ru/claude-apps-gateway), где это субъект IdP из выданного шлюзом токена.

1197 1219 

1198Вызовы инструментов MCP, команды Bash и редактирование файлов поэтому приписываются разработчику, который запустил сеанс. Claude Code не действует под отдельной учетной записью сервиса; идентификация, записанная на каждом событии, это собственная учетная запись Claude разработчика.1220Вызовы инструментов MCP, команды Bash и редактирование файлов поэтому приписываются разработчику, который запустил сеанс. Claude Code не действует под отдельной учетной записью сервиса; идентификация, записанная на каждом событии, это собственная учетная запись Claude разработчика или идентификация IdP разработчика в сеансе [Claude apps gateway](/ru/claude-apps-gateway).

1199 1221 

1200Когда Claude Code аутентифицируется с прямым ключом API или против Bedrock, Vertex AI или Microsoft Foundry, в сеансе нет учетной записи Claude и только `user.id` и `session.id` заполняются. В этих развертываниях прикрепите идентификацию пользователя самостоятельно с помощью `OTEL_RESOURCE_ATTRIBUTES`, установленного для каждого пользователя через файл [управляемых параметров](#administrator-configuration) или оболочку запуска:1222Когда Claude Code аутентифицируется с прямым ключом API или против Bedrock, Vertex AI или Microsoft Foundry, в сеансе нет учетной записи Claude и только `user.id` и `session.id` заполняются. В этих развертываниях прикрепите идентификацию пользователя самостоятельно с помощью `OTEL_RESOURCE_ATTRIBUTES`, установленного для каждого пользователя через файл [управляемых параметров](#administrator-configuration) или оболочку запуска. Сеансы Claude apps gateway не требуют ничего из этого: CLI автоматически проставляет идентификацию IdP, как описано в [Стандартные атрибуты](#standard-attributes).

1201 1223 

1202```bash theme={null}1224```bash theme={null}

1203export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1225export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."


1319* Содержимое файлов в исходном виде и фрагменты кода не включаются в метрики или события. Span трассировок — это отдельный путь данных: см. пункт `OTEL_LOG_TOOL_CONTENT` ниже1341* Содержимое файлов в исходном виде и фрагменты кода не включаются в метрики или события. Span трассировок — это отдельный путь данных: см. пункт `OTEL_LOG_TOOL_CONTENT` ниже

1320* При аутентификации через OAuth `user.email` включается в атрибуты телеметрии. Если это вызывает беспокойство для вашей организации, работайте с вашим бэкендом телеметрии для фильтрации или редактирования этого поля1342* При аутентификации через OAuth `user.email` включается в атрибуты телеметрии. Если это вызывает беспокойство для вашей организации, работайте с вашим бэкендом телеметрии для фильтрации или редактирования этого поля

1321* Содержимое пользовательской подсказки не собирается по умолчанию. Записывается только длина подсказки. Чтобы включить содержимое подсказки, установите `OTEL_LOG_USER_PROMPTS=1`1343* Содержимое пользовательской подсказки не собирается по умолчанию. Записывается только длина подсказки. Чтобы включить содержимое подсказки, установите `OTEL_LOG_USER_PROMPTS=1`

1344* Текст ответа помощника не собирается по умолчанию. Записывается только длина ответа. Чтобы включить текст ответа, установите `OTEL_LOG_ASSISTANT_RESPONSES=1`. Как и все данные OpenTelemetry из Claude Code, текст ответа отправляется только на endpoint OTel, который вы настраиваете, никогда на Anthropic. Когда эта переменная не установлена, `OTEL_LOG_USER_PROMPTS` используется как резервный вариант, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, если вы хотите содержимое подсказки без содержимого ответа

1322* Аргументы входных данных инструмента и параметры не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_DETAILS=1`. Эти данные отправляются только на endpoint OTEL, который вы настраиваете, никогда на Anthropic. Аргументы могут по-прежнему содержать конфиденциальные значения, поэтому настройте ваш бэкенд телеметрии для фильтрации или редактирования этих атрибутов по мере необходимости. Когда включено:1345* Аргументы входных данных инструмента и параметры не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_DETAILS=1`. Эти данные отправляются только на endpoint OTEL, который вы настраиваете, никогда на Anthropic. Аргументы могут по-прежнему содержать конфиденциальные значения, поэтому настройте ваш бэкенд телеметрии для фильтрации или редактирования этих атрибутов по мере необходимости. Когда включено:

1323 * События `tool_result` и `tool_decision` включают атрибут `tool_parameters` с командами Bash, именами MCP сервера и инструмента и именами навыков. Поля, такие как `full_command`, выдаются неусеченными1346 * События `tool_result` и `tool_decision` включают атрибут `tool_parameters` с командами Bash, именами MCP сервера и инструмента и именами навыков. Поля, такие как `full_command`, выдаются неусеченными

1324 * События `tool_result` дополнительно включают атрибут `tool_input` с путями к файлам, URL-адресами, шаблонами поиска и другими аргументами. Отдельные значения более 512 символов усекаются, и общее количество ограничено примерно 4 K символами1347 * События `tool_result` дополнительно включают атрибут `tool_input` с путями к файлам, URL-адресами, шаблонами поиска и другими аргументами. Отдельные значения более 512 символов усекаются, и общее количество ограничено примерно 4 K символами

Details

63 Хранилище сертификатов CA63 Хранилище сертификатов CA

64</h2>64</h2>

65 65 

66По умолчанию Claude Code доверяет как своему встроенному набору сертификатов Mozilla CA, так и хранилищу сертификатов вашей операционной системы. Корпоративные прокси с TLS-инспекцией, такие как CrowdStrike Falcon и Zscaler, работают без дополнительной конфигурации, когда их корневой сертификат установлен в хранилище доверия ОС.66По умолчанию Claude Code доверяет как своему встроенному набору сертификатов Mozilla CA, так и хранилищу сертификатов вашей операционной системы. Чтение хранилища ОС требует среды выполнения с `tls.getCACertificates`: встроенный установщик всегда его имеет, а установки npm требуют Node 22.15 или более поздней версии. На более старых версиях Node применяются только встроенный набор и `NODE_EXTRA_CA_CERTS`. Корпоративные прокси с TLS-инспекцией, такие как CrowdStrike Falcon и Zscaler, работают без дополнительной конфигурации, когда их корневой сертификат установлен в хранилище доверия ОС и среда выполнения может его прочитать.

67 67 

68`CLAUDE_CODE_CERT_STORE` принимает список источников, разделенный запятыми. Признанные значения: `bundled` для набора Mozilla CA, поставляемого с Claude Code, и `system` для хранилища доверия операционной системы. По умолчанию используется `bundled,system`.68`CLAUDE_CODE_CERT_STORE` принимает список источников, разделенный запятыми. Признанные значения: `bundled` для набора Mozilla CA, поставляемого с Claude Code, и `system` для хранилища доверия операционной системы. По умолчанию используется `bundled,system`.

69 69 


131 131 

132Claude Code также отправляет дополнительную операционную телеметрию по умолчанию, которую вы можете отключить с помощью переменных окружения. См. [Услуги телеметрии](/ru/data-usage#telemetry-services), чтобы узнать, как отключить её перед окончательным формированием вашего белого списка.132Claude Code также отправляет дополнительную операционную телеметрию по умолчанию, которую вы можете отключить с помощью переменных окружения. См. [Услуги телеметрии](/ru/data-usage#telemetry-services), чтобы узнать, как отключить её перед окончательным формированием вашего белого списка.

133 133 

134При использовании [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai) или [Microsoft Foundry](/ru/microsoft-foundry) трафик модели и аутентификация идут к вашему поставщику вместо `api.anthropic.com`, `claude.ai` или `platform.claude.com`. Инструмент WebFetch по-прежнему вызывает `api.anthropic.com` для своей [проверки безопасности домена](/ru/data-usage#webfetch-domain-safety-check), если вы не установите `skipWebFetchPreflight: true` в [параметрах](/ru/settings).134При использовании [Amazon Bedrock](/ru/amazon-bedrock), [Google Vertex AI](/ru/google-vertex-ai), [Microsoft Foundry](/ru/microsoft-foundry) или сеанса [шлюза приложений Claude](/ru/claude-apps-gateway) с входом, трафик модели и аутентификация идут к вашему поставщику или шлюзу вместо `api.anthropic.com`, `claude.ai` или `platform.claude.com`. Инструмент WebFetch по-прежнему вызывает `api.anthropic.com` для своей [проверки безопасности домена](/ru/data-usage#webfetch-domain-safety-check), если вы не установите `skipWebFetchPreflight: true` в [параметрах](/ru/settings).

135 135 

136[Claude Code в веб-версии](/ru/claude-code-on-the-web) и [Code Review](/ru/code-review) подключаются к вашим репозиториям из управляемой Anthropic инфраструктуры. Если ваша организация GitHub Enterprise Cloud ограничивает доступ по IP-адресу, включите [наследование списка разрешенных IP для установленных GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). GitHub App Claude регистрирует свои диапазоны IP, поэтому включение этого параметра позволяет получить доступ без ручной конфигурации. Чтобы [добавить диапазоны в список разрешенных вручную](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) вместо этого, или для настройки других брандмауэров, см. [IP-адреса Anthropic API](https://platform.claude.com/docs/en/api/ip-addresses).136[Claude Code в веб-версии](/ru/claude-code-on-the-web) и [Code Review](/ru/code-review) подключаются к вашим репозиториям из управляемой Anthropic инфраструктуры. Если ваша организация GitHub Enterprise Cloud ограничивает доступ по IP-адресу, включите [наследование списка разрешенных IP для установленных GitHub Apps](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps). GitHub App Claude регистрирует свои диапазоны IP, поэтому включение этого параметра позволяет получить доступ без ручной конфигурации. Чтобы [добавить диапазоны в список разрешенных вручную](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) вместо этого, или для настройки других брандмауэров, см. [IP-адреса Anthropic API](https://platform.claude.com/docs/en/api/ip-addresses).

137 137 

Details

37 <Tab title="CLI">37 <Tab title="CLI">

38 **Во время сеанса**: нажмите `Shift+Tab` для циклического переключения `default` → `acceptEdits` → `plan`. Текущий режим отображается в строке состояния. Не все режимы находятся в цикле по умолчанию:38 **Во время сеанса**: нажмите `Shift+Tab` для циклического переключения `default` → `acceptEdits` → `plan`. Текущий режим отображается в строке состояния. Не все режимы находятся в цикле по умолчанию:

39 39 

40 * `auto`: появляется, когда ваша учётная запись соответствует [требованиям режима auto](#eliminate-prompts-with-auto-mode); циклическое переключение на auto показывает запрос на согласие до тех пор, пока вы его не примете, или выберите **Нет, больше не спрашивать**, чтобы удалить auto из цикла40 * `auto`: появляется, когда ваша учётная запись соответствует [требованиям режима auto](#eliminate-prompts-with-auto-mode); циклическое переключение на него переключает режимы без подтверждающего запроса

41 * `bypassPermissions`: появляется после запуска с `--permission-mode bypassPermissions`, `--dangerously-skip-permissions` или `--allow-dangerously-skip-permissions`; вариант `--allow-` добавляет режим в цикл без активации41 * `bypassPermissions`: появляется после запуска с `--permission-mode bypassPermissions`, `--dangerously-skip-permissions` или `--allow-dangerously-skip-permissions`; вариант `--allow-` добавляет режим в цикл без активации

42 * `dontAsk`: никогда не появляется в цикле; установите его с помощью `--permission-mode dontAsk`42 * `dontAsk`: никогда не появляется в цикле; установите его с помощью `--permission-mode dontAsk`

43 43 


188 188 

189* **План**: Все планы.189* **План**: Все планы.

190* **Администратор**: на Team и Enterprise администратор должен включить его в [настройках администратора Claude Code](https://claude.ai/admin-settings/claude-code) перед тем, как пользователи смогут его включить. Администраторы также могут заблокировать его, установив `permissions.disableAutoMode` на `"disable"` в [управляемых параметрах](/ru/permissions#managed-settings).190* **Администратор**: на Team и Enterprise администратор должен включить его в [настройках администратора Claude Code](https://claude.ai/admin-settings/claude-code) перед тем, как пользователи смогут его включить. Администраторы также могут заблокировать его, установив `permissions.disableAutoMode` на `"disable"` в [управляемых параметрах](/ru/permissions#managed-settings).

191* **Модель**: на Anthropic API — Claude Opus 4.6 или позже, или Sonnet 4.6. На Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry поддерживаются только Claude Opus 4.7 и Opus 4.8. Более старые модели, включая Sonnet 4.5, Opus 4.5, Haiku и модели claude-3, не поддерживаются ни на одном поставщике.191* **Модель**: на Anthropic API — Claude Opus 4.6 или позже, или Sonnet 4.6 или позже. На Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry и подписанных сеансах [Claude apps gateway](/ru/claude-apps-gateway) поддерживаются только Claude Sonnet 5, Opus 4.7 и Opus 4.8. Более старые модели, включая Sonnet 4.5, Opus 4.5, Haiku и модели claude-3, не поддерживаются ни на одном поставщике.

192* **Поставщик**: доступен по умолчанию на Anthropic API. На Amazon Bedrock, Google Cloud Vertex AI и Microsoft Foundry режим auto отключён до тех пор, пока вы не [установите `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry).192* **Поставщик**: доступен по умолчанию на Anthropic API. На Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry и подписанных сеансах Claude apps gateway режим auto отключён до тех пор, пока вы не [установите `CLAUDE_CODE_ENABLE_AUTO_MODE`](#enable-auto-mode-on-bedrock-vertex-ai-or-foundry).

193 193 

194Если Claude Code сообщает, что режим auto недоступен, одно из этих требований не выполнено; это не временный сбой. Отдельное сообщение, которое называет модель и говорит, что режим auto "не может определить безопасность" действия, является временным сбоем классификатора; см. [справку по ошибкам](/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action).194Если Claude Code сообщает, что режим auto недоступен, одно из этих требований не выполнено; это не временный сбой. Отдельное сообщение, которое называет модель и говорит, что режим auto "не может определить безопасность" действия, является временным сбоем классификатора; см. [справку по ошибкам](/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action).

195 195 


199 Включите режим auto на Bedrock, Vertex AI или Foundry199 Включите режим auto на Bedrock, Vertex AI или Foundry

200</h3>200</h3>

201 201 

202На [Amazon Bedrock](/ru/amazon-bedrock), [Google Cloud Vertex AI](/ru/google-vertex-ai) и [Microsoft Foundry](/ru/microsoft-foundry) режим auto не появляется в цикле `Shift+Tab` до тех пор, пока `CLAUDE_CODE_ENABLE_AUTO_MODE` не будет установлен на `1`. Переменная работает в Claude Code v2.1.158 и позже. На этих поставщиках поддерживаются только Claude Opus 4.7 и Opus 4.8.202На [Amazon Bedrock](/ru/amazon-bedrock), [Google Cloud Vertex AI](/ru/google-vertex-ai), [Microsoft Foundry](/ru/microsoft-foundry) и подписанных сеансах [Claude apps gateway](/ru/claude-apps-gateway) режим auto не появляется в цикле `Shift+Tab` до тех пор, пока `CLAUDE_CODE_ENABLE_AUTO_MODE` не будет установлен на `1`. Переменная работает в Claude Code v2.1.158 и позже. На этих поставщиках поддерживаются только Claude Sonnet 5, Opus 4.7 и Opus 4.8.

203 203 

204Чтобы включить его для одного разработчика, добавьте переменную в блок `env` в `~/.claude/settings.json`:204Чтобы включить его для одного разработчика, добавьте переменную в блок `env` в `~/.claude/settings.json`:

205 205 


217 217 

218Чтобы предотвратить включение режима auto разработчиками, установите `disableAutoMode` на `"disable"` в управляемых параметрах. Это переопределяет переменную включения.218Чтобы предотвратить включение режима auto разработчиками, установите `disableAutoMode` на `"disable"` в управляемых параметрах. Это переопределяет переменную включения.

219 219 

220Если вы подключаетесь через [LLM gateway](/ru/llm-gateway) настроенный с `ANTHROPIC_BASE_URL`, режим auto может быть уже доступен без переменной включения, потому что шлюз маршрутизирует запросы через Anthropic API. Параметр `disableAutoMode` применяется таким же образом в этой конфигурации.220Если вы подключаетесь через [LLM gateway](/ru/llm-gateway) настроенный с `ANTHROPIC_BASE_URL`, режим auto может быть уже доступен без переменной включения, потому что шлюз маршрутизирует запросы через Anthropic API. Это не применяется к подписанному сеансу [Claude apps gateway](/ru/claude-apps-gateway), который является его собственным классом поставщика и требует переменную включения. Параметр `disableAutoMode` применяется таким же образом в любой конфигурации.

221 221 

222<h3 id="what-the-classifier-blocks-by-default">222<h3 id="what-the-classifier-blocks-by-default">

223 Что классификатор блокирует по умолчанию223 Что классификатор блокирует по умолчанию


239* `git commit --amend` когда коммит в HEAD не был создан в этом сеансе239* `git commit --amend` когда коммит в HEAD не был создан в этом сеансе

240* `terraform destroy`, `pulumi destroy`, `cdk destroy` или `terragrunt destroy`, и применение плана, который уничтожает ресурсы240* `terraform destroy`, `pulumi destroy`, `cdk destroy` или `terragrunt destroy`, и применение плана, который уничтожает ресурсы

241 241 

242Claude Code v2.1.195 и позже блокируют больше категорий по умолчанию. Несколько зависят от записей [environment](/ru/auto-mode-config#define-trusted-infrastructure), таких как чувствительные удалённые цели и защищённые области IaC, которые вы можете сузить до конкретных имён.

243 

244* Запись в менеджер секретов или изменение записей DNS или сертификатов TLS

245* Слияние pull request, который не одобрил ни один человек, одобрение собственного pull request Claude или отключение проверок CI

246* Публикация комментария, который сам по себе является командой для автоматизации, такой как `atlantis apply` или `/deploy` или `/merge` бота

247* Переключение, постепенное развёртывание или удаление флага функции в производстве

248* Применение изменений инфраструктуры к защищённой области IaC или осушение и удаление узлов кластера

249* Записи в общий вычислительный кластер, которые выходят за пределы названного вами ресурса, такие как селектор меток или `--all`, который захватывает задания других пользователей

250* Создание ресурсов Kubernetes, которые работают на каждом узле или перехватывают трафик кластера, такие как DaemonSets и admission webhooks

251* Интерактивные оболочки или port-forwards в чувствительную удалённую цель

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

253* Вывод живого учётного данного или токена в стенограмму или файл

254* Доступ к местоположению PII или регулируемых данных или копирование данных из одного

255* Маршрутизация установки пакета вокруг вашего внутреннего реестра пакетов в общедоступный реестр

256* Запуск команды с флагом, который отключает защиту безопасности, например `--insecure`

257* [Claude in Chrome](/ru/chrome) действия браузера, которые могут отправлять содержимое страницы, файлы cookie или учётные данные за пределы источника

258 

242**Разрешается по умолчанию**:259**Разрешается по умолчанию**:

243 260 

244* Локальные операции с файлами в вашем рабочем каталоге261* Локальные операции с файлами в вашем рабочем каталоге


247* Запросы HTTP только для чтения264* Запросы HTTP только для чтения

248* Отправка на ветвь, с которой вы начали, или на ветвь, созданную Claude265* Отправка на ветвь, с которой вы начали, или на ветвь, созданную Claude

249 266 

267Claude Code v2.1.195 и позже также разрешают эти действия по умолчанию:

268 

269* Удаление точных задач, которые Claude создал ранее в том же сеансе

270* Чтение, проверка или написание кода, конфигов и моделей угроз, связанных с безопасностью, как часть вашей задачи

271* Сообщения между агентами, работающими вместе в одном многоагентном сеансе

272* Отправка данных на доверенные домены, корзины и сервисы, которые вы указываете в [`environment`](/ru/auto-mode-config#define-trusted-infrastructure). Это охватывает только поток данных, а не деструктивные или операции с учётными данными на той же инфраструктуре

273* [Claude in Chrome](/ru/chrome) навигация на доверенный внутренний домен, localhost или URL, который вы назвали

274 

250Запросы доступа к сети в песочнице маршрутизируются через классификатор, а не разрешаются по умолчанию. Запустите `claude auto-mode defaults`, чтобы увидеть полные списки правил. Если обычные действия блокируются, администратор может добавить доверенные репозитории, корзины и сервисы через параметр `autoMode.environment`: см. [Настройка режима auto](/ru/auto-mode-config).275Запросы доступа к сети в песочнице маршрутизируются через классификатор, а не разрешаются по умолчанию. Запустите `claude auto-mode defaults`, чтобы увидеть полные списки правил. Если обычные действия блокируются, администратор может добавить доверенные репозитории, корзины и сервисы через параметр `autoMode.environment`: см. [Настройка режима auto](/ru/auto-mode-config).

251 276 

252<h3 id="boundaries-you-state-in-conversation">277<h3 id="boundaries-you-state-in-conversation">

permissions.md +34 −23

Details

24 Управление разрешениями24 Управление разрешениями

25</h2>25</h2>

26 26 

27Вы можете просматривать и управлять разрешениями инструментов Claude Code с помощью `/permissions`. Этот интерфейс отображает все правила разрешений и файлы settings.json, из которых они берутся.27Вы можете просматривать и управлять разрешениями инструментов Claude Code с помощью `/permissions`. Этот интерфейс отображает все правила разрешений и файлы `settings.json`, из которых они берутся.

28 28 

29* Правила **Allow** позволяют Claude Code использовать указанный инструмент без ручного одобрения.29* Правила **Allow** позволяют Claude Code использовать указанный инструмент без ручного одобрения.

30* Правила **Ask** запрашивают подтверждение каждый раз, когда Claude Code пытается использовать указанный инструмент.30* Правила **Ask** запрашивают подтверждение каждый раз, когда Claude Code пытается использовать указанный инструмент.

31* Правила **Deny** предотвращают использование Claude Code указанного инструмента.31* Правила **Deny** предотвращают использование Claude Code указанного инструмента.

32 32 

33Правила оцениваются по порядку: deny, затем ask, затем allow. Первое совпадающее правило в этом порядке определяет результат, и специфичность правила не изменяет порядок. Широкое правило deny, такое как `Bash(aws *)`, блокирует каждый совпадающий вызов, включая вызовы, которые также совпадают с более узким правилом allow, таким как `Bash(aws s3 ls)`, поэтому правило deny не может содержать исключения в списке разрешений. Тот же приоритет применяется между ask и allow: совпадающее правило ask выдает запрос даже когда более специфичное правило allow также совпадает с тем же вызовом.33Правила оцениваются по порядку: deny, затем ask, затем allow. Первое совпадающее правило в этом порядке определяет результат, и специфичность правила не изменяет порядок.

34 

35Широкое правило deny, такое как `Bash(aws *)`, блокирует каждый совпадающий вызов, включая вызовы, которые также совпадают с более узким правилом allow, таким как `Bash(aws s3 ls)`, поэтому правило deny не может содержать исключения в списке разрешений. Тот же приоритет применяется между ask и allow: совпадающее правило ask выдает запрос даже когда более специфичное правило allow также совпадает с тем же вызовом.

34 36 

35Правила Deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют область действия шаблона внутри него. Простое имя инструмента, такое как `Bash`, удаляет инструмент из контекста Claude полностью, поэтому Claude его никогда не видит. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и блокирует совпадающие вызовы, когда Claude пытается их выполнить.37Правила Deny ведут себя по-разному в зависимости от того, называют ли они инструмент или определяют область действия шаблона внутри него. Простое имя инструмента, такое как `Bash`, удаляет инструмент из контекста Claude полностью, поэтому Claude его никогда не видит. Правило с областью действия, такое как `Bash(rm *)`, оставляет инструмент доступным и блокирует совпадающие вызовы, когда Claude пытается их выполнить.

36 38 


42 Режимы разрешений44 Режимы разрешений

43</h2>45</h2>

44 46 

45Claude Code поддерживает несколько режимов разрешений, которые контролируют, как инструменты одобряются. См. [Permission modes](/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/ru/settings#settings-files):47Claude Code поддерживает несколько режимов разрешений, которые контролируют, как он одобряет вызовы инструментов. См. [Permission modes](/ru/permission-modes) для определения того, когда использовать каждый из них. Установите `defaultMode` в ваших [файлах параметров](/ru/settings#settings-files):

46 48 

47| Режим | Описание |49| Режим | Описание |

48| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |50| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

49| `default` | Стандартное поведение: запрашивает разрешение при первом использовании каждого инструмента |51| `default` | Стандартное поведение: запрашивает разрешение при первом использовании каждого инструмента |

50| `acceptEdits` | Автоматически принимает редактирование файлов и общие команды файловой системы (`mkdir`, `touch`, `mv`, `cp` и т.д.) для путей в рабочем каталоге или `additionalDirectories` |52| `acceptEdits` | Автоматически принимает редактирование файлов и общие команды файловой системы, такие как `mkdir`, `touch`, `mv` и `cp` для путей в рабочем каталоге или `additionalDirectories` |

51| `plan` | Plan Mode: Claude читает файлы и запускает команды оболочки только для чтения для исследования, но не редактирует ваши исходные файлы |53| `plan` | Plan Mode: Claude читает файлы и запускает команды оболочки только для чтения для исследования, но не редактирует ваши исходные файлы |

52| `auto` | Автоматически одобряет вызовы инструментов с проверками безопасности в фоне, которые проверяют, соответствуют ли действия вашему запросу. В настоящее время исследовательский предпросмотр |54| `auto` | Автоматически одобряет вызовы инструментов с проверками безопасности в фоне, которые проверяют, соответствуют ли действия вашему запросу. В настоящее время исследовательский предпросмотр |

53| `dontAsk` | Автоматически отклоняет инструменты, если они не предварительно одобрены через `/permissions` или правила `permissions.allow` |55| `dontAsk` | Автоматически отклоняет инструменты, если они не предварительно одобрены через `/permissions` или правила `permissions.allow` |

54| `bypassPermissions` | Пропускает запросы разрешений, за исключением тех, которые вынуждены явными правилами `ask`. Удаления корневого каталога и домашнего каталога, такие как `rm -rf /` и `rm -rf ~`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели |56| `bypassPermissions` | Пропускает запросы разрешений, за исключением тех, которые вынуждены явными правилами `ask`. Удаления корневого каталога и домашнего каталога, такие как `rm -rf /`, также по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели |

55 57 

56<Warning>58<Warning>

57 Режим `bypassPermissions` пропускает запросы разрешений, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Явные правила `ask` по-прежнему вынуждают запрос, и удаления, затрагивающие корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели. Используйте этот режим только в изолированных средах, таких как контейнеры или виртуальные машины, где Claude Code не может причинить вред. Администраторы могут предотвратить этот режим, установив `permissions.disableBypassPermissionsMode` на `"disable"` в [управляемых параметрах](#managed-settings).59 Режим `bypassPermissions` пропускает запросы разрешений, включая записи в `.git`, `.config/git`, `.claude`, `.vscode`, `.idea`, `.husky`, `.cargo`, `.devcontainer`, `.yarn` и `.mvn`. Явные правила `ask` по-прежнему вынуждают запрос, и удаления, затрагивающие корневой каталог файловой системы или домашний каталог, такие как `rm -rf /` и `rm -rf ~`, по-прежнему запрашивают подтверждение в качестве защиты от ошибок модели. Используйте этот режим только в изолированных средах, таких как контейнеры или виртуальные машины, где Claude Code не может причинить вред.

58</Warning>60</Warning>

59 61 

60Чтобы предотвратить использование режима `bypassPermissions` или `auto`, установите `permissions.disableBypassPermissionsMode` или `permissions.disableAutoMode` на `"disable"` в любом [файле параметров](/ru/settings#settings-files). Это наиболее полезно в [управляемых параметрах](#managed-settings), где они не могут быть переопределены.62Чтобы предотвратить использование режима `bypassPermissions` или `auto`, установите `permissions.disableBypassPermissionsMode` или `permissions.disableAutoMode` на `"disable"` в любом [файле параметров](/ru/settings#settings-files). Это наиболее полезно в [управляемых параметрах](#managed-settings), где они не могут быть переопределены.


95 Совпадение по входному параметру97 Совпадение по входному параметру

96</h3>98</h3>

97 99 

98Правила отказа и запроса могут совпадать с параметром верхнего уровня на любом инструменте с помощью `Tool(param:value)`. Правило совпадает, когда Claude вызывает инструмент с этим параметром, установленным на это точное значение. Этот синтаксис предназначен для правил отказа и запроса; правило разрешения для одного значения параметра не установило бы, что вызов безопасен в целом, поэтому правила разрешения продолжают использовать собственный синтаксис спецификатора каждого инструмента. Это работает для любого скалярного параметра, который принимает инструмент:100Правила отказа и запроса могут совпадать с параметром верхнего уровня на любом инструменте с помощью `Tool(param:value)`. Правило совпадает, когда Claude вызывает инструмент с этим параметром, установленным на это точное значение. Правило разрешения для одного значения параметра не установило бы, что вызов безопасен в целом, поэтому правила разрешения продолжают использовать собственный синтаксис спецификатора каждого инструмента. Это работает для любого скалярного параметра, который принимает инструмент:

99 101 

100| Правило | Совпадает |102| Правило | Совпадает |

101| :----------------------------- | :---------------------------------------------------- |103| :----------------------------- | :---------------------------------------------------- |


220 222 

221 * Опции перед URL: `curl -X GET http://github.com/...`223 * Опции перед URL: `curl -X GET http://github.com/...`

222 * Другой протокол: `curl https://github.com/...`224 * Другой протокол: `curl https://github.com/...`

223 * Перенаправления: `curl -L http://bit.ly/xyz` (перенаправляет на github)225 * Перенаправления: `curl -L http://bit.ly/xyz`, которое перенаправляет на GitHub

224 * Переменные: `URL=http://github.com && curl $URL`226 * Переменные: `URL=http://github.com && curl $URL`

225 * Дополнительные пробелы: `curl http://github.com`227 * Дополнительные пробелы: `curl http://github.com`

226 228 


270Правила Read и Edit следуют спецификации [gitignore](https://git-scm.com/docs/gitignore) с четырьмя различными типами шаблонов:272Правила Read и Edit следуют спецификации [gitignore](https://git-scm.com/docs/gitignore) с четырьмя различными типами шаблонов:

271 273 

272| Шаблон | Значение | Пример | Совпадает |274| Шаблон | Значение | Пример | Совпадает |

273| ------------------- | --------------------------------------------- | -------------------------------- | ------------------------------ |275| ------------------- | ----------------------------------------- | -------------------------------- | ------------------------------ |

274| `//path` | **Абсолютный** путь от корня файловой системы | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |276| `//path` | Абсолютный путь от корня файловой системы | `Read(//Users/alice/secrets/**)` | `/Users/alice/secrets/**` |

275| `~/path` | Путь от **домашнего** каталога | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |277| `~/path` | Путь от домашнего каталога | `Read(~/Documents/*.pdf)` | `/Users/alice/Documents/*.pdf` |

276| `/path` | Путь **относительно корня проекта** | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |278| `/path` | Путь относительно корня проекта | `Edit(/src/**/*.ts)` | `<project root>/src/**/*.ts` |

277| `path` или `./path` | Путь **относительно текущего каталога** | `Read(*.env)` | `<cwd>/*.env` |279| `path` или `./path` | Путь относительно текущего каталога | `Read(*.env)` | `<cwd>/*.env` |

278 280 

279<Warning>281<Warning>

280 Шаблон, такой как `/Users/alice/file`, НЕ является абсолютным путем. Это относительно корня проекта. Используйте `//Users/alice/file` для абсолютных путей.282 Шаблон, такой как `/Users/alice/file`, НЕ является абсолютным путем. Это относительно корня проекта. Используйте `//Users/alice/file` для абсолютных путей.


284 286 

285Примеры:287Примеры:

286 288 

287* `Edit(/docs/**)`: редактирование в `<project>/docs/` (НЕ `/docs/` и НЕ `<project>/.claude/docs/`)289* `Edit(/docs/**)`: редактирование в `<project>/docs/`, не в `/docs/` или `<project>/.claude/docs/`

288* `Read(~/.zshrc)`: чтение `.zshrc` вашего домашнего каталога290* `Read(~/.zshrc)`: чтение `.zshrc` вашего домашнего каталога

289* `Edit(//tmp/scratch.txt)`: редактирование абсолютного пути `/tmp/scratch.txt`291* `Edit(//tmp/scratch.txt)`: редактирование абсолютного пути `/tmp/scratch.txt`

290* `Read(src/**)`: чтение из `<current-directory>/src/`292* `Read(src/**)`: чтение из `<current-directory>/src/`


323 MCP325 MCP

324</h3>326</h3>

325 327 

326* `mcp__puppeteer` совпадает с любым инструментом, предоставленным сервером `puppeteer` (имя настроено в Claude Code)328Правила MCP используют имя сервера, настроенное в Claude Code, опционально за которым следует имя инструмента с этого сервера.

327* `mcp__puppeteer__*` синтаксис подстановочных символов, который также совпадает со всеми инструментами с сервера `puppeteer`329 

330* `mcp__puppeteer` совпадает с любым инструментом, предоставленным сервером `puppeteer`

331* `mcp__puppeteer__*` использует синтаксис подстановочных символов и также совпадает со всеми инструментами с сервера `puppeteer`

328* `mcp__puppeteer__puppeteer_navigate` совпадает с инструментом `puppeteer_navigate`, предоставленным сервером `puppeteer`332* `mcp__puppeteer__puppeteer_navigate` совпадает с инструментом `puppeteer_navigate`, предоставленным сервером `puppeteer`

329 333 

330<h3 id="agent-subagents">334<h3 id="agent-subagents">


418 422 

419Разрешения и [sandboxing](/ru/sandboxing) являются дополняющими уровнями безопасности:423Разрешения и [sandboxing](/ru/sandboxing) являются дополняющими уровнями безопасности:

420 424 

421* **Разрешения** контролируют, какие инструменты может использовать Claude Code и какие файлы или домены он может использовать. Они применяются ко всем инструментам (Bash, Read, Edit, WebFetch, MCP и другим).425* **Разрешения** контролируют, какие инструменты может использовать Claude Code и какие файлы или домены он может использовать. Они применяются ко всем инструментам, включая Bash, Read, Edit, WebFetch и MCP.

422* **Sandboxing** обеспечивает принудительное применение на уровне ОС, которое ограничивает доступ инструмента Bash к файловой системе и сети. Это применяется только к Bash командам и их дочерним процессам.426* **Sandboxing** обеспечивает принудительное применение на уровне ОС, которое ограничивает доступ инструмента Bash к файловой системе и сети. Это применяется только к Bash командам и их дочерним процессам.

423 427 

424Используйте оба для защиты в глубину:428Используйте оба для защиты в глубину:


428* Ограничения файловой системы в sandbox объединяют параметры [`sandbox.filesystem`](/ru/sandboxing) с правилами deny для Read и Edit; оба объединяются в финальную границу sandbox432* Ограничения файловой системы в sandbox объединяют параметры [`sandbox.filesystem`](/ru/sandboxing) с правилами deny для Read и Edit; оба объединяются в финальную границу sandbox

429* Ограничения сети объединяют правила разрешений WebFetch со списками `allowedDomains` и `deniedDomains` sandbox433* Ограничения сети объединяют правила разрешений WebFetch со списками `allowedDomains` и `deniedDomains` sandbox

430 434 

431Когда sandboxing включен с `autoAllowBashIfSandboxed: true`, что является значением по умолчанию, sandboxed Bash команды запускаются без запроса даже если ваши разрешения включают простое правило ask `Bash`, или эквивалентную форму `Bash(*)`(#match-all-uses-of-a-tool): граница sandbox заменяет этот запрос для всего инструмента. Правила ask с областью действия контента, такие как `Bash(git push *)`, по-прежнему вызывают запрос, явные правила deny по-прежнему применяются, и команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос. Команды, которые не будут запущены в sandboxed режиме, такие как исключенные команды, соблюдают простое правило ask `Bash` как обычно. См. [sandbox modes](/ru/sandboxing#sandbox-modes) для изменения этого поведения.435Когда sandboxing включен с `autoAllowBashIfSandboxed: true`, что является значением по умолчанию, sandboxed Bash команды запускаются без запроса даже если ваши разрешения включают простое правило ask `Bash`, или эквивалентную форму `Bash(*)` (#match-all-uses-of-a-tool): граница sandbox заменяет этот запрос для всего инструмента. Эти проверки по-прежнему применяются:

436 

437* Правила ask с областью действия контента, такие как `Bash(git push *)`, по-прежнему вызывают запрос

438* Явные правила deny по-прежнему применяются

439* Команды `rm` или `rmdir`, которые нацелены на `/`, ваш домашний каталог или другие критические пути системы, по-прежнему вызывают запрос

440 

441Команды, которые не будут запущены в sandboxed режиме, такие как исключенные команды, соблюдают простое правило ask `Bash` как обычно. См. [sandbox modes](/ru/sandboxing#sandbox-modes) для изменения этого поведения.

432 442 

433<h2 id="managed-settings">443<h2 id="managed-settings">

434 Управляемые параметры444 Управляемые параметры

435</h2>445</h2>

436 446 

437Для организаций, которым требуется централизованный контроль над конфигурацией Claude Code, администраторы могут развернуть управляемые параметры, которые не могут быть переопределены параметрами пользователя или проекта. Эти параметры политики следуют тому же формату, что и обычные файлы параметров, и могут быть доставлены через политики MDM/уровня ОС, управляемые файлы параметров или [параметры, управляемые сервером](/ru/server-managed-settings). См. [файлы параметров](/ru/settings#settings-files) для механизмов доставки и расположения файлов.447Для организаций, которым требуется централизованный контроль над конфигурацией Claude Code, администраторы могут развернуть управляемые параметры, которые не могут быть переопределены параметрами пользователя или проекта. Эти параметры политики следуют тому же формату, что и обычные файлы параметров, и могут быть доставлены через политики MDM/уровня ОС, управляемые файлы параметров, [параметры, управляемые сервером](/ru/server-managed-settings), или самостоятельно размещаемый [Claude apps gateway](/ru/claude-apps-gateway). См. [файлы параметров](/ru/settings#settings-files) для механизмов доставки и расположения файлов.

438 448 

439<h3 id="managed-only-settings">449<h3 id="managed-only-settings">

440 Параметры только для управления450 Параметры только для управления


451| `allowManagedPermissionRulesOnly` | Когда `true`, предотвращает определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. Не влияет на список разрешений сервера MCP; для этого установите `allowManagedMcpServersOnly` |461| `allowManagedPermissionRulesOnly` | Когда `true`, предотвращает определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. Не влияет на список разрешений сервера MCP; для этого установите `allowManagedMcpServersOnly` |

452| `blockedMarketplaces` | Список блокировки источников marketplace. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) |462| `blockedMarketplaces` | Список блокировки источников marketplace. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) |

453| `channelsEnabled` | Разрешить [channels](/ru/channels) для организации. См. [элементы управления предприятием](/ru/channels#enterprise-controls) для значения по умолчанию на каждом плане |463| `channelsEnabled` | Разрешить [channels](/ru/channels) для организации. См. [элементы управления предприятием](/ru/channels#enterprise-controls) для значения по умолчанию на каждом плане |

464| `disableSideloadFlags` | {/* min-version: 2.1.193 */}Отклонить флаги CLI `--plugin-dir`, `--plugin-url`, `--agents` и `--mcp-config` при запуске. Без этого пользователи могут обойти `strictKnownMarketplaces` для одного запуска, передав эти флаги. См. [`disableSideloadFlags`](/ru/settings#available-settings). Требуется Claude Code v2.1.193 или позже |

454| `forceRemoteSettingsRefresh` | Когда `true`, блокирует запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены, и выходит, если получение не удается. См. [принудительное закрытие при запуске](/ru/server-managed-settings#enforce-fail-closed-startup) |465| `forceRemoteSettingsRefresh` | Когда `true`, блокирует запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены, и выходит, если получение не удается. См. [принудительное закрытие при запуске](/ru/server-managed-settings#enforce-fail-closed-startup) |

455| `pluginTrustMessage` | Пользовательское сообщение, добавленное к предупреждению о доверии плагина, показываемому перед установкой |466| `pluginTrustMessage` | Пользовательское сообщение, добавленное к предупреждению о доверии плагина, показываемому перед установкой |

456| `sandbox.filesystem.allowManagedReadPathsOnly` | Когда `true`, только пути `filesystem.allowRead` из управляемых параметров учитываются. `denyRead` все еще объединяется из всех источников |467| `sandbox.filesystem.allowManagedReadPathsOnly` | Когда `true`, только пути `filesystem.allowRead` из управляемых параметров учитываются. `denyRead` все еще объединяется из всех источников |


462`disableBypassPermissionsMode` обычно размещается в управляемых параметрах для обеспечения организационной политики, но работает из любой области. Пользователь может установить его в своих собственных параметрах, чтобы заблокировать себя из режима bypass.473`disableBypassPermissionsMode` обычно размещается в управляемых параметрах для обеспечения организационной политики, но работает из любой области. Пользователь может установить его в своих собственных параметрах, чтобы заблокировать себя из режима bypass.

463 474 

464<Note>475<Note>

465 На планах Team и Enterprise администратор включает или отключает [Remote Control](/ru/remote-control) и [веб-сеансы](/ru/claude-code-on-the-web) организации в целом в [Claude Code admin settings](https://claude.ai/admin-settings/claude-code). Remote Control может дополнительно быть отключен для каждого устройства с помощью управляемого параметра [`disableRemoteControl`](/ru/settings#available-settings). Веб-сеансы не имеют ключа управляемых параметров для каждого устройства.476 На планах Team и Enterprise владелец включает или отключает [Remote Control](/ru/remote-control) и [веб-сеансы](/ru/claude-code-on-the-web) организации в целом в [Claude Code admin settings](https://claude.ai/admin-settings/claude-code). Remote Control может дополнительно быть отключен для каждого устройства с помощью параметра [`disableRemoteControl`](/ru/settings#available-settings). Веб-сеансы не имеют ключа управляемых параметров для каждого устройства.

466</Note>477</Note>

467 478 

468<h2 id="settings-precedence">479<h2 id="settings-precedence">


479 490 

480Если инструмент запрещен на любом уровне, никакой другой уровень не может его разрешить. Например, управляемый параметр deny не может быть переопределен `--allowedTools`, и `--disallowedTools` может добавить ограничения сверх того, что определяют управляемые параметры.491Если инструмент запрещен на любом уровне, никакой другой уровень не может его разрешить. Например, управляемый параметр deny не может быть переопределен `--allowedTools`, и `--disallowedTools` может добавить ограничения сверх того, что определяют управляемые параметры.

481 492 

482Хосты встраивания могут предоставлять дополнительную управляемую политику через опцию SDK `managedSettings` когда [`parentSettingsBehavior`](/ru/settings#settings-precedence) установлен на `"merge"`; значения встраивающей стороны могут ужесточить политику, но не ослабить её.493То же самое применяется и к областям параметров: если параметры пользователя разрешают разрешение, а параметры проекта его запрещают, правило запрета блокирует его. Обратное также верно: запрет на уровне пользователя блокирует разрешение на уровне проекта, потому что правила запрета из любой области оцениваются перед правилами разрешения.

483 494 

484Например, если параметры пользователя разрешают разрешение, а параметры проекта его запрещают, правило запрета блокирует его. Обратное также верно: запрет на уровне пользователя блокирует разрешение на уровне проекта, потому что правила запрета из любой области оцениваются перед правилами разрешения.495Хосты встраивания могут предоставлять дополнительную управляемую политику через опцию SDK `managedSettings` когда [`parentSettingsBehavior`](/ru/settings#settings-precedence) установлен на `"merge"`; значения встраивающей стороны могут ужесточить политику, но не ослабить её.

485 496 

486<h2 id="example-configurations">497<h2 id="example-configurations">

487 Примеры конфигураций498 Примеры конфигураций

Details

102 102 

103Когда вы устанавливаете плагин, который объявляет `{ "name": "secrets-vault", "version": "~2.1.0" }`, Claude Code выводит список тегов marketplace, фильтрует те, которые начинаются с `secrets-vault--v`, и получает самую высокую версию, удовлетворяющую `~2.1.0`. Если соответствующий тег не существует, зависимый плагин отключается с ошибкой, в которой перечислены доступные версии.103Когда вы устанавливаете плагин, который объявляет `{ "name": "secrets-vault", "version": "~2.1.0" }`, Claude Code выводит список тегов marketplace, фильтрует те, которые начинаются с `secrets-vault--v`, и получает самую высокую версию, удовлетворяющую `~2.1.0`. Если соответствующий тег не существует, зависимый плагин отключается с ошибкой, в которой перечислены доступные версии.

104 104 

105Marketplace, добавленный как путь локальной папки, разрешает теги таким же образом, когда папка является git-репозиторием. Это требует Claude Code v2.1.196 или более поздней версии. В двух случаях Claude Code устанавливает зависимость из текущего содержимого папки:

106 

107* Более ранние версии не читают теги из marketplace локальной папки, поэтому зависимость с ограничением загружается только если эта копия удовлетворяет диапазону.

108* Локальная папка, которая не является git-репозиторием, не имеет тегов, независимо от версии.

109 

105Разрешенный тег semver записывается отдельно от `version` в `plugin.json`, поэтому проверки ограничений используют тег, который был фактически получен, даже если `plugin.json` в этом коммите имеет устаревшее значение. Имя директории кэша для установки с разрешением тега включает суффикс commit-SHA из 12 символов, поэтому если разработчик принудительно переместит тег на другой коммит, следующая установка получит свежую директорию кэша вместо повторного использования устаревшего содержимого.110Разрешенный тег semver записывается отдельно от `version` в `plugin.json`, поэтому проверки ограничений используют тег, который был фактически получен, даже если `plugin.json` в этом коммите имеет устаревшее значение. Имя директории кэша для установки с разрешением тега включает суффикс commit-SHA из 12 символов, поэтому если разработчик принудительно переместит тег на другой коммит, следующая установка получит свежую директорию кэша вместо повторного использования устаревшего содержимого.

106 111 

107<Note>112<Note>

Details

6 6 

7> Создавайте и размещайте marketplace плагинов для распространения расширений Claude Code по командам и сообществам.7> Создавайте и размещайте marketplace плагинов для распространения расширений Claude Code по командам и сообществам.

8 8 

9**plugin marketplace** — это каталог, который позволяет вам распространять плагины другим пользователям. Marketplace обеспечивают централизованное обнаружение, отслеживание версий, автоматические обновления и поддержку нескольких типов источников (репозитории Git, локальные пути и многое другое). Это руководство показывает, как создать собственный marketplace для совместного использования плагинов с вашей командой или сообществом.9**plugin marketplace** — это каталог, который позволяет вам распространять плагины другим пользователям. Marketplace обеспечивают централизованное обнаружение, отслеживание версий, автоматические обновления и поддержку нескольких типов источников, включая репозитории Git и локальные пути. Это руководство показывает, как создать собственный marketplace для совместного использования плагинов с вашей командой или сообществом.

10 10 

11Ищете способ установить плагины из существующего marketplace? См. [Обнаружение и установка готовых плагинов](/ru/discover-plugins).11Ищете способ установить плагины из существующего marketplace? См. [Обнаружение и установка готовых плагинов](/ru/discover-plugins).

12 12 


17Создание и распространение marketplace включает:17Создание и распространение marketplace включает:

18 18 

191. **Создание плагинов**: создайте один или несколько плагинов с skills, агентами, hooks, MCP servers или LSP servers. Это руководство предполагает, что у вас уже есть плагины для распространения; см. [Создание плагинов](/ru/plugins) для получения подробной информации о том, как их создавать.191. **Создание плагинов**: создайте один или несколько плагинов с skills, агентами, hooks, MCP servers или LSP servers. Это руководство предполагает, что у вас уже есть плагины для распространения; см. [Создание плагинов](/ru/plugins) для получения подробной информации о том, как их создавать.

202. **Создание файла marketplace**: определите `marketplace.json`, который перечисляет ваши плагины и где их найти (см. [Создание файла marketplace](#create-the-marketplace-file)).202. **Создание файла marketplace**: определите `marketplace.json`, который перечисляет ваши плагины и где их найти. См. [Создание файла marketplace](#create-the-marketplace-file).

213. **Размещение marketplace**: отправьте на GitHub, GitLab или другой хост Git (см. [Размещение и распространение marketplace](#host-and-distribute-marketplaces)).213. **Размещение marketplace**: отправьте на GitHub, GitLab или другой хост Git. См. [Размещение и распространение marketplace](#host-and-distribute-marketplaces).

224. **Совместное использование с пользователями**: пользователи добавляют ваш marketplace с помощью `/plugin marketplace add` и устанавливают отдельные плагины (см. [Обнаружение и установка плагинов](/ru/discover-plugins)).224. **Совместное использование с пользователями**: пользователи добавляют ваш marketplace с помощью `/plugin marketplace add` и устанавливают отдельные плагины. См. [Обнаружение и установка плагинов](/ru/discover-plugins).

23 23 

24После того как ваш marketplace будет запущен, вы можете обновить его, отправив изменения в ваш репозиторий. Пользователи обновляют свою локальную копию с помощью `/plugin marketplace update`.24После того как ваш marketplace будет запущен, вы можете обновить его, отправив изменения в ваш репозиторий. Пользователи обновляют свою локальную копию с помощью `/plugin marketplace update`.

25 25 


43 43 

44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}44 ```markdown my-marketplace/plugins/quality-review-plugin/skills/quality-review/SKILL.md theme={null}

45 ---45 ---

46 description: Проверка кода на ошибки, безопасность и производительность46 description: Review code for bugs, security, and performance

47 disable-model-invocation: true

48 ---47 ---

49 48 

50 Проверьте выбранный мной код или недавние изменения на предмет:49 Проверьте выбранный мной код или недавние изменения на предмет:


63 ```json my-marketplace/plugins/quality-review-plugin/.claude-plugin/plugin.json theme={null}62 ```json my-marketplace/plugins/quality-review-plugin/.claude-plugin/plugin.json theme={null}

64 {63 {

65 "name": "quality-review-plugin",64 "name": "quality-review-plugin",

66 "description": "Добавляет skill quality-review для быстрой проверки кода",65 "description": "Adds a quality-review skill for quick code reviews",

67 "version": "1.0.0"66 "version": "1.0.0"

68 }67 }

69 ```68 ```


80 {79 {

81 "name": "my-plugins",80 "name": "my-plugins",

82 "owner": {81 "owner": {

83 "name": "Ваше имя"82 "name": "Your Name"

84 },83 },

85 "plugins": [84 "plugins": [

86 {85 {

87 "name": "quality-review-plugin",86 "name": "quality-review-plugin",

88 "source": "./plugins/quality-review-plugin",87 "source": "./plugins/quality-review-plugin",

89 "description": "Добавляет skill quality-review для быстрой проверки кода"88 "description": "Adds a quality-review skill for quick code reviews"

90 }89 }

91 ]90 ]

92 }91 }


125 124 

126Создайте `.claude-plugin/marketplace.json` в корне вашего репозитория. Этот файл определяет имя вашего marketplace, информацию о владельце и список плагинов с их источниками.125Создайте `.claude-plugin/marketplace.json` в корне вашего репозитория. Этот файл определяет имя вашего marketplace, информацию о владельце и список плагинов с их источниками.

127 126 

128Каждая запись плагина требует как минимум `name` и `source` (откуда его получить). См. [полную схему](#marketplace-schema) ниже для всех доступных полей.127Каждая запись плагина требует как минимум `name` и `source`, который указывает Claude Code, откуда его получить. См. [полную схему](#marketplace-schema) ниже для всех доступных полей.

129 128 

130```json theme={null}129```json theme={null}

131{130{


188</h3>187</h3>

189 188 

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

191| :------------------------------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |190| :------------------------------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

192| `$schema` | string | URL JSON Schema для автодополнения редактора и валидации. Claude Code игнорирует это поле при загрузке. |191| `$schema` | string | URL JSON Schema для автодополнения редактора и валидации. Claude Code игнорирует это поле при загрузке. |

193| `description` | string | Краткое описание marketplace |192| `description` | string | Краткое описание marketplace |

194| `version` | string | Версия манифеста marketplace |193| `version` | string | Версия манифеста marketplace |

195| `metadata.pluginRoot` | string | Базовый каталог, добавляемый к относительным путям источников плагинов (например, `"./plugins"` позволяет вам писать `"source": "formatter"` вместо `"source": "./plugins/formatter"`) |194| `metadata.pluginRoot` | string | Базовый каталог, добавляемый к относительным путям источников плагинов (например, `"./plugins"` позволяет вам писать `"source": "formatter"` вместо `"source": "./plugins/formatter"`) |

196| `allowCrossMarketplaceDependenciesOn` | array | Другие marketplace, на которые плагины в этом marketplace могут зависеть. Зависимости от marketplace, не указанного здесь, блокируются при установке. См. [Зависимость от плагина из другого marketplace](/ru/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |195| `allowCrossMarketplaceDependenciesOn` | array | Другие marketplace, на которые плагины в этом marketplace могут зависеть. Зависимости от marketplace, не указанного здесь, блокируются при установке. См. [Зависимость от плагина из другого marketplace](/ru/plugin-dependencies#depend-on-a-plugin-from-another-marketplace). |

196| `renames` | object | {/* min-version: 2.1.193 */}Карта от прежнего имени плагина `name` к его текущему имени или к `null`, если плагин был удален. Позволяет существующим пользователям автоматически мигрировать при переименовании или удалении записи в `plugins`. См. [Переименование или удаление плагина](#rename-or-remove-a-plugin). Требуется Claude Code v2.1.193 или позже. |

197 197 

198`description` и `version` также принимаются в `metadata` для обратной совместимости.198`description` и `version` также принимаются в `metadata` для обратной совместимости.

199 199 


201 Записи плагинов201 Записи плагинов

202</h2>202</h2>

203 203 

204Каждая запись плагина в массиве `plugins` описывает плагин и где его найти. Вы можете включить любое поле из [схемы манифеста плагина](/ru/plugins-reference#plugin-manifest-schema) (например, `description`, `version`, `author`, `commands`, `hooks` и т. д.), плюс эти поля, специфичные для marketplace: `source`, `category`, `tags`, `strict` и `relevance`.204Каждая запись плагина в массиве `plugins` описывает плагин и где его найти. Вы можете включить любое поле из [схемы манифеста плагина](/ru/plugins-reference#plugin-manifest-schema), такие как `description`, `version`, `author`, `commands` и `hooks`, плюс эти поля, специфичные для marketplace: `source`, `category`, `tags`, `strict` и `relevance`.

205 205 

206<h3 id="required-fields-1">206<h3 id="required-fields-1">

207 Обязательные поля207 Обязательные поля


270 Например, marketplace, размещенный в `acme-corp/plugin-catalog` (источник marketplace), может перечислять плагин, полученный из `acme-corp/code-formatter` (источник плагина). Источник marketplace и источник плагина указывают на разные репозитории и закреплены независимо.270 Например, marketplace, размещенный в `acme-corp/plugin-catalog` (источник marketplace), может перечислять плагин, полученный из `acme-corp/code-formatter` (источник плагина). Источник marketplace и источник плагина указывают на разные репозитории и закреплены независимо.

271</Note>271</Note>

272 272 

273Типы источников на основе Git ниже — это `github`, `url` и `git-subdir`. Когда оба `ref` и `sha` установлены на любом из них, `sha` является эффективным закреплением. Claude Code получает и проверяет закрепленный коммит напрямую. На большинстве хостов Git, включая GitHub, GitLab и Bitbucket, это означает, что установка успешна даже если ветка или тег, названные `ref`, были удалены выше по течению, при условии, что коммит все еще доступен из репозитория. Некоторые серверы, такие как AWS CodeCommit, не поддерживают получение коммитов по SHA. На этих серверах `ref` все еще должен существовать и закрепленный коммит должен быть доступен из него.273Типы источников на основе Git ниже — это `github`, `url` и `git-subdir`. Когда оба `ref` и `sha` установлены на любом из них, `sha` является эффективным закреплением. Claude Code получает и проверяет закрепленный коммит напрямую.

274 

275На большинстве хостов Git, включая GitHub, GitLab и Bitbucket, это означает, что установка успешна даже если ветка или тег, названные `ref`, были удалены выше по течению, при условии, что коммит все еще доступен из репозитория. Некоторые серверы, такие как AWS CodeCommit, не поддерживают получение коммитов по SHA. На этих серверах `ref` все еще должен существовать и закрепленный коммит должен быть доступен из него.

274 276 

275<h3 id="relative-paths">277<h3 id="relative-paths">

276 Относительные пути278 Относительные пути


288Пути разрешаются относительно корня marketplace, который является каталогом, содержащим `.claude-plugin/`. В приведенном выше примере `./plugins/my-plugin` указывает на `<repo>/plugins/my-plugin`, даже если `marketplace.json` находится в `<repo>/.claude-plugin/marketplace.json`. Не используйте `../` для ссылки на пути вне корня marketplace.290Пути разрешаются относительно корня marketplace, который является каталогом, содержащим `.claude-plugin/`. В приведенном выше примере `./plugins/my-plugin` указывает на `<repo>/plugins/my-plugin`, даже если `marketplace.json` находится в `<repo>/.claude-plugin/marketplace.json`. Не используйте `../` для ссылки на пути вне корня marketplace.

289 291 

290<Note>292<Note>

291 Относительные пути работают только, когда пользователи добавляют ваш marketplace через Git (GitHub, GitLab или URL Git). Если пользователи добавляют ваш marketplace через прямой URL к файлу `marketplace.json`, относительные пути не будут разрешены правильно. Для распространения на основе URL используйте вместо этого источники GitHub, npm или URL Git. См. [Устранение неполадок](#plugins-with-relative-paths-fail-in-url-based-marketplaces) для получения подробной информации.293 Относительные пути разрешаются относительно локальной копии marketplace, поэтому они работают, когда пользователи добавляют ваш marketplace из источника Git или локального каталога. Если пользователи добавляют ваш marketplace через прямой URL к файлу `marketplace.json`, относительные пути не будут разрешены, потому что загружается только этот файл. Для распространения на основе URL используйте вместо этого источники GitHub, npm или URL Git. См. [Устранение неполадок](#plugins-with-relative-paths-fail-in-url-based-marketplaces) для получения подробной информации.

292</Note>294</Note>

293 295 

294<h3 id="github-repositories">296<h3 id="github-repositories">


504 506 

505Ключевые моменты, на которые следует обратить внимание:507Ключевые моменты, на которые следует обратить внимание:

506 508 

507* **`commands` и `agents`**: Вы можете указать несколько каталогов или отдельные файлы. Пути относительны к корню плагина.509* **`commands` и `agents`**: вы можете указать несколько каталогов или отдельные файлы. Пути относительны к корню плагина.

508* **`${CLAUDE_PLUGIN_ROOT}`**: Используйте эту переменную в hooks и конфигурациях MCP server для ссылки на файлы в каталоге установки плагина. Это необходимо, потому что плагины копируются в место кэша при установке. Для зависимостей или состояния, которое должно сохраняться при обновлениях плагина, используйте [`${CLAUDE_PLUGIN_DATA}`](/ru/plugins-reference#persistent-data-directory) вместо этого.510* **`${CLAUDE_PLUGIN_ROOT}`**: Используйте эту переменную в hooks и конфигурациях MCP server для ссылки на файлы в каталоге установки плагина. Это необходимо, потому что плагины копируются в место кэша при установке. Для зависимостей или состояния, которое должно сохраняться при обновлениях плагина, используйте [`${CLAUDE_PLUGIN_DATA}`](/ru/plugins-reference#persistent-data-directory) вместо этого.

509* **`strict: false`**: Поскольку это установлено на false, плагину не нужен собственный `plugin.json`. Запись marketplace определяет все. См. [Strict mode](#strict-mode) ниже.511* **`strict: false`**: поскольку это установлено на false, плагину не нужен собственный `plugin.json`. Запись marketplace определяет все. См. [Strict mode](#strict-mode) ниже.

510 512 

511По умолчанию skills плагина загружаются из каталога `skills/` в его `source`. Пути, указанные в поле `skills`, добавляются к этому сканированию:513По умолчанию skills плагина загружаются из каталога `skills/` в его `source`. Пути, указанные в поле `skills`, добавляются к этому сканированию:

512 514 


547 Размещение на GitHub (рекомендуется)549 Размещение на GitHub (рекомендуется)

548</h3>550</h3>

549 551 

550GitHub обеспечивает самый простой метод распространения:552GitHub обеспечивает рекомендуемый способ размещения и распространения marketplace:

551 553 

5521. **Создание репозитория**: Установите новый репозиторий для вашего marketplace5541. **Создание репозитория**: установите новый репозиторий для вашего marketplace

5532. **Добавление файла marketplace**: Создайте `.claude-plugin/marketplace.json` с определениями ваших плагинов5552. **Добавление файла marketplace**: создайте `.claude-plugin/marketplace.json` с определениями ваших плагинов

5543. **Совместное использование с командами**: Пользователи добавляют ваш marketplace с помощью `/plugin marketplace add owner/repo`5563. **Совместное использование с командами**: пользователи добавляют ваш marketplace с помощью `/plugin marketplace add owner/repo`

555 557 

556**Преимущества**: Встроенное управление версиями, отслеживание проблем и функции совместной работы команды.558**Преимущества**: встроенное управление версиями, отслеживание проблем и функции совместной работы команды.

557 559 

558<h3 id="host-on-other-git-services">560<h3 id="host-on-other-git-services">

559 Размещение на других сервисах Git561 Размещение на других сервисах Git


596Протестируйте ваш marketplace локально перед совместным использованием:598Протестируйте ваш marketplace локально перед совместным использованием:

597 599 

598```shell theme={null}600```shell theme={null}

599/plugin marketplace add ./my-local-marketplace601/plugin marketplace add ./my-marketplace

600/plugin install test-plugin@my-local-marketplace602/plugin install quality-review-plugin@my-plugins

601```603```

602 604 

603Для полного диапазона команд добавления (GitHub, URL Git, локальные пути, удаленные URL), см. [Добавление marketplace](/ru/discover-plugins#add-marketplaces).605Для полного диапазона команд добавления (GitHub, URL Git, локальные пути, удаленные URL), см. [Добавление marketplace](/ru/discover-plugins#add-marketplaces).


644 646 

645Для образов контейнеров и сред CI вы можете предварительно заполнить каталог плагинов во время сборки, чтобы Claude Code запускался с уже доступными marketplace и плагинами, без клонирования во время выполнения. Установите переменную окружения `CLAUDE_CODE_PLUGIN_SEED_DIR` на этот каталог.647Для образов контейнеров и сред CI вы можете предварительно заполнить каталог плагинов во время сборки, чтобы Claude Code запускался с уже доступными marketplace и плагинами, без клонирования во время выполнения. Установите переменную окружения `CLAUDE_CODE_PLUGIN_SEED_DIR` на этот каталог.

646 648 

647Чтобы наслоить несколько каталогов seed, разделите пути с `:` на Unix или `;` на Windows. Claude Code ищет каждый каталог по порядку, и первый seed, содержащий данный marketplace или кэш плагина, побеждает.649Чтобы наслоить несколько каталогов seed, разделите пути с `:` на Unix или `;` на Windows. Claude Code ищет каждый каталог по порядку и использует первый seed, содержащий данный marketplace или кэш плагина.

648 650 

649Каталог seed отражает структуру `~/.claude/plugins`:651Каталог seed отражает структуру `~/.claude/plugins`:

650 652 


680 Ограничения управляемого marketplace682 Ограничения управляемого marketplace

681</h3>683</h3>

682 684 

683Для организаций, требующих строгого контроля над источниками плагинов, администраторы могут ограничить, какие marketplace плагинов пользователи могут добавлять, используя параметр [`strictKnownMarketplaces`](/ru/settings#strictknownmarketplaces) в управляемых параметрах.685Для организаций, требующих строгого контроля над источниками плагинов, администраторы могут ограничить, какие marketplace плагинов пользователи могут добавлять, используя параметр [`strictKnownMarketplaces`](/ru/settings#strictknownmarketplaces) в управляемых параметрах. Чтобы также отклонить флаги CLI, которые загружают плагины, агентов и MCP серверы для одного запуска, объедините его с [`disableSideloadFlags`](/ru/settings#available-settings).

684 686 

685Когда `strictKnownMarketplaces` настроен в управляемых параметрах, поведение ограничения зависит от значения:687Когда `strictKnownMarketplaces` настроен в управляемых параметрах, поведение ограничения зависит от значения:

686 688 


881 883 

882Плагин может ограничить свои зависимости диапазоном semver, чтобы обновления зависимости не нарушили зависимый плагин. См. [Ограничение версий зависимостей плагинов](/ru/plugin-dependencies) для соглашения о тегах Git `{plugin-name}--v{version}`, синтаксиса диапазона и того, как несколько ограничений на одну и ту же зависимость объединяются.884Плагин может ограничить свои зависимости диапазоном semver, чтобы обновления зависимости не нарушили зависимый плагин. См. [Ограничение версий зависимостей плагинов](/ru/plugin-dependencies) для соглашения о тегах Git `{plugin-name}--v{version}`, синтаксиса диапазона и того, как несколько ограничений на одну и ту же зависимость объединяются.

883 885 

886<h3 id="rename-or-remove-a-plugin">

887 Переименование или удаление плагина

888</h3>

889 

890`name` плагина является его стабильным идентификатором. Пользователи ссылаются на него в `enabledPlugins`, `pluginConfigs` и командах `/plugin install`, поэтому изменение его нарушает каждую существующую установку. Чтобы изменить метку, отображаемую в пользовательском интерфейсе, без нарушения установок, установите [`displayName`](#optional-plugin-fields) и оставьте `name` неизменным.

891 

892Если вы должны изменить `name` плагина или удалить плагин из массива `plugins`, добавьте запись `renames` верхнего уровня, чтобы существующие пользователи мигрировали вместо того, чтобы видеть ошибку `plugin-not-found`. Автоматическая миграция требует Claude Code v2.1.193 или позже. Сопоставьте каждое бывшее имя с его текущим именем или с `null`, если плагин больше не существует. Следующий пример переименовывает `formatter` в `code-formatter` и записывает, что `legacy-linter` был удален:

893 

894```json theme={null}

895{

896 "name": "acme-tools",

897 "owner": { "name": "Acme" },

898 "plugins": [

899 { "name": "code-formatter", "source": "./plugins/code-formatter" }

900 ],

901 "renames": {

902 "formatter": "code-formatter",

903 "legacy-linter": null

904 }

905}

906```

907 

908Когда пользователь запускает Claude Code со старым именем все еще в своих параметрах, Claude Code следует карте `renames`:

909 

910* Если запись указывает на новое имя, Claude Code загружает плагин под его новым именем и показывает однострочное уведомление, такое как `Renamed to "code-formatter" in the "acme-tools" marketplace`. Затем он переписывает старый ключ на новый ключ в областях параметров пользователя, проекта и локальных параметров для обоих `enabledPlugins` и `pluginConfigs`, поэтому уведомление появляется один раз.

911* Для записи `null` Claude Code удаляет старый ключ и уведомление сообщает, что плагин был удален из marketplace.

912* Если переименованный плагин использует удаленный источник, такой как `github` или `npm`, Claude Code сообщает `plugin-cache-miss` после переименования и пользователь должен запустить `/plugin install` один раз, чтобы получить его под новым именем.

913 

914Рассматривайте `renames` как историю только для добавления: сохраняйте старые записи на месте даже после того, как вы ожидаете, что каждый пользователь мигрировал. Claude Code следует цепочкам, поэтому если вы позже переименуете `code-formatter` в `formatter-pro`, добавьте вторую запись вместо редактирования первой. Пользователь, который все еще имеет оригинальный `formatter` включенным, затем разрешается через обе записи в `formatter-pro`.

915 

916Запустите `claude plugin validate .` после редактирования карты; он отклоняет любую запись, цепочка которой образует цикл или не заканчивается на `null` или имя, указанное в `plugins`.

917 

918<Note>

919 Управляемые и политические параметры доступны только для чтения для Claude Code, поэтому плагины, включенные там, не могут быть переписаны автоматически. Переименованный плагин все еще загружается каждый сеанс, но уведомление о переименовании повторяется до тех пор, пока администратор не обновит `enabledPlugins` в файле управляемых параметров, чтобы использовать новое имя. То же самое применяется к плагинам, включенным через другие источники только для чтения, такие как `--add-dir`.

920</Note>

921 

922Более ранние версии Claude Code игнорируют поле `renames` и сообщают `plugin-not-found` для старого имени.

923 

884<h2 id="validation-and-testing">924<h2 id="validation-and-testing">

885 Валидация и тестирование925 Валидация и тестирование

886</h2>926</h2>


933 973 

934* `<source>`: Сокращение GitHub `owner/repo`, URL Git, удаленный URL к файлу `marketplace.json` или путь локального каталога. Чтобы закрепить на ветке или теге, добавьте `@ref` к сокращению GitHub или `#ref` к URL Git974* `<source>`: Сокращение GitHub `owner/repo`, URL Git, удаленный URL к файлу `marketplace.json` или путь локального каталога. Чтобы закрепить на ветке или теге, добавьте `@ref` к сокращению GitHub или `#ref` к URL Git

935 975 

976URL должен включать свою схему. Начиная с Claude Code v2.1.196, хост, введенный без схемы, такой как `gitlab.example.com/team/plugins`, отклоняется как недействительное сокращение `owner/repo`, и ошибка указывает вам добавить `https://` или использовать `./` для локального пути. Более ранние версии неправильно интерпретировали его как путь репозитория GitHub и не удаются при клонировании с ошибкой GitHub not-found.

977 

936**Параметры:**978**Параметры:**

937 979 

938| Параметр | Описание | По умолчанию |980| Параметр | Описание | По умолчанию |


1061 Ошибки валидации marketplace1103 Ошибки валидации marketplace

1062</h3>1104</h3>

1063 1105 

1064Запустите `claude plugin validate .` или `/plugin validate .` из каталога вашего marketplace, чтобы проверить наличие проблем. Когда валидатор указывает на каталог marketplace, он проверяет только `marketplace.json`: схему, дублирующиеся имена плагинов, обход пути источника и несоответствия версий для каждого упомянутого `plugin.json`.1106Запустите `claude plugin validate .` или `/plugin validate .` из каталога вашего marketplace, чтобы проверить наличие проблем. Когда валидатор указывает на каталог marketplace, он проверяет `marketplace.json` на ошибки схемы, дублирующиеся имена плагинов и обход пути источника. Для каждой записи, чей `source` является локальным путем, он также валидирует собственный `plugin.json` этого плагина и предупреждает, когда `version` записи не совпадает с версией в `plugin.json`. Проблемы, найденные в `plugin.json` плагина, имеют префикс с индексом записи в форме `plugins[2] plugin.json →`.

1107 

1108Начиная с Claude Code v2.1.196, проверка для каждой записи также:

1109 

1110* включает плагины, чей `source` является `.`

1111* запускается, когда `marketplace.json` находится вне каталога `.claude-plugin`, разрешая источники относительно собственного каталога файла

1112* сообщает о проблемах каждой записи даже когда другая часть файла имеет ошибки схемы

1113 

1114Более ранние версии пропускают плагины в корне marketplace и спускаются только из `.claude-plugin/marketplace.json`.

1065 1115 

1066Чтобы валидировать `plugin.json` отдельного плагина и его файлы skill, agent, command и hook, запустите команду для самого каталога плагина, например `claude plugin validate ./plugins/my-plugin`. Распространенные ошибки:1116Чтобы валидировать `plugin.json` отдельного плагина и его файлы skill, agent, command и hook, запустите команду для самого каталога плагина, например `claude plugin validate ./plugins/my-plugin`. Распространенные ошибки:

1067 1117 


1078 1128 

1079* `Marketplace has no plugins defined`: добавьте хотя бы один плагин в массив `plugins`1129* `Marketplace has no plugins defined`: добавьте хотя бы один плагин в массив `plugins`

1080* `No marketplace description provided`: добавьте описание верхнего уровня `description`, чтобы помочь пользователям понять ваш marketplace1130* `No marketplace description provided`: добавьте описание верхнего уровня `description`, чтобы помочь пользователям понять ваш marketplace

1081* `Plugin name "x" is not kebab-case`: имя плагина содержит прописные буквы, пробелы или специальные символы. Переименуйте в строчные буквы, цифры и дефисы только (например, `my-plugin`). Claude Code принимает другие формы, но синхронизация marketplace Claude.ai их отклоняет.1131* `Plugin name "x" is not kebab-case`: имя плагина содержит прописные буквы, пробелы или специальные символы. Переименуйте в строчные буквы, цифры и дефисы только (например, `my-plugin`). Claude Code принимает другие формы, но синхронизация marketplace claude.ai их отклоняет.

1082 1132 

1083<h3 id="plugin-installation-failures">1133<h3 id="plugin-installation-failures">

1084 Ошибки установки плагина1134 Ошибки установки плагина

Details

477Если вы включаете манифест, `name` — единственное обязательное поле.477Если вы включаете манифест, `name` — единственное обязательное поле.

478 478 

479| Поле | Тип | Описание | Пример |479| Поле | Тип | Описание | Пример |

480| :----- | :----- | :-------------------------------------------------- | :------------------- |480| :----- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

481| `name` | string | Уникальный идентификатор (kebab-case, без пробелов) | `"deployment-tools"` |481| `name` | string | Уникальный идентификатор (kebab-case, без пробелов). Когда [запись маркетплейса](/ru/plugin-marketplaces#plugin-entries) указывает плагин под другим именем, имя записи маркетплейса — это то, что используют ключи `enabledPlugins` и `/plugin` | `"deployment-tools"` |

482 482 

483Это имя используется для пространства имён компонентов. Например, в пользовательском интерфейсе агент `agent-creator` для плагина с именем `plugin-dev` будет отображаться как `plugin-dev:agent-creator`.483Это имя используется для пространства имён компонентов. Например, в пользовательском интерфейсе агент `agent-creator` для плагина с именем `plugin-dev` будет отображаться как `plugin-dev:agent-creator`.

484 484 

quickstart.md +1 −0

Details

106* [Claude Pro, Max, Team или Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (рекомендуется)106* [Claude Pro, Max, Team или Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=quickstart_login) (рекомендуется)

107* [Claude Console](https://console.anthropic.com/) (доступ к API с предоплаченными кредитами). При первом входе рабочее пространство "Claude Code" автоматически создаётся в Console для централизованного отслеживания затрат.107* [Claude Console](https://console.anthropic.com/) (доступ к API с предоплаченными кредитами). При первом входе рабочее пространство "Claude Code" автоматически создаётся в Console для централизованного отслеживания затрат.

108* [Amazon Bedrock, Google Vertex AI или Microsoft Foundry](/ru/third-party-integrations) (облачные провайдеры для предприятий)108* [Amazon Bedrock, Google Vertex AI или Microsoft Foundry](/ru/third-party-integrations) (облачные провайдеры для предприятий)

109* Самостоятельно размещённый [шлюз приложений Claude](/ru/claude-apps-gateway), если ваша организация его использует: ваш администратор предварительно настраивает URL шлюза, и `/login` открывает экран **Cloud gateway** для входа с корпоративным SSO

109 110 

110После входа ваши учётные данные сохраняются, и вам не нужно будет входить снова.111После входа ваши учётные данные сохраняются, и вам не нужно будет входить снова.

111 112 

Details

34 34 

35* **Подписка**: доступна на планах Pro, Max, Team и Enterprise. API ключи не поддерживаются. На планах Team и Enterprise владелец должен сначала включить переключатель Remote Control в [параметрах администратора Claude Code](https://claude.ai/admin-settings/claude-code).35* **Подписка**: доступна на планах Pro, Max, Team и Enterprise. API ключи не поддерживаются. На планах Team и Enterprise владелец должен сначала включить переключатель Remote Control в [параметрах администратора Claude Code](https://claude.ai/admin-settings/claude-code).

36* **Аутентификация**: запустите `claude` и используйте `/login` для входа через claude.ai, если вы ещё этого не сделали.36* **Аутентификация**: запустите `claude` и используйте `/login` для входа через claude.ai, если вы ещё этого не сделали.

37* **Конечная точка API**: недоступна на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, Remote Control также отключен, когда [`ANTHROPIC_BASE_URL`](/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, например на [LLM gateway](/ru/llm-gateway) или прокси. Отключите переменную, чтобы использовать Remote Control.

37* **Доверие рабочей области**: запустите `claude` в каталоге вашего проекта хотя бы один раз, чтобы принять диалог доверия рабочей области.38* **Доверие рабочей области**: запустите `claude` в каталоге вашего проекта хотя бы один раз, чтобы принять диалог доверия рабочей области.

38 39 

39<h2 id="start-a-remote-control-session">40<h2 id="start-a-remote-control-session">


148 Включение Remote Control для всех сеансов149 Включение Remote Control для всех сеансов

149</h3>150</h3>

150 151 

151По умолчанию Remote Control активируется только при явном запуске `claude remote-control`, `claude --remote-control` или `/remote-control`. Чтобы включить его автоматически для каждого интерактивного сеанса, запустите `/config` внутри Claude Code и установите **Enable Remote Control for all sessions** на `true`. Установите обратно на `false`, чтобы отключить. В приложении Desktop вы также можете переключить это в **Settings → Claude Code → Enable remote control by default**.152Remote Control активируется только при явном запуске `claude remote-control`, `claude --remote-control` или `/remote-control`, если не включена автоподключение. Чтобы включить его автоматически для каждого интерактивного сеанса, запустите `/config` внутри Claude Code и установите **Enable Remote Control for all sessions** на `true`. Установите на `false`, чтобы никогда не автоподключаться, или оставьте без установки, чтобы следовать стандартному значению вашей организации. В приложении Desktop вы также можете переключить это в **Settings → Claude Code → Enable remote control by default**.

152 153 

153С этой настройкой каждый интерактивный процесс Claude Code регистрирует один удалённый сеанс. Если вы запустите несколько экземпляров, каждый получит свою собственную среду и сеанс. Чтобы запустить несколько одновременных сеансов из одного процесса, используйте [режим сервера](#start-a-remote-control-session) вместо этого.154С этой настройкой каждый интерактивный процесс Claude Code регистрирует один удалённый сеанс. Если вы запустите несколько экземпляров, каждый получит свою собственную среду и сеанс. Чтобы запустить несколько одновременных сеансов из одного процесса, используйте [режим сервера](#start-a-remote-control-session) вместо этого.

154 155 


318 319 

319Claude Code не смог достичь сервиса флагов функций для проверки того, включен ли Remote Control для вашей учётной записи, обычно потому что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробностей. Связанное сообщение "Couldn't verify your organization's Remote Control policy" имеет ту же причину и то же решение. Оба сообщения были добавлены в v2.1.178.320Claude Code не смог достичь сервиса флагов функций для проверки того, включен ли Remote Control для вашей учётной записи, обычно потому что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробностей. Связанное сообщение "Couldn't verify your organization's Remote Control policy" имеет ту же причину и то же решение. Оба сообщения были добавлены в v2.1.178.

320 321 

322<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

323 "Remote Control is only available when using Claude via api.anthropic.com"

324</h3>

325 

326Сеанс не взаимодействует с API Anthropic напрямую, поэтому нет бэкенда claude.ai для сопряжения. Это происходит на Amazon Bedrock, Google Vertex AI и Microsoft Foundry. {/* min-version: 2.1.196 */}Начиная с v2.1.196 это также происходит, когда [`ANTHROPIC_BASE_URL`](/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/ru/llm-gateway) или прокси, даже если вы входите с помощью claude.ai. Отключите `ANTHROPIC_BASE_URL` и перезагрузите сеанс для использования Remote Control.

327 

321<h3 id="remote-control-is-disabled-by-your-organization’s-policy">328<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

322 "Remote Control is disabled by your organization's policy"329 "Remote Control is disabled by your organization's policy"

323</h3>330</h3>

Details

48| Только подсказка | `/loop check the deploy` | Ваша подсказка запускается с [интервалом, выбранным Claude](#let-claude-choose-the-interval) на каждой итерации |48| Только подсказка | `/loop check the deploy` | Ваша подсказка запускается с [интервалом, выбранным Claude](#let-claude-choose-the-interval) на каждой итерации |

49| Только интервал или ничего | `/loop` | Запускается [встроенная подсказка обслуживания](#run-the-built-in-maintenance-prompt) или ваш `loop.md`, если он существует |49| Только интервал или ничего | `/loop` | Запускается [встроенная подсказка обслуживания](#run-the-built-in-maintenance-prompt) или ваш `loop.md`, если он существует |

50 50 

51Вы также можете передать другую команду в качестве подсказки, например `/loop 20m /review-pr 1234`, чтобы повторно запустить сохранённый skill или команду на каждой итерации.51Вы также можете передать skill в качестве подсказки, например `/loop 20m /review-pr 1234`, чтобы повторно запустить этот skill на каждой итерации. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, запланированное срабатывание запускает только skills, которые Claude [может вызывать самостоятельно](/ru/skills#control-who-invokes-a-skill). Следующие элементы поступают к Claude как простой текст вместо выполнения:

52 

53* встроенные команды, такие как `/permissions`, `/model` или `/clear`

54* skills, отмеченные [`disable-model-invocation: true`](/ru/skills#frontmatter-reference)

55* skills, скрытые от Claude параметром [`skillOverrides`](/ru/skills#override-skill-visibility-from-settings) или правилом `Skill` [deny](/ru/skills#restrict-claude’s-skill-access)

56* [MCP prompts](/ru/mcp#use-mcp-prompts-as-commands), такие как `/mcp__github__list_prs`; skills, которые предоставляет MCP сервер, всё ещё запускаются

52 57 

53<h3 id="run-on-a-fixed-interval">58<h3 id="run-on-a-fixed-interval">

54 Запуск по фиксированному интервалу59 Запуск по фиксированному интервалу


238 243 

239Планирование, привязанное к сеансу, имеет присущие ему ограничения:244Планирование, привязанное к сеансу, имеет присущие ему ограничения:

240 245 

241* Задачи срабатывают только во время работы Claude Code и в режиме ожидания. Закрытие терминала или выход из сеанса отменяет всё.246* Задачи срабатывают только во время работы Claude Code и в режиме ожидания. Закрытие терминала или выход из сеанса отменяет всё. [Перемещение сеанса в фоновый режим](/ru/agent-view#from-inside-a-session) переносит задачи `/loop` в фоновый сеанс, который продолжает работать без терминала.

242* Нет наверстывания пропущенных срабатываний. Если запланированное время задачи проходит, пока Claude занят долгоживущим запросом, она срабатывает один раз, когда Claude становится свободным, а не один раз за каждый пропущенный интервал.247* Нет наверстывания пропущенных срабатываний. Если запланированное время задачи проходит, пока Claude занят долгоживущим запросом, она срабатывает один раз, когда Claude становится свободным, а не один раз за каждый пропущенный интервал.

243* Запуск нового разговора очищает все задачи, привязанные к сеансу. Возобновление с помощью `claude --resume` или `claude --continue` восстанавливает задачи, которые не истекли: повторяющиеся задачи в течение семи дней после создания и одноразовые задачи, чьё запланированное время ещё не наступило. Фоновые задачи Bash и monitor никогда не восстанавливаются при возобновлении.248* Запуск нового разговора очищает все задачи, привязанные к сеансу. Возобновление с помощью `claude --resume` или `claude --continue` восстанавливает задачи, которые не истекли: повторяющиеся задачи в течение семи дней после создания и одноразовые задачи, чьё запланированное время ещё не наступило. Фоновые задачи Bash и monitor никогда не восстанавливаются при возобновлении.

244 249 

Details

153 153 

154Параметры, управляемые сервером, и [параметры, управляемые конечной точкой](/ru/settings#settings-files) занимают наивысший уровень в [иерархии параметров](/ru/settings#settings-precedence) Claude Code. Никакой другой уровень параметров не может их переопределить, включая аргументы командной строки.154Параметры, управляемые сервером, и [параметры, управляемые конечной точкой](/ru/settings#settings-files) занимают наивысший уровень в [иерархии параметров](/ru/settings#settings-precedence) Claude Code. Никакой другой уровень параметров не может их переопределить, включая аргументы командной строки.

155 155 

156В пределах управляемого уровня первый источник, который доставляет непустую конфигурацию, побеждает. Параметры, управляемые сервером, проверяются первыми, затем параметры, управляемые конечной точкой. Источники не объединяются: если параметры, управляемые сервером, доставляют какие-либо ключи вообще, параметры, управляемые конечной точкой, полностью игнорируются. Если параметры, управляемые сервером, не доставляют ничего, применяются параметры, управляемые конечной точкой.156В пределах управляемого уровня настроенный [`policyHelper`](/ru/settings#compute-managed-settings-with-a-policy-helper) имеет приоритет над всеми другими управляемыми источниками, включая параметры, управляемые сервером: его вывод становится единственной управляемой конфигурацией для запуска. В противном случае первый источник, который доставляет непустую конфигурацию, побеждает. Параметры, управляемые сервером, проверяются первыми, затем параметры, управляемые конечной точкой. Источники не объединяются: если параметры, управляемые сервером, доставляют какие-либо ключи вообще, параметры, управляемые конечной точкой, полностью игнорируются. Применяется одно исключение: небольшой набор [ключей блокировки между источниками](/ru/settings#settings-precedence), таких как блокировки списка разрешений песочницы, соблюдается, когда любой управляемый администратором источник их устанавливает; уровень реестра HKCU, доступный для записи пользователем, исключен. Если параметры, управляемые сервером, не доставляют ничего, применяются параметры, управляемые конечной точкой.

157 157 

158Если вы очищаете конфигурацию, управляемую сервером, в консоли администратора с намерением вернуться к управляемому plist или политике реестра, управляемой конечной точкой, имейте в виду, что [кэшированные параметры](#fetch-and-caching-behavior) сохраняются на клиентских машинах до следующей успешной выборки. Запустите `/status` для просмотра того, какой управляемый источник активен.158Если вы очищаете конфигурацию, управляемую сервером, в консоли администратора с намерением вернуться к управляемому plist или политике реестра, управляемой конечной точкой, имейте в виду, что [кэшированные параметры](#fetch-and-caching-behavior) сохраняются на клиентских машинах до следующей успешной выборки. Запустите `/status` для просмотра того, какой управляемый источник активен.

159 159 


222* **Параметры команд оболочки**: параметры, которые выполняют команды оболочки222* **Параметры команд оболочки**: параметры, которые выполняют команды оболочки

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

224* **Конфигурации hooks**: любое определение hooks224* **Конфигурации hooks**: любое определение hooks

225* **Управляемое содержимое CLAUDE.md**: значение `claudeMd`, доставленное через управляемые параметры

225 226 

226Когда эти параметры присутствуют, пользователи видят диалог безопасности, объясняющий, что настраивается. Пользователи должны одобрить для продолжения. Если пользователь отклоняет параметры, Claude Code выходит.227Когда эти параметры присутствуют, пользователи видят диалог безопасности, объясняющий, что настраивается. Пользователи должны одобрить для продолжения. Если пользователь отклоняет параметры, Claude Code выходит.

227 228 


241* [Claude Platform on AWS](/ru/claude-platform-on-aws)242* [Claude Platform on AWS](/ru/claude-platform-on-aws)

242* Пользовательские конечные точки API через `ANTHROPIC_BASE_URL` или [LLM gateways](/ru/llm-gateway)243* Пользовательские конечные точки API через `ANTHROPIC_BASE_URL` или [LLM gateways](/ru/llm-gateway)

243 244 

245Для развертываний Bedrock, Vertex AI и Foundry самостоятельно размещаемый [Claude apps gateway](/ru/claude-apps-gateway) обеспечивает эквивалентную доставку удаленных управляемых параметров: клиенты, вошедшие в шлюз, получают управляемые параметры из шлюза вместо `api.anthropic.com`. Семантика отказов отличается при запуске: клиент шлюза, который не может достичь шлюз, завершает работу с ошибкой вместо возврата к кэшированным параметрам, в то время как почасовое фоновое обновление открыто при отказе на обоих каналах.

246 

244<h2 id="audit-logging">247<h2 id="audit-logging">

245 Аудит логирования248 Аудит логирования

246</h2>249</h2>


253 Соображения безопасности256 Соображения безопасности

254</h2>257</h2>

255 258 

256Параметры, управляемые сервером, обеспечивают централизованное применение политики, но они работают как элемент управления на стороне клиента. На неуправляемых устройствах пользователи с доступом администратора или sudo могут изменять двоичный файл Claude Code, файловую систему или конфигурацию сети.259Параметры, управляемые сервером, обеспечивают централизованное применение политики, но они работают как элемент управления на стороне клиента, а не как граница безопасности. На неуправляемых устройствах пользователю не требуется доступ администратора или sudo для их обхода.

257 260 

258| Сценарий | Поведение |261| Сценарий | Поведение |

259| :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |262| :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

260| Пользователь редактирует кэшированный файл параметров | Измененный файл применяется при запуске, но правильные параметры восстанавливаются при следующей выборке с сервера |263| Пользователь редактирует кэшированный файл параметров | Измененный файл применяется при запуске, но правильные параметры восстанавливаются при следующей выборке с сервера |

261| Пользователь удаляет кэшированный файл параметров | Происходит поведение первого запуска: параметры выбираются асинхронно с кратким неприменяемым окном |264| Пользователь удаляет кэшированный файл параметров | Происходит поведение первого запуска: параметры выбираются асинхронно с кратким неприменяемым окном |

265| Пользователь запускает измененный двоичный файл Claude Code | Пользователь, который может запустить измененный клиент, может обойти любой элемент управления на стороне клиента |

266| Пользователь запускает более старую версию Claude Code | Версии, которые предшествуют параметрам, управляемым сервером, не выбирают и не применяют их |

262| API недоступен | Кэшированные параметры применяются, если доступны, в противном случае управляемые параметры не применяются до следующей успешной выборки. С `forceRemoteSettingsRefresh: true` CLI выходит вместо продолжения, за исключением [`claude auth` подкоманд](#enforce-fail-closed-startup) |267| API недоступен | Кэшированные параметры применяются, если доступны, в противном случае управляемые параметры не применяются до следующей успешной выборки. С `forceRemoteSettingsRefresh: true` CLI выходит вместо продолжения, за исключением [`claude auth` подкоманд](#enforce-fail-closed-startup) |

263| Пользователь аутентифицируется с другой организацией | Параметры не доставляются для учетных записей вне управляемой организации |268| Пользователь аутентифицируется с другой организацией | Параметры не доставляются для учетных записей вне управляемой организации |

264| Пользователь настраивает [поставщика моделей третьей стороны](#platform-availability) | Параметры, управляемые сервером, обходятся. Это включает установку `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` или нестандартного `ANTHROPIC_BASE_URL` |269| Пользователь настраивает [поставщика моделей третьей стороны](#platform-availability) | Параметры, управляемые сервером, обходятся. Это включает установку `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` или нестандартного `ANTHROPIC_BASE_URL` |

270| Сетевой трафик перехватывается или перенаправляется | Отключенная проверка TLS или перехваченный трафик могут изменить параметры, которые получает клиент |

265 271 

266Для обнаружения изменений конфигурации во время выполнения используйте [`ConfigChange` hooks](/ru/hooks#configchange) для логирования изменений или блокировки несанкционированных изменений перед их вступлением в силу.272Для обнаружения изменений конфигурации во время выполнения используйте [`ConfigChange` hooks](/ru/hooks#configchange) для логирования изменений или блокировки несанкционированных изменений перед их вступлением в силу.

267 273 

268Для более сильных гарантий применения используйте [параметры, управляемые конечной точкой](/ru/settings#settings-files) на устройствах, зарегистрированных в решении MDM.274Для ограничения организаций, к которым ваши пользователи могут получить доступ с учетными данными, которые предоставляет клиент, см. [Enforce network-level access control with Tenant Restrictions](https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions) в Центре справки Claude. Для более сильных гарантий применения используйте [параметры, управляемые конечной точкой](/ru/settings#settings-files) на устройствах, зарегистрированных в решении MDM.

269 275 

270<h2 id="see-also">276<h2 id="see-also">

271 См. также277 См. также

sessions.md +8 −2

Details

30 Где средство выбора сеансов ищет сеансы30 Где средство выбора сеансов ищет сеансы

31</h3>31</h3>

32 32 

33Сеансы хранятся для каждого каталога проекта. По умолчанию средство выбора сеансов показывает интерактивные сеансы из текущего worktree, а также сеансы, запущенные в других местах, которые добавили текущий каталог с помощью `/add-dir`. {/* min-version: 2.1.169 */}Начиная с версии 2.1.169, перемещение сеанса с помощью [`/cd`](/ru/commands) переносит его в хранилище проекта нового каталога, поэтому он появляется в средстве выбора этого каталога впоследствии. Используйте `Ctrl+W` для расширения на все worktrees репозитория или `Ctrl+A` для расширения на каждый проект на этой машине.33Сеансы хранятся для каждого каталога проекта. По умолчанию средство выбора сеансов показывает интерактивные сеансы из текущего worktree, а также сеансы, запущенные в других местах, которые добавили текущий каталог с помощью `/add-dir`. Используйте `Ctrl+W` для расширения на все worktrees репозитория или `Ctrl+A` для расширения на каждый проект на этой машине.

34 

35{/* min-version: 2.1.169 */}Начиная с версии 2.1.169, перемещение сеанса с помощью [`/cd`](/ru/commands) переносит его в хранилище проекта нового каталога, поэтому он появляется в средстве выбора этого каталога впоследствии. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, перемещённый сеанс остаётся вне средства выбора старого каталога даже после сбоя или принудительного выхода. В более ранних версиях он также мог повторно появиться в списке старого каталога после выхода, который не был чистым, когда старый путь содержал специальные символы, такие как подчёркивания.

34 36 

35Выбор сеанса из другого worktree того же репозитория возобновляет его на месте. Выбор сеанса из несвязанного проекта копирует команду `cd` и команду возобновления в буфер обмена.37Выбор сеанса из другого worktree того же репозитория возобновляет его на месте. Выбор сеанса из несвязанного проекта копирует команду `cd` и команду возобновления в буфер обмена.

36 38 


56 58 

57После того как сеанс назван, вернитесь к нему с помощью `claude --resume <name>` или `/resume <name>`. См. [Возобновление сеанса](#resume-a-session) для информации о том, как разрешение имён работает в worktrees.59После того как сеанс назван, вернитесь к нему с помощью `claude --resume <name>` или `/resume <name>`. См. [Возобновление сеанса](#resume-a-session) для информации о том, как разрешение имён работает в worktrees.

58 60 

61{/* min-version: 2.1.196 */}Интерактивные сеансы, которые вы никогда не называете, всё равно получают имя отображения по умолчанию при запуске. Требуется Claude Code v2.1.196 или более поздняя версия. По умолчанию используется комбинация имени рабочего каталога с двухсимвольным суффиксом, например `my-app-3f`, и идентифицирует сеанс в списках запущенных сеансов, таких как [представление агента](/ru/agent-view) и вывод `claude agents --json`.

62 

63Значение по умолчанию не является дескриптором возобновления: `claude --resume <name>`, `/resume <name>` и средство выбора сеансов совпадают только с именами, которые вы установили. Именование сеанса заменяет значение по умолчанию.

64 

59<h2 id="use-the-session-picker">65<h2 id="use-the-session-picker">

60 Использование средства выбора сеансов66 Использование средства выбора сеансов

61</h2>67</h2>


117 Экспорт и поиск данных сеанса123 Экспорт и поиск данных сеанса

118</h2>124</h2>

119 125 

120Запустите `/export`, чтобы скопировать текущий диалог в буфер обмена или сохранить его как простой текстовый файл с сообщениями и выводом инструментов, отображаемыми как читаемый текст. Передайте имя файла для прямой записи в этот файл.126Запустите `/export`, чтобы открыть меню, которое позволяет скопировать текущий диалог в буфер обмена или сохранить его как простой текстовый файл с сообщениями и выводом инструментов, отображаемыми как читаемый текст. Передайте имя файла для прямой записи в этот файл.

121 127 

122<h3 id="access-conversations-from-scripts">128<h3 id="access-conversations-from-scripts">

123 Доступ к диалогам из скриптов129 Доступ к диалогам из скриптов

settings.md +98 −76

Details

6 6 

7> Настройте Claude Code с помощью глобальных и проектных параметров, а также переменных окружения.7> Настройте Claude Code с помощью глобальных и проектных параметров, а также переменных окружения.

8 8 

9Claude Code предлагает множество параметров для настройки его поведения в соответствии с вашими потребностями. Вы можете настроить Claude Code, выполнив команду `/config` при использовании интерактивного REPL, которая открывает интерфейс параметров с вкладками, где вы можете просмотреть информацию о состоянии и изменить параметры конфигурации.9Claude Code предлагает множество параметров для настройки его поведения в соответствии с вашими потребностями. Вы можете настроить Claude Code, выполнив команду `/config`, которая открывает интерфейс параметров с вкладками, где вы можете просмотреть информацию о состоянии и изменить параметры конфигурации. {/* min-version: 2.1.181 */}Начиная с версии 2.1.181, вы можете изменить один параметр без открытия интерфейса, передав `key=value` в `/config`, например `/config verbose=true`.

10 10 

11<h2 id="configuration-scopes">11<h2 id="configuration-scopes">

12 Области конфигурации12 Области конфигурации

13</h2>13</h2>

14 14 

15Claude Code использует **систему областей** для определения того, где применяются конфигурации и с кем они совместно используются. Понимание областей помогает вам решить, как настроить Claude Code для личного использования, командного сотрудничества или развертывания на уровне предприятия.15Claude Code использует систему областей для определения того, где применяются конфигурации и с кем они совместно используются. Понимание областей помогает вам решить, как настроить Claude Code для личного использования, командного сотрудничества или развертывания на уровне предприятия.

16 16 

17<h3 id="available-scopes">17<h3 id="available-scopes">

18 Доступные области18 Доступные области

19</h3>19</h3>

20 20 

21| Область | Местоположение | На кого это влияет | Совместно используется с командой? |21| Область | Местоположение | На кого это влияет | Совместно используется с командой? |

22| :---------- | :-------------------------------------------------------------------------------------------- | :------------------------------- | :---------------------------------------------------------- |22| :---------- | :-------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |

23| **Managed** | Параметры, управляемые сервером, plist / реестр или системный уровень `managed-settings.json` | Все пользователи на машине | Да (развернуто IT) |23| **Managed** | Параметры, управляемые сервером, plist / реестр или системный уровень `managed-settings.json` | Все члены организации для доставки, управляемой сервером; все пользователи на машине для plist, реестра HKLM и доставки файлов; текущий пользователь для доставки реестра HKCU | Да (развернуто IT) |

24| **User** | Каталог `~/.claude/` | Вы, во всех проектах | Нет |24| **User** | Каталог `~/.claude/` | Вы, во всех проектах | Нет |

25| **Project** | `.claude/` в репозитории | Все сотрудники этого репозитория | Да (зафиксировано в git) |25| **Project** | `.claude/` в репозитории | Все сотрудники этого репозитория | Да (зафиксировано в git) |

26| **Local** | `.claude/settings.local.json` | Вы, только в этом репозитории | Нет (игнорируется gitignore, когда Claude Code его создает) |26| **Local** | `.claude/settings.local.json` | Вы, только в этом репозитории | Нет (игнорируется gitignore, когда Claude Code его создает) |


59 59 

60Когда один и тот же параметр появляется в нескольких областях, Claude Code применяет их в порядке приоритета:60Когда один и тот же параметр появляется в нескольких областях, Claude Code применяет их в порядке приоритета:

61 61 

621. **Managed** (наивысший) - не может быть переопределена ничем621. **Managed** (наивысший): не может быть переопределена ничем

632. **Аргументы командной строки** - временные переопределения сеанса632. **Аргументы командной строки**: временные переопределения сеанса

643. **Local** - переопределяет параметры проекта и пользователя643. **Local**: переопределяет параметры проекта и пользователя

654. **Project** - переопределяет параметры пользователя654. **Project**: переопределяет параметры пользователя

665. **User** (наименьший) - применяется, когда ничто другое не указывает параметр665. **User** (наименьший): применяется, когда ничто другое не указывает параметр

67 67 

68Например, если параметры пользователя устанавливают `spinnerTipsEnabled` в `true`, а параметры проекта устанавливают его в `false`, применяется значение проекта. Правила разрешений ведут себя иначе, потому что они объединяются в областях, а не переопределяют друг друга. См. [Приоритет параметров](#settings-precedence).68Например, если параметры пользователя устанавливают `spinnerTipsEnabled` в `true`, а параметры проекта устанавливают его в `false`, применяется значение проекта. Правила разрешений ведут себя иначе, потому что они объединяются в областях, а не переопределяют друг друга. См. [Приоритет параметров](#settings-precedence).

69 69 


97 * `.claude/settings.local.json` для параметров, которые не проверяются, полезны для личных предпочтений и экспериментов. Когда Claude Code создает `.claude/settings.local.json`, он настраивает git на игнорирование файла. Если вы создаете файл самостоятельно, добавьте его в gitignore вручную.97 * `.claude/settings.local.json` для параметров, которые не проверяются, полезны для личных предпочтений и экспериментов. Когда Claude Code создает `.claude/settings.local.json`, он настраивает git на игнорирование файла. Если вы создаете файл самостоятельно, добавьте его в gitignore вручную.

98* **Управляемые параметры**: Для организаций, которым требуется централизованное управление, Claude Code поддерживает несколько механизмов доставки управляемых параметров. Все используют один и тот же формат JSON и не могут быть переопределены параметрами пользователя или проекта:98* **Управляемые параметры**: Для организаций, которым требуется централизованное управление, Claude Code поддерживает несколько механизмов доставки управляемых параметров. Все используют один и тот же формат JSON и не могут быть переопределены параметрами пользователя или проекта:

99 99 

100 * **Параметры, управляемые сервером**: доставляются с серверов Anthropic через консоль администратора Claude.ai. См. [параметры, управляемые сервером](/ru/server-managed-settings).100 * **Параметры, управляемые сервером**: доставляются удаленно при входе либо с серверов Anthropic через консоль администратора claude.ai, либо с самостоятельно размещенного [Claude apps gateway](/ru/claude-apps-gateway). См. [параметры, управляемые сервером](/ru/server-managed-settings).

101 * **Политики MDM/OS-уровня**: доставляются через встроенное управление устройствами на macOS и Windows:101 * **Политики MDM/OS-уровня**: доставляются через встроенное управление устройствами на macOS и Windows:

102 * macOS: домен управляемых предпочтений `com.anthropic.claudecode`. Ключи верхнего уровня plist отражают `managed-settings.json`, с вложенными параметрами как словари и массивы как plist массивы. Развертывание через профили конфигурации в Jamf, Iru (Kandji) или аналогичных инструментах MDM.102 * macOS: домен управляемых предпочтений `com.anthropic.claudecode`. Ключи верхнего уровня plist отражают `managed-settings.json`, с вложенными параметрами как словари и массивы как plist массивы. Развертывание через профили конфигурации в Jamf, Iru (Kandji) или аналогичных инструментах MDM.

103 * Windows: ключ реестра `HKLM\SOFTWARE\Policies\ClaudeCode` со значением `Settings` (REG\_SZ или REG\_EXPAND\_SZ), содержащим JSON (развернуто через групповую политику или Intune)103 * Windows: ключ реестра `HKLM\SOFTWARE\Policies\ClaudeCode` со значением `Settings` (REG\_SZ или REG\_EXPAND\_SZ), содержащим JSON (развернуто через групповую политику или Intune)


178 Недействительные записи в управляемых параметрах178 Недействительные записи в управляемых параметрах

179</h3>179</h3>

180 180 

181Управляемые параметры анализируются с допуском. Когда управляемая конфигурация содержит запись, которая не проходит валидацию схемы, Claude Code удаляет эту запись, записывает предупреждение и применяет каждую оставшуюся действительную политику. Одна опечатка не может отключить остальную политику вашей организации. Это поведение согласуется во всех трех механизмах доставки: [параметры, управляемые сервером](/ru/server-managed-settings), политики plist и реестра, развернутые через MDM, и файлы `managed-settings.json`. Требует Claude Code v2.1.169 или позже.181Управляемые параметры анализируются с допуском. Когда управляемая конфигурация содержит запись, которая не проходит валидацию схемы, Claude Code удаляет эту запись, записывает предупреждение и применяет каждую оставшуюся действительную политику. Одна опечатка не может отключить остальную политику вашей организации.

182 

183Это поведение согласуется во всех трех механизмах доставки: [параметры, управляемые сервером](/ru/server-managed-settings), политики plist и реестра, развернутые через MDM, и файлы `managed-settings.json`. Требует Claude Code v2.1.169 или позже.

182 184 

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

184 186 

185| Поле | Поведение при наличии, но недействительности |187| Поле | Поведение при наличии, но недействительности |

186| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |188| :--------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

187| `allowedMcpServers` | Применяется как пустой список разрешений, поэтому MCP servers не допускаются до исправления значения. Отдельная недействительная запись удаляется и применяется действительное подмножество. |189| `allowedMcpServers` | Применяется как пустой список разрешений, поэтому MCP servers не допускаются до исправления значения. Отдельная недействительная запись удаляется и применяется действительное подмножество. |

188| `allowManagedMcpServersOnly` | Обрабатывается как `true`. |190| `allowManagedMcpServersOnly` | Обрабатывается как `true`. |

189| `availableModels` | {/* min-version: 2.1.175 */}Применяется как пустой список разрешений, поэтому доступна только модель Default до исправления значения. Отдельная запись, не являющаяся строкой, удаляется и применяется действительное подмножество. Применяется в v2.1.175 и позже. |191| `availableModels` | {/* min-version: 2.1.175 */}Применяется как пустой список разрешений, поэтому доступна только модель Default до исправления значения. Отдельная запись, не являющаяся строкой, удаляется и применяется действительное подмножество. Применяется в v2.1.175 и позже. |

190| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Обрабатывается как `true`. Применяется в v2.1.175 и позже. |192| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Обрабатывается как `true`. Применяется в v2.1.175 и позже. |

191| `forceLoginOrgUUID` | Ни одна организация не может войти до исправления значения. |193| `forceLoginOrgUUID` | Ни одна организация не может войти до исправления значения. |

192| `deniedMcpServers` | Отдельная недействительная запись удаляется и применяется действительное подмножество. Полностью недействительное значение отбрасывается с предупреждением, так как отрицание каждого server заблокировало бы servers, которые политика никогда не называла. |194| `deniedMcpServers` | Отдельная недействительная запись удаляется и применяется действительное подмножество. Полностью недействительное значение отбрасывается с предупреждением, так как отрицание каждого server заблокировало бы servers, которые политика никогда не называла. |

195| `sandbox.credentials` | {/* min-version: 2.1.191 */}Отдельная недействительная запись в `files` или `envVars` удаляется с предупреждением и применяется действительное подмножество. Полностью недействительное значение `credentials` отбрасывается с предупреждением, пока остальная часть `sandbox` по-прежнему применяется. Применяется в v2.1.191 и позже. |

193 196 

194`requiredMinimumVersion` и `requiredMaximumVersion` открываются по дизайну: недействительное значение удаляется, а не применяется, поэтому плохая политика не может предотвратить запуск Claude Code.197`requiredMinimumVersion` и `requiredMaximumVersion` открываются по дизайну: недействительное значение удаляется, а не применяется, поэтому плохая политика не может предотвратить запуск Claude Code.

195 198 


213| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |216| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ |

214| `advisorModel` | {/* min-version: 2.1.98 */}Модель для серверного [инструмента advisor](/ru/advisor). Принимает псевдоним модели, такой как `"opus"`, `"sonnet"` или `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), или полный ID модели. Записывается автоматически при запуске `/advisor`. Отключите, чтобы отключить advisor. Требует Claude Code v2.1.98 или позже | `"opus"` |217| `advisorModel` | {/* min-version: 2.1.98 */}Модель для серверного [инструмента advisor](/ru/advisor). Принимает псевдоним модели, такой как `"opus"`, `"sonnet"` или `"fable"` ({/* min-version: 2.1.170 */}v2.1.170+), или полный ID модели. Записывается автоматически при запуске `/advisor`. Отключите, чтобы отключить advisor. Требует Claude Code v2.1.98 или позже | `"opus"` |

215| `agent` | Запустить основной поток как именованный subagent и установить агента по умолчанию для сеансов, отправленных из `claude agents`. Применяет системный запрос, ограничения инструментов и модель этого subagent. См. [Явно вызывать subagents](/ru/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |218| `agent` | Запустить основной поток как именованный subagent и установить агента по умолчанию для сеансов, отправленных из `claude agents`. Применяет системный запрос, ограничения инструментов и модель этого subagent. См. [Явно вызывать subagents](/ru/sub-agents#invoke-subagents-explicitly) | `"code-reviewer"` |

216| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}Когда [Remote Control](/ru/remote-control) подключен, разрешить Claude отправлять проактивные push-уведомления на ваш телефон, например когда длительная задача завершается. По умолчанию: `false`. Появляется в `/config` как **Push when Claude decides**. См. [Mobile push notifications](/ru/remote-control#mobile-push-notifications). Требует Claude Code v2.1.119 или позже | `true` |219| `agentPushNotifEnabled` | {/* min-version: 2.1.119 */}**По умолчанию**: `false`. Когда [Remote Control](/ru/remote-control) подключен, разрешить Claude отправлять проактивные push-уведомления на ваш телефон, например когда длительная задача завершается. Появляется в `/config` как **Push when Claude decides**. См. [Mobile push notifications](/ru/remote-control#mobile-push-notifications). Требует Claude Code v2.1.119 или позже | `true` |

217| `allowAllClaudeAiMcps` | (Только управляемые параметры) Загружать разъемы claude.ai наряду с развернутым `managed-mcp.json`, который в противном случае берет исключительный контроль и подавляет их. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |220| `allowAllClaudeAiMcps` | (Только управляемые параметры) Загружать разъемы claude.ai наряду с развернутым `managed-mcp.json`, который в противном случае берет исключительный контроль и подавляет их. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |

218| `allowedChannelPlugins` | (Только управляемые параметры) Список разрешений channel plugins, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию при установке. Не определено = вернуться к значению по умолчанию, пустой массив = блокировать все channel plugins. Требует `channelsEnabled: true`. См. [Ограничить, какие channel plugins могут запускаться](/ru/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |221| `allowedChannelPlugins` | (Только управляемые параметры) Список разрешений channel plugins, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию при установке. Не определено = вернуться к значению по умолчанию, пустой массив = блокировать все channel plugins. Требует `channelsEnabled: true`. См. [Ограничить, какие channel plugins могут запускаться](/ru/channels#restrict-which-channel-plugins-can-run) | `[{ "marketplace": "claude-plugins-official", "plugin": "telegram" }]` |

219| `allowedHttpHookUrls` | Список разрешенных URL-шаблонов, на которые могут быть направлены HTTP hooks. Поддерживает `*` как подстановочный знак. При установке hooks с несовпадающими URL-адресами блокируются. Не определено = без ограничений, пустой массив = блокировать все HTTP hooks. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["https://hooks.example.com/*"]` |222| `allowedHttpHookUrls` | Список разрешенных URL-шаблонов, на которые могут быть направлены HTTP hooks. Поддерживает `*` как подстановочный знак. При установке hooks с несовпадающими URL-адресами блокируются. Не определено = без ограничений, пустой массив = блокировать все HTTP hooks. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["https://hooks.example.com/*"]` |


222| `allowManagedMcpServersOnly` | (Только управляемые параметры) Только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |225| `allowManagedMcpServersOnly` | (Только управляемые параметры) Только `allowedMcpServers` из управляемых параметров учитываются. `deniedMcpServers` по-прежнему объединяется из всех источников. Пользователи по-прежнему могут добавлять MCP servers, но применяется только определенный администратором список разрешений. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `true` |

223| `allowManagedPermissionRulesOnly` | (Только управляемые параметры) Предотвратить определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. [Параметры только для управляемых](/ru/permissions#managed-only-settings) | `true` |226| `allowManagedPermissionRulesOnly` | (Только управляемые параметры) Предотвратить определение правил разрешений `allow`, `ask` или `deny` в параметрах пользователя и проекта. Применяются только правила в управляемых параметрах. См. [Параметры только для управляемых](/ru/permissions#managed-only-settings) | `true` |

224| `alwaysThinkingEnabled` | Включить [расширенное мышление](/ru/model-config#extended-thinking) по умолчанию для всех сеансов. Обычно настраивается через команду `/config` вместо прямого редактирования. Чтобы принудительно отключить мышление независимо от этого параметра, установите [`MAX_THINKING_TOKENS=0`](/ru/env-vars) в `env`, что отключает мышление на Anthropic API, кроме Fable 5, которая не может отключить мышление. На [поставщиках третьих сторон](/ru/third-party-integrations) это опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения все еще могут думать | `true` |227| `alwaysThinkingEnabled` | Включить [расширенное мышление](/ru/model-config#extended-thinking) по умолчанию для всех сеансов. Обычно настраивается через команду `/config` вместо прямого редактирования. Чтобы принудительно отключить мышление независимо от этого параметра, установите [`MAX_THINKING_TOKENS=0`](/ru/env-vars) в `env`, что отключает мышление на Anthropic API, кроме Fable 5, которая не может отключить мышление. На [поставщиках третьих сторон](/ru/third-party-integrations) это опускает параметр `thinking` вместо этого, и модели адаптивного рассуждения все еще могут думать | `true` |

225| `apiKeyHelper` | Пользовательский скрипт, который будет выполнен в `/bin/sh`, для создания значения аутентификации. Это значение будет отправлено как заголовки `X-Api-Key` и `Authorization: Bearer` для запросов модели. Установите интервал обновления с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ru/env-vars) | `/bin/generate_temp_api_key.sh` |228| `apiKeyHelper` | Пользовательский скрипт, который будет выполнен в системной оболочке (`/bin/sh` на macOS и Linux, `cmd` на Windows), для создания значения аутентификации. Это значение будет отправлено как заголовки `X-Api-Key` и `Authorization: Bearer` для запросов модели. Установите интервал обновления с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/ru/env-vars) | `/bin/generate_temp_api_key.sh` |

226| `attribution` | Настройте атрибуцию для коммитов git и pull requests. См. [Параметры атрибуции](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |229| `attribution` | Настройте атрибуцию для коммитов git и pull requests. См. [Параметры атрибуции](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

227| `autoCompactEnabled` | {/* min-version: 2.1.119 */}Автоматически компактировать разговор, когда контекст приближается к лимиту. По умолчанию: `true`. Появляется в `/config` как **Auto-compact**. Чтобы отключить через переменную окружения, установите [`DISABLE_AUTO_COMPACT`](/ru/env-vars) в `env` | `false` |230| `autoCompactEnabled` | {/* min-version: 2.1.119 */}**По умолчанию**: `true`. Автоматически компактировать разговор, когда контекст приближается к лимиту. Появляется в `/config` как **Auto-compact**. Чтобы отключить через переменную окружения, установите [`DISABLE_AUTO_COMPACT`](/ru/env-vars) в `env` | `false` |

228| `autoMemoryDirectory` | Пользовательский каталог для хранения [автоматической памяти](/ru/memory#storage-location). Принимает абсолютный путь или путь с префиксом `~/`. Из параметров проекта или локальных параметров это учитывается только после того, как вы примете диалог доверия рабочей области, так как клонированный репозиторий может предоставить этот файл | `"~/my-memory-dir"` |231| `autoMemoryDirectory` | Пользовательский каталог для хранения [автоматической памяти](/ru/memory#storage-location). Принимает абсолютный путь или путь с префиксом `~/`. Из параметров проекта или локальных параметров это учитывается только после того, как вы примете диалог доверия рабочей области, так как клонированный репозиторий может предоставить этот файл | `"~/my-memory-dir"` |

229| `autoMemoryEnabled` | Включить [автоматическую память](/ru/memory#enable-or-disable-auto-memory). Когда `false`, Claude не читает и не записывает в каталог автоматической памяти. По умолчанию: `true`. Вы также можете переключить это с помощью `/memory` во время сеанса. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ru/env-vars) в `env` | `false` |232| `autoMemoryEnabled` | **По умолчанию**: `true`. Включить [автоматическую память](/ru/memory#enable-or-disable-auto-memory). Когда `false`, Claude не читает и не записывает в каталог автоматической памяти. Вы также можете переключить это с помощью `/memory` во время сеанса. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ru/env-vars) в `env` | `false` |

230| `autoMode` | Настройте, что классификатор [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode) блокирует и разрешает. Содержит массивы `environment`, `allow`, `soft_deny` и `hard_deny` правил в виде текста. Включите буквальную строку `"$defaults"` в массив для наследования встроенных правил в этой позиции. См. [Настройте автоматический режим](/ru/auto-mode-config). Не читается из общих параметров проекта | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |233| `autoMode` | Настройте, что классификатор [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode) блокирует и разрешает. Содержит массивы `environment`, `allow`, `soft_deny` и `hard_deny` правил в виде текста. Включите буквальную строку `"$defaults"` в массив для наследования встроенных правил в этой позиции. См. [Настройте автоматический режим](/ru/auto-mode-config). Не читается из общих параметров проекта | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

231| `autoScrollEnabled` | В [fullscreen rendering](/ru/fullscreen), следить за новым выводом в конец разговора. По умолчанию: `true`. Появляется в `/config` как **Auto-scroll**. Запросы разрешений по-прежнему прокручиваются в поле зрения, когда это отключено | `false` |234| `autoMode.classifyAllShell` | {/* min-version: 2.1.193 */}**По умолчанию**: `false`. Когда `true`, приостанавливает каждое правило разрешения Bash и PowerShell, пока активен автоматический режим, поэтому все команды shell маршрутизируются через классификатор, а не только правила, которые соответствуют шаблонам произвольного выполнения кода. См. [Маршрутизировать все команды shell через классификатор](/ru/auto-mode-config#route-all-shell-commands-through-the-classifier). Требует Claude Code v2.1.193 или позже | `true` |

232| `autoUpdatesChannel` | Канал выпуска для отслеживания обновлений. Используйте `"stable"` для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или `"latest"` (по умолчанию) для самого последнего выпуска. Чтобы полностью отключить автоматические обновления, установите [`DISABLE_AUTOUPDATER`](/ru/setup#disable-auto-updates) в `env` | `"stable"` |235| `autoScrollEnabled` | **По умолчанию**: `true`. В [fullscreen rendering](/ru/fullscreen), следить за новым выводом в конец разговора. Появляется в `/config` как **Auto-scroll**. Запросы разрешений по-прежнему прокручиваются в поле зрения, когда это отключено | `false` |

233| `availableModels` | Ограничить, какие модели пользователи могут выбрать для основного сеанса, [subagents](/ru/sub-agents) и [advisor](/ru/advisor). См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection). См. `enforceAvailableModels` для также ограничения Default | `["sonnet", "haiku"]` |236| `autoUpdatesChannel` | **По умолчанию**: `"latest"`. Канал выпуска для отслеживания обновлений. Используйте `"stable"` для версии, которая обычно примерно на неделю старше и пропускает версии с серьезными регрессиями, или `"latest"` для самого последнего выпуска. Чтобы полностью отключить автоматические обновления, установите [`DISABLE_AUTOUPDATER`](/ru/setup#disable-auto-updates) в `env` | `"stable"` |

237| `availableModels` | Ограничить, какие модели пользователи могут выбрать для основного сеанса, [subagents](/ru/sub-agents), [skills](/ru/skills) и [advisor](/ru/advisor). Не влияет на опцию Default, если также не установлен `enforceAvailableModels`. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

234| `awaySummaryEnabled` | Показать одностроковое резюме сеанса при возврате в терминал после нескольких минут отсутствия. Установите на `false` или отключите Session recap в `/config` для отключения. То же самое, что [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/ru/env-vars) | `true` |238| `awaySummaryEnabled` | Показать одностроковое резюме сеанса при возврате в терминал после нескольких минут отсутствия. Установите на `false` или отключите Session recap в `/config` для отключения. То же самое, что [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/ru/env-vars) | `true` |

235| `awsAuthRefresh` | Пользовательский скрипт, который изменяет каталог `.aws` (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |239| `awsAuthRefresh` | Пользовательский скрипт, который изменяет каталог `.aws` (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

236| `awsCredentialExport` | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |240| `awsCredentialExport` | Пользовательский скрипт, который выводит JSON с учетными данными AWS (см. [расширенная конфигурация учетных данных](/ru/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

241| `axScreenReader` | {/* min-version: 2.1.181 */}Отображать вывод, удобный для программ чтения с экрана: плоский текст без декоративных границ или анимаций. Режим программы чтения с экрана всегда использует классический рендерер, поэтому параметр `tui` не имеет эффекта, пока он активен. Переменная окружения [`CLAUDE_AX_SCREEN_READER`](/ru/env-vars) и флаг [`--ax-screen-reader`](/ru/cli-reference#cli-flags) имеют приоритет. Требует Claude Code v2.1.181 или позже | `true` |

237| `blockedMarketplaces` | (Только управляемые параметры) Список запретов источников marketplace. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |242| `blockedMarketplaces` | (Только управляемые параметры) Список запретов источников marketplace. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

238| `channelsEnabled` | (Только управляемые параметры) Разрешить [channels](/ru/channels) для организации. На планах Claude.ai Team и Enterprise, channels блокируются, когда это не установлено или `false`. Для учетных записей [Anthropic Console](/ru/authentication#claude-console-authentication), использующих аутентификацию по ключу API, channels разрешены по умолчанию, если только ваша организация не развернула управляемые параметры, в этом случае этот ключ должен быть установлен на `true` | `true` |243| `channelsEnabled` | (Только управляемые параметры) Разрешить [channels](/ru/channels) для организации. На планах Claude.ai Team и Enterprise, channels блокируются, когда это не установлено или `false`. Для учетных записей [Anthropic Console](/ru/authentication#claude-console-authentication), использующих аутентификацию по ключу API, channels разрешены по умолчанию, если только ваша организация не развернула управляемые параметры, в этом случае этот ключ должен быть установлен на `true` | `true` |

239| `claudeMd` | (Только управляемые параметры) Инструкции в стиле CLAUDE.md, внедренные как организационная управляемая память. Учитываются только при установке в управляемых или политических параметрах и игнорируются в параметрах пользователя, проекта и локальных параметрах. См. [организационная CLAUDE.md](/ru/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |244| `claudeMd` | (Только управляемые параметры) Инструкции в стиле CLAUDE.md, внедренные как организационная управляемая память. Учитываются только при установке в управляемых или политических параметрах и игнорируются в параметрах пользователя, проекта и локальных параметрах. См. [организационная CLAUDE.md](/ru/memory#deploy-organization-wide-claude-md) | `"Always run make lint before committing."` |

240| `claudeMdExcludes` | Glob шаблоны или абсолютные пути файлов `CLAUDE.md` для пропуска при загрузке [памяти](/ru/memory). Шаблоны соответствуют абсолютным путям файлов. Применяется только к памяти пользователя, проекта и локальной памяти; файлы управляемой политики не могут быть исключены | `["**/vendor/**/CLAUDE.md"]` |245| `claudeMdExcludes` | Glob шаблоны или абсолютные пути файлов `CLAUDE.md` для пропуска при загрузке [памяти](/ru/memory). Шаблоны соответствуют абсолютным путям файлов. Применяется только к памяти пользователя, проекта и локальной памяти; файлы управляемой политики не могут быть исключены | `["**/vendor/**/CLAUDE.md"]` |

241| `cleanupPeriodDays` | Сеансы, неактивные дольше этого периода, удаляются при запуске (по умолчанию: 30 дней, минимум 1). Установка на `0` отклоняется с ошибкой валидации. Также контролирует возрастной порог для автоматического удаления [orphaned subagent worktrees](/ru/worktrees#clean-up-worktrees) при запуске. Чтобы полностью отключить запись стенограмм, установите переменную окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ru/env-vars), или в неинтерактивном режиме (`-p`) используйте флаг `--no-session-persistence` или опцию SDK `persistSession: false`. | `20` |246| `cleanupPeriodDays` | **По умолчанию**: `30` дней, минимум `1`. Сеансы, неактивные дольше этого периода, удаляются при запуске. Установка на `0` отклоняется с ошибкой валидации. Также контролирует возрастной порог для автоматического удаления [orphaned subagent worktrees](/ru/worktrees#clean-up-worktrees) при запуске. Чтобы полностью отключить запись стенограмм, установите переменную окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/ru/env-vars), или в неинтерактивном режиме (`-p`) используйте флаг `--no-session-persistence` или опцию SDK `persistSession: false`. | `20` |

242| `companyAnnouncements` | Объявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |247| `companyAnnouncements` | Объявление для отображения пользователям при запуске. Если предоставлено несколько объявлений, они будут циклически отображаться случайным образом. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

243| `defaultShell` | Оболочка по умолчанию для команд `!` в поле ввода. Принимает `"bash"` (по умолчанию) или `"powershell"`. Установка `"powershell"` направляет интерактивные команды `!` через PowerShell на Windows. Требует `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. См. [Инструмент PowerShell](/ru/tools-reference#powershell-tool) | `"powershell"` |248| `defaultShell` | **По умолчанию**: `"bash"`, или `"powershell"` на Windows, когда Bash недоступен. Оболочка по умолчанию для команд `!` в поле ввода. Принимает `"bash"` или `"powershell"`. Установка `"powershell"` направляет интерактивные команды `!` через PowerShell на Windows. Требует `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. См. [Инструмент PowerShell](/ru/tools-reference#powershell-tool) | `"powershell"` |

244| `deniedMcpServers` | При установке в managed-settings.json, список запретов MCP servers, которые явно заблокированы. Применяется ко всем областям, включая управляемые servers. Список запретов имеет приоритет над списком разрешений. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `[{ "serverName": "filesystem" }]` |249| `deniedMcpServers` | При установке в managed-settings.json, список запретов MCP servers, которые явно заблокированы. Применяется ко всем областям, включая управляемые servers. Список запретов имеет приоритет над списком разрешений. См. [Управляемая конфигурация MCP](/ru/managed-mcp) | `[{ "serverName": "filesystem" }]` |

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

246| `disableAllHooks` | Отключить все [hooks](/ru/hooks) и любую пользовательскую [строку состояния](/ru/statusline) | `true` |251| `disableAllHooks` | Отключить все [hooks](/ru/hooks) и любую пользовательскую [строку состояния](/ru/statusline) | `true` |

252| `disableArtifact` | Установите на `true`, чтобы отключить инструмент [Artifact](/ru/artifacts), который публикует вывод сеанса как приватную веб-страницу на claude.ai. Эквивалентно установке `CLAUDE_CODE_DISABLE_ARTIFACT` на `1` | `true` |

247| `disableAutoMode` | Установите на `"disable"`, чтобы предотвратить активацию [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode). Удаляет `auto` из цикла `Shift+Tab` и отклоняет `--permission-mode auto` при запуске. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `"disable"` |253| `disableAutoMode` | Установите на `"disable"`, чтобы предотвратить активацию [автоматического режима](/ru/permission-modes#eliminate-prompts-with-auto-mode). Удаляет `auto` из цикла `Shift+Tab` и отклоняет `--permission-mode auto` при запуске. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `"disable"` |

248| `disableBundledSkills` | Установите на `true`, чтобы отключить [skills](/ru/skills) и workflows, которые поставляются с Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные slash commands, такие как `/init`, остаются доступными для ввода, но скрыты от модели. Skills из plugins, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалентно установке `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` на `1` | `true` |254| `disableBundledSkills` | Установите на `true`, чтобы отключить [skills](/ru/skills) и workflows, которые поставляются с Claude Code: встроенные skills и workflows полностью удаляются, в то время как встроенные slash commands, такие как `/init`, остаются доступными для ввода, но скрыты от модели. Skills из plugins, `.claude/skills/` и `.claude/commands/` не затронуты. Эквивалентно установке `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` на `1` | `true` |

255| `disableClaudeAiConnectors` | {/* min-version: 2.1.182 */}Отключить [claude.ai MCP connectors](/ru/mcp#use-mcp-servers-from-claude-ai), чтобы они не загружались автоматически и не подключались. Установите в любой области параметров. `true` в любом источнике имеет приоритет, поэтому проверенный в проекте `.claude/settings.json` может отключить репозиторий от облачных разъемов, но уровень проекта `false` не может переопределить уровень пользователя или политики `true`. Servers, переданные явно через `--mcp-config`, не затронуты. Чтобы запретить отдельные разъемы вместо всех, используйте [`deniedMcpServers`](/ru/managed-mcp). Требует Claude Code v2.1.182 или позже | `true` |

249| `disableDeepLinkRegistration` | Установите на `"disable"`, чтобы предотвратить регистрацию Claude Code обработчика протокола `claude-cli://` с операционной системой при запуске. Deep links позволяют внешним инструментам открыть сеанс Claude Code с предварительно заполненным запросом. Полезно в окружениях, где регистрация обработчика протокола ограничена или управляется отдельно | `"disable"` |256| `disableDeepLinkRegistration` | Установите на `"disable"`, чтобы предотвратить регистрацию Claude Code обработчика протокола `claude-cli://` с операционной системой при запуске. Deep links позволяют внешним инструментам открыть сеанс Claude Code с предварительно заполненным запросом. Полезно в окружениях, где регистрация обработчика протокола ограничена или управляется отдельно | `"disable"` |

250| `disabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для отклонения | `["filesystem"]` |257| `disabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для отклонения | `["filesystem"]` |

251| `disableRemoteControl` | {/* min-version: 2.1.128 */}Отключить [Remote Control](/ru/remote-control): блокирует `claude remote-control`, флаг `--remote-control`, автозапуск и переключение в сеансе. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения MDM на каждом устройстве, но работает из любой области. Требует Claude Code v2.1.128 или позже | `true` |258| `disableRemoteControl` | {/* min-version: 2.1.128 */}Отключить [Remote Control](/ru/remote-control): блокирует `claude remote-control`, флаг `--remote-control`, автозапуск и переключение в сеансе. Обычно размещается в [управляемых параметрах](/ru/permissions#managed-settings) для применения MDM на каждом устройстве, но работает из любой области. Требует Claude Code v2.1.128 или позже | `true` |

259| `disableSideloadFlags` | {/* min-version: 2.1.193 */}(Только управляемые параметры) Отклонить флаги CLI `--plugin-dir`, `--plugin-url`, `--agents` и `--mcp-config` при запуске, которые пользователи могли бы в противном случае передать для обхода [`strictKnownMarketplaces`](#strictknownmarketplaces) для одного запуска. Также отклоняет эти флаги из любой поверхности, которая порождает CLI с ними внутри, в настоящее время [Cowork](/ru/desktop) локальные сеансы в приложении desktop. `--mcp-config`, чьи servers все являются in-process записями `type: "sdk"`, по-прежнему принимается, поэтому Agent SDK и расширение VS Code продолжают работать. Не блокирует `claude mcp add`, `.mcp.json` или SDK `setMcpServers()`; объедините с [`allowedMcpServers`](/ru/managed-mcp) для управления MCP для каждого server. Требует Claude Code v2.1.193 или позже | `true` |

252| `disableSkillShellExecution` | Отключить встроенное выполнение shell для `` !`...` `` и ` ```! ` блоков в [skills](/ru/skills) и пользовательских команд из источников пользователя, проекта, plugin или дополнительного каталога. Команды заменяются на `[shell command execution disabled by policy]` вместо выполнения. Встроенные и управляемые skills не затронуты. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `true` |260| `disableSkillShellExecution` | Отключить встроенное выполнение shell для `` !`...` `` и ` ```! ` блоков в [skills](/ru/skills) и пользовательских команд из источников пользователя, проекта, plugin или дополнительного каталога. Команды заменяются на `[shell command execution disabled by policy]` вместо выполнения. Встроенные и управляемые skills не затронуты. Наиболее полезно в [управляемых параметрах](/ru/permissions#managed-settings), где пользователи не могут его переопределить | `true` |

253| `disableWorkflows` | Отключить [динамические workflows](/ru/workflows#turn-workflows-off) и встроенные команды workflow. По умолчанию: `false`. Эквивалентно установке `CLAUDE_CODE_DISABLE_WORKFLOWS` на `1` | `true` |261| `disableWorkflows` | **По умолчанию**: `false`. Отключить [динамические workflows](/ru/workflows#turn-workflows-off) и встроенные команды workflow. Эквивалентно установке `CLAUDE_CODE_DISABLE_WORKFLOWS` на `1` | `true` |

254| `editorMode` | Режим сочетания клавиш для входного приглашения: `"normal"` или `"vim"`. По умолчанию: `"normal"`. Появляется в `/config` как **Editor mode** | `"vim"` |262| `editorMode` | **По умолчанию**: `"normal"`. Режим сочетания клавиш для входного приглашения: `"normal"` или `"vim"`. Появляется в `/config` как **Editor mode** | `"vim"` |

255| `effortLevel` | Сохранить [уровень усилий](/ru/model-config#adjust-effort-level) между сеансами. Принимает `"low"`, `"medium"`, `"high"` или `"xhigh"`. Записывается автоматически при запуске `/effort` с одним из этих значений. `--effort` и [`CLAUDE_CODE_EFFORT_LEVEL`](/ru/env-vars) переопределяют это на один сеанс. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) для поддерживаемых моделей | `"xhigh"` |263| `effortLevel` | Сохранить [уровень усилий](/ru/model-config#adjust-effort-level) между сеансами. Принимает `"low"`, `"medium"`, `"high"` или `"xhigh"`. Записывается автоматически при запуске `/effort` с одним из этих значений. `--effort` и [`CLAUDE_CODE_EFFORT_LEVEL`](/ru/env-vars) переопределяют это на один сеанс. См. [Отрегулировать уровень усилий](/ru/model-config#adjust-effort-level) для поддерживаемых моделей | `"xhigh"` |

256| `enableAllProjectMcpServers` | Автоматически одобрить все MCP servers, определенные в файлах проекта `.mcp.json` | `true` |264| `enableAllProjectMcpServers` | Автоматически одобрить все MCP servers, определенные в файлах проекта `.mcp.json`. {/* min-version: 2.1.196 */}Начиная с v2.1.196, `claude mcp list` и `claude mcp get` учитывают этот ключ в ненадежной папке только из [файлов параметров, которые не проверяются в репозитории](/ru/mcp#managing-your-servers) | `true` |

257| `enabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для одобрения | `["memory", "github"]` |265| `enableArtifact` | {/* min-version: 2.1.196 */}Включить или отключить инструмент [Artifact](/ru/artifacts) для этого пользователя. Когда не установлено, значение по умолчанию следует [доступности](/ru/artifacts#availability) функции для вашей учетной записи. Строка **Artifacts** в `/config` записывает этот ключ. Управляемый `disableArtifact` и [параметр администратора](/ru/artifacts#manage-artifacts-for-your-organization) вашей организации имеют приоритет, и ключ игнорируется в параметрах проекта и локальных параметрах (`.claude/settings.json`, `.claude/settings.local.json`), которые репозиторий мог бы в противном случае зафиксировать. Требует Claude Code v2.1.196 или позже | `true` |

258| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Когда `true` и `availableModels` - это непустой список в управляемых или политических параметрах, модель Default также ограничена списком разрешений. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) для деталей и [поведение объединения](/ru/model-config#merge-behavior) когда `availableModels` установлен на нескольких уровнях. Требует Claude Code v2.1.175 или позже | `true` |266| `enabledMcpjsonServers` | Список конкретных MCP servers из файлов `.mcp.json` для одобрения. {/* min-version: 2.1.196 */}Начиная с v2.1.196, `claude mcp list` и `claude mcp get` учитывают этот ключ в ненадежной папке только из [файлов параметров, которые не проверяются в репозитории](/ru/mcp#managing-your-servers) | `["memory", "github"]` |

259| `env` | Переменные окружения, применяемые к каждому сеансу и к подпроцессам, которые Claude Code порождает из него. {/* min-version: 2.1.143 */}Начиная с v2.1.143, `NO_COLOR` и `FORCE_COLOR`, установленные здесь, передаются подпроцессам, но не изменяют цвета собственного интерфейса Claude Code. Установите их в вашей оболочке перед запуском `claude`, чтобы изменить цвета интерфейса | `{"FOO": "bar"}` |267| `enforceAvailableModels` | {/* min-version: 2.1.175 */}Расширить список разрешений `availableModels` на модель Default. Когда `true` в управляемых параметрах и `availableModels` - это непустой массив, опция Default возвращается к первой разрешенной записи, которая доступна, но только когда модель по умолчанию для типа учетной записи пользователя не находится в списке разрешений; разрешенное значение по умолчанию сохраняется как есть. Не имеет эффекта, когда `availableModels` не установлен или пуст. См. [Ограничить выбор модели](/ru/model-config#restrict-model-selection) | `true` |

260| `fallbackModel` | Резервная модель(и) для попытки по порядку, когда основная модель перегружена или недоступна. Claude Code переключается на следующую доступную модель в цепи для остальной части хода и показывает уведомление. `"default"` расширяется до модели по умолчанию. Цепи ограничены тремя моделями; дополнительные записи игнорируются. В отличие от большинства параметров массива, этот ключ не объединяется в разных файлах параметров: файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь. Флаг [`--fallback-model`](/ru/cli-reference#cli-flags) переопределяет это на один сеанс. См. [Цепи резервных моделей](/ru/model-config#fallback-model-chains) | `["claude-sonnet-4-6", "claude-haiku-4-5"]` |268| `env` | Переменные окружения, применяемые к каждому сеансу и к подпроцессам, которые Claude Code порождает из него. {/* min-version: 2.1.143 */}Начиная с v2.1.143, `NO_COLOR` и `FORCE_COLOR`, установленные здесь, передаются подпроцессам, но не изменяют цвета собственного интерфейса Claude Code. Установите их в вашей оболочке перед запуском `claude`, чтобы изменить цвета интерфейса. {/* min-version: 2.1.195 */}Начиная с v2.1.195, переменные идентификации, которые устанавливают окружения хостинга Claude Code, например `CLAUDE_CODE_REMOTE` и `CLAUDE_CODE_ACCOUNT_UUID`, игнорируются при установке здесь | `{"FOO": "bar"}` |

269| `fallbackModel` | Резервная модель(и) для попытки по порядку, когда основная модель перегружена или недоступна. Claude Code переключается на следующую доступную модель в цепи для остальной части хода и показывает уведомление. `"default"` расширяется до модели по умолчанию. Цепи ограничены тремя моделями; дополнительные записи игнорируются. В отличие от большинства параметров массива, этот ключ не объединяется в разных файлах параметров: файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь. Флаг [`--fallback-model`](/ru/cli-reference#cli-flags) переопределяет это на один сеанс. См. [Цепи резервных моделей](/ru/model-config#fallback-model-chains) | `["claude-sonnet-5", "claude-haiku-4-5"]` |

261| `fastModePerSessionOptIn` | Когда `true`, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью `/fast`. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. [Требовать согласие для каждого сеанса](/ru/fast-mode#require-per-session-opt-in) | `true` |270| `fastModePerSessionOptIn` | Когда `true`, быстрый режим не сохраняется между сеансами. Каждый сеанс начинается с отключенным быстрым режимом, требуя от пользователей включить его с помощью `/fast`. Предпочтение быстрого режима пользователя по-прежнему сохраняется. См. [Требовать согласие для каждого сеанса](/ru/fast-mode#require-per-session-opt-in) | `true` |

262| `feedbackSurveyRate` | Вероятность (0–1) того, что [опрос качества сеанса](/ru/data-usage#session-quality-surveys) появится при наличии условий. Установите на `0`, чтобы полностью подавить, или установите [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ru/env-vars) в `env`. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | `0.05` |271| `feedbackSurveyRate` | Вероятность (0–1) того, что [опрос качества сеанса](/ru/data-usage#session-quality-surveys) появится при наличии условий. Установите на `0`, чтобы полностью подавить, или установите [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/ru/env-vars) в `env`. Полезно при использовании Bedrock, Vertex или Foundry, где частота выборки по умолчанию не применяется | `0.05` |

263| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}Снимок файлов перед каждым редактированием, чтобы [`/rewind`](/ru/checkpointing) мог их восстановить. По умолчанию: `true`. Появляется в `/config` как **Rewind code (checkpoints)**. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/ru/env-vars) в `env` | `false` |272| `fileCheckpointingEnabled` | {/* min-version: 2.1.119 */}**По умолчанию**: `true`. Снимок файлов перед каждым редактированием, чтобы [`/rewind`](/ru/checkpointing) мог их восстановить. Появляется в `/config` как **Rewind code (checkpoints)**. Чтобы отключить через переменную окружения, установите [`CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING`](/ru/env-vars) в `env` | `false` |

264| `fileSuggestion` | Настройте пользовательский скрипт для автодополнения файлов `@`. См. [Параметры предложения файлов](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |273| `fileSuggestion` | Настройте пользовательский скрипт для автодополнения файлов `@`. См. [Параметры предложения файлов](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

265| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Отображать дополнительные кликабельные значки в нижнем колонтитуле, когда регулярное выражение совпадает с выводом хода. Каждая запись имеет `pattern`, шаблон `url` с заполняемыми `{name}` плейсхолдерами из именованных групп захвата и необязательный `label`. Читается из параметров пользователя, флага `--settings` и управляемых параметров только. См. [Значки ссылок нижнего колонтитула](#footer-link-badges) для ограничений URL, списка разрешений схемы и лимитов. Требует Claude Code v2.1.176 или позже | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |274| `footerLinksRegexes` | {/* min-version: 2.1.176 */}Отображать дополнительные кликабельные значки в нижнем колонтитуле, когда регулярное выражение совпадает с выводом хода. Каждая запись имеет `pattern`, шаблон `url` с заполняемыми `{name}` плейсхолдерами из именованных групп захвата и необязательный `label`. Читается из параметров пользователя, флага `--settings` и управляемых параметров только. См. [Значки ссылок нижнего колонтитула](#footer-link-badges) для ограничений URL, списка разрешений схемы и лимитов. Требует Claude Code v2.1.176 или позже | `[{"type": "regex", "pattern": "\\b(?<key>PROJ-\\d+)\\b", "url": "https://issues.example.com/browse/{key}", "label": "{key}"}]` |

266| `forceLoginMethod` | Используйте `claudeai` для ограничения входа учетными записями Claude.ai, `console` для ограничения входа учетными записями Claude Console. Когда установлено в управляемых параметрах, сеансы, аутентифицированные по `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске, так как ни одно значение не может быть удовлетворено без первоначальной OAuth. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: они аутентифицируются против вашего облачного провайдера, а не Anthropic | `claudeai` |275| `forceLoginMethod` | Используйте `claudeai` для ограничения входа учетными записями Claude.ai, `console` для ограничения входа учетными записями Claude Console, или `gateway` для ограничения входа на облачный шлюз; см. [Claude apps gateway](/ru/claude-apps-gateway). Когда установлено в управляемых параметрах, сеансы, аутентифицированные по `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске, так как ни одно значение не может быть удовлетворено без первоначальной OAuth. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: они аутентифицируются против вашего облачного провайдера, а не Anthropic | `claudeai` |

276| `forceLoginGatewayUrl` | Предварительно заполняет и блокирует URL шлюза на экране `/login` Cloud gateway. Либо этот ключ, либо `forceLoginMethod: "gateway"` отображает этот экран; установите оба, чтобы URL был заполнен. Учитывается только на управляемом уровне политики; игнорируется в параметрах пользователя и проекта. См. [Claude apps gateway](/ru/claude-apps-gateway#set-the-gateway-url) | `"https://claude-gateway.example.com"` |

267| `forceLoginOrgUUID` | Требовать, чтобы вход принадлежал определенной организации Anthropic. Принимает одну строку UUID, которая также предварительно выбирает эту организацию во время входа, или массив UUID, где любая указанная организация принимается без предварительного выбора. При установке в управляемых параметрах вход не удается, если аутентифицированная учетная запись не принадлежит указанной организации, и сеансы, аутентифицированные по `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске, так как членство в организации не может быть проверено для них. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: используйте IAM вашего облачного провайдера для ограничения того, какие облачные учетные записи могут быть использованы. Пустой массив не удается закрыто и блокирует вход с сообщением о неправильной конфигурации | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` или `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |277| `forceLoginOrgUUID` | Требовать, чтобы вход принадлежал определенной организации Anthropic. Принимает одну строку UUID, которая также предварительно выбирает эту организацию во время входа, или массив UUID, где любая указанная организация принимается без предварительного выбора. При установке в управляемых параметрах вход не удается, если аутентифицированная учетная запись не принадлежит указанной организации, и сеансы, аутентифицированные по `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, блокируются при запуске, так как членство в организации не может быть проверено для них. Сеансы поставщиков третьих сторон, такие как Bedrock, Vertex и Foundry, не блокируются: используйте IAM вашего облачного провайдера для ограничения того, какие облачные учетные записи могут быть использованы. Пустой массив не удается закрыто и блокирует вход с сообщением о неправильной конфигурации | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` или `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

268| `forceRemoteSettingsRefresh` | (Только управляемые параметры) Блокировать запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены с сервера. Если получение не удается, CLI выходит вместо продолжения с кэшированными или отсутствующими параметрами. Когда не установлено, запуск продолжается без ожидания удаленных параметров. См. [fail-closed enforcement](/ru/server-managed-settings#enforce-fail-closed-startup) | `true` |278| `forceRemoteSettingsRefresh` | (Только управляемые параметры) Блокировать запуск CLI до тех пор, пока удаленные управляемые параметры не будут свежо получены с сервера. Если получение не удается, CLI выходит вместо продолжения с кэшированными или отсутствующими параметрами. Когда не установлено, запуск продолжается без ожидания удаленных параметров. См. [fail-closed enforcement](/ru/server-managed-settings#enforce-fail-closed-startup) | `true` |

269| `gcpAuthRefresh` | Пользовательский скрипт, который обновляет GCP Application Default Credentials при их истечении или невозможности загрузки. См. [расширенная конфигурация учетных данных](/ru/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |279| `gcpAuthRefresh` | Пользовательский скрипт, который обновляет GCP Application Default Credentials при их истечении или невозможности загрузки. См. [расширенная конфигурация учетных данных](/ru/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

270| `hooks` | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. [документацию hooks](/ru/hooks) для формата | См. [hooks](/ru/hooks) |280| `hooks` | Настройте пользовательские команды для запуска при событиях жизненного цикла. См. [документацию hooks](/ru/hooks) для формата | См. [hooks](/ru/hooks) |

271| `httpHookAllowedEnvVars` | Список разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. При установке эффективный `allowedEnvVars` каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |281| `httpHookAllowedEnvVars` | Список разрешенных имен переменных окружения, которые HTTP hooks могут интерполировать в заголовки. При установке эффективный `allowedEnvVars` каждого hook является пересечением с этим списком. Не определено = без ограничений. Массивы объединяются в разных источниках параметров. См. [Конфигурация Hook](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

272| `includeCoAuthoredBy` | **Устарело**: Используйте `attribution` вместо этого. Включать ли строку `co-authored-by Claude` в коммиты git и pull requests (по умолчанию: `true`) | `false` |282| `includeGitInstructions` | **По умолчанию**: `true`. Включить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git в системный запрос Claude. Установите на `false`, чтобы удалить оба, например при использовании собственных skills рабочего процесса git. Переменная окружения `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` имеет приоритет над этим параметром при установке | `false` |

273| `includeGitInstructions` | Включить встроенные инструкции рабочего процесса коммита и PR и снимок статуса git в системный запрос Claude (по умолчанию: `true`). Установите на `false`, чтобы удалить оба, например при использовании собственных skills рабочего процесса git. Переменная окружения `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` имеет приоритет над этим параметром при установке | `false` |283| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}**По умолчанию**: `false`. Когда [Remote Control](/ru/remote-control) подключен, отправить push-уведомление на ваш телефон, когда запрос разрешения или вопрос ожидает вашего ввода. Появляется в `/config` как **Push when actions required**. См. [Mobile push notifications](/ru/remote-control#mobile-push-notifications). Требует Claude Code v2.1.119 или позже | `true` |

274| `inputNeededNotifEnabled` | {/* min-version: 2.1.119 */}Когда [Remote Control](/ru/remote-control) подключен, отправить push-уведомление на ваш телефон, когда запрос разрешения или вопрос ожидает вашего ввода. По умолчанию: `false`. Появляется в `/config` как **Push when actions required**. См. [Mobile push notifications](/ru/remote-control#mobile-push-notifications). Требует Claude Code v2.1.119 или позже | `true` |

275| `language` | Настройте предпочитаемый язык ответов Claude (например, `"japanese"`, `"spanish"`, `"french"`). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык [голосового диктанта](/ru/voice-dictation#change-the-dictation-language) и автоматически созданных названий сеансов. {/* min-version: 2.1.176 */}Начиная с v2.1.176, когда не установлено, названия сеансов соответствуют языку вашего разговора | `"japanese"` |284| `language` | Настройте предпочитаемый язык ответов Claude (например, `"japanese"`, `"spanish"`, `"french"`). Claude будет отвечать на этом языке по умолчанию. Также устанавливает язык [голосового диктанта](/ru/voice-dictation#change-the-dictation-language) и автоматически созданных названий сеансов. {/* min-version: 2.1.176 */}Начиная с v2.1.176, когда не установлено, названия сеансов соответствуют языку вашего разговора | `"japanese"` |

276| `maxSkillDescriptionChars` | {/* min-version: 2.1.105 */}Ограничение количества символов для каждого skill на объединенный текст `description` и `when_to_use` в [списке skills](/ru/skills#skill-descriptions-are-cut-short), который видит Claude каждый ход (по умолчанию: `1536`). Текст длиннее этого усекается. Увеличьте, чтобы сохранить длинные описания в целости за счет большего контекста за ход; уменьшьте, чтобы вместить больше skills в рамках [`skillListingBudgetFraction`](#available-settings). Требует Claude Code v2.1.105 или позже | `2048` |

277| `minimumVersion` | Предотвратить понижение версии автоматического обновления ниже определенной версии. Переключение с канала `"latest"` на `"stable"` через `/config` предлагает вам остаться на текущей версии или разрешить понижение. Выбор остаться устанавливает это значение. Также полезно в [управляемых параметрах](/ru/permissions#managed-settings) для закрепления организационного минимума. Для жесткого предела, который блокирует запуск целиком, см. `requiredMinimumVersion` | `"2.1.100"` |285| `minimumVersion` | Предотвратить понижение версии автоматического обновления ниже определенной версии. Переключение с канала `"latest"` на `"stable"` через `/config` предлагает вам остаться на текущей версии или разрешить понижение. Выбор остаться устанавливает это значение. Также полезно в [управляемых параметрах](/ru/permissions#managed-settings) для закрепления организационного минимума. Для жесткого предела, который блокирует запуск целиком, см. `requiredMinimumVersion` | `"2.1.100"` |

278| `model` | Переопределить модель по умолчанию для использования в Claude Code. `--model` и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) переопределяют это на один сеанс | `"claude-sonnet-4-6"` |286| `model` | Переопределить модель по умолчанию для использования в Claude Code. `--model` и [`ANTHROPIC_MODEL`](/ru/model-config#environment-variables) переопределяют это на один сеанс | `"claude-sonnet-5"` |

279| `modelOverrides` | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. [Переопределить ID моделей для каждой версии](/ru/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |287| `modelOverrides` | Сопоставить ID моделей Anthropic с ID моделей, специфичными для поставщика, такими как ARN профилей вывода Bedrock. Каждая запись средства выбора модели использует свое сопоставленное значение при вызове API поставщика. См. [Переопределить ID моделей для каждой версии](/ru/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

280| `otelHeadersHelper` | Скрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически. Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ru/env-vars). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |288| `otelHeadersHelper` | Скрипт для создания динамических заголовков OpenTelemetry. Запускается при запуске и периодически. Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/ru/env-vars). См. [Динамические заголовки](/ru/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

281| `outputStyle` | Настройте стиль вывода для корректировки системного запроса. См. [документацию стилей вывода](/ru/output-styles) | `"Explanatory"` |289| `outputStyle` | Настройте стиль вывода для корректировки системного запроса. См. [документацию стилей вывода](/ru/output-styles) | `"Explanatory"` |

282| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Только управляемые параметры) Контролирует, применяются ли управляемые параметры, предоставленные программно процессом хоста встраивания, таким как Agent SDK или расширение IDE, когда также присутствует развернутый администратором управляемый уровень. `"first-wins"`: параметры, предоставленные родителем, отбрасываются и применяется только уровень администратора. `"merge"`: параметры, предоставленные родителем, применяются под уровнем администратора, отфильтрованные так, чтобы они могли ужесточить политику, но не ослабить ее. Не имеет эффекта, когда развернут администратором уровень. По умолчанию: `"first-wins"`. Требует Claude Code v2.1.133 или позже | `"merge"` |290| `parentSettingsBehavior` | {/* min-version: 2.1.133 */}(Только управляемые параметры) **По умолчанию**: `"first-wins"`. Контролирует, применяются ли управляемые параметры, предоставленные программно процессом хоста встраивания, таким как Agent SDK или расширение IDE, когда также присутствует развернутый администратором управляемый уровень. `"first-wins"`: параметры, предоставленные родителем, отбрасываются и применяется только уровень администратора. `"merge"`: параметры, предоставленные родителем, применяются под уровнем администратора, отфильтрованные так, чтобы они могли ужесточить политику, но не ослабить ее. Не имеет эффекта, когда развернут администратором уровень. Требует Claude Code v2.1.133 или позже | `"merge"` |

283| `permissions` | См. таблицу ниже для структуры разрешений. | |291| `permissions` | См. таблицу ниже для структуры разрешений. | |

284| `plansDirectory` | Настройте, где хранятся файлы плана. Путь относительно корня проекта. По умолчанию: `~/.claude/plans` | `"./plans"` |292| `plansDirectory` | **По умолчанию**: `~/.claude/plans`. Настройте, где хранятся файлы плана. Путь относительно корня проекта. | `"./plans"` |

285| `pluginSuggestionMarketplaces` | (Только управляемые параметры) Имена marketplace, чьи plugins могут появляться как контекстные предложения установки. Ни одно предложение, объявленное marketplace, не появляется без этого списка разрешений; встроенный совет по дизайну первой стороны не затронут. Предложения поступают из объявления `relevance` каждого plugin в его записи marketplace. Имя вступает в силу только когда marketplace зарегистрирован на машине и его зарегистрированный источник также объявлен в управляемых параметрах, либо как запись `extraKnownMarketplaces` для этого имени, либо как запись `strictKnownMarketplaces`. Marketplace, зарегистрированный из другого источника под разрешенным именем, игнорируется. Официальный marketplace освобожден от требования источника: разрешение его имени одного достаточно, так как это имя может регистрироваться только из официального источника Anthropic. | `["acme-corp-plugins"]` |293| `pluginSuggestionMarketplaces` | (Только управляемые параметры) Имена marketplace, чьи plugins могут появляться как контекстные предложения установки. Ни одно предложение, объявленное marketplace, не появляется без этого списка разрешений; встроенный совет по дизайну первой стороны не затронут. Предложения поступают из объявления `relevance` каждого plugin в его записи marketplace. Имя вступает в силу только когда marketplace зарегистрирован на машине и его зарегистрированный источник также объявлен в управляемых параметрах, либо как запись `extraKnownMarketplaces` для этого имени, либо как запись `strictKnownMarketplaces`. Marketplace, зарегистрированный из другого источника под разрешенным именем, игнорируется. Официальный marketplace освобожден от требования источника: разрешение его имени одного достаточно, так как это имя может регистрироваться только из официального источника Anthropic. | `["acme-corp-plugins"]` |

286| `pluginTrustMessage` | (Только управляемые параметры) Пользовательское сообщение, добавленное к предупреждению о доверии plugin, показываемому перед установкой. Используйте это для добавления контекста, специфичного для организации, например для подтверждения того, что plugins из вашего внутреннего marketplace проверены. | `"All plugins from our marketplace are approved by IT"` |294| `pluginTrustMessage` | (Только управляемые параметры) Пользовательское сообщение, добавленное к предупреждению о доверии plugin, показываемому перед установкой. Используйте это для добавления контекста, специфичного для организации, например для подтверждения того, что plugins из вашего внутреннего marketplace проверены. | `"All plugins from our marketplace are approved by IT"` |

287| `policyHelper` | {/* min-version: 2.1.136 */}Развернутый администратором исполняемый файл, который вычисляет управляемые параметры динамически при запуске. Учитывается только из MDM или системного файла `managed-settings.json`. См. [Вычислить управляемые параметры с помощью помощника политики](#compute-managed-settings-with-a-policy-helper). Требует Claude Code v2.1.136 или позже | `{"path": "/usr/local/bin/claude-policy"}` |295| `policyHelper` | {/* min-version: 2.1.136 */}Развернутый администратором исполняемый файл, который вычисляет управляемые параметры динамически при запуске. Учитывается только из MDM или системного файла `managed-settings.json`. См. [Вычислить управляемые параметры с помощью помощника политики](#compute-managed-settings-with-a-policy-helper). Требует Claude Code v2.1.136 или позже | `{"path": "/usr/local/bin/claude-policy"}` |

288| `preferredNotifChannel` | Метод для уведомлений о завершении задачи и запросов разрешения: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"` или `"notifications_disabled"`. По умолчанию: `"auto"`, который отправляет уведомление рабочего стола в iTerm2, Ghostty и Kitty и ничего не делает в других терминалах. Установите `"terminal_bell"` для звонка в любом терминале. Появляется в `/config` как **Notifications**. См. [Получить звонок терминала или уведомление](/ru/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |296| `preferredNotifChannel` | **По умолчанию**: `"auto"`. Метод для уведомлений о завершении задачи и запросов разрешения: `"auto"`, `"terminal_bell"`, `"iterm2"`, `"iterm2_with_bell"`, `"kitty"`, `"ghostty"` или `"notifications_disabled"`. `"auto"` отправляет уведомление рабочего стола в iTerm2, Ghostty и Kitty и ничего не делает в других терминалах. Установите `"terminal_bell"` для звонка в любом терминале. Появляется в `/config` как **Notifications**. См. [Получить звонок терминала или уведомление](/ru/terminal-config#get-a-terminal-bell-or-notification) | `"terminal_bell"` |

289| `prefersReducedMotion` | Уменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступности | `true` |297| `prefersReducedMotion` | Уменьшить или отключить анимацию пользовательского интерфейса (спиннеры, shimmer, эффекты вспышки) для доступности | `true` |

290| `prUrlTemplate` | Шаблон URL для значка PR, показываемого в нижнем колонтитуле и в сводках результатов инструмента. Заменяет `{host}`, `{owner}`, `{repo}`, `{number}` и `{url}` из URL PR, сообщаемого `gh`. Используйте для указания ссылок PR на внутренний инструмент проверки кода вместо `github.com`. Не влияет на автоссылки `#123` в прозе Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |298| `prUrlTemplate` | Шаблон URL для значка PR, показываемого в нижнем колонтитуле и в сводках результатов инструмента. Заменяет `{host}`, `{owner}`, `{repo}`, `{number}` и `{url}` из URL PR, сообщаемого `gh`. Используйте для указания ссылок PR на внутренний инструмент проверки кода вместо `github.com`. Не влияет на автоссылки `#123` в прозе Claude | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |

299| `remoteControlAtStartup` | {/* min-version: 2.1.119 */}Подключить [Remote Control](/ru/remote-control) автоматически при запуске каждого интерактивного сеанса, вместо ожидания `/remote-control`. Установите на `true`, чтобы всегда автоподключаться, `false`, чтобы никогда не автоподключаться, или оставьте неустановленным, чтобы следовать значению по умолчанию вашей организации. Появляется в `/config` как **Enable Remote Control for all sessions**. См. [Enable Remote Control for all sessions](/ru/remote-control#enable-remote-control-for-all-sessions) | `false` |

291| `requiredMaximumVersion` | Только управляемые параметры. Максимальная версия Claude Code, разрешенная для запуска. Если запущенная версия новее, Claude Code выходит при запуске и инструктирует пользователя установить одобренную версию через одобренный метод организации; `claude install <version>` также может работать. Фоновые автоматические обновления и `claude update` пропускают версии выше потолка, поэтому установка в диапазоне остается в диапазоне. `claude update`, `claude install` и `claude doctor` продолжают работать выше потолка, чтобы пользователи могли восстановиться. Версии, которые предшествуют этому параметру, игнорируют его | `"2.1.150"` |300| `requiredMaximumVersion` | Только управляемые параметры. Максимальная версия Claude Code, разрешенная для запуска. Если запущенная версия новее, Claude Code выходит при запуске и инструктирует пользователя установить одобренную версию через одобренный метод организации; `claude install <version>` также может работать. Фоновые автоматические обновления и `claude update` пропускают версии выше потолка, поэтому установка в диапазоне остается в диапазоне. `claude update`, `claude install` и `claude doctor` продолжают работать выше потолка, чтобы пользователи могли восстановиться. Версии, которые предшествуют этому параметру, игнорируют его | `"2.1.150"` |

292| `requiredMinimumVersion` | Только управляемые параметры. Минимальная версия Claude Code, требуемая для запуска. Если запущенная версия старше, Claude Code выходит при запуске и инструктирует пользователя обновить через одобренный метод организации. `claude update`, `claude install` и `claude doctor` продолжают работать ниже пола, чтобы пользователи могли восстановиться. Отличается от `minimumVersion`, который предотвращает понижение, но никогда не блокирует запуск. Версии, которые предшествуют этому параметру, игнорируют его | `"2.1.150"` |301| `requiredMinimumVersion` | Только управляемые параметры. Минимальная версия Claude Code, требуемая для запуска. Если запущенная версия старше, Claude Code выходит при запуске и инструктирует пользователя обновить через одобренный метод организации. `claude update`, `claude install` и `claude doctor` продолжают работать ниже пола, чтобы пользователи могли восстановиться. Отличается от `minimumVersion`, который предотвращает понижение, но никогда не блокирует запуск. Версии, которые предшествуют этому параметру, игнорируют его | `"2.1.150"` |

293| `respectGitignore` | Контролировать, соблюдает ли средство выбора файлов `@` шаблоны `.gitignore`. Когда `true` (по умолчанию), файлы, соответствующие шаблонам `.gitignore`, исключаются из предложений | `false` |302| `respectGitignore` | **По умолчанию**: `true`. Контролировать, соблюдает ли средство выбора файлов `@` шаблоны `.gitignore`. Когда `true`, файлы, соответствующие шаблонам `.gitignore`, исключаются из предложений | `false` |

294| `showClearContextOnPlanAccept` | Показать опцию "очистить контекст" на экране принятия плана. По умолчанию: `false`. Установите на `true`, чтобы восстановить опцию | `true` |303| `respondToBashCommands` | {/* min-version: 2.1.186 */}**По умолчанию**: `true`. Отвечает ли Claude после запуска команды shell с префиксом `!` в поле ввода. Установите на `false`, чтобы добавить вывод команды в контекст без ответа. См. [Shell mode with `!` prefix](/ru/interactive-mode#shell-mode-with-prefix). Требует Claude Code v2.1.186 или позже | `false` |

295| `showThinkingSummaries` | Показать [расширенное мышление](/ru/model-config#extended-thinking) резюме в интерактивных сеансах. Когда не установлено или `false` (по умолчанию в интерактивном режиме), блоки мышления редактируются API и показываются как свернутая заглушка. Редактирование изменяет только то, что вы видите, а не то, что генерирует модель: чтобы снизить расходы на мышление, [снизьте бюджет или отключите мышление](/ru/model-config#extended-thinking) вместо этого. Этот параметр не имеет эффекта в неинтерактивном режиме (`-p`), Agent SDK или расширениях IDE, таких как VS Code | `true` |304| `showClearContextOnPlanAccept` | **По умолчанию**: `false`. Показать опцию "очистить контекст" на экране принятия плана. Установите на `true`, чтобы восстановить опцию | `true` |

296| `showTurnDuration` | Показывать сообщения о продолжительности хода после ответов, например "Cooked for 1m 6s". По умолчанию: `true`. Появляется в `/config` как **Show turn duration** | `false` |305| `showThinkingSummaries` | **По умолчанию**: `false`. Показать [расширенное мышление](/ru/model-config#extended-thinking) резюме в интерактивных сеансах. Когда не установлено или `false`, блоки мышления редактируются API и показываются как свернутая заглушка. Редактирование изменяет только то, что вы видите, а не то, что генерирует модель: чтобы снизить расходы на мышление, [снизьте бюджет или отключите мышление](/ru/model-config#extended-thinking) вместо этого. Этот параметр не имеет эффекта в неинтерактивном режиме (`-p`), Agent SDK или расширениях IDE, таких как VS Code | `true` |

297| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}Доля окна контекста модели, зарезервированная для [списка skills](/ru/skills#skill-descriptions-are-cut-short), который видит Claude каждый ход (по умолчанию: `0.01` = 1%). Когда список превышает бюджет, описания для наименее используемых skills сворачиваются до простых имен, чтобы Claude все еще мог их вызывать, но не видел бы, почему. Увеличьте, чтобы сохранить больше описаний видимыми за счет большего контекста за ход. `/doctor` показывает текущее количество усечений и какие skills затронуты. Требует Claude Code v2.1.105 или позже | `0.02` |306| `showTurnDuration` | **По умолчанию**: `true`. Показывать сообщения о продолжительности хода после ответов, например "Cooked for 1m 6s". Появляется в `/config` как **Show turn duration** | `false` |

307| `skillListingBudgetFraction` | {/* min-version: 2.1.105 */}**По умолчанию**: `0.01` (1%). Доля окна контекста модели, зарезервированная для [списка skills](/ru/skills#skill-descriptions-are-cut-short), который видит Claude каждый ход. Когда список превышает бюджет, описания для наименее используемых skills сворачиваются до простых имен, чтобы Claude все еще мог их вызывать, но не видел бы, почему. Увеличьте, чтобы сохранить больше описаний видимыми за счет большего контекста за ход. `/doctor` показывает текущее количество усечений и какие skills затронуты. Требует Claude Code v2.1.105 или позже | `0.02` |

308| `skillListingMaxDescChars` | {/* min-version: 2.1.105 */}**По умолчанию**: `1536`. Ограничение количества символов для каждого skill на объединенный текст `description` и `when_to_use` в [списке skills](/ru/skills#skill-descriptions-are-cut-short), который видит Claude каждый ход. Текст длиннее этого усекается. Увеличьте, чтобы сохранить длинные описания в целости за счет большего контекста за ход; уменьшьте, чтобы вместить больше skills в рамках [`skillListingBudgetFraction`](#available-settings). Требует Claude Code v2.1.105 или позже | `2048` |

298| `skillOverrides` | {/* min-version: 2.1.129 */}Переопределения видимости для каждого skill, ключ которых - имя skill. Значение - `"on"`, `"name-only"`, `"user-invocable-only"` или `"off"`. Позволяет скрыть или свернуть skill без редактирования его SKILL.md. Не применяется к plugin skills, которые управляются через `/plugin`. Меню `/skills` записывает эти значения в `.claude/settings.local.json`. См. [Переопределить видимость skill из параметров](/ru/skills#override-skill-visibility-from-settings). Требует Claude Code v2.1.129 или позже | `{"legacy-context": "name-only", "deploy": "off"}` |309| `skillOverrides` | {/* min-version: 2.1.129 */}Переопределения видимости для каждого skill, ключ которых - имя skill. Значение - `"on"`, `"name-only"`, `"user-invocable-only"` или `"off"`. Позволяет скрыть или свернуть skill без редактирования его SKILL.md. Не применяется к plugin skills, которые управляются через `/plugin`. Меню `/skills` записывает эти значения в `.claude/settings.local.json`. См. [Переопределить видимость skill из параметров](/ru/skills#override-skill-visibility-from-settings). Требует Claude Code v2.1.129 или позже | `{"legacy-context": "name-only", "deploy": "off"}` |

299| `skipWebFetchPreflight` | Пропустить [проверку безопасности домена WebFetch](/ru/data-usage#webfetch-domain-safety-check), которая отправляет каждое запрашиваемое имя хоста на `api.anthropic.com` перед выборкой. Установите на `true` в окружениях, которые блокируют трафик к Anthropic, таких как развертывания Bedrock, Vertex AI или Foundry с ограничивающим исходящим трафиком. При пропуске WebFetch пытается любой URL без консультации со списком блокировок | `true` |310| `skipWebFetchPreflight` | Пропустить [проверку безопасности домена WebFetch](/ru/data-usage#webfetch-domain-safety-check), которая отправляет каждое запрашиваемое имя хоста на `api.anthropic.com` перед выборкой. Установите на `true` в окружениях, которые блокируют трафик к Anthropic, таких как развертывания Bedrock, Vertex AI или Foundry с ограничивающим исходящим трафиком. При пропуске WebFetch пытается любой URL без консультации со списком блокировок | `true` |

300| `spinnerTipsEnabled` | Показывать советы в спиннере, пока Claude работает. Установите на `false`, чтобы отключить советы (по умолчанию: `true`) | `false` |311| `spinnerTipsEnabled` | **По умолчанию**: `true`. Показывать советы в спиннере, пока Claude работает. Установите на `false`, чтобы отключить советы | `false` |

301| `spinnerTipsOverride` | Переопределить советы спиннера пользовательскими строками. `tips`: массив строк советов. `excludeDefault`: если `true`, показывать только пользовательские советы; если `false` или отсутствует, пользовательские советы объединяются со встроенными советами | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |312| `spinnerTipsOverride` | Переопределить советы спиннера пользовательскими строками. `tips`: массив строк советов. `excludeDefault`: если `true`, показывать только пользовательские советы; если `false` или отсутствует, пользовательские советы объединяются со встроенными советами | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |

302| `spinnerVerbs` | Настройте глаголы действия, показываемые в спиннере во время хода. Установите `mode` на `"replace"`, чтобы использовать только ваши глаголы, или `"append"`, чтобы добавить их к значениям по умолчанию | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |313| `spinnerVerbs` | Настройте глаголы действия, показываемые в спиннере во время хода. Установите `mode` на `"replace"`, чтобы использовать только ваши глаголы, или `"append"`, чтобы добавить их к значениям по умолчанию | `{"mode": "append", "verbs": ["Pondering", "Crafting"]}` |

303| `sshConfigs` | SSH подключения для отображения в раскрывающемся списке окружения [Desktop](/ru/desktop#pre-configure-ssh-connections-for-your-team). Каждая запись требует `id`, `name` и `sshHost`; `sshPort`, `sshIdentityFile` и `startDirectory` являются необязательными. При установке в управляемых параметрах подключения доступны только для чтения для пользователей. Читается только из управляемых и пользовательских параметров | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |314| `sshConfigs` | SSH подключения для отображения в раскрывающемся списке окружения [Desktop](/ru/desktop#pre-configure-ssh-connections-for-your-team). Каждая запись требует `id`, `name` и `sshHost`; `sshPort`, `sshIdentityFile` и `startDirectory` являются необязательными. При установке в управляемых параметрах подключения доступны только для чтения для пользователей. Читается только из управляемых и пользовательских параметров | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

304| `statusLine` | Настройте пользовательскую строку состояния для отображения контекста. См. [документацию `statusLine`](/ru/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |315| `statusLine` | Настройте пользовательскую строку состояния для отображения контекста. Поле объекта `padding`, `refreshInterval` и `hideVimModeIndicator` управляют интервалом, периодическими повторными запусками и тем, скрыт ли встроенный индикатор режима vim ниже приглашения. См. [документацию `statusLine`](/ru/statusline#manually-configure-a-status-line) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

305| `strictKnownMarketplaces` | (Только управляемые параметры) Список разрешений источников marketplace plugins. Не определено = без ограничений, пустой массив = блокировка. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |316| `strictKnownMarketplaces` | (Только управляемые параметры) Список разрешений источников marketplace plugins. Не определено = без ограничений, пустой массив = блокировка. Применяется при добавлении marketplace и при установке, обновлении, обновлении и автоматическом обновлении plugin, поэтому marketplace, добавленный до установки политики, не может быть использован для получения plugins. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. [Управляемые ограничения marketplace](/ru/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

306| `strictPluginOnlyCustomization` | (Только управляемые параметры) Блокировать skills, agents, hooks и MCP servers из источников пользователя и проекта, поэтому они могут поступать только из plugins или управляемых параметров. `true` блокирует все четыре поверхности; массив блокирует только названные. См. [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |317| `strictPluginOnlyCustomization` | (Только управляемые параметры) Блокировать skills, agents, hooks и MCP servers из источников пользователя и проекта, поэтому они могут поступать только из plugins или управляемых параметров. `true` блокирует все четыре поверхности; массив блокирует только названные. См. [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | `["skills", "hooks"]` |

307| `syntaxHighlightingDisabled` | Отключить подсветку синтаксиса в дифах, блоках кода и предпросмотрах файлов | `true` |318| `syntaxHighlightingDisabled` | Отключить подсветку синтаксиса в дифах, блоках кода и предпросмотрах файлов | `true` |

308| `teammateMode` | Как отображаются товарищи по [команде агентов](/ru/agent-teams): `auto` (выбирает разделенные панели в tmux или iTerm2, в процессе в противном случае), `in-process` или `tmux` (разделенные панели с использованием tmux или iTerm2, обнаруженные из вашего терминала). `--teammate-mode` переопределяет это на один сеанс. См. [выбрать режим отображения](/ru/agent-teams#choose-a-display-mode) | `"in-process"` |319| `teammateMode` | **По умолчанию**: `in-process`. Как отображаются товарищи по [команде агентов](/ru/agent-teams): `in-process`, `auto` (разделенные панели в tmux или iTerm2, в процессе в противном случае), `tmux` (разделенные панели с использованием tmux или iTerm2, обнаруженные из вашего терминала), или {/* min-version: 2.1.186 */}}`iterm2` (iTerm2 native split panes via the `it2` CLI, added in v2.1.186). По умолчанию изменилось с `auto` в v2.1.179. `--teammate-mode` переопределяет это на один сеанс. См. [выбрать режим отображения](/ru/agent-teams#choose-a-display-mode) | `"auto"` |

309| `terminalProgressBarEnabled` | Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. По умолчанию: `true`. Появляется в `/config` как **Terminal progress bar** | `false` |320| `terminalProgressBarEnabled` | **По умолчанию**: `true`. Показывать полосу прогресса терминала в поддерживаемых терминалах: ConEmu, Ghostty 1.2.0+ и iTerm2 3.6.6+. Появляется в `/config` как **Terminal progress bar** | `false` |

310| `theme` | {/* min-version: 2.1.119 */}Цветовая тема для интерфейса: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"` или ссылка на пользовательскую тему, такая как `"custom:<slug>"` или `"custom:<plugin-name>:<slug>"`. По умолчанию: `"dark"`. См. [Создать пользовательскую тему](/ru/terminal-config#create-a-custom-theme). Появляется в `/config` как **Theme** | `"dark"` |321| `theme` | {/* min-version: 2.1.119 */}**По умолчанию**: `"dark"`. Цветовая тема для интерфейса: `"auto"`, `"dark"`, `"light"`, `"dark-daltonized"`, `"light-daltonized"`, `"dark-ansi"`, `"light-ansi"` или ссылка на пользовательскую тему, такая как `"custom:<slug>"` или `"custom:<plugin-name>:<slug>"`. См. [Создать пользовательскую тему](/ru/terminal-config#create-a-custom-theme). Появляется в `/config` как **Theme** | `"dark"` |

311| `tui` | Средство визуализации Terminal UI. Используйте `"fullscreen"` для безмерцающего [alt-screen renderer](/ru/fullscreen) с виртуализированной прокруткой. Используйте `"default"` для классического main-screen renderer. Установите через `/tui`. Вы также можете установить переменную окружения [`CLAUDE_CODE_NO_FLICKER`](/ru/env-vars). Фоновые сеансы, открытые из [представления агента](/ru/agent-view), всегда используют fullscreen renderer независимо от этого параметра | `"fullscreen"` |322| `tui` | Средство визуализации Terminal UI. Используйте `"fullscreen"` для безмерцающего [alt-screen renderer](/ru/fullscreen) с виртуализированной прокруткой. Используйте `"default"` для классического main-screen renderer. Установите через `/tui`. Вы также можете установить переменную окружения [`CLAUDE_CODE_NO_FLICKER`](/ru/env-vars). Фоновые сеансы, открытые из [представления агента](/ru/agent-view), всегда используют fullscreen renderer независимо от этого параметра | `"fullscreen"` |

312| `ultracode` | Включить [ultracode](/ru/workflows#let-claude-decide-with-ultracode) для сеанса. Только для сеанса и не читается из `settings.json`. Установите через `/effort ultracode`, `--settings` или запрос управления Agent SDK | `true` |323| `ultracode` | Включить [ultracode](/ru/workflows#let-claude-decide-with-ultracode) для сеанса. Только для сеанса и не читается из `settings.json`. Установите через `/effort ultracode`, `--settings` или запрос управления Agent SDK | `true` |

313| `useAutoModeDuringPlan` | Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. По умолчанию: `true`. Не читается из общих параметров проекта. Появляется в `/config` как "Use auto mode during plan" | `false` |324| `useAutoModeDuringPlan` | **По умолчанию**: `true`. Использует ли Plan Mode семантику автоматического режима, когда автоматический режим доступен. Не читается из общих параметров проекта. Появляется в `/config` как "Use auto mode during plan" | `false` |

314| `verbose` | {/* min-version: 2.1.119 */}Показать полный вывод инструмента вместо усеченных сводок. По умолчанию: `false`. Появляется в `/config` как **Verbose output**. Флаг `--verbose` переопределяет это на один сеанс | `true` |325| `verbose` | {/* min-version: 2.1.119 */}**По умолчанию**: `false`. Показать полный вывод инструмента вместо усеченных сводок. Появляется в `/config` как **Verbose output**. Флаг `--verbose` переопределяет это на один сеанс | `true` |

315| `viewMode` | Режим просмотра стенограммы по умолчанию при запуске: `"default"`, `"verbose"` или `"focus"`. Переопределяет липкий выбор `/focus` при установке. Флаг `--verbose` переопределяет это на один сеанс | `"verbose"` |326| `viewMode` | Режим просмотра стенограммы по умолчанию при запуске: `"default"`, `"verbose"` или `"focus"`. Переопределяет липкий выбор `/focus` при установке. Флаг `--verbose` переопределяет это на один сеанс | `"verbose"` |

316| `voice` | Параметры [голосового диктанта](/ru/voice-dictation): `enabled` включает диктант, `mode` выбирает `"hold"` или `"tap"`, и `autoSubmit` отправляет запрос при отпускании клавиши в режиме hold. Записывается автоматически при запуске `/voice`. Требует учетную запись Claude.ai | `{ "enabled": true, "mode": "tap" }` |327| `voice` | Параметры [голосового диктанта](/ru/voice-dictation): `enabled` включает диктант, `mode` выбирает `"hold"` или `"tap"`, и `autoSubmit` отправляет запрос при отпускании клавиши в режиме hold. Записывается автоматически при запуске `/voice`. Требует учетную запись Claude.ai | `{ "enabled": true, "mode": "tap" }` |

317| `voiceEnabled` | Устаревший псевдоним для `voice.enabled`. Предпочитайте объект `voice` | `true` |328| `voiceEnabled` | Устаревший псевдоним для `voice.enabled`. Предпочитайте объект `voice` | `true` |

318| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}В [fullscreen rendering](/ru/fullscreen#mouse-wheel-scrolling), ускорить скорость прокрутки колеса мыши во время быстрой прокрутки. По умолчанию: `true`. Установите на `false` для постоянной скорости прокрутки за один оборот колеса. Требует Claude Code v2.1.174 или позже | `false` |329| `wheelScrollAccelerationEnabled` | {/* min-version: 2.1.174 */}**По умолчанию**: `true`. В [fullscreen rendering](/ru/fullscreen#mouse-wheel-scrolling), ускорить скорость прокрутки колеса мыши во время быстрой прокрутки. Установите на `false` для постоянной скорости прокрутки за один оборот колеса. Требует Claude Code v2.1.174 или позже | `false` |

319| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}Вызывает ли слово `ultracode` в запросе [динамический workflow](/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите на `false`, чтобы вводить слово без срабатывания. Ultracode, `/workflows` и сохраненные команды workflow не затронуты. По умолчанию: `true`. Появляется в `/config` как **Ultracode keyword trigger**. Добавлено в v2.1.157; до v2.1.160 ключевое слово триггера было `workflow` | `false` |330| `workflowKeywordTriggerEnabled` | {/* min-version: 2.1.157 */}**По умолчанию**: `true`. Вызывает ли слово `ultracode` в запросе [динамический workflow](/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите на `false`, чтобы вводить слово без срабатывания. Ultracode, `/workflows` и сохраненные команды workflow не затронуты. Появляется в `/config` как **Ultracode keyword trigger**. Добавлено в v2.1.157; до v2.1.160 ключевое слово триггера было `workflow` | `false` |

320| `wslInheritsWindowsSettings` | (Только управляемые параметры Windows) Когда `true`, Claude Code на WSL читает управляемые параметры из цепочки политик Windows в дополнение к `/etc/claude-code`, с приоритетом источников Windows. Учитывается только при установке в ключе реестра HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, оба из которых требуют администратора Windows для записи. Чтобы политика HKCU также применялась на WSL, флаг должен быть дополнительно установлен в самом HKCU. Не влияет на нативный Windows | `true` |331| `wslInheritsWindowsSettings` | (Только управляемые параметры Windows) Когда `true`, Claude Code на WSL читает управляемые параметры из цепочки политик Windows в дополнение к `/etc/claude-code`, с приоритетом источников Windows. Учитывается только при установке в ключе реестра HKLM или `C:\Program Files\ClaudeCode\managed-settings.json`, оба из которых требуют администратора Windows для записи. Чтобы политика HKCU также применялась на WSL, флаг должен быть дополнительно установлен в самом HKCU. Не влияет на нативный Windows | `true` |

321 332 

322<h3 id="global-config-settings">333<h3 id="global-config-settings">


330</Note>341</Note>

331 342 

332| Ключ | Описание | Пример |343| Ключ | Описание | Пример |

333| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |344| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

334| `autoConnectIde` | Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. По умолчанию: `false`. Появляется в `/config` как **Auto-connect to IDE (external terminal)** при запуске вне терминала VS Code или JetBrains. Переменная окружения [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/ru/env-vars) переопределяет это при установке | `true` |345| `autoConnectIde` | **По умолчанию**: `false`. Автоматически подключаться к запущенной IDE при запуске Claude Code из внешнего терминала. Появляется в `/config` как **Auto-connect to IDE (external terminal)** при запуске вне терминала VS Code или JetBrains. Переменная окружения [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/ru/env-vars) переопределяет это при установке | `true` |

335| `autoInstallIdeExtension` | Автоматически устанавливать расширение Claude Code IDE при запуске из терминала VS Code. По умолчанию: `true`. Появляется в `/config` как **Auto-install IDE extension** при запуске внутри терминала VS Code или JetBrains. Вы также можете установить переменную окружения [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/ru/env-vars) | `false` |346| `autoInstallIdeExtension` | **По умолчанию**: `true`. Автоматически устанавливать расширение Claude Code IDE при запуске из терминала VS Code. Появляется в `/config` как **Auto-install IDE extension** при запуске внутри терминала VS Code или JetBrains. Вы также можете установить переменную окружения [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/ru/env-vars) | `false` |

336| `externalEditorContext` | Добавить предыдущий ответ Claude как контекст с комментариями `#` при открытии внешнего редактора с помощью `Ctrl+G`. По умолчанию: `false`. Появляется в `/config` как **Show last response in external editor** | `true` |347| `externalEditorContext` | **По умолчанию**: `false`. Добавить предыдущий ответ Claude как контекст с комментариями `#` при открытии внешнего редактора с помощью `Ctrl+G`. Появляется в `/config` как **Show last response in external editor** | `true` |

337| `teammateDefaultModel` | Модель по умолчанию для товарищей по [команде агентов](/ru/agent-teams) когда запрос порождения не указывает одну. Установите на псевдоним модели, такой как `"sonnet"`, или `null` для наследования текущего выбора `/model` лидера. Появляется в `/config` как **Default teammate model** | `"sonnet"` |348| `teammateDefaultModel` | Модель по умолчанию для товарищей по [команде агентов](/ru/agent-teams) когда запрос порождения не указывает одну. Установите на псевдоним модели, такой как `"sonnet"`, или `null` для наследования текущего выбора `/model` лидера. Появляется в `/config` как **Default teammate model** | `"sonnet"` |

338 349 

339<h3 id="worktree-settings">350<h3 id="worktree-settings">


389Настройте расширенное поведение sandboxing. Sandboxing изолирует команды bash от вашей файловой системы и сети. См. [Sandboxing](/ru/sandboxing) для деталей.400Настройте расширенное поведение sandboxing. Sandboxing изолирует команды bash от вашей файловой системы и сети. См. [Sandboxing](/ru/sandboxing) для деталей.

390 401 

391| Ключи | Описание | Пример |402| Ключи | Описание | Пример |

392| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------- |403| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

393| `enabled` | Включить bash sandboxing (macOS, Linux и WSL2). По умолчанию: false | `true` |404| `enabled` | Включить bash sandboxing (macOS, Linux и WSL2). По умолчанию: false | `true` |

394| `failIfUnavailable` | Выход с ошибкой при запуске, если `sandbox.enabled` равно true, но sandbox не может запуститься (отсутствуют зависимости или неподдерживаемая платформа). Когда false (по умолчанию), выводится предупреждение и команды выполняются без sandbox. Предназначено для развертываний управляемых параметров, требующих sandboxing как жесткого шлюза | `true` |405| `failIfUnavailable` | Выход с ошибкой при запуске, если `sandbox.enabled` равно true, но sandbox не может запуститься (отсутствуют зависимости или неподдерживаемая платформа). Когда false (по умолчанию), выводится предупреждение и команды выполняются без sandbox. Предназначено для развертываний управляемых параметров, требующих sandboxing как жесткого шлюза | `true` |

395| `autoAllowBashIfSandboxed` | Автоматически одобрить команды bash при sandboxing. По умолчанию: true | `true` |406| `autoAllowBashIfSandboxed` | Автоматически одобрить команды bash при sandboxing. По умолчанию: true | `true` |


400| `filesystem.denyRead` | Пути, где команды в sandbox не могут читать. Массивы объединяются во всех областях параметров. Также объединяются с путями из правил разрешения `Read(...)`. | `["~/.aws/credentials"]` |411| `filesystem.denyRead` | Пути, где команды в sandbox не могут читать. Массивы объединяются во всех областях параметров. Также объединяются с путями из правил разрешения `Read(...)`. | `["~/.aws/credentials"]` |

401| `filesystem.allowRead` | Пути для повторного разрешения чтения в пределах регионов `denyRead`. Имеет приоритет над `denyRead`. Массивы объединяются во всех областях параметров. Используйте это для создания шаблонов доступа для чтения только рабочей области. | `["."]` |412| `filesystem.allowRead` | Пути для повторного разрешения чтения в пределах регионов `denyRead`. Имеет приоритет над `denyRead`. Массивы объединяются во всех областях параметров. Используйте это для создания шаблонов доступа для чтения только рабочей области. | `["."]` |

402| `filesystem.allowManagedReadPathsOnly` | (Только управляемые параметры) Только пути `allowRead` из управляемых параметров учитываются. `denyRead` по-прежнему объединяется из всех источников. По умолчанию: false | `true` |413| `filesystem.allowManagedReadPathsOnly` | (Только управляемые параметры) Только пути `allowRead` из управляемых параметров учитываются. `denyRead` по-прежнему объединяется из всех источников. По умолчанию: false | `true` |

414| `credentials.files` | Файлы учетных данных или каталоги, которые команды в sandbox не могут читать. Применяет тот же блок чтения, что и `filesystem.denyRead`; отдельный ключ держит пути учетных данных сгруппированными с `credentials.envVars` и отдельно от общих правил файловой системы. Каждая запись - это `{ "path": "...", "mode": "deny" }`. Пути используют те же [префиксы](#sandbox-path-prefixes), что и параметры `filesystem.*`. Массивы объединяются во всех областях параметров. Поддерживается только `deny`. Требует Claude Code v2.1.187 или позже. | `[{ "path": "~/.aws/credentials", "mode": "deny" }]` |

415| `credentials.envVars` | Переменные окружения для отмены перед запуском команд в sandbox. Каждая запись - это `{ "name": "...", "mode": "deny" }`. Массивы объединяются во всех областях параметров. Поддерживается только `deny`. Требует Claude Code v2.1.187 или позже. | `[{ "name": "GITHUB_TOKEN", "mode": "deny" }]` |

403| `network.allowUnixSockets` | (Только macOS) Пути Unix socket, доступные в sandbox. Игнорируется на Linux и WSL2, где фильтр seccomp не может проверить пути socket; используйте `allowAllUnixSockets` вместо этого. | `["~/.ssh/agent-socket"]` |416| `network.allowUnixSockets` | (Только macOS) Пути Unix socket, доступные в sandbox. Игнорируется на Linux и WSL2, где фильтр seccomp не может проверить пути socket; используйте `allowAllUnixSockets` вместо этого. | `["~/.ssh/agent-socket"]` |

404| `network.allowAllUnixSockets` | Разрешить все подключения Unix socket в sandbox. На Linux и WSL2 это единственный способ разрешить Unix sockets, так как он пропускает фильтр seccomp, который в противном случае блокирует вызовы `socket(AF_UNIX, ...)`. По умолчанию: false | `true` |417| `network.allowAllUnixSockets` | Разрешить все подключения Unix socket в sandbox. На Linux и WSL2 это единственный способ разрешить Unix sockets, так как он пропускает фильтр seccomp, который в противном случае блокирует вызовы `socket(AF_UNIX, ...)`. По умолчанию: false | `true` |

405| `network.allowLocalBinding` | Разрешить привязку к портам localhost (только macOS). По умолчанию: false | `true` |418| `network.allowLocalBinding` | Разрешить привязку к портам localhost (только macOS). По умолчанию: false | `true` |


411| `network.socksProxyPort` | Порт SOCKS5 прокси, используемый, если вы хотите использовать собственный прокси. Если не указано, Claude запустит собственный прокси. | `8081` |424| `network.socksProxyPort` | Порт SOCKS5 прокси, используемый, если вы хотите использовать собственный прокси. Если не указано, Claude запустит собственный прокси. | `8081` |

412| `enableWeakerNestedSandbox` | Включить более слабый sandbox для непривилегированных окружений Docker (только Linux и WSL2). **Снижает безопасность.** По умолчанию: false | `true` |425| `enableWeakerNestedSandbox` | Включить более слабый sandbox для непривилегированных окружений Docker (только Linux и WSL2). **Снижает безопасность.** По умолчанию: false | `true` |

413| `enableWeakerNetworkIsolation` | (Только macOS) Разрешить доступ к системной службе доверия TLS (`com.apple.trustd.agent`) в sandbox. Требуется для инструментов на основе Go, таких как `gh`, `gcloud` и `terraform`, для проверки сертификатов TLS при использовании `httpProxyPort` с MITM прокси и пользовательским CA. **Снижает безопасность** путем открытия потенциального пути утечки данных. По умолчанию: false | `true` |426| `enableWeakerNetworkIsolation` | (Только macOS) Разрешить доступ к системной службе доверия TLS (`com.apple.trustd.agent`) в sandbox. Требуется для инструментов на основе Go, таких как `gh`, `gcloud` и `terraform`, для проверки сертификатов TLS при использовании `httpProxyPort` с MITM прокси и пользовательским CA. **Снижает безопасность** путем открытия потенциального пути утечки данных. По умолчанию: false | `true` |

427| `allowAppleEvents` | (Только macOS) Разрешить команды в sandbox отправлять Apple Events. Требуется для `open`, `osascript` и инструментов, которые открывают URL в браузере, которые в противном случае не удаются с ошибкой `-600`. **Удаляет изоляцию выполнения кода.** Команды в sandbox могут запускать другие приложения без sandbox без запроса пользователя; они также могут отправлять команды AppleScript запущенным приложениям, таким как Terminal, в соответствии с запросом согласия на автоматизацию macOS для каждого приложения (TCC). Учитывается только из параметров пользователя, управляемых или CLI, а не из параметров проекта. По умолчанию: false | `true` |

414| `bwrapPath` | (Только управляемые параметры, Linux/WSL2) Абсолютный путь к двоичному файлу bubblewrap (`bwrap`). Переопределяет автоматическое обнаружение через `PATH`. Учитывается только из [управляемых параметров](/ru/settings#settings-files), а не из параметров пользователя или проекта. Полезно, когда `bwrap` установлен в нестандартном местоположении в управляемых окружениях. | `/opt/admin/bwrap` |428| `bwrapPath` | (Только управляемые параметры, Linux/WSL2) Абсолютный путь к двоичному файлу bubblewrap (`bwrap`). Переопределяет автоматическое обнаружение через `PATH`. Учитывается только из [управляемых параметров](/ru/settings#settings-files), а не из параметров пользователя или проекта. Полезно, когда `bwrap` установлен в нестандартном местоположении в управляемых окружениях. | `/opt/admin/bwrap` |

415| `socatPath` | (Только управляемые параметры, Linux/WSL2) Абсолютный путь к двоичному файлу `socat`, используемому для прокси сети sandbox. Переопределяет автоматическое обнаружение через `PATH`. Учитывается только из управляемых параметров. | `/opt/admin/socat` |429| `socatPath` | (Только управляемые параметры, Linux/WSL2) Абсолютный путь к двоичному файлу `socat`, используемому для прокси сети sandbox. Переопределяет автоматическое обнаружение через `PATH`. Учитывается только из управляемых параметров. | `/opt/admin/socat` |

416 430 


418 Префиксы пути Sandbox432 Префиксы пути Sandbox

419</h4>433</h4>

420 434 

421Пути в `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead` и `filesystem.allowRead` поддерживают эти префиксы:435Пути в `filesystem.allowWrite`, `filesystem.denyWrite`, `filesystem.denyRead`, `filesystem.allowRead` и `credentials.files` поддерживают эти префиксы:

422 436 

423| Префикс | Значение | Пример |437| Префикс | Значение | Пример |

424| :-------------------- | :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |438| :-------------------- | :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |


467* Описания pull request - это простой текст481* Описания pull request - это простой текст

468 482 

469| Ключи | Описание |483| Ключи | Описание |

470| :------- | :------------------------------------------------------------------------------------------- |484| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

471| `commit` | Атрибуция для коммитов git, включая любые trailers. Пустая строка скрывает атрибуцию коммита |485| `commit` | Атрибуция для коммитов git, включая любые trailers. Пустая строка скрывает атрибуцию коммита |

472| `pr` | Атрибуция для описаний pull request. Пустая строка скрывает атрибуцию pull request |486| `pr` | Атрибуция для описаний pull request. Пустая строка скрывает атрибуцию pull request |

487| `sessionUrl` | Добавлять ли ссылку на сеанс claude.ai как trailer `Claude-Session` на коммитах и ссылку в описаниях pull request при запуске из веб-сеанса или сеанса Remote Control. По умолчанию: `true`. Установите на `false`, чтобы опустить ссылку |

473 488 

474**Атрибуция коммита по умолчанию:**489**Атрибуция коммита по умолчанию:**

475 490 

476```text theme={null}491```text theme={null}

477Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>492Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

478```493```

479 494 

480Имя модели в trailer отражает активную модель для сеанса.495Имя модели в trailer отражает активную модель для сеанса.


497```512```

498 513 

499<Note>514<Note>

500 Параметр `attribution` имеет приоритет над устаревшим параметром `includeCoAuthoredBy`. Чтобы скрыть всю атрибуцию, установите `commit` и `pr` на пустые строки.515 Параметр `attribution` имеет приоритет над устаревшим параметром `includeCoAuthoredBy`. Чтобы скрыть всю атрибуцию, установите `commit` и `pr` на пустые строки и `sessionUrl` на `false`.

501</Note>516</Note>

502 517 

503<h3 id="file-suggestion-settings">518<h3 id="file-suggestion-settings">


6471. **Управляемые параметры** ([управляемые сервером](/ru/server-managed-settings), [политики MDM/OS-уровня](#configuration-scopes) или [управляемые параметры](/ru/settings#settings-files))6621. **Управляемые параметры** ([управляемые сервером](/ru/server-managed-settings), [политики MDM/OS-уровня](#configuration-scopes) или [управляемые параметры](/ru/settings#settings-files))

648 * Политики, развернутые IT через доставку сервера, профили конфигурации MDM, политики реестра или файлы управляемых параметров663 * Политики, развернутые IT через доставку сервера, профили конфигурации MDM, политики реестра или файлы управляемых параметров

649 * Не могут быть переопределены никаким другим уровнем, включая аргументы командной строки664 * Не могут быть переопределены никаким другим уровнем, включая аргументы командной строки

650 * В пределах управляемого уровня приоритет: server-managed > политики MDM/OS-уровня > file-based (`managed-settings.d/*.json` + `managed-settings.json`) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях. В пределах file-based уровня, drop-in файлы и базовый файл объединяются вместе.665 * В пределах управляемого уровня приоритет: [`policyHelper`](#compute-managed-settings-with-a-policy-helper) вывод, который при настройке является единственным используемым управляемым источником > удаленный (параметры, управляемые сервером claude.ai или [Claude apps gateway](/ru/claude-apps-gateway)-доставленные) > политики MDM/OS-уровня > на основе файлов (`managed-settings.d/*.json` + `managed-settings.json`) > реестр HKCU (только Windows). Используется только один управляемый источник; источники не объединяются в разных уровнях, с одним исключением: ключи блокировки sandbox `sandbox.network.allowManagedDomainsOnly` и `sandbox.filesystem.allowManagedReadPathsOnly`, с их связанными списками разрешений, `allowAllClaudeAiMcps` и пути двоичных файлов sandbox `sandbox.bwrapPath` и `sandbox.socatPath` учитываются, когда любой управляемый источник, контролируемый администратором, их устанавливает; уровень HKCU, доступный для записи пользователем, исключен. В пределах уровня на основе файлов, drop-in файлы и базовый файл объединяются вместе.

651 * Хосты встраивания, такие как Claude Desktop, могут предоставлять политику через опцию SDK `managedSettings`. По умолчанию это игнорируется, когда присутствует любой управляемый уровень. Администраторы могут согласиться, установив [`parentSettingsBehavior`](#available-settings) на `"merge"`. Значения встраивателя отфильтрованы, чтобы они могли ужесточить управляемую политику, но не ослабить ее.666 * Хосты встраивания, такие как Claude Desktop, могут предоставлять политику через опцию SDK `managedSettings`. По умолчанию это игнорируется, когда присутствует любой управляемый источник, развернутый администратором: параметры, управляемые сервером, политика MDM или OS-уровня, или файл управляемых параметров. Резервный реестр HKCU, доступный для записи пользователем, не считается управляемым источником, развернутым администратором. Администраторы могут согласиться, установив [`parentSettingsBehavior`](#available-settings) на `"merge"`. Значения встраивателя отфильтрованы, чтобы они могли ужесточить управляемую политику, но не ослабить ее.

652 667 

6532. **Аргументы командной строки**6682. **Аргументы командной строки**

654 * Временные переопределения для конкретного сеанса. JSON, переданный через `--settings <file-or-json>`, объединяется с параметрами на основе файлов, используя те же правила, что и другие уровни: ключ, установленный здесь, переопределяет тот же ключ в локальных, проектных или пользовательских параметрах, и пропуск ключа оставляет значение нижнего уровня на месте669 * Временные переопределения для конкретного сеанса. JSON, переданный через `--settings <file-or-json>`, объединяется с параметрами на основе файлов, используя те же правила, что и другие уровни: ключ, установленный здесь, переопределяет тот же ключ в локальных, проектных или пользовательских параметрах, и пропуск ключа оставляет значение нижнего уровня на месте


667Например, если ваши параметры пользователя установили `permissions.defaultMode` на `acceptEdits` и параметры проекта установили его на `default`, применяется значение проекта. Пример ниже охватывает, как вместо этого объединяются параметры со значениями массива, такие как правила разрешений.682Например, если ваши параметры пользователя установили `permissions.defaultMode` на `acceptEdits` и параметры проекта установили его на `default`, применяется значение проекта. Пример ниже охватывает, как вместо этого объединяются параметры со значениями массива, такие как правила разрешений.

668 683 

669<Note>684<Note>

670 **Параметры массива объединяются в разных областях.** Когда один и тот же параметр со значением массива (такой как `sandbox.filesystem.allowWrite` или `permissions.allow`) появляется в нескольких областях, массивы **объединяются и дедублицируются**, не заменяются. Это означает, что области с более низким приоритетом могут добавлять записи без переопределения установленных областями с более высоким приоритетом, и наоборот. Например, если управляемые параметры устанавливают `allowWrite` на `["/opt/company-tools"]` и пользователь добавляет `["~/.kube"]`, оба пути включены в окончательную конфигурацию. Два исключения: [`fallbackModel`](#available-settings), упорядоченная цепь, где позиция имеет значение, поэтому файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь, и {/* min-version: 2.1.175 */}начиная с v2.1.175, [`availableModels`](#available-settings), где управляемое или политическое значение полностью заменяет записи с более низким приоритетом. См. [Поведение объединения](/ru/model-config#merge-behavior).685 **Параметры массива объединяются в разных областях.** Когда один и тот же параметр со значением массива (такой как `sandbox.filesystem.allowWrite` или `permissions.allow`) появляется в нескольких областях, массивы **объединяются и дедублицируются**, не заменяются. Это означает, что области с более низким приоритетом могут добавлять записи без переопределения установленных областями с более высоким приоритетом, и наоборот. Например, если управляемые параметры устанавливают `allowWrite` на `["/opt/company-tools"]` и пользователь добавляет `["~/.kube"]`, оба пути включены в окончательную конфигурацию.

686 

687 Два параметра массива не объединяются таким образом:

688 

689 * [`fallbackModel`](#available-settings) - это упорядоченная цепь, где позиция имеет значение: файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь.

690 * [`availableModels`](#available-settings): {/* min-version: 2.1.175 */}когда [источник управляемых параметров с наивысшим приоритетом](/ru/server-managed-settings#settings-precedence) его определяет, этот список применяется как есть и записи пользователя, проекта и локальной области не могут его расширить. В разных неуправляемых областях массивы объединяются как обычно. См. [Поведение объединения](/ru/model-config#merge-behavior).

671</Note>691</Note>

672 692 

673<h3 id="verify-active-settings">693<h3 id="verify-active-settings">

674 Проверить активные параметры694 Проверить активные параметры

675</h3>695</h3>

676 696 

677Запустите `/status` внутри Claude Code, чтобы увидеть, какие источники параметров активны. Внутри меню вкладка **Status** включает строку `Setting sources`, которая перечисляет каждый уровень Claude Code, загруженный для текущего сеанса, такой как `User settings` или `Project local settings`. Когда действуют [управляемые параметры](/ru/admin-setup#decide-how-settings-reach-devices), запись показывает канал доставки в скобках, например `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` или `(file)`. Уровень появляется в списке только когда этот источник загружается с по крайней мере одним ключом, поэтому пустой список означает, что источники параметров не были найдены.697Запустите `/status` внутри Claude Code, чтобы увидеть, какие источники параметров активны. Внутри меню вкладка **Status** включает строку `Setting sources`, которая перечисляет каждый уровень Claude Code, заг загруженный для текущего сеанса, такой как `User settings` или `Project local settings`. Когда действуют [управляемые параметры](/ru/admin-setup#decide-how-settings-reach-devices), запись показывает канал доставки в скобках, например `Enterprise managed settings (remote)`, `(plist)`, `(HKLM)`, `(HKCU)` или `(file)`. Уровень появляется в списке только когда этот источник загружается с по крайней мере одним ключом, поэтому пустой список означает, что источники параметров не были найдены.

678 698 

679Строка `Setting sources` подтверждает, какие источники читаются. Она не показывает, какой уровень предоставил каждый отдельный ключ. Вкладка **Config** в том же диалоге - это редактор для фиксированного набора переключателей, таких как тема и подробный вывод, а не представление содержимого вашего `settings.json`.699Строка `Setting sources` подтверждает, какие источники читаются. Она не показывает, какой уровень предоставил каждый отдельный ключ. Вкладка **Config** в том же диалоге - это редактор для фиксированного набора переключателей, таких как тема и подробный вывод, а не представление содержимого вашего `settings.json`.

680 700 

681Если файл параметров содержит ошибки, такие как недействительный JSON или значение, которое не прошло валидацию, Claude Code показывает уведомление о проблемах установки при запуске и `/status` перечисляет затронутые файлы. Запустите `/doctor` для деталей каждой ошибки.701Если файл параметров содержит ошибки, такие как недействительный JSON или значение, которое не прошло валидацию, `/status` перечисляет затронутые файлы. Запустите `/doctor` для деталей каждой ошибки.

682 702 

683<h3 id="key-points-about-the-configuration-system">703<h3 id="key-points-about-the-configuration-system">

684 Ключевые моменты о системе конфигурации704 Ключевые моменты о системе конфигурации


689* **Skills**: Пользовательские запросы, которые можно вызвать с помощью `/skill-name` или загружены Claude автоматически709* **Skills**: Пользовательские запросы, которые можно вызвать с помощью `/skill-name` или загружены Claude автоматически

690* **MCP servers**: Расширяют Claude Code дополнительными инструментами и интеграциями710* **MCP servers**: Расширяют Claude Code дополнительными инструментами и интеграциями

691* **Приоритет**: Конфигурации более высокого уровня (Managed) переопределяют конфигурации более низкого уровня (User/Project)711* **Приоритет**: Конфигурации более высокого уровня (Managed) переопределяют конфигурации более низкого уровня (User/Project)

692* **Наследование**: Параметры объединяются в разных областях; скалярные значения из областей с более высоким приоритетом переопределяют, и массивы объединяются. Исключения: `fallbackModel`, где файл с наивысшим приоритетом, который его определяет, предоставляет всю цепь, и `availableModels`, где управляемое или политическое значение полностью заменяет записи с более низким приоритетом712* **Наследование**: Параметры объединяются в разных областях; скалярные значения из областей с более высоким приоритетом переопределяют, и массивы объединяются, с двумя исключениями, описанными в [примечании об объединении массивов](#settings-precedence)

693 713 

694<h3 id="system-prompt">714<h3 id="system-prompt">

695 Системный запрос715 Системный запрос


697 717 

698Внутренний системный запрос Claude Code не опубликован. Чтобы добавить пользовательские инструкции, используйте файлы `CLAUDE.md` или флаг `--append-system-prompt`.718Внутренний системный запрос Claude Code не опубликован. Чтобы добавить пользовательские инструкции, используйте файлы `CLAUDE.md` или флаг `--append-system-prompt`.

699 719 

700<h3 id="excluding-sensitive-files">720<h3 id="exclude-sensitive-files">

701 Исключение чувствительных файлов721 Исключение чувствительных файлов

702</h3>722</h3>

703 723 


725 745 

726Claude Code поддерживает пользовательские AI subagents, которые можно настроить на уровне пользователя и проекта. Эти subagents хранятся как файлы Markdown с YAML frontmatter:746Claude Code поддерживает пользовательские AI subagents, которые можно настроить на уровне пользователя и проекта. Эти subagents хранятся как файлы Markdown с YAML frontmatter:

727 747 

728* **Subagents пользователя**: `~/.claude/agents/` - Доступны во всех ваших проектах748* **Subagents пользователя**: `~/.claude/agents/`, доступны во всех ваших проектах

729* **Subagents проекта**: `.claude/agents/` - Специфичны для вашего проекта и могут быть совместно использованы с вашей командой749* **Subagents проекта**: `.claude/agents/`, специфичны для вашего проекта и могут быть совместно использованы с вашей командой

730 750 

731Файлы Subagent определяют специализированных AI помощников с пользовательскими запросами и разрешениями инструментов. Узнайте больше о создании и использовании subagents в [документации subagents](/ru/sub-agents).751Файлы Subagent определяют специализированных AI помощников с пользовательскими запросами и разрешениями инструментов. Узнайте больше о создании и использовании subagents в [документации subagents](/ru/sub-agents).

732 752 


777 Параметры проекта имеют приоритет над параметрами пользователя, поэтому установка plugin на `false` в `~/.claude/settings.json` не отключает plugin, который параметры проекта `.claude/settings.json` включают. Чтобы отказаться от plugin, включенного проектом, на вашей машине, установите его на `false` в `.claude/settings.local.json` вместо этого.797 Параметры проекта имеют приоритет над параметрами пользователя, поэтому установка plugin на `false` в `~/.claude/settings.json` не отключает plugin, который параметры проекта `.claude/settings.json` включают. Чтобы отказаться от plugin, включенного проектом, на вашей машине, установите его на `false` в `.claude/settings.local.json` вместо этого.

778 798 

779 Plugins, принудительно включенные управляемыми параметрами, не могут быть отключены таким образом, так как управляемые параметры переопределяют локальные параметры.799 Plugins, принудительно включенные управляемыми параметрами, не могут быть отключены таким образом, так как управляемые параметры переопределяют локальные параметры.

800 

801 Включение plugin из внешнего источника, такого как репозиторий GitHub или пакет npm, в файле `.claude/settings.json` проекта не устанавливает его для других людей. Начиная с Claude Code v2.1.195, каждый путь, который загружает plugins, просит каждого пользователя [установить и доверить plugin](/ru/discover-plugins#configure-team-marketplaces) перед его запуском.

780</Note>802</Note>

781 803 

782**Пример**:804**Пример**:


900{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }922{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }

901```923```

902 924 

903Поля: `repo` (обязательно), `ref` (опционально: ветка/тег/SHA), `path` (опционально: подкаталог)925Поля: `repo` (обязательно), `ref` (опционально: ветка или тег), `path` (опционально: подкаталог)

904 926 

9052. **Репозитории Git**:9272. **Репозитории Git**:

906 928 


910{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }932{ "source": "git", "url": "ssh://git@git.example.com/plugins.git", "ref": "v3.1", "path": "approved" }

911```933```

912 934 

913Поля: `url` (обязательно), `ref` (опционально: ветка/тег/SHA), `path` (опционально: подкаталог)935Поля: `url` (обязательно), `ref` (опционально: ветка или тег), `path` (опционально: подкаталог)

914 936 

9153. **Marketplaces на основе URL**:9373. **Marketplaces на основе URL**:

916 938 


1009}1031}

1010```1032```

1011 1033 

1012Пример - Отключить все добавления marketplace:1034Пример: отключить все добавления marketplace:

1013 1035 

1014```json theme={null}1036```json theme={null}

1015{1037{


1032 1054 

1033**Требования точного сопоставления**:1055**Требования точного сопоставления**:

1034 1056 

1035Источники marketplace должны совпадать **точно** для разрешения добавления пользователем. Для источников на основе git (`github` и `git`), это включает все опциональные поля:1057Источники marketplace должны совпадать точно для разрешения добавления пользователем. Для источников на основе git (`github` и `git`), это включает все опциональные поля:

1036 1058 

1037* `repo` или `url` должны совпадать точно1059* `repo` или `url` должны совпадать точно

1038* Поле `ref` должно совпадать точно (или оба быть не определены)1060* Поле `ref` должно совпадать точно (или оба быть не определены)

1039* Поле `path` должно совпадать точно (или оба быть не определены)1061* Поле `path` должно совпадать точно (или оба быть не определены)

1040 1062 

1041Примеры источников, которые **НЕ совпадают**:1063Примеры источников, которые не совпадают:

1042 1064 

1043```json theme={null}1065```json theme={null}

1044// Это РАЗНЫЕ источники:1066// Это РАЗНЫЕ источники:


1143 1165 

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

1145 1167 

1146<h3 id="managing-plugins">1168<h3 id="manage-plugins">

1147 Управление Plugins1169 Управление Plugins

1148</h3>1170</h3>

1149 1171 

setup.md +1 −1

Details

36</h2>36</h2>

37 37 

38<Tip>38<Tip>

39 Предпочитаете графический интерфейс? [Приложение Desktop](/ru/desktop-quickstart) позволяет использовать Claude Code без терминала. Загрузите его для [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) или [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs).39 Предпочитаете графический интерфейс? [Приложение Desktop](/ru/desktop-quickstart) позволяет использовать Claude Code без терминала. Загрузите его для [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) или [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs).

40 40 

41 Новичок в терминале? См. [руководство по терминалу](/ru/terminal-guide) для пошаговых инструкций.41 Новичок в терминале? См. [руководство по терминалу](/ru/terminal-guide) для пошаговых инструкций.

42</Tip>42</Tip>

skills.md +9 −4

Details

245Все поля необязательны. Только `description` рекомендуется, чтобы Claude знал, когда использовать skill.245Все поля необязательны. Только `description` рекомендуется, чтобы Claude знал, когда использовать skill.

246 246 

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

248| :------------------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |248| :------------------------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

250| `description` | Рекомендуется | Что делает skill и когда его использовать. Claude использует это, чтобы решить, когда применять skill. Если опущено, использует первый абзац содержимого markdown. Поместите основной вариант использования в первую очередь: комбинированный текст `description` и `when_to_use` усекается на 1 536 символах в списке skills для уменьшения использования контекста. |250| `description` | Рекомендуется | Что делает skill и когда его использовать. Claude использует это, чтобы решить, когда применять skill. Если опущено, использует первый абзац содержимого markdown. Поместите основной вариант использования в первую очередь: комбинированный текст `description` и `when_to_use` усекается на 1 536 символах в списке skills для уменьшения использования контекста. |

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

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

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

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

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

256| `allowed-tools` | Нет | Инструменты, которые Claude может использовать без запроса разрешения, когда этот skill активен. Принимает строку, разделённую пробелами или запятыми, или список YAML. |256| `allowed-tools` | Нет | Инструменты, которые Claude может использовать без запроса разрешения, когда этот skill активен. Принимает строку, разделённую пробелами или запятыми, или список YAML. |

257| `disallowed-tools` | Нет | Инструменты, удалённые из доступного пула Claude, пока этот skill активен. Используйте для автономных skills, которые никогда не должны вызывать определённые инструменты, такие как `AskUserQuestion` для фонового цикла. Принимает строку, разделённую пробелами или запятыми, или список YAML. Ограничение очищается при отправке вашего следующего сообщения. |257| `disallowed-tools` | Нет | Инструменты, удалённые из доступного пула Claude, пока этот skill активен. Используйте для автономных skills, которые никогда не должны вызывать определённые инструменты, такие как `AskUserQuestion` для фонового цикла. Принимает строку, разделённую пробелами или запятыми, или список YAML. Ограничение очищается при отправке вашего следующего сообщения. |


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

289 289 

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

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

292| `$ARGUMENTS` | Все аргументы, переданные при вызове skill. Если `$ARGUMENTS` отсутствует в содержимом, аргументы добавляются как `ARGUMENTS: <value>`. |292| `$ARGUMENTS` | Все аргументы, переданные при вызове skill. Если `$ARGUMENTS` отсутствует в содержимом, аргументы добавляются как `ARGUMENTS: <value>`. |

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

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


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

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

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

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

300 

301Подстановка `${CLAUDE_PROJECT_DIR}` требует Claude Code версии 2.1.196 или позже. Она применяется как к телу skill, так и к frontmatter [`allowed-tools`](#frontmatter-reference), поэтому правило разрешения, такое как `Bash(${CLAUDE_PROJECT_DIR}/scripts/lint.sh *)`, разрешается в тот же путь, который использует тело skill.

299 302 

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

301 304 


899 902 

900Описания skills загружаются в контекст, чтобы Claude знал, что доступно. Все имена skills всегда включены, но если у вас много skills, описания сокращаются, чтобы соответствовать бюджету символов, что может удалить ключевые слова, которые Claude нужны для совпадения с вашим запросом. Бюджет масштабируется на 1% контекстного окна модели. Когда он переполняется, описания для skills, которые вы вызываете реже всего, удаляются в первую очередь, поэтому skills, которые вы фактически используете, сохраняют полный текст. Запустите `/doctor`, чтобы увидеть, сколько описаний skills сокращаются или удаляются и какие skills затронуты.903Описания skills загружаются в контекст, чтобы Claude знал, что доступно. Все имена skills всегда включены, но если у вас много skills, описания сокращаются, чтобы соответствовать бюджету символов, что может удалить ключевые слова, которые Claude нужны для совпадения с вашим запросом. Бюджет масштабируется на 1% контекстного окна модели. Когда он переполняется, описания для skills, которые вы вызываете реже всего, удаляются в первую очередь, поэтому skills, которые вы фактически используете, сохраняют полный текст. Запустите `/doctor`, чтобы увидеть, сколько описаний skills сокращаются или удаляются и какие skills затронуты.

901 904 

902Чтобы повысить бюджет, установите параметр [`skillListingBudgetFraction`](/ru/settings#available-settings) (например, `0.02` = 2%) или переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET` на фиксированное количество символов. Чтобы освободить бюджет для других skills, установите записи с низким приоритетом на `"name-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы они отображались без описания. Вы также можете обрезать текст `description` и `when_to_use` в источнике: поместите ключевой вариант использования в начало, так как комбинированный текст каждой записи ограничен 1 536 символами независимо от бюджета. Лимит настраивается с помощью [`maxSkillDescriptionChars`](/ru/settings#available-settings).905Начиная с версии 2.1.196, строка Skills в `/context` отображает размер списка после применения бюджета, поэтому он соответствует тому, что получает модель. В более ранних версиях подсчитывался полный текст каждого описания, поэтому строка могла показывать значение в несколько раз больше, чем бюджет, который сообщает `/doctor`.

906 

907Чтобы повысить бюджет, установите параметр [`skillListingBudgetFraction`](/ru/settings#available-settings) (например, `0.02` = 2%) или переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET` на фиксированное количество символов. Чтобы освободить бюджет для других skills, установите записи с низким приоритетом на `"name-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы они отображались без описания. Вы также можете обрезать текст `description` и `when_to_use` в источнике: поместите ключевой вариант использования в начало, так как комбинированный текст каждой записи ограничен 1 536 символами независимо от бюджета. Лимит настраивается с помощью [`skillListingMaxDescChars`](/ru/settings#available-settings).

903 908 

904<h2 id="related-resources">909<h2 id="related-resources">

905 Связанные ресурсы910 Связанные ресурсы

statusline.md +4 −1

Details

171Claude Code отправляет следующие поля JSON в ваш скрипт через stdin:171Claude Code отправляет следующие поля JSON в ваш скрипт через stdin:

172 172 

173| Поле | Описание |173| Поле | Описание |

174| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |174| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

175| `model.id`, `model.display_name` | Текущий идентификатор модели и отображаемое имя |175| `model.id`, `model.display_name` | Текущий идентификатор модели и отображаемое имя |

176| `cwd`, `workspace.current_dir` | Текущий рабочий каталог. Оба поля содержат одно и то же значение; `workspace.current_dir` предпочтительнее для согласованности с `workspace.project_dir`. |176| `cwd`, `workspace.current_dir` | Текущий рабочий каталог. Оба поля содержат одно и то же значение; `workspace.current_dir` предпочтительнее для согласованности с `workspace.project_dir`. |

177| `workspace.project_dir` | Каталог, в котором был запущен Claude Code, который может отличаться от `cwd`, если рабочий каталог изменяется во время сеанса |177| `workspace.project_dir` | Каталог, в котором был запущен Claude Code, который может отличаться от `cwd`, если рабочий каталог изменяется во время сеанса |


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

195| `session_id` | Уникальный идентификатор сеанса |195| `session_id` | Уникальный идентификатор сеанса |

196| `session_name` | Пользовательское имя сеанса, установленное с флагом `--name` или `/rename`. Отсутствует, если пользовательское имя не было установлено |196| `session_name` | Пользовательское имя сеанса, установленное с флагом `--name` или `/rename`. Отсутствует, если пользовательское имя не было установлено |

197| `prompt_id` | UUID, идентифицирующий пользовательский запрос, который в настоящее время обрабатывается. Совпадает с атрибутом [`prompt.id` на событиях OpenTelemetry](/ru/monitoring-usage#event-correlation-attributes). Отсутствует до первого ввода пользователя. Требуется Claude Code v2.1.196 или позже |

197| `transcript_path` | Путь к файлу стенограммы разговора |198| `transcript_path` | Путь к файлу стенограммы разговора |

198| `version` | Версия Claude Code |199| `version` | Версия Claude Code |

199| `output_style.name` | Имя текущего стиля вывода |200| `output_style.name` | Имя текущего стиля вывода |


215 "cwd": "/current/working/directory",216 "cwd": "/current/working/directory",

216 "session_id": "abc123...",217 "session_id": "abc123...",

217 "session_name": "my-session",218 "session_name": "my-session",

219 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

218 "transcript_path": "/path/to/transcript.jsonl",220 "transcript_path": "/path/to/transcript.jsonl",

219 "model": {221 "model": {

220 "id": "claude-opus-4-8",222 "id": "claude-opus-4-8",


296 **Поля, которые могут отсутствовать** (не присутствуют в JSON):298 **Поля, которые могут отсутствовать** (не присутствуют в JSON):

297 299 

298 * `session_name`: появляется только когда пользовательское имя было установлено с `--name` или `/rename`300 * `session_name`: появляется только когда пользовательское имя было установлено с `--name` или `/rename`

301 * `prompt_id`: появляется только после первого ввода пользователя

299 * `workspace.git_worktree`: появляется только когда текущий каталог находится внутри связанного git worktree302 * `workspace.git_worktree`: появляется только когда текущий каталог находится внутри связанного git worktree

300 * `workspace.repo`: появляется только внутри git репозитория с настроенным удалённым хранилищем `origin`303 * `workspace.repo`: появляется только внутри git репозитория с настроенным удалённым хранилищем `origin`

301 * `effort`: появляется только когда текущая модель поддерживает параметр reasoning effort304 * `effort`: появляется только когда текущая модель поддерживает параметр reasoning effort

sub-agents.md +51 −35

Details

38 <Tab title="Explore">38 <Tab title="Explore">

39 Быстрый агент, доступный только для чтения, оптимизированный для поиска и анализа кодовых баз.39 Быстрый агент, доступный только для чтения, оптимизированный для поиска и анализа кодовых баз.

40 40 

41 * **Model**: Haiku (быстрый, низкая задержка)41 * **Model**: Haiku, который быстрый и имеет низкую задержку

42 * **Tools**: Инструменты только для чтения (запрещён доступ к инструментам Write и Edit)42 * **Tools**: инструменты только для чтения; Write и Edit запрещены

43 * **Purpose**: Обнаружение файлов, поиск кода, исследование кодовой базы43 * **Purpose**: обнаружение файлов, поиск кода, исследование кодовой базы

44 44 

45 Claude делегирует Explore, когда ему нужно искать или понимать кодовую базу без внесения изменений. Это сохраняет результаты исследования вне контекста основного разговора.45 Claude делегирует Explore, когда ему нужно искать или понимать кодовую базу без внесения изменений. Это сохраняет результаты исследования вне контекста основного разговора.

46 46 


50 <Tab title="Plan">50 <Tab title="Plan">

51 Исследовательский агент, используемый во время [plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для сбора контекста перед представлением плана.51 Исследовательский агент, используемый во время [plan mode](/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для сбора контекста перед представлением плана.

52 52 

53 * **Model**: Наследуется из основного разговора53 * **Model**: наследуется из основного разговора

54 * **Tools**: Инструменты только для чтения (запрещён доступ к инструментам Write и Edit)54 * **Tools**: инструменты только для чтения; Write и Edit запрещены

55 * **Purpose**: Исследование кодовой базы для планирования55 * **Purpose**: исследование кодовой базы для планирования

56 56 

57 Когда вы находитесь в режиме плана и Claude нужно понять вашу кодовую базу, он делегирует исследование subagent Plan, чтобы результаты исследования оставались в отдельном окне контекста, а основной разговор оставался доступным только для чтения.57 Когда вы находитесь в режиме плана и Claude нужно понять вашу кодовую базу, он делегирует исследование subagent Plan, чтобы результаты исследования оставались в отдельном окне контекста, а основной разговор оставался доступным только для чтения.

58 </Tab>58 </Tab>


60 <Tab title="General-purpose">60 <Tab title="General-purpose">

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

62 62 

63 * **Model**: Наследуется из основного разговора63 * **Model**: наследуется из основного разговора

64 * **Tools**: Все инструменты64 * **Tools**: все инструменты

65 * **Purpose**: Сложное исследование, многошаговые операции, модификация кода65 * **Purpose**: сложное исследование, многошаговые операции, модификация кода

66 66 

67 Claude делегирует general-purpose, когда задача требует как исследования, так и модификации, сложного рассуждения для интерпретации результатов или нескольких зависимых шагов.67 Claude делегирует general-purpose, когда задача требует как исследования, так и модификации, сложного рассуждения для интерпретации результатов или нескольких зависимых шагов.

68 </Tab>68 </Tab>


77 </Tab>77 </Tab>

78</Tabs>78</Tabs>

79 79 

80Встроенные subagents всегда регистрируются в интерактивных сессиях. Чтобы заблокировать определённый встроенный тип, добавьте его в `permissions.deny`, как показано в [Отключение определённых subagents](#disable-specific-subagents). Чтобы предотвратить делегирование Claude к любому subagent, запретите сам инструмент `Agent` с помощью [`permissions.deny`](/ru/permissions#tool-specific-permission-rules). В [неинтерактивном режиме](/ru/headless) и [Agent SDK](/ru/agent-sdk/overview) установите [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/ru/env-vars) для удаления всех встроенных типов и предоставления только ваших собственных.80Встроенные subagents всегда регистрируются в интерактивных сессиях. Чтобы ограничить их:

81 

82* Чтобы заблокировать определённый встроенный тип, добавьте его в `permissions.deny`, как показано в [Отключение определённых subagents](#disable-specific-subagents).

83* Чтобы предотвратить делегирование Claude к любому subagent, запретите сам инструмент `Agent` с помощью [`permissions.deny`](/ru/permissions#tool-specific-permission-rules).

84* В [неинтерактивном режиме](/ru/headless) и [Agent SDK](/ru/agent-sdk/overview) установите [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](/ru/env-vars) для удаления всех встроенных типов и предоставления только ваших собственных.

81 85 

82Помимо этих встроенных subagents, вы можете создавать свои собственные с пользовательскими приглашениями, ограничениями инструментов, режимами разрешений, hooks и skills. В следующих разделах показано, как начать работу и настроить subagents.86Помимо этих встроенных subagents, вы можете создавать свои собственные с пользовательскими приглашениями, ограничениями инструментов, режимами разрешений, hooks и skills. В следующих разделах показано, как начать работу и настроить subagents.

83 87 


93 <Step title="Откройте интерфейс subagents">97 <Step title="Откройте интерфейс subagents">

94 В Claude Code запустите:98 В Claude Code запустите:

95 99 

96 ```text theme={null}100 ```text wrap theme={null}

97 /agents101 /agents

98 ```102 ```

99 </Step>103 </Step>


105 <Step title="Генерируйте с помощью Claude">109 <Step title="Генерируйте с помощью Claude">

106 Выберите **Generate with Claude**. При появлении запроса опишите subagent:110 Выберите **Generate with Claude**. При появлении запроса опишите subagent:

107 111 

108 ```text theme={null}112 ```text wrap theme={null}

109 A code improvement agent that scans files and suggests improvements113 A code improvement agent that scans files and suggests improvements

110 for readability, performance, and best practices. It should explain114 for readability, performance, and best practices. It should explain

111 each issue, show the current code, and provide an improved version.115 each issue, show the current code, and provide an improved version.


133 <Step title="Сохраните и попробуйте">137 <Step title="Сохраните и попробуйте">

134 Просмотрите сводку конфигурации. Нажмите `s` или `Enter` для сохранения, или нажмите `e` для сохранения и редактирования файла в вашем редакторе. Subagent доступен немедленно. Попробуйте:138 Просмотрите сводку конфигурации. Нажмите `s` или `Enter` для сохранения, или нажмите `e` для сохранения и редактирования файла в вашем редакторе. Subagent доступен немедленно. Попробуйте:

135 139 

136 ```text theme={null}140 ```text wrap theme={null}

137 Use the code-improver agent to suggest improvements in this project141 Use the code-improver agent to suggest improvements in this project

138 ```142 ```

139 143 


167 Выберите область subagent171 Выберите область subagent

168</h3>172</h3>

169 173 

170Subagents — это файлы Markdown с YAML frontmatter. Сохраняйте их в разных местах в зависимости от области. Когда несколько subagents имеют одно и то же имя, выигрывает местоположение с более высоким приоритетом.174Subagents — это файлы Markdown с YAML frontmatter. Сохраняйте их в разных местах в зависимости от области. Когда несколько subagents имеют одно и то же имя, Claude Code использует тот, который находится в местоположении с более высоким приоритетом.

171 175 

172| Location | Scope | Priority | Как создать |176| Location | Scope | Priority | Как создать |

173| :-------------------------- | :----------------- | :------------- | :------------------------------------------------ |177| :-------------------------- | :----------------- | :------------- | :------------------------------------------------ |


185 189 

186**User subagents** (`~/.claude/agents/`) — это личные subagents, доступные во всех ваших проектах.190**User subagents** (`~/.claude/agents/`) — это личные subagents, доступные во всех ваших проектах.

187 191 

188Claude Code сканирует `.claude/agents/` и `~/.claude/agents/` рекурсивно, поэтому вы можете организовать определения в подпапки, такие как `agents/review/` или `agents/research/`. Путь подпапки не влияет на то, как идентифицируется или вызывается subagent, потому что идентичность происходит только из поля `name` frontmatter. Сохраняйте значения `name` уникальными по всему дереву: если два файла в одной области объявляют одно и то же имя, Claude Code сохраняет один и отбрасывает другой без предупреждения.192Claude Code сканирует `.claude/agents/` и `~/.claude/agents/` рекурсивно, поэтому вы можете организовать определения в подпапки, такие как `agents/review/` или `agents/research/`. Путь подпапки не влияет на то, как идентифицируется или вызывается subagent, потому что идентичность происходит только из поля `name` frontmatter.

193 

194Сохраняйте значения `name` уникальными по всему дереву: если два файла в одной области объявляют одно и то же имя, Claude Code загружает только один из них. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, запуск `/doctor` сообщает об одинаковых именах агентов в одной области и показывает, какое определение активно.

189 195 

190Директории `agents/` plugin также сканируются рекурсивно. В отличие от областей проекта и пользователя, подпапка внутри директории `agents/` plugin становится частью [scoped identifier](#invoke-subagents-explicitly): файл в `agents/review/security.md` в plugin `my-plugin` регистрируется как `my-plugin:review:security`.196Директории `agents/` plugin также сканируются рекурсивно. В отличие от областей проекта и пользователя, подпапка внутри директории `agents/` plugin становится частью [scoped identifier](#invoke-subagents-explicitly): файл в `agents/review/security.md` в plugin `my-plugin` регистрируется как `my-plugin:review:security`.

191 197 


263specific, actionable feedback on quality, security, and best practices.269specific, actionable feedback on quality, security, and best practices.

264```270```

265 271 

266Frontmatter определяет метаданные и конфигурацию subagent. Тело становится системным приглашением, которое направляет поведение subagent. Subagents получают только это системное приглашение (плюс базовые детали окружения, такие как рабочая директория), а не полное системное приглашение Claude Code.272Frontmatter определяет метаданные и конфигурацию subagent. Тело становится системным приглашением, которое направляет поведение subagent. Subagents получают только это системное приглашение плюс базовые детали окружения, такие как рабочая директория, а не полное системное приглашение Claude Code.

267 273 

268Subagent начинает работу в текущей рабочей директории основного разговора. В пределах subagent команды `cd` не сохраняются между вызовами инструментов Bash или PowerShell и не влияют на рабочую директорию основного разговора. Чтобы дать subagent изолированную копию репозитория вместо этого, установите [`isolation: worktree`](#supported-frontmatter-fields).274Subagent начинает работу в текущей рабочей директории основного разговора. В пределах subagent команды `cd` не сохраняются между вызовами инструментов Bash или PowerShell и не влияют на рабочую директорию основного разговора. Чтобы дать subagent изолированную копию репозитория вместо этого, установите [`isolation: worktree`](#supported-frontmatter-fields).

269 275 


299Поле `model` контролирует, какую [AI модель](/ru/model-config) использует subagent:305Поле `model` контролирует, какую [AI модель](/ru/model-config) использует subagent:

300 306 

301* **Model alias**: Используйте один из доступных псевдонимов: `sonnet`, `opus`, `haiku` или `fable`307* **Model alias**: Используйте один из доступных псевдонимов: `sonnet`, `opus`, `haiku` или `fable`

302* **Full model ID**: Используйте полный ID модели, такой как `claude-opus-4-8` или `claude-sonnet-4-6`. Принимает те же значения, что и флаг `--model`308* **Full model ID**: Используйте полный ID модели, такой как `claude-opus-4-8` или `claude-sonnet-5`. Принимает те же значения, что и флаг `--model`

303* **inherit**: Используйте ту же модель, что и основной разговор309* **inherit**: Используйте ту же модель, что и основной разговор

304* **Omitted**: Если не указано, по умолчанию `inherit` (использует ту же модель, что и основной разговор)310* **Omitted**: Если не указано, по умолчанию `inherit` и использует ту же модель, что и основной разговор

305 311 

306Когда Claude вызывает subagent, он также может передать параметр `model` для этого конкретного вызова. Claude Code разрешает модель subagent в этом порядке:312Когда Claude вызывает subagent, он также может передать параметр `model` для этого конкретного вызова. Claude Code разрешает модель subagent в этом порядке:

307 313 

3081. Переменная окружения [`CLAUDE_CODE_SUBAGENT_MODEL`](/ru/model-config#environment-variables), если установлена3141. Переменная окружения [`CLAUDE_CODE_SUBAGENT_MODEL`](/ru/model-config#environment-variables), если установлена на псевдоним модели или ID модели

3092. Параметр `model` для конкретного вызова3152. Параметр `model` для конкретного вызова

3103. Frontmatter `model` определения subagent3163. Frontmatter `model` определения subagent

3114. Модель основного разговора3174. Модель основного разговора

312 318 

319{/* min-version: 2.1.196 */}Начиная с версии 2.1.196, установка `CLAUDE_CODE_SUBAGENT_MODEL` на `inherit` — это то же самое, что оставить его неустановленным: разрешение продолжается с параметром `model` для конкретного вызова, затем frontmatter. В более ранних версиях `inherit` заставлял subagents использовать модель основного разговора и игнорировал оба этих источника.

320 

313Переменная окружения, параметр для конкретного вызова и значения frontmatter проверяются на соответствие списку разрешений [`availableModels`](/ru/model-config#restrict-model-selection) вашей организации. Значение, которое разрешается в исключённую модель, не используется, и subagent вместо этого работает на унаследованной модели.321Переменная окружения, параметр для конкретного вызова и значения frontmatter проверяются на соответствие списку разрешений [`availableModels`](/ru/model-config#restrict-model-selection) вашей организации. Значение, которое разрешается в исключённую модель, не используется, и subagent вместо этого работает на унаследованной модели.

314 322 

315<h3 id="control-subagent-capabilities">323<h3 id="control-subagent-capabilities">


602 610 

603Subagents могут определять [hooks](/ru/hooks), которые запускаются во время жизненного цикла subagent. Есть два способа настройки hooks:611Subagents могут определять [hooks](/ru/hooks), которые запускаются во время жизненного цикла subagent. Есть два способа настройки hooks:

604 612 

6051. **В frontmatter subagent**: Определите hooks, которые запускаются только во время активности этого subagent613* **В frontmatter subagent**: Определите hooks, которые запускаются только во время активности этого subagent

6062. **В `settings.json`**: Определите hooks, которые запускаются в основной сессии при запуске или остановке subagents614* **В `settings.json`**: Определите hooks, которые запускаются в основной сессии при запуске или остановке subagents

607 615 

608<h4 id="hooks-in-subagent-frontmatter">616<h4 id="hooks-in-subagent-frontmatter">

609 Hooks в frontmatter subagent617 Hooks в frontmatter subagent


656| `SubagentStart` | Имя типа агента | Когда subagent начинает выполнение |664| `SubagentStart` | Имя типа агента | Когда subagent начинает выполнение |

657| `SubagentStop` | Имя типа агента | Когда subagent завершает выполнение |665| `SubagentStop` | Имя типа агента | Когда subagent завершает выполнение |

658 666 

659Оба события поддерживают matchers для нацеливания на конкретные типы агентов по имени. Этот пример запускает скрипт установки только при запуске subagent `db-agent` и скрипт очистки при остановке любого subagent:667Оба события поддерживают matchers для нацеливания на конкретные типы агентов по имени. Значение matcher это поле frontmatter `name` для project-level и user-level subagents, или scoped identifier, такой как `my-plugin:db-agent` для [plugin subagents](/ru/plugins). Scoped name содержит двоеточие, поэтому он оценивается как [unanchored regular expression](/ru/hooks#matcher-patterns); закрепите его с помощью `^` и `$`, как в `^my-plugin:db-agent$`, чтобы соответствовать только этому агенту.

668 

669Этот пример запускает скрипт установки только при запуске subagent `db-agent` и скрипт очистки при остановке любого subagent:

660 670 

661```json theme={null}671```json theme={null}

662{672{


680}690}

681```691```

682 692 

693Matcher с дефисом, такой как `db-agent`, точно совпадает на Claude Code v2.1.195 или позже. На более ранних версиях он оценивается как unanchored regular expression и также срабатывает для любого типа агента, который его содержит, такого как `prod-db-agent`; закрепите его как `^db-agent$` на этих версиях.

694 

683См. [Hooks](/ru/hooks) для полного формата конфигурации hook.695См. [Hooks](/ru/hooks) для полного формата конфигурации hook.

684 696 

685<h2 id="work-with-subagents">697<h2 id="work-with-subagents">


704 716 

705Для естественного языка нет специального синтаксиса. Назовите subagent и Claude обычно делегирует:717Для естественного языка нет специального синтаксиса. Назовите subagent и Claude обычно делегирует:

706 718 

707```text theme={null}719```text wrap theme={null}

708Use the test-runner subagent to fix failing tests720Use the test-runner subagent to fix failing tests

709Have the code-reviewer subagent look at my recent changes721Have the code-reviewer subagent look at my recent changes

710```722```

711 723 

712**@-упомяните subagent.** Введите `@` и выберите subagent из автодополнения, так же как вы упоминаете файлы. Это гарантирует, что запустится конкретный subagent, а не оставляет выбор Claude:724**@-упомяните subagent.** Введите `@` и выберите subagent из автодополнения, так же как вы упоминаете файлы. Это гарантирует, что запустится конкретный subagent, а не оставляет выбор Claude:

713 725 

714```text theme={null}726```text wrap theme={null}

715@"code-reviewer (agent)" look at the auth changes727@"code-reviewer (agent)" look at the auth changes

716```728```

717 729 

718Ваше полное сообщение по-прежнему идёт Claude, который пишет приглашение задачи subagent на основе того, что вы попросили. @-упоминание контролирует, какой subagent Claude вызывает, а не какое приглашение он получает.730Ваше полное сообщение по-прежнему идёт Claude, который пишет приглашение задачи subagent на основе того, что вы попросили. @-упоминание контролирует, какой subagent Claude вызывает, а не какое приглашение он получает.

719 731 

720Subagents, предоставленные включённым [plugin](/ru/plugins), появляются в автодополнении под их именем с областью видимости, например `my-plugin:code-reviewer` или `my-plugin:review:security`, когда plugin [организует агентов в подпапки](#choose-the-subagent-scope). Именованные фоновые subagents, в настоящее время работающие в сессии, также появляются в автодополнении, показывая их статус рядом с именем. Вы также можете ввести упоминание вручную без использования средства выбора: `@agent-<name>` для локальных subagents или `@agent-` с последующим именем с областью видимости для plugin subagents, например `@agent-my-plugin:code-reviewer`.732Subagents, предоставленные включённым [plugin](/ru/plugins), появляются в автодополнении под их именем с областью видимости, например `my-plugin:code-reviewer` или `my-plugin:review:security`, когда plugin [организует агентов в подпапки](#choose-the-subagent-scope). Именованные фоновые subagents, в настоящее время работающие в сессии, также появляются в автодополнении, показывая их статус рядом с именем.

733 

734Вы также можете ввести упоминание вручную без использования средства выбора: `@agent-<name>` для локальных subagents или `@agent-` с последующим именем с областью видимости для plugin subagents, например `@agent-my-plugin:code-reviewer`.

721 735 

722**Запустите всю сессию как subagent.** Передайте [`--agent <name>`](/ru/cli-reference) для запуска сессии, где основной поток сам принимает системное приглашение, ограничения инструментов и модель этого subagent:736**Запустите всю сессию как subagent.** Передайте [`--agent <name>`](/ru/cli-reference) для запуска сессии, где основной поток сам принимает системное приглашение, ограничения инструментов и модель этого subagent:

723 737 


757 Запустите subagents в переднем плане или фоне771 Запустите subagents в переднем плане или фоне

758</h3>772</h3>

759 773 

760Subagents могут работать в переднем плане (блокирующий) или фоне (параллельный):774Subagents могут работать в переднем плане или фоне:

761 775 

762* **Foreground subagents** блокируют основной разговор до завершения. Запросы разрешений передаются вам по мере их возникновения.776* **Foreground subagents** блокируют основной разговор до завершения. Запросы разрешений передаются вам по мере их возникновения.

763* **Background subagents** работают параллельно, пока вы продолжаете работать. {/* min-version: 2.1.186 */}Начиная с v2.1.186, когда фоновый subagent достигает вызова инструмента, требующего разрешения, приглашение появляется в вашей основной сессии и называет subagent, который спрашивает. Одобрите, чтобы позволить subagent продолжить, или нажмите Esc, чтобы отклонить этот вызов инструмента без остановки subagent. До v2.1.186 фоновые subagents автоматически отклоняли любой вызов инструмента, который иначе потребовал бы приглашения.777* **Background subagents** работают параллельно, пока вы продолжаете работать. {/* min-version: 2.1.186 */}Начиная с v2.1.186, когда фоновый subagent достигает вызова инструмента, требующего разрешения, приглашение появляется в вашей основной сессии и называет subagent, который спрашивает. Одобрите, чтобы позволить subagent продолжить, или нажмите Esc, чтобы отклонить этот вызов инструмента без остановки subagent. До v2.1.186 фоновые subagents автоматически отклоняли любой вызов инструмента, который иначе потребовал бы приглашения.


781 795 

782Одно из наиболее эффективных применений subagents — изоляция операций, которые производят большой объём выходных данных. Запуск тестов, получение документации или обработка файлов журналов может потребить значительный контекст. Делегируя эти операции subagent, подробный выход остаётся в контексте subagent, пока только релевантное резюме возвращается в основной разговор.796Одно из наиболее эффективных применений subagents — изоляция операций, которые производят большой объём выходных данных. Запуск тестов, получение документации или обработка файлов журналов может потребить значительный контекст. Делегируя эти операции subagent, подробный выход остаётся в контексте subagent, пока только релевантное резюме возвращается в основной разговор.

783 797 

784```text theme={null}798```text wrap theme={null}

785Use a subagent to run the test suite and report only the failing tests with their error messages799Use a subagent to run the test suite and report only the failing tests with their error messages

786```800```

787 801 


791 805 

792Для независимых исследований порождайте несколько subagents для одновременной работы:806Для независимых исследований порождайте несколько subagents для одновременной работы:

793 807 

794```text theme={null}808```text wrap theme={null}

795Research the authentication, database, and API modules in parallel using separate subagents809Research the authentication, database, and API modules in parallel using separate subagents

796```810```

797 811 


809 823 

810Для многошаговых рабочих процессов попросите Claude использовать subagents последовательно. Каждый subagent завершает свою задачу и возвращает результаты Claude, который затем передаёт релевантный контекст следующему subagent.824Для многошаговых рабочих процессов попросите Claude использовать subagents последовательно. Каждый subagent завершает свою задачу и возвращает результаты Claude, который затем передаёт релевантный контекст следующему subagent.

811 825 

812```text theme={null}826```text wrap theme={null}

813Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them827Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them

814```828```

815 829 


820Используйте **основной разговор** когда:834Используйте **основной разговор** когда:

821 835 

822* Задача требует частого взаимодействия или итеративного уточнения836* Задача требует частого взаимодействия или итеративного уточнения

823* Несколько фаз имеют значительный общий контекст (планирование реализация тестирование)837* Несколько фаз имеют значительный общий контекст, такие как планирование, реализация и тестирование

824* Вы вносите быстрое, целевое изменение838* Вы вносите быстрое, целевое изменение

825* Задержка имеет значение. Subagents начинают с нуля и могут потребовать время для сбора контекста839* Задержка имеет значение. Subagents начинают с нуля и могут потребовать время для сбора контекста

826 840 


840 854 

841{/* min-version: 2.1.172 */}Начиная с Claude Code v2.1.172, subagent может порождать собственные subagents. Используйте это, когда делегированная задача сама разбивается на параллельные подзадачи, например subagent-рецензент, который отправляет верификатор для каждого обнаружения, так что промежуточный выход никогда не достигает основного разговора. Только резюме subagent верхнего уровня возвращается вам.855{/* min-version: 2.1.172 */}Начиная с Claude Code v2.1.172, subagent может порождать собственные subagents. Используйте это, когда делегированная задача сама разбивается на параллельные подзадачи, например subagent-рецензент, который отправляет верификатор для каждого обнаружения, так что промежуточный выход никогда не достигает основного разговора. Только резюме subagent верхнего уровня возвращается вам.

842 856 

843Вложенный subagent конфигурируется так же, как subagent верхнего уровня и разрешается из тех же [областей видимости](#choose-the-subagent-scope). Панель subagent ниже ввода приглашения показывает полное дерево: каждая строка отображает счётчик `(+N)` потомков, и открытие строки показывает прямых потомков этого subagent с путём обратно к `main`. Вкладка Running в [`/agents`](#use-the-%2Fagents-command) перечисляет работающие subagents как плоский список.857Вложенный subagent конфигурируется так же, как subagent верхнего уровня и разрешается из тех же [областей видимости](#choose-the-subagent-scope). Панель subagent ниже ввода приглашения показывает полное дерево: каждая строка отображает счётчик `(+N)` потомков, и {/* min-version: 2.1.193 */}начиная с v2.1.193, открытие строки показывает прямых потомков этого subagent с путём обратно к `main`. Вкладка Running в [`/agents`](#use-the-%2Fagents-command) перечисляет работающие subagents как плоский список.

844 858 

845Глубина считается количеством уровней subagent ниже основного разговора, независимо от того, работает ли каждый уровень в [переднем плане или фоне](#run-subagents-in-foreground-or-background). Subagent на глубине пять не получает инструмент Agent и не может порождать дальше. Лимит фиксирован и не конфигурируется.859Глубина считается количеством уровней subagent ниже основного разговора, независимо от того, работает ли каждый уровень в [переднем плане или фоне](#run-subagents-in-foreground-or-background). Subagent на глубине пять не получает инструмент Agent и не может порождать дальше. Лимит фиксирован и не конфигурируется.

846 860 


880 894 

881Возобновлённые subagents сохраняют полную историю разговора, включая все предыдущие вызовы инструментов, результаты и рассуждения. Subagent продолжает ровно там, где он остановился, а не начинает с нуля.895Возобновлённые subagents сохраняют полную историю разговора, включая все предыдущие вызовы инструментов, результаты и рассуждения. Subagent продолжает ровно там, где он остановился, а не начинает с нуля.

882 896 

883Когда subagent завершается, Claude получает его ID агента. Встроенные агенты Explore и Plan — это одноразовые и не возвращают ID агента, поэтому они не могут быть возобновлены; используйте `general-purpose` или пользовательский subagent, когда вам нужно продолжить работу. Claude использует инструмент `SendMessage` с ID агента в качестве поля `to` для возобновления его. Инструмент `SendMessage` всегда доступен для возобновления subagents по ID или имени агента. Структурированные сообщения протокола команды, такие как `shutdown_request` и `plan_approval_response`, требуют включения [agent teams](/ru/agent-teams).897Когда subagent завершается, Claude получает его ID агента. Встроенные агенты Explore и Plan — это одноразовые и не возвращают ID агента, поэтому они не могут быть возобновлены; используйте `general-purpose` или пользовательский subagent, когда вам нужно продолжить работу.

898 

899Claude использует инструмент `SendMessage` с ID агента в качестве поля `to` для возобновления его. Инструмент `SendMessage` всегда доступен для возобновления subagents по ID или имени агента. Структурированные сообщения протокола команды, такие как `shutdown_request` и `plan_approval_response`, требуют включения [agent teams](/ru/agent-teams).

884 900 

885Чтобы возобновить subagent, попросите Claude продолжить предыдущую работу:901Чтобы возобновить subagent, попросите Claude продолжить предыдущую работу:

886 902 

887```text theme={null}903```text wrap theme={null}

888Use the code-reviewer subagent to review the authentication module904Use the code-reviewer subagent to review the authentication module

889[Agent completes]905[Agent completes]

890 906 


900 916 

901* **Компактирование основного разговора**: Когда основной разговор компактируется, транскрипты subagent не затрагиваются. Они сохраняются в отдельных файлах.917* **Компактирование основного разговора**: Когда основной разговор компактируется, транскрипты subagent не затрагиваются. Они сохраняются в отдельных файлах.

902* **Сохранение сессии**: Транскрипты subagent сохраняются в пределах их сессии. Вы можете [возобновить subagent](#resume-subagents) после перезагрузки Claude Code, возобновив ту же сессию.918* **Сохранение сессии**: Транскрипты subagent сохраняются в пределах их сессии. Вы можете [возобновить subagent](#resume-subagents) после перезагрузки Claude Code, возобновив ту же сессию.

903* **Автоматическая очистка**: Транскрипты очищаются на основе параметра `cleanupPeriodDays` (по умолчанию: 30 дней).919* **Автоматическая очистка**: Транскрипты очищаются на основе параметра `cleanupPeriodDays`, который по умолчанию составляет 30 дней.

904 920 

905<h4 id="auto-compaction">921<h4 id="auto-compaction">

906 Auto-compaction922 Auto-compaction


942 958 

943Вы можете запустить fork самостоятельно с `/fork` за которым следует директива, с переменной или без неё. Claude Code называет fork из первых слов директивы. Следующий пример разветвляет разговор для черновика тестовых случаев, пока вы продолжаете с реализацией в основной сессии:959Вы можете запустить fork самостоятельно с `/fork` за которым следует директива, с переменной или без неё. Claude Code называет fork из первых слов директивы. Следующий пример разветвляет разговор для черновика тестовых случаев, пока вы продолжаете с реализацией в основной сессии:

944 960 

945```text theme={null}961```text wrap theme={null}

946/fork draft unit tests for the parser changes so far962/fork draft unit tests for the parser changes so far

947```963```

948 964 

Details

196 196 

197* [Claude for Teams или Enterprise](/ru/authentication#claude-for-teams-or-enterprise)197* [Claude for Teams или Enterprise](/ru/authentication#claude-for-teams-or-enterprise)

198* [Anthropic Console](/ru/authentication#claude-console-authentication)198* [Anthropic Console](/ru/authentication#claude-console-authentication)

199* [Claude apps gateway](/ru/claude-apps-gateway), самостоятельно размещаемый шлюз, который добавляет вход через IdP перед Amazon Bedrock, Google Vertex AI, Microsoft Foundry или Anthropic API

199* [Amazon Bedrock](/ru/amazon-bedrock)200* [Amazon Bedrock](/ru/amazon-bedrock)

200* [Claude Platform on AWS](/ru/claude-platform-on-aws)201* [Claude Platform on AWS](/ru/claude-platform-on-aws)

201* [Google Vertex AI](/ru/google-vertex-ai)202* [Google Vertex AI](/ru/google-vertex-ai)

Details

11Чтобы добавить пользовательские инструменты, подключите [MCP server](/ru/mcp). Чтобы расширить Claude с помощью переиспользуемых рабочих процессов на основе подсказок, напишите [skill](/ru/skills), который работает через существующий инструмент `Skill` вместо добавления новой записи инструмента.11Чтобы добавить пользовательские инструменты, подключите [MCP server](/ru/mcp). Чтобы расширить Claude с помощью переиспользуемых рабочих процессов на основе подсказок, напишите [skill](/ru/skills), который работает через существующий инструмент `Skill` вместо добавления новой записи инструмента.

12 12 

13| Инструмент | Описание | Требуется разрешение |13| Инструмент | Описание | Требуется разрешение |

14| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |14| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

15| `Agent` | Создает [subagent](/ru/sub-agents) с собственным контекстным окном для выполнения задачи. См. [поведение инструмента Agent](#agent-tool-behavior) | Нет |15| `Agent` | Создает [subagent](/ru/sub-agents) с собственным контекстным окном для выполнения задачи. См. [поведение инструмента Agent](#agent-tool-behavior) | Нет |

16| `Artifact` | Публикует HTML или Markdown файл как [artifact](/ru/artifacts): приватную интерактивную страницу на claude.ai, которую вы можете делиться внутри вашей организации. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Требует план Team или Enterprise и аутентификацию `/login`; см. [Доступность](/ru/artifacts#availability) | Да |16| `Artifact` | Публикует HTML или Markdown файл как [artifact](/ru/artifacts): приватную интерактивную страницу на claude.ai, которую вы можете делиться внутри вашей организации. {/* plan-availability: feature=artifacts plans=team,enterprise providers=anthropic */}Требует план Team или Enterprise и аутентификацию `/login`; см. [Доступность](/ru/artifacts#availability) | Да |

17| `AskUserQuestion` | Задает вопросы с несколькими вариантами ответов для сбора требований или уточнения неоднозначности | Нет |17| `AskUserQuestion` | Задает вопросы с несколькими вариантами ответов для сбора требований или уточнения неоднозначности | Нет |


28| `Grep` | Ищет шаблоны в содержимом файлов. См. [поведение инструмента Grep](#grep-tool-behavior) | Нет |28| `Grep` | Ищет шаблоны в содержимом файлов. См. [поведение инструмента Grep](#grep-tool-behavior) | Нет |

29| `ListMcpResourcesTool` | Выводит список ресурсов, предоставляемых подключенными [MCP servers](/ru/mcp) | Нет |29| `ListMcpResourcesTool` | Выводит список ресурсов, предоставляемых подключенными [MCP servers](/ru/mcp) | Нет |

30| `LSP` | Интеллект кода через языковые серверы: переход к определениям, поиск ссылок, сообщение об ошибках типов и предупреждениях. См. [поведение инструмента LSP](#lsp-tool-behavior) | Нет |30| `LSP` | Интеллект кода через языковые серверы: переход к определениям, поиск ссылок, сообщение об ошибках типов и предупреждениях. См. [поведение инструмента LSP](#lsp-tool-behavior) | Нет |

31| `Monitor` | Запускает команду в фоне и передает каждую строку вывода обратно Claude, чтобы он мог реагировать на записи журнала, изменения файлов или опрашиваемый статус в середине разговора. См. [инструмент Monitor](#monitor-tool) | Да |31| `Monitor` | Запускает команду в фоне и передает каждую строку вывода обратно Claude, чтобы он мог реагировать на записи журнала, изменения файлов или опрашиваемый статус в середине разговора. Может также открыть WebSocket и рассматривать каждое входящее сообщение как событие. См. [инструмент Monitor](#monitor-tool) | Да |

32| `NotebookEdit` | Изменяет ячейки Jupyter notebook. См. [поведение инструмента NotebookEdit](#notebookedit-tool-behavior) | Да |32| `NotebookEdit` | Изменяет ячейки Jupyter notebook. См. [поведение инструмента NotebookEdit](#notebookedit-tool-behavior) | Да |

33| `PowerShell` | Выполняет команды PowerShell изначально. См. [инструмент PowerShell](#powershell-tool) для доступности | Да |33| `PowerShell` | Выполняет команды PowerShell изначально. См. [инструмент PowerShell](#powershell-tool) для доступности | Да |

34| `PushNotification` | Отправляет уведомление на рабочий стол и push-уведомление на телефон при подключении [Remote Control](/ru/remote-control), чтобы долгоживущая задача или [запланированная задача](/ru/scheduled-tasks) могла вас достичь, когда вы отойдете. {/* plan-availability: feature=push-notifications providers=anthropic */}Доставка push-уведомлений осуществляется через инфраструктуру, размещенную на Anthropic, которая недоступна из Amazon Bedrock, Google Vertex AI или Microsoft Foundry | Нет |34| `PushNotification` | Отправляет уведомление на рабочий стол и push-уведомление на телефон при подключении [Remote Control](/ru/remote-control), чтобы долгоживущая задача или [запланированная задача](/ru/scheduled-tasks) могла вас достичь, когда вы отойдете. {/* plan-availability: feature=push-notifications providers=anthropic */}Доставка push-уведомлений осуществляется через инфраструктуру, размещенную на Anthropic, которая недоступна из Amazon Bedrock, Google Vertex AI или Microsoft Foundry | Нет |

35| `Read` | Читает содержимое файлов. См. [поведение инструмента Read](#read-tool-behavior) | Нет |35| `Read` | Читает содержимое файлов. См. [поведение инструмента Read](#read-tool-behavior) | Нет |

36| `ReadMcpResourceTool` | Читает конкретный ресурс MCP по URI | Нет |36| `ReadMcpResourceTool` | Читает конкретный ресурс MCP по URI | Нет |

37| `RemoteTrigger` | Создает, обновляет, запускает и выводит список [Routines](/ru/routines) на claude.ai. Поддерживает команду `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines находятся на claude.ai и требуют план Pro, Max, Team или Enterprise, поэтому этот инструмент недоступен из Amazon Bedrock, Google Vertex AI или Microsoft Foundry | Нет |37| `RemoteTrigger` | Создает, обновляет, запускает и выводит список [Routines](/ru/routines) на claude.ai. Поддерживает команду `/schedule`. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines находятся на claude.ai и требуют план Pro, Max, Team или Enterprise, поэтому этот инструмент недоступен из Amazon Bedrock, Google Vertex AI или Microsoft Foundry | Нет |

38| `ReportFindings` | Сообщает о результатах проверки кода как структурированный список с файлом, резюме и сценарием сбоя для каждого результата, чтобы Claude Code мог их отобразить вместо вывода в виде текста. Claude вызывает его, когда активные инструкции проверки кода говорят ему это сделать. {/* min-version: 2.1.196 */}Требует Claude Code v2.1.196 или позже | Нет |

38| `ScheduleWakeup` | Переносит следующую итерацию [самостоятельного `/loop`](/ru/scheduled-tasks#let-claude-choose-the-interval). Claude вызывает это в конце каждой итерации, чтобы выбрать, когда запустится следующая, между одной минутой и одним часом; вы не вызываете это напрямую. Ожидающее пробуждение появляется в `session_crons` в [входе Stop hook](/ru/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Недоступно на Amazon Bedrock, Google Vertex AI или Microsoft Foundry, где `/loop` подсказка без интервала работает по фиксированному расписанию | Нет |39| `ScheduleWakeup` | Переносит следующую итерацию [самостоятельного `/loop`](/ru/scheduled-tasks#let-claude-choose-the-interval). Claude вызывает это в конце каждой итерации, чтобы выбрать, когда запустится следующая, между одной минутой и одним часом; вы не вызываете это напрямую. Ожидающее пробуждение появляется в `session_crons` в [входе Stop hook](/ru/hooks#stop-input). {/* plan-availability: feature=loop-dynamic providers=anthropic */}Недоступно на Amazon Bedrock, Google Vertex AI или Microsoft Foundry, где `/loop` подсказка без интервала работает по фиксированному расписанию | Нет |

39| `SendMessage` | Отправляет сообщение члену [команды агентов](/ru/agent-teams), или [возобновляет subagent](/ru/sub-agents#resume-subagents) по его ID агента. Остановленные subagents автоматически возобновляются в фоне. Структурированные сообщения протокола команды требуют команды агентов | Нет |40| `SendMessage` | Отправляет сообщение члену [команды агентов](/ru/agent-teams), или [возобновляет subagent](/ru/sub-agents#resume-subagents) по его ID агента. Остановленные subagents автоматически возобновляются в фоне. Структурированные сообщения протокола команды требуют команды агентов | Нет |

41| `SendUserFile` | Отправляет файлы из сеанса вам с необязательной подписью, чтобы созданный отчет, диаграмма, снимок экрана или построенный артефакт достигли вашего устройства вместо того, чтобы только упоминаться в стенограмме. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, необязательный ввод `display` управляет представлением: `render` открывает файл встроенным образом в клиенте, `attach` показывает только карточку загрузки, и когда не установлено, клиент решает по типу файла. Доступно при подключении клиента [Remote Control](/ru/remote-control) или когда сеанс работает в управляемой облачной среде, такой как [Claude Code в веб-версии](/ru/claude-code-on-the-web). Доставка осуществляется через инфраструктуру, размещенную на Anthropic, поэтому инструмент недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry | Нет |

40| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Загружает `ONBOARDING.md` и возвращает ссылку для общего доступа, которую товарищи по команде могут открыть в Claude Code. Вызывается из `/team-onboarding` после написания руководства. Доступно для подписчиков claude.ai на планах Pro, Max, Team и Enterprise | Да |42| `ShareOnboardingGuide` | {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}Загружает `ONBOARDING.md` и возвращает ссылку для общего доступа, которую товарищи по команде могут открыть в Claude Code. Вызывается из `/team-onboarding` после написания руководства. Доступно для подписчиков claude.ai на планах Pro, Max, Team и Enterprise | Да |

41| `Skill` | Выполняет [skill](/ru/skills#control-who-invokes-a-skill) в основном разговоре | Да |43| `Skill` | Выполняет [skill](/ru/skills#control-who-invokes-a-skill) в основном разговоре | Да |

42| `TaskCreate` | Создает новую задачу в списке задач | Нет |44| `TaskCreate` | Создает новую задачу в списке задач | Нет |


206* Опрашивать PR или задачу CI и сообщать при изменении статуса208* Опрашивать PR или задачу CI и сообщать при изменении статуса

207* Наблюдать за каталогом на предмет изменений файлов209* Наблюдать за каталогом на предмет изменений файлов

208* Отслеживать вывод из любого долгоживущего скрипта, на который вы его указываете210* Отслеживать вывод из любого долгоживущего скрипта, на который вы его указываете

211* Подключиться к потоку WebSocket и сообщать каждое сообщение по мере его поступления

209 212 

210Claude пишет небольшой скрипт для наблюдения, запускает его в фоне и получает каждую строку вывода по мере ее поступления. Вы продолжаете работать в том же сеансе, и Claude вмешивается при возникновении события. Остановите монитор, попросив Claude отменить его или завершив сеанс.213Для большинства наблюдений Claude пишет небольшой скрипт, запускает его в фоне и получает каждую строку вывода по мере ее поступления. Для сервера, который уже отправляет события, Claude может открыть [WebSocket](#websocket-source) вместо запуска скрипта.

211 214 

212Monitor использует те же [правила разрешений, что и Bash](/ru/permissions#tool-specific-permission-rules), поэтому шаблоны `allow` и `deny`, которые вы установили для Bash, применяются здесь также. Он недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Он также недоступен, когда установлены `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`.215Вы продолжаете работать в том же сеансе, и Claude вмешивается при возникновении события. Остановите монитор, попросив Claude отменить его или завершив сеанс.

216 

217Когда Monitor запускает команду, он использует те же [правила разрешений, что и Bash](/ru/permissions#tool-specific-permission-rules), поэтому шаблоны `allow` и `deny`, которые вы установили для Bash, применяются здесь также. [Источник WebSocket](#websocket-source) имеет собственное приглашение на одобрение.

218 

219Инструмент недоступен на Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Он также недоступен, когда установлены `DISABLE_TELEMETRY` или `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`.

213 220 

214Плагины могут объявлять мониторы, которые запускаются автоматически при активации плагина, вместо того чтобы просить Claude запустить их. См. [мониторы плагинов](/ru/plugins-reference#monitors).221Плагины могут объявлять мониторы, которые запускаются автоматически при активации плагина, вместо того чтобы просить Claude запустить их. См. [мониторы плагинов](/ru/plugins-reference#monitors).

215 222 

223<h3 id="websocket-source">

224 Источник WebSocket

225</h3>

226 

227<Note>

228 Источник WebSocket требует Claude Code версии 2.1.195 или более поздней.

229</Note>

230 

231Когда сервер уже отправляет события через WebSocket, Claude может подключиться к нему напрямую вместо написания скрипта опроса. Каждый вид активности сокета либо становится событием, либо завершает наблюдение:

232 

233* **Текстовые сообщения**: каждое становится одним событием, даже если сообщение охватывает несколько строк.

234* **Двоичные сообщения**: не передаются. Claude получает строку-заполнитель, такую как `[binary frame, 512 bytes]`.

235* **Сообщения размером более 1 МиБ**: наблюдение завершается, поэтому подпишитесь на отфильтрованный поток, если он существует.

236* **Закрытие сокета**: наблюдение завершается и Claude получает код закрытия.

237 

238Наблюдение WebSocket принимает входные данные `ws` вместо `command`, и один вызов Monitor не может объединять оба. Входные данные `ws` имеют два поля:

239 

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

241| :---------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

242| `url` | Да | Конечная точка для подключения. Должна быть URL `ws://` или `wss://` без встроенных учетных данных или пробелов, используя только символы ASCII |

243| `protocols` | Нет | Имена подпротоколов WebSocket для предложения во время рукопожатия. Каждая запись должна быть действительным токеном подпротокола, и список не может содержать дубликаты |

244 

245Входные данные `timeout_ms` и `persistent` ведут себя так же, как для команды: наблюдение завершается в крайний срок, если не установлен `persistent`, и `TaskStop` отменяет его раньше.

246 

247Открытие WebSocket запрашивает одобрение, и приглашение не предлагает возможность пропустить будущие приглашения для одного хоста.

248 

249Claude Code отклоняет URL-адреса, указывающие на приватный, link-local или адрес облачных метаданных, включая имена хостов, которые разрешаются в один. Он также отклоняет хосты в `sandbox.network.deniedDomains`, и когда [`allowManagedDomainsOnly`](/ru/settings#sandbox-settings) установлен в управляемых параметрах, любой хост вне управляемого списка разрешений.

250 

216<h2 id="notebookedit-tool-behavior">251<h2 id="notebookedit-tool-behavior">

217 Поведение инструмента NotebookEdit252 Поведение инструмента NotebookEdit

218</h2>253</h2>


265 300 

266Поведение сброса рабочего каталога основного сеанса, описанное в разделе инструмента Bash, применяется к командам PowerShell, включая переменную окружения `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.301Поведение сброса рабочего каталога основного сеанса, описанное в разделе инструмента Bash, применяется к командам PowerShell, включая переменную окружения `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR`.

267 302 

303{/* min-version: 2.1.196 */}Начиная с версии 2.1.196, инструмент PowerShell соответствует обработке инструментом Bash кодов выхода поиска и diff. Код выхода 1 из `grep`, `egrep`, `fgrep` и `git grep` означает отсутствие совпадений, а код выхода 1 из `git diff` означает наличие различий, поэтому эти результаты не сообщаются Claude как ошибки команд.

304 

268<h3 id="preview-limitations">305<h3 id="preview-limitations">

269 Ограничения предварительного просмотра306 Ограничения предварительного просмотра

270</h3>307</h3>


284 321 

285Read обрабатывает несколько типов файлов помимо простого текста:322Read обрабатывает несколько типов файлов помимо простого текста:

286 323 

287* **Изображения**: PNG, JPG и другие форматы изображений возвращаются как визуальное содержимое, которое Claude может видеть, а не как необработанные байты. Claude Code изменяет размер и переупаковывает большие изображения, чтобы они соответствовали ограничениям размера изображения модели перед отправкой, поэтому Claude может видеть уменьшенную версию большого снимка экрана. Если Claude пропустит детали на уровне пикселей в большом изображении, попросите его сначала обрезать интересующий регион, например с помощью ImageMagick через Bash.324* **Изображения**: PNG, JPG и другие форматы изображений возвращаются как визуальное содержимое, которое Claude может видеть, а не как необработанные байты. Claude Code изменяет размер и переупаковывает большие изображения, чтобы они соответствовали ограничениям размера изображения модели перед отправкой, поэтому Claude может видеть уменьшенную версию большого снимка экрана. {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, изображение, которое все еще больше 500KB после этого изменения размера, переупаковывается как JPEG с пониженным качеством с неизменными размерами пикселей. Если Claude пропустит детали на уровне пикселей в большом изображении, попросите его сначала обрезать интересующий регион, например с помощью ImageMagick через Bash.

288* **PDFs**: Claude читает короткие файлы `.pdf` целиком. Для PDF-файлов длиннее 10 страниц он читает в диапазонах с параметром `pages`, таким как `"1-5"`, до 20 страниц за раз.325* **PDFs**: Claude читает короткие файлы `.pdf` целиком. Для PDF-файлов длиннее 10 страниц он читает в диапазонах с параметром `pages`, таким как `"1-5"`, до 20 страниц за раз.

289* **Jupyter notebooks**: файлы `.ipynb` возвращают все ячейки с их выходными данными, включая код, markdown и визуализации.326* **Jupyter notebooks**: файлы `.ipynb` возвращают все ячейки с их выходными данными, включая код, markdown и визуализации.

290 327 

Details

45Если вашей проблемы нет в списке, выполните диагностические проверки ниже, чтобы сузить причину.45Если вашей проблемы нет в списке, выполните диагностические проверки ниже, чтобы сузить причину.

46 46 

47<Tip>47<Tip>

48 Если вы предпочитаете полностью избежать терминала, [Claude Code Desktop app](/ru/desktop-quickstart) позволяет вам установить и использовать Claude Code через графический интерфейс. Загрузите его для [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs) или [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) и начните кодировать без какой-либо настройки командной строки.48 Если вы предпочитаете полностью избежать терминала, [Claude Code Desktop app](/ru/desktop-quickstart) позволяет вам установить и использовать Claude Code через графический интерфейс. Загрузите его для [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) или [Linux](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) и начните кодировать без какой-либо настройки командной строки.

49</Tip>49</Tip>

50 50 

51<h2 id="run-diagnostic-checks">51<h2 id="run-diagnostic-checks">

Details

18 Требования18 Требования

19</h2>19</h2>

20 20 

21Голосовой ввод передает вашу записанную речь на серверы Anthropic для транскрибирования. Аудио не обрабатывается локально. Сервис преобразования речи в текст доступен только при аутентификации с помощью учетной записи Claude.ai и недоступен, когда Claude Code настроен на использование ключа Anthropic API напрямую, Amazon Bedrock, Google Vertex AI или Microsoft Foundry. Голосовой ввод также недоступен, когда в вашей организации включена поддержка соответствия HIPAA. Транскрибирование не потребляет сообщения Claude или токены и не учитывается в пределах, показанных в `/usage`. См. [использование данных](/ru/data-usage), чтобы узнать, как Anthropic обрабатывает ваши данные.21Голосовой ввод передает вашу записанную речь на серверы Anthropic для транскрибирования. Аудио не обрабатывается локально. Для этого требуется все следующее:

22 22 

23Голосовой ввод также требует локального доступа к микрофону, поэтому он не работает в удаленных окружениях, таких как [Claude Code в веб-браузере](/ru/claude-code-on-the-web) или сеансы SSH. В WSL голосовой ввод требует WSLg для доступа к аудио. WSLg включен в WSL2 при установке из Microsoft Store на Windows 10 или 11. Если WSLg недоступен, например на WSL1, запустите Claude Code в собственной Windows.23* **Учетная запись Claude.ai**: служба преобразования речи в текст доступна только при аутентификации с помощью учетной записи Claude.ai и недоступна, когда Claude Code настроен на использование ключа Anthropic API напрямую, Amazon Bedrock, Google Vertex AI или Microsoft Foundry.

24* **Организация без включенного соответствия HIPAA**: `/voice` показывает `Voice mode is disabled by your organization's policy`, когда применяется это ограничение.

25* **Локальный микрофон**: голосовой ввод не работает в удаленных окружениях, таких как [Claude Code в веб-браузере](/ru/claude-code-on-the-web) или сеансы SSH.

26* **WSLg, если вы запускаете Claude Code в WSL**: WSLg включен в WSL2 при установке из Microsoft Store на Windows 10 или 11. Если WSLg недоступен, например на WSL1, запустите Claude Code в собственной Windows.

27 

28Транскрибирование не потребляет сообщения Claude или токены и не учитывается в пределах, показанных в `/usage`. См. [использование данных](/ru/data-usage), чтобы узнать, как Anthropic обрабатывает ваши данные.

24 29 

25Запись аудио использует встроенный собственный модуль на macOS, Linux и Windows. На Linux, если собственный модуль не может загрузиться, Claude Code переходит на `arecord` из ALSA utils или `rec` из SoX. Если ни один из них недоступен, `/voice` выводит команду установки для вашего менеджера пакетов.30Запись аудио использует встроенный собственный модуль на macOS, Linux и Windows. На Linux, если собственный модуль не может загрузиться, Claude Code переходит на `arecord` из ALSA utils или `rec` из SoX. Если ни один из них недоступен, `/voice` выводит команду установки для вашего менеджера пакетов.

26 31 

27[Расширение Claude Code для VS Code](/ru/vs-code) также поддерживает голосовой ввод с тем же требованием учетной записи Claude.ai. Оно недоступно в сеансах VS Code Remote, включая SSH, Dev Containers и Codespaces, потому что микрофон находится на вашем локальном компьютере, а расширение работает на удаленном хосте.32Расширение Claude Code [VS Code](/ru/vs-code) также поддерживает голосовой ввод с тем же требованием учетной записи Claude.ai. Оно недоступно в сеансах VS Code Remote, включая SSH, Dev Containers и Codespaces, потому что микрофон находится на вашем локальном компьютере, а расширение работает на удаленном хосте.

28 33 

29<h2 id="enable-voice-dictation">34<h2 id="enable-voice-dictation">

30 Включение голосового ввода35 Включение голосового ввода


91 96 

92Режим нажатия переключает запись одним нажатием клавиши: нажмите один раз для начала, говорите, затем нажмите снова для отправки запроса. Нет прогрева, и вам не нужно удерживать клавишу.97Режим нажатия переключает запись одним нажатием клавиши: нажмите один раз для начала, говорите, затем нажмите снова для отправки запроса. Нет прогрева, и вам не нужно удерживать клавишу.

93 98 

94Включите режим нажатия с помощью `/voice tap`. Когда поле ввода запроса пусто, нажмите `Space` для начала записи. Нижний колонтитул показывает живую форму волны во время записи. Нажмите `Space` снова для остановки. Claude Code вставляет транскрибирование и автоматически отправляет запрос, когда транскрибирование содержит не менее трех слов. Более короткие транскрибирования вставляются, но не отправляются, поэтому случайное нажатие не отправляет случайное слово.99Включите режим нажатия с помощью `/voice tap`. Когда поле ввода запроса пусто, нажмите `Space` для начала записи. Нижний колонтитул показывает живую форму волны во время записи. Нажмите `Space` снова для остановки.

100 

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

102 

103Порог в три слова учитывает слова для языков, написанных без пробелов. Начиная с версии v2.1.195, японские, китайские и тайские транскрибирования считают отдельные слова, поэтому они автоматически отправляются в режиме нажатия и в режиме удержания с `autoSubmit`. Более ранние версии считали транскрибирование без пробелов одним словом и никогда не отправляли его автоматически.

95 104 

96Первое нажатие начинает запись только при пустом поле ввода запроса, поэтому вы все еще можете нормально печатать пробелы при составлении сообщения. Второе нажатие останавливает запись независимо от содержимого ввода. Запись также автоматически останавливается после 15 секунд молчания или двух минут в целом.105Первое нажатие начинает запись только при пустом поле ввода запроса, поэтому вы все еще можете нормально печатать пробелы при составлении сообщения. Второе нажатие останавливает запись независимо от содержимого ввода. Запись также автоматически останавливается после 15 секунд молчания или двух минут в целом.

97 106 


169Распространенные проблемы, когда голосовой ввод не активируется или не записывает:178Распространенные проблемы, когда голосовой ввод не активируется или не записывает:

170 179 

171* **`Voice mode requires a Claude.ai account`**: вы аутентифицированы с помощью ключа API или стороннего поставщика. Запустите `/login` для входа с помощью учетной записи Claude.ai.180* **`Voice mode requires a Claude.ai account`**: вы аутентифицированы с помощью ключа API или стороннего поставщика. Запустите `/login` для входа с помощью учетной записи Claude.ai.

181* **`Voice mode is disabled by your organization's policy`**: голосовой ввод отключен политикой вашей организации, как описано в [Требования](#requirements). Обратитесь к администратору вашей организации, чтобы подтвердить, доступен ли голосовой ввод для вашей организации.

172* **`Microphone access is denied`**: предоставьте разрешение микрофона вашему терминалу в системных параметрах. На macOS перейдите в System Settings → Privacy & Security → Microphone и включите приложение вашего терминала, затем запустите `/voice` снова. На Windows перейдите в Settings → Privacy & security → Microphone и включите доступ к микрофону для приложений рабочего стола, затем запустите `/voice` снова. Если ваш терминал не указан в параметрах macOS Microphone, см. [Терминал не указан в параметрах macOS Microphone](#terminal-not-listed-in-macos-microphone-settings).182* **`Microphone access is denied`**: предоставьте разрешение микрофона вашему терминалу в системных параметрах. На macOS перейдите в System Settings → Privacy & Security → Microphone и включите приложение вашего терминала, затем запустите `/voice` снова. На Windows перейдите в Settings → Privacy & security → Microphone и включите доступ к микрофону для приложений рабочего стола, затем запустите `/voice` снова. Если ваш терминал не указан в параметрах macOS Microphone, см. [Терминал не указан в параметрах macOS Microphone](#terminal-not-listed-in-macos-microphone-settings).

173* **`No audio recording tool found`** на Linux: собственный модуль аудио не может загрузиться и резервный вариант не установлен. Установите SoX с помощью команды, показанной в сообщении об ошибке, например `sudo apt-get install sox`.183* **`No audio recording tool found`** на Linux: собственный модуль аудио не может загрузиться и резервный вариант не установлен. Установите SoX с помощью команды, показанной в сообщении об ошибке, например `sudo apt-get install sox`.

184* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX установлен, но хост не имеет устройства захвата аудио, например безголовый сервер или контейнер. Запустите Claude Code на машине с микрофоном. {/* min-version: 2.1.195 */}Начиная с версии 2.1.195, Claude Code на Linux выводит это сообщение в такой ситуации; более ранние версии просили вас установить SoX даже когда он уже был установлен.

174* **`Voice mode could not find a working audio recorder in WSL`**: WSLg маршрутизирует аудио через PulseAudio вместо устройства ALSA, поэтому SoX требует явной установки его бэкенда PulseAudio. Запустите `sudo apt install sox libsox-fmt-pulse`. Установка только `sox` подтягивает бэкенд ALSA, который не может записывать на WSL, потому что нет устройства `/dev/snd`.185* **`Voice mode could not find a working audio recorder in WSL`**: WSLg маршрутизирует аудио через PulseAudio вместо устройства ALSA, поэтому SoX требует явной установки его бэкенда PulseAudio. Запустите `sudo apt install sox libsox-fmt-pulse`. Установка только `sox` подтягивает бэкенд ALSA, который не может записывать на WSL, потому что нет устройства `/dev/snd`.

175* **`Voice input is failing repeatedly and has been paused`**: голосовой ввод столкнулся с несколькими сбоями при запуске подряд и прекратил попытки новых сеансов до тех пор, пока один не будет успешным. Это обычно означает, что микрофон или звуковой стек на этом хосте не может захватить аудио, например безголовый сервер, удаленная оболочка без передачи аудио или запрещенное разрешение микрофона. Подтвердите работающее устройство ввода, исправьте основную причину из записей выше, затем снова активируйте голосовой ввод.186* **`Voice input is failing repeatedly and has been paused`**: голосовой ввод столкнулся с несколькими сбоями при запуске подряд и прекратил попытки новых сеансов до тех пор, пока один не будет успешным. Это обычно означает, что микрофон или звуковой стек на этом хосте не может захватить аудио, например безголовый сервер, удаленная оболочка без передачи аудио или запрещенное разрешение микрофона. Подтвердите работающее устройство ввода, исправьте основную причину из записей выше, затем снова активируйте голосовой ввод.

176* **Ничего не происходит при удержании `Space` в режиме удержания**: смотрите на поле ввода запроса, пока вы удерживаете. Если пробелы продолжают накапливаться, голосовой ввод, вероятно, отключен; запустите `/voice hold` для включения. Если появляется только один или два пробела, а затем ничего, голосовой ввод включен, но обнаружение удержания не срабатывает. Обнаружение удержания требует, чтобы ваш терминал отправлял события повтора клавиш, поэтому он не может обнаружить удерживаемую клавишу, если повтор клавиш отключен на уровне ОС. Переключитесь на режим нажатия с помощью `/voice tap`, чтобы избежать требования повтора клавиш.187* **Ничего не происходит при удержании `Space` в режиме удержания**: смотрите на поле ввода запроса, пока вы удерживаете. Если пробелы продолжают накапливаться, голосовой ввод, вероятно, отключен; запустите `/voice hold` для включения. Если появляется только один или два пробела, а затем ничего, голосовой ввод включен, но обнаружение удержания не срабатывает. Обнаружение удержания требует, чтобы ваш терминал отправлял события повтора клавиш, поэтому он не может обнаружить удерживаемую клавишу, если повтор клавиш отключен на уровне ОС. Переключитесь на режим нажатия с помощью `/voice tap`, чтобы избежать требования повтора клавиш.

whats-new.md +16 −0

Details

8 8 

9Еженедельный дайджест для разработчиков выделяет функции, которые с наибольшей вероятностью изменят способ вашей работы. Каждая запись включает исполняемый код, краткую демонстрацию и ссылку на полную документацию. Для каждого исправления ошибок и незначительного улучшения см. [журнал изменений](/ru/changelog).9Еженедельный дайджест для разработчиков выделяет функции, которые с наибольшей вероятностью изменят способ вашей работы. Каждая запись включает исполняемый код, краткую демонстрацию и ссылку на полную документацию. Для каждого исправления ошибок и незначительного улучшения см. [журнал изменений](/ru/changelog).

10 10 

11<Update label="Week 26" description="June 22–26, 2026" tags={["v2.1.185–v2.1.193"]}>

12 **`claude mcp login`**: аутентифицируйте настроенный MCP сервер из вашей оболочки вместо интерактивного меню `/mcp`, и очистите его сохраненные учетные данные позже с помощью `claude mcp logout`.

13 

14 Также на этой неделе: **shell режим реагирует на вывод команды** (`! npm test` получает объяснение без второго запроса); **`/rewind`** может возобновить разговор с момента до запуска `/clear`; и **фоновые подагенты** теперь выводят запросы разрешений в основной сеанс вместо автоматического отказа.

15 

16 [Прочитайте дайджест Week 26 →](/ru/whats-new/2026-w26)

17</Update>

18 

19<Update label="Week 25" description="June 15–19, 2026" tags={["v2.1.178–v2.1.183"]}>

20 **Artifacts**: превратите вывод сеанса в живую, общедоступную страницу на claude.ai, которая обновляется на месте по мере работы сеанса, теперь в бета-версии на планах Team и Enterprise.

21 

22 Также на этой неделе: **правила отрицания и запроса соответствуют параметрам инструмента** с `Tool(param:value)`, например `Agent(model:opus)`; **`/config key=value`** устанавливает любой параметр из подсказки, в режиме `-p` и из Remote Control; и **автоматический режим блокирует деструктивные команды git**, когда вы не просили отбросить локальную работу.

23 

24 [Прочитайте дайджест Week 25 →](/ru/whats-new/2026-w25)

25</Update>

26 

11<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>27<Update label="Week 24" description="June 8–12, 2026" tags={["v2.1.166–v2.1.176"]}>

12 **`/cd`**: переместите текущий сеанс в новый рабочий каталог в середине разговора без перестроения кэша подсказок.28 **`/cd`**: переместите текущий сеанс в новый рабочий каталог в середине разговора без перестроения кэша подсказок.

13 29 

Details

73 <p className="digest-feature-try">Добавьте минимальную версию в ваши управляемые параметры, чтобы старые клиенты отказались запускаться:</p>73 <p className="digest-feature-try">Добавьте минимальную версию в ваши управляемые параметры, чтобы старые клиенты отказались запускаться:</p>

74 74 

75 ```json managed-settings.json theme={null}75 ```json managed-settings.json theme={null}

76 {

76 "requiredMinimumVersion": "2.1.163"77 "requiredMinimumVersion": "2.1.163"

78 }

77 ```79 ```

78 80 

79 <a className="digest-feature-link" href="/ru/docs/admin-setup#decide-what-to-enforce">Решите, что нужно применять</a>81 <a className="digest-feature-link" href="/ru/docs/admin-setup#decide-what-to-enforce">Решите, что нужно применять</a>

whats-new/2026-w25.md +90 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Неделя 25 · 15–19 июня 2026

6 

7> Опубликуйте живую, доступную для совместного использования страницу из вашей сессии с Artifacts, сопоставляйте параметры инструментов в правилах deny и ask, и устанавливайте любой параметр из приглашения с помощью /config.

8 

9<div className="digest-meta">

10 <span>Выпуски <a href="/docs/ru/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>

11 <span>3 функции · 15–19 июня</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Artifacts</span>

17 </div>

18 

19 <p className="digest-feature-lede">Artifact — это живая интерактивная страница, которую Claude Code публикует из вашей сессии на приватный URL на claude.ai, и она обновляется на месте по мере продолжения работы сессии. Запросите её, когда текст терминала — неправильный формат, например для пошагового разбора PR с аннотированным diff или для панели управления, созданной из данных сессии. Artifacts находятся в бета-версии на планах Team и Enterprise.</p>

20 

21 <Frame>

22 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/1ylKDoQynT1UgfEK/images/whats-new/artifacts.mp4?fit=max&auto=format&n=1ylKDoQynT1UgfEK&q=85&s=7f5391559d2bc69989621b36322fcff1" data-path="images/whats-new/artifacts.mp4" />

23 </Frame>

24 

25 <p className="digest-feature-try">Попросите Claude создать страницу, затем одобрите приглашение на публикацию:</p>

26 

27 ```text Claude Code theme={null}

28 > Make an artifact that walks through this PR with the diff annotated inline.

29 ```

30 

31 <a className="digest-feature-link" href="/docs/ru/artifacts#create-an-artifact">Создать artifact</a>

32</div>

33 

34<div className="digest-feature">

35 <div className="digest-feature-header">

36 <span className="digest-feature-title">Сопоставление по входному параметру</span>

37 <span className="digest-feature-pill">v2.1.178</span>

38 </div>

39 

40 <p className="digest-feature-lede">Правила deny и ask permission теперь могут сопоставлять входные параметры инструмента с синтаксисом <code>Tool(param:value)</code>. Например, <code>Agent(model:opus)</code> сопоставляет порождения подагентов, которые запрашивают уровень модели Opus. Значение принимает `*` как подстановочный символ, поэтому `Agent(isolation:*)` сопоставляет любое явное значение изоляции.</p>

41 

42 <p className="digest-feature-try">Добавьте правило параметра в список deny в <code>settings.json</code>:</p>

43 

44 ```json .claude/settings.json {3} theme={null}

45 {

46 "permissions": {

47 "deny": ["Agent(model:opus)"]

48 }

49 }

50 ```

51 

52 <a className="digest-feature-link" href="/docs/ru/permissions#match-by-input-parameter">Сопоставление по входному параметру</a>

53</div>

54 

55<div className="digest-feature">

56 <div className="digest-feature-header">

57 <span className="digest-feature-title">Установка любого параметра из приглашения</span>

58 <span className="digest-feature-pill">v2.1.181</span>

59 </div>

60 

61 <p className="digest-feature-lede">Передайте <code>key=value</code> в <code>/config</code>, чтобы изменить параметр напрямую без открытия интерфейса Settings. Синтаксис также работает в неинтерактивном режиме с флагом <code>-p</code> и из Remote Control.</p>

62 

63 <p className="digest-feature-try">Установите параметр <code>thinking</code> из приглашения:</p>

64 

65 ```text Claude Code theme={null}

66 > /config thinking=false

67 ```

68 

69 <a className="digest-feature-link" href="/docs/ru/commands#all-commands">Справочник команд</a>

70</div>

71 

72<div className="digest-wins">

73 <p className="digest-wins-title">Другие улучшения</p>

74 

75 <div className="digest-wins-grid">

76 <div>Режим Auto теперь блокирует деструктивные команды git (`git reset --hard`, `git clean -fd`, `git stash drop`), когда вы не просили отбросить локальные изменения, и блокирует <code>terraform destroy</code>, если вы не попросили конкретный стек</div>

77 <div>Установите новый параметр <code>attribution.sessionUrl</code> в <code>false</code>, чтобы опустить ссылку на сессию claude.ai из коммитов и PR в веб-сессиях и сессиях Remote Control</div>

78 <div>В интерфейсе <code>/config</code> Enter и Space оба изменяют выбранный параметр, а Esc теперь сохраняет и закрывает вместо отката</div>

79 <div>Новый параметр <code>sandbox.allowAppleEvents</code> с явным согласием позволяет изолированным командам отправлять Apple Events на macOS</div>

80 <div>Укажите <code>CLAUDE\_CLIENT\_PRESENCE\_FILE</code> на файл-маркер, чтобы подавить мобильные push-уведомления, пока вы находитесь у машины</div>

81 <div>Длинные абзацы теперь передаются построчно вместо ожидания первого разрыва строки</div>

82 <div>Разрывы соединения API во время thinking теперь автоматически повторяются вместо отображения "Connection closed while thinking"</div>

83 <div>С установленным <code>CLAUDE\_CODE\_EXPERIMENTAL\_AGENT\_TEAMS=1</code> каждая сессия имеет одну неявную команду, поэтому вы порождаете товарищей по команде напрямую с помощью параметра <code>name</code> инструмента Agent</div>

84 <div>Skills в вложенных директориях <code>.claude/skills</code> загружаются при работе с файлами там; при конфликте имён вложенный skill отображается как `<dir>:<name>`, поэтому оба остаются доступными</div>

85 <div>Исправлено кэширование приглашений, не читающееся на пользовательском <code>ANTHROPIC\_BASE\_URL</code> и на Foundry</div>

86 <div>Исправлено создание Write и Edit нулевых или усечённых файлов на сетевых дисках и облачных синхронизированных папках</div>

87 </div>

88</div>

89 

90[Полный журнал изменений для v2.1.178–v2.1.183 →](/ru/changelog#2-1-178)

whats-new/2026-w26.md +66 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Неделя 26 · 22–26 июня 2026

6 

7> Аутентифицируйте MCP серверы из вашей оболочки с помощью claude mcp login, получайте ответ на вывод команды режима shell с префиксом !, и возобновляйте беседу перед /clear с помощью /rewind.

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ru/docs/changelog#2-1-185">v2.1.185 → v2.1.193</a></span>

11 <span>2 функции · 22–26 июня</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Аутентификация MCP серверов из CLI</span>

17 <span className="digest-feature-pill">v2.1.186</span>

18 </div>

19 

20 <p className="digest-feature-lede">Новые команды `claude mcp login <name>` и `claude mcp logout <name>` аутентифицируют настроенный MCP сервер из вашей оболочки вместо интерактивного меню <code>/mcp</code>. `claude mcp login` запускает поток OAuth сервера напрямую, а `claude mcp logout` очищает сохранённые учётные данные.</p>

21 

22 <p className="digest-feature-try">Запустите поток OAuth для настроенного сервера без открытия сеанса:</p>

23 

24 ```bash terminal theme={null}

25 claude mcp login sentry

26 ```

27 

28 <a className="digest-feature-link" href="/ru/docs/mcp#authenticate-from-the-command-line">Аутентификация из командной строки</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">Режим shell отвечает на вывод команды</span>

34 <span className="digest-feature-pill">v2.1.186</span>

35 </div>

36 

37 <p className="digest-feature-lede">Команды, которые вы запускаете с префиксом <code>!</code>, теперь получают ответ от Claude после того, как вывод попадает в стенограмму, поэтому вы можете запустить <code>! npm test</code> и получить объяснение ошибок без второго запроса. Ответ стоит столько же, сколько отправка обычного запроса. Чтобы сохранить предыдущее поведение, когда вывод добавляется в контекст без ответа, установите <code>respondToBashCommands</code> на <code>false</code> в <code>settings.json</code>.</p>

38 

39 <p className="digest-feature-try">Запустите команду и получите ответ на её вывод:</p>

40 

41 ```text Claude Code theme={null}

42 > ! npm test

43 ```

44 

45 <a className="digest-feature-link" href="/ru/docs/interactive-mode#shell-mode-with-prefix">Режим shell с префиксом !</a>

46</div>

47 

48<div className="digest-wins">

49 <p className="digest-wins-title">Другие улучшения</p>

50 

51 <div className="digest-wins-grid">

52 <div><code>/rewind</code> теперь может возобновить беседу перед запуском <code>/clear</code></div>

53 <div>Новый параметр <code>sandbox.credentials</code> блокирует изолированные команды от чтения файлов учётных данных и переменных окружения секретов</div>

54 <div>Ограничения модели, настроенные организацией, теперь применяются к средству выбора модели, `--model`, <code>/model</code> и <code>ANTHROPIC\_MODEL</code>, с сообщением "ограничено параметрами вашей организации" при выборе ограниченной модели</div>

55 <div>Новый параметр <code>autoMode.classifyAllShell</code> маршрутизирует все команды Bash и PowerShell через классификатор автоматического режима, и причины отказа теперь отображаются в стенограмме, всплывающем окне отказа и <code>/permissions</code></div>

56 <div>Новое событие журнала OpenTelemetry <code>claude\_code.assistant\_response</code> содержит текст ответа модели; развёртывания, которые уже регистрируют содержимое запроса, начнут получать его при обновлении, поэтому установите <code>OTEL\_LOG\_ASSISTANT\_RESPONSES=0</code>, чтобы сохранить только запросы</div>

57 <div>Фоновые подагенты теперь отображают запросы разрешений в основном сеансе вместо автоматического отказа; диалог показывает, какой агент запрашивает, и Esc отказывает только этому инструменту</div>

58 <div><code>/install-github-app</code> теперь может установить только GitHub App и пропустить шаги рабочего процесса Actions и секретов</div>

59 <div>Хосты, которые вы разрешаете в диалоге разрешения сетевого доступа песочницы, запоминаются на оставшуюся часть сеанса вместо повторного запроса при каждом подключении</div>

60 <div>Потоковые ответы используют примерно на 37% меньше CPU, и рост памяти в долгосеансовых сеансах из кэша вывода терминала снижен</div>

61 <div>`/review <pr>` теперь использует тот же механизм проверки, что и <code>/code-review medium</code></div>

62 <div>Команды режима Bash <code>!</code> получают автодополнение пути файла в реальном времени</div>

63 </div>

64</div>

65 

66[Полный журнал изменений для v2.1.185–v2.1.193 →](/ru/changelog#2-1-185)

workflows.md +2 −0

Details

68 68 

69 <Step title="Прочитать отчёт">69 <Step title="Прочитать отчёт">

70 Когда запуск завершится, отчёт попадает в вашу сессию. Он цитирует источники, из которых каждое утверждение пришло, с утверждениями, которые не пережили перекрёстную проверку, уже отфильтрованными.70 Когда запуск завершится, отчёт попадает в вашу сессию. Он цитирует источники, из которых каждое утверждение пришло, с утверждениями, которые не пережили перекрёстную проверку, уже отфильтрованными.

71 

72 {/* min-version: 2.1.196 */}Начиная с версии 2.1.196, когда агенты-верификаторы не могут проверить утверждение, например после ограничения скорости или ошибки API, отчёт указывает это утверждение как непроверенное вместо того, чтобы считать его опровергнутым.

71 </Step>73 </Step>

72</Steps>74</Steps>

73 75