SpyBara
Go Premium

Documentation 2026-06-24 22:02 UTC to 2026-06-25 06:58 UTC

21 files changed +1,130 −226. View all changes and history on the product overview
2026
Thu 25 06: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 +2 −2

Details

74Управляемые параметры могут заблокировать инструменты, изоляцию песочницы, ограничить серверы MCP и источники плагинов, а также контролировать, какие hooks запускаются. Каждая строка — это поверхность управления с ключами параметров, которые ее управляют.74Управляемые параметры могут заблокировать инструменты, изоляцию песочницы, ограничить серверы MCP и источники плагинов, а также контролировать, какие hooks запускаются. Каждая строка — это поверхность управления с ключами параметров, которые ее управляют.

75 75 

76| Управление | Что оно делает | Ключевые параметры |76| Управление | Что оно делает | Ключевые параметры |

77| :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------- |77| :------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------- |

78| [Permission rules](/ru/permissions) | Разрешить, спросить или запретить определенные инструменты и команды | `permissions.allow`, `permissions.deny` |78| [Permission rules](/ru/permissions) | Разрешить, спросить или запретить определенные инструменты и команды | `permissions.allow`, `permissions.deny` |

79| [Permission lockdown](/ru/permissions#managed-only-settings) | Применяются только управляемые правила разрешений; отключить `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |79| [Permission lockdown](/ru/permissions#managed-only-settings) | Применяются только управляемые правила разрешений; отключить `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

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


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

85| [Hook restrictions](/ru/settings#hook-configuration) | Загружаются только управляемые hooks; ограничить URL-адреса HTTP hook | `allowManagedHooksOnly`, `allowedHttpHookUrls` |85| [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` |86| [Disable agent view](/ru/agent-view#how-background-sessions-are-hosted) | Отключить `claude agents`, `--bg`, `/background` и встроенного супервизора по требованию | `disableAgentView` |

87| [Model restrictions](/ru/model-config#restrict-model-selection) | Ограничить, какие модели пользователи могут выбирать, и при необходимости также применить список разрешений к выбору модели по умолчанию. См. [surface coverage](/ru/model-config#surface-coverage) для того, как этот параметр достигает CLI, веб-интерфейса и IDE | `availableModels`, `enforceAvailableModels` |87| [Model restrictions](/ru/model-config#restrict-model-selection) | `availableModels` фильтрует, какие модели отображаются в средстве выбора. Добавление `enforceAvailableModels` также ограничивает автоматически выбранную модель по умолчанию. См. [surface coverage](/ru/model-config#surface-coverage) для того, как этот параметр достигает CLI, веб-интерфейса и IDE | `availableModels`, `enforceAvailableModels` |

88| [Version floor](/ru/settings) | Предотвратить автоматическое обновление от установки ниже минимума на уровне организации | `minimumVersion` |88| [Version floor](/ru/settings) | Предотвратить автоматическое обновление от установки ниже минимума на уровне организации | `minimumVersion` |

89| [Required version range](/ru/settings) | Отказать в запуске полностью, когда запущенная версия находится вне одобренного организацией диапазона. Более строгий, чем `minimumVersion`, который только блокирует понижение версии | `requiredMinimumVersion`, `requiredMaximumVersion` |89| [Required version range](/ru/settings) | Отказать в запуске полностью, когда запущенная версия находится вне одобренного организацией диапазона. Более строгий, чем `minimumVersion`, который только блокирует понижение версии | `requiredMinimumVersion`, `requiredMaximumVersion` |

90 90 

Details

86`settingSources` охватывает пользовательские, проектные и локальные параметры. Несколько входов читаются независимо от его значения:86`settingSources` охватывает пользовательские, проектные и локальные параметры. Несколько входов читаются независимо от его значения:

87 87 

88| Вход | Поведение | Для отключения |88| Вход | Поведение | Для отключения |

89| :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |89| :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

90| Параметры управляемой политики | Политика, управляемая конечной точкой, будь то MDM plist, политика реестра или файлы управляемых параметров, загружается с хоста; [параметры, управляемые сервером](/ru/server-managed-settings), загружаются при аутентификации сеанса с помощью входа OAuth организации или напрямую настроенного ключа API на [подходящей конфигурации](/ru/server-managed-settings#platform-availability) | Политика конечной точки: удалите файл управляемых параметров, plist или политику реестра с хоста. Параметры, управляемые сервером: контролируются администратором вашей организации; не могут быть отключены из SDK |90| Параметры управляемой политики | Политика, управляемая конечной точкой, будь то MDM plist, политика реестра или файлы управляемых параметров, загружается с хоста. [Параметры, управляемые сервером](/ru/server-managed-settings) загружаются при аутентификации сеанса с помощью входа OAuth организации или напрямую настроенного ключа API на [подходящей конфигурации](/ru/server-managed-settings#platform-availability) | Политика конечной точки: удалите файл управляемых параметров, plist или политику реестра с хоста. Параметры, управляемые сервером: контролируются администратором вашей организации; не могут быть отключены из SDK |

91| `~/.claude.json` глобальная конфигурация | Всегда читается | Переместите с помощью `CLAUDE_CONFIG_DIR` в `env` |91| `~/.claude.json` глобальная конфигурация | Всегда читается | Переместите с помощью `CLAUDE_CONFIG_DIR` в `env` |

92| Автоматическая память в `~/.claude/projects/<project>/memory/` | Загружается по умолчанию в системный запрос | Установите `autoMemoryEnabled: false` в параметрах или `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` в `env` |92| Автоматическая память в `~/.claude/projects/<project>/memory/` | Загружается по умолчанию в системный запрос | Установите `autoMemoryEnabled: false` в параметрах или `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1` в `env` |

93| [claude.ai MCP connectors](/ru/mcp#use-mcp-servers-from-claude-ai) | Загружаются, когда активный метод аутентификации — это подписка claude.ai. Передача `mcpServers: {}` их не подавляет | Установите `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/ru/mcp#disable-claude-ai-connectors) в параметрах или `ENABLE_CLAUDEAI_MCP_SERVERS=false` в `env` |93| [claude.ai MCP connectors](/ru/mcp#use-mcp-servers-from-claude-ai) | Загружаются, когда активный метод аутентификации — это подписка claude.ai. Передача `mcpServers: {}` их не подавляет | Установите `strictMcpConfig: true`, [`disableClaudeAiConnectors: true`](/ru/mcp#disable-claude-ai-connectors) в параметрах или `ENABLE_CLAUDEAI_MCP_SERVERS=false` в `env` |

Details

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

218 218 

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

220| --------- | ---------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |220| --------- | ---------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

Details

477export CLAUDE_CODE_USE_MANTLE=1477export CLAUDE_CODE_USE_MANTLE=1

478```478```

479 479 

480Чтобы отобразить модель Mantle в средстве выбора `/model`, перечислите ее ID в `availableModels` в вашем [файле параметров](/ru/settings). Этот параметр также ограничивает средство выбора перечисленными записями. Перечисление `anthropic.claude-haiku-4-5` удаляет простой псевдоним `haiku` из средства выбора, поэтому также перечислите префиксы версий или полные ID для версий, которые вы хотите сохранить доступными. См. [Merge behavior](/ru/model-config#merge-behavior):480Чтобы отобразить модель Mantle в средстве выбора `/model`, перечислите ее ID в `availableModels` в вашем [файле параметров](/ru/settings). Этот параметр также ограничивает средство выбора перечисленными записями. Перечисление `anthropic.claude-haiku-4-5` удаляет простой псевдоним `haiku` из средства выбора, поэтому также перечислите префиксы версий или полные ID для версий, которые вы хотите сохранить доступными. ID Mantle и псевдоним `haiku` разрешаются в одно семейство моделей, поэтому объединение сохраняет только более конкретную запись. См. [Merge behavior](/ru/model-config#merge-behavior):

481 481 

482```json theme={null}482```json theme={null}

483{483{

Details

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

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

138 138 

139`apiKeyHelper`, `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` применяются только к сеансам терминального CLI. Claude Desktop и облачные сеансы используют исключительно OAuth и не вызывают `apiKeyHelper` и не читают переменные окружения ключа API.139`apiKeyHelper`, `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` применяются к CLI и поверхностям, которые его оборачивают, включая расширение VS Code, Agent SDK и GitHub Actions. Claude Desktop и облачные сеансы не вызывают `apiKeyHelper` и не читают эти переменные окружения: они используют OAuth, за исключением сеансов рабочего стола, работающих с [конфигурацией вывода третьей стороны, распределяемой организацией](/ru/llm-gateway-connect#desktop-app), которые аутентифицируются с помощью учетных данных этой конфигурации.

140 140 

141<h3 id="authentication-precedence">141<h3 id="authentication-precedence">

142 Приоритет аутентификации142 Приоритет аутентификации

Details

47 47 

48Выбор "Суммировать до этого момента" оставляет вас в конце беседы с пустым полем ввода.48Выбор "Суммировать до этого момента" оставляет вас в конце беседы с пустым полем ввода.

49 49 

50<h4 id="rewind-past-a-cleared-conversation">

51 Перемотка прошлой очищенной беседы

52</h4>

53 

54Если вы запустили `/clear` ранее в том же процессе Claude Code, меню перемотки показывает дополнительную запись в верхней части списка с меткой `/resume <session-id> (previous session)`. Выберите её, чтобы возобновить беседу, которая была активна до запуска `/clear`. Запись доступна до тех пор, пока вы не выйдете из Claude Code или не возобновите другой сеанс, и требует Claude Code v2.1.191 или более поздней версии. В более ранних версиях запустите `/resume` и выберите предыдущий сеанс из списка.

55 

50<h4 id="restore-vs-summarize">56<h4 id="restore-vs-summarize">

51 Восстановление и суммирование57 Восстановление и суммирование

52</h4>58</h4>

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 не отправляет метрики из вашего облака. Чтобы получить метрики затрат, несколько крупных предприятий сообщили об использовании [LiteLLM](/ru/llm-gateway#litellm-configuration), который является инструментом с открытым исходным кодом, помогающим компаниям [отслеживать расходы по ключу](https://docs.litellm.ai/docs/proxy/virtual_keys#tracking-spend). Этот проект не связан с Anthropic и не был проверен на безопасность.54На Bedrock, Vertex и Foundry Claude Code не отправляет метрики из вашего облака. Организации, которые уже маршрутизируют Claude Code через [LLM gateway](/ru/llm-gateway), могут отслеживать расходы там, поскольку шлюз видит каждый запрос.

55 55 

56<h3 id="rate-limit-recommendations">56<h3 id="rate-limit-recommendations">

57 Рекомендации по ограничению скорости57 Рекомендации по ограничению скорости

env-vars.md +1 −1

Details

270| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите на `1`, чтобы использовать минимальное системное приглашение и свёрнутые описания инструментов на любой модели. Установите на `0`, `false`, `no` или `off`, чтобы отказаться даже на моделях, где эксперимент или конфигурация сервера в противном случае включили бы это. Полный набор инструментов, hooks, MCP servers и обнаружение CLAUDE.md остаются включены |270| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Установите на `1`, чтобы использовать минимальное системное приглашение и свёрнутые описания инструментов на любой модели. Установите на `0`, `false`, `no` или `off`, чтобы отказаться даже на моделях, где эксперимент или конфигурация сервера в противном случае включили бы это. Полный набор инструментов, hooks, MCP servers и обнаружение CLAUDE.md остаются включены |

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

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

273| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Пропустить аутентификацию Azure для Microsoft Foundry (например, при использовании шлюза LLM) |273| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Пропустить аутентификацию Azure для Microsoft Foundry. Для шлюза установите учётные данные в `ANTHROPIC_FOUNDRY_API_KEY` вместо этого; без ключа API эта переменная оставляет клиент Foundry неспособным отправлять запросы |

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

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

276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропустить аутентификацию Google для Vertex (например, при использовании шлюза LLM) |276| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Пропустить аутентификацию Google для Vertex (например, при использовании шлюза LLM) |

errors.md +2 −2

Details

486 486 

487* Подтвердите, что вы можете достичь хоста API из той же оболочки, запустив `curl -I https://api.anthropic.com`. На Windows PowerShell используйте `curl.exe -I https://api.anthropic.com`, чтобы встроенный псевдоним `Invoke-WebRequest` не использовался.487* Подтвердите, что вы можете достичь хоста API из той же оболочки, запустив `curl -I https://api.anthropic.com`. На Windows PowerShell используйте `curl.exe -I https://api.anthropic.com`, чтобы встроенный псевдоним `Invoke-WebRequest` не использовался.

488* Если вы находитесь за корпоративным прокси, установите `HTTPS_PROXY` перед запуском Claude Code и см. [Network configuration](/ru/network-config)488* Если вы находитесь за корпоративным прокси, установите `HTTPS_PROXY` перед запуском Claude Code и см. [Network configuration](/ru/network-config)

489* Если вы маршрутизируете через шлюз LLM или ретранслятор, установите [`ANTHROPIC_BASE_URL`](/ru/env-vars) на его адрес. См. [LLM gateway configuration](/ru/llm-gateway) для настройки.489* Если вы маршрутизируете через шлюз LLM или ретранслятор, установите [`ANTHROPIC_BASE_URL`](/ru/env-vars) на его адрес. См. [Connect Claude Code to an LLM gateway](/ru/llm-gateway-connect) для настройки.

490* Убедитесь, что ваш брандмауэр разрешает хосты, перечисленные в [Network access requirements](/ru/network-config#network-access-requirements)490* Убедитесь, что ваш брандмауэр разрешает хосты, перечисленные в [Network access requirements](/ru/network-config#network-access-requirements)

491* Прерывистые сбои [автоматически повторяются](#automatic-retries); постоянные сбои указывают на проблему локальной сети491* Прерывистые сбои [автоматически повторяются](#automatic-retries); постоянные сбои указывают на проблему локальной сети

492 492 


669 669 

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

671 671 

672* Настройте ваш шлюз для пересылки заголовка `anthropic-beta`. См. [LLM gateway configuration](/ru/llm-gateway).672* Настройте ваш шлюз для пересылки заголовка `anthropic-beta`. См. [feature pass-through](/ru/llm-gateway-protocol#feature-pass-through) для информации о том, что шлюзы должны пересылать.

673* В качестве резервного варианта установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/ru/env-vars) перед запуском. Это отключает функции, требующие заголовка бета-версии, чтобы запросы успешно проходили через шлюз, который не может его пересылать.673* В качестве резервного варианта установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/ru/env-vars) перед запуском. Это отключает функции, требующие заголовка бета-версии, чтобы запросы успешно проходили через шлюз, который не может его пересылать.

674 674 

675<h3 id="there’s-an-issue-with-the-selected-model">675<h3 id="there’s-an-issue-with-the-selected-model">

glossary.md +1 −1

Details

208 Managed settings208 Managed settings

209</h3>209</h3>

210 210 

211Параметры, применяемые организацией IT или DevOps, доставляемые с серверов Anthropic через консоль администратора или развёрнутые на устройствах по пути уровня ОС вне `~/.claude`. Пользователи не могут переопределять управляемые параметры из областей с более низким приоритетом. Доставка, управляемая сервером, применяется на [подходящих конфигурациях](/ru/server-managed-settings#platform-availability); см. [Соображения безопасности](/ru/server-managed-settings#security-considerations). Используйте это для политик безопасности, требований соответствия или стандартизированного инструментария на всём парке.211Параметры, применяемые организацией IT или DevOps, доставляемые с серверов Anthropic через консоль администратора или развёрнутые на устройствах по пути уровня ОС вне `~/.claude`. Пользователи и параметры проекта не могут переопределять управляемые параметры. Доставка, управляемая сервером, применяется на [подходящих конфигурациях](/ru/server-managed-settings#platform-availability); см. [Соображения безопасности](/ru/server-managed-settings#security-considerations). Используйте это для политик безопасности, требований соответствия или стандартизированного инструментария на всём парке.

212 212 

213Подробнее: [Server-managed settings](/ru/server-managed-settings) · [Settings files](/ru/settings#settings-files)213Подробнее: [Server-managed settings](/ru/server-managed-settings) · [Settings files](/ru/settings#settings-files)

214 214 

hooks.md +4 −2

Details

191Поле `matcher` фильтрует срабатывание hooks. Способ оценки фильтра зависит от содержащихся в нём символов:191Поле `matcher` фильтрует срабатывание hooks. Способ оценки фильтра зависит от содержащихся в нём символов:

192 192 

193| Значение фильтра | Оценивается как | Пример |193| Значение фильтра | Оценивается как | Пример |

194| :------------------------------ | :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- |194| :-------------------------------------------- | :------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

195| `"*"`, `""` или опущено | Совпадение со всеми | срабатывает при каждом возникновении события |195| `"*"`, `""` или опущено | Совпадение со всеми | срабатывает при каждом возникновении события |

196| Только буквы, цифры, `_` и `\|` | Точная строка или список точных строк, разделённых `\|` | `Bash` совпадает только с инструментом Bash; `Edit\|Write` совпадает с любым инструментом точно |196| Только буквы, цифры, `_`, пробелы, `,` и `\|` | Точная строка или список точных строк, разделённых `\|` или `,` с опциональным окружающим пробелом | `Bash` совпадает только с инструментом Bash; `Edit\|Write` и `Edit, Write` каждый совпадает с любым инструментом точно |

197| Содержит любой другой символ | Регулярное выражение JavaScript | `^Notebook` совпадает с любым инструментом, начинающимся с Notebook; `mcp__memory__.*` совпадает с каждым инструментом с сервера `memory` |197| Содержит любой другой символ | Регулярное выражение JavaScript | `^Notebook` совпадает с любым инструментом, начинающимся с Notebook; `mcp__memory__.*` совпадает с каждым инструментом с сервера `memory` |

198 198 

199Разделители запятых и допуск окружающего пробела требуют Claude Code v2.1.191 или позже. События `FileChanged` и `StopFailure` принимают только `|` как разделитель списка и обрабатывают `,` как буквальный символ; все остальные события, перечисленные в таблице ниже, принимают `|` или `,`.

200 

199Событие `FileChanged` не следует этим правилам при построении своего списка наблюдения. См. [FileChanged](#filechanged).201Событие `FileChanged` не следует этим правилам при построении своего списка наблюдения. См. [FileChanged](#filechanged).

200 202 

201Каждый тип события совпадает с другим полем:203Каждый тип события совпадает с другим полем:

Details

155</h3>155</h3>

156 156 

157| Команда | Действие |157| Команда | Действие |

158| :-------------- | :--------------------------------------------------------------------- |158| :-------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

159| `h`/`j`/`k`/`l` | Переместиться влево/вниз/вверх/вправо |159| `h`/`j`/`k`/`l` | Переместиться влево/вниз/вверх/вправо |

160| `Space` | Переместиться вправо |160| `Space` | Переместиться вправо |

161| `w` | Следующее слово |161| `w` | Следующее слово |


172| `T{char}` | Перейти прямо после предыдущего вхождения символа |172| `T{char}` | Перейти прямо после предыдущего вхождения символа |

173| `;` | Повторить последнее движение f/F/t/T |173| `;` | Повторить последнее движение f/F/t/T |

174| `,` | Повторить последнее движение f/F/t/T в обратном порядке |174| `,` | Повторить последнее движение f/F/t/T в обратном порядке |

175| `/` | Открыть поиск по истории в обратном порядке, то же самое, что `Ctrl+R` |175| `/` | Открыть поиск по истории в обратном порядке, то же самое, что `Ctrl+R`. {/* min-version: 2.1.191 */}Начиная с версии 2.1.191, пустая подсказка поиска показывает подсказку: нажмите `Esc`, затем `i`, затем `/` для открытия меню команд вместо этого |

176 176 

177<Note>177<Note>

178 В режиме vim normal, если курсор находится в начале или конце ввода и не может двигаться дальше, клавиши `j`/`k` и стрелки вместо этого навигируют по истории команд.178 В режиме vim normal, если курсор находится в начале или конце ввода и не может двигаться дальше, клавиши `j`/`k` и стрелки вместо этого навигируют по истории команд.

llm-gateway.md +64 −205

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# Конфигурация LLM gateway5# LLM gateways

6 6 

7> Узнайте, как настроить Claude Code для работы с решениями LLM gateway. Охватывает требования к шлюзу, конфигурацию аутентификации, выбор модели и настройку конечных точек для конкретных поставщиков.7> Маршрутизируйте Claude Code через LLM gateway для централизованной аутентификации, отслеживания использования и контроля затрат. Охватывает подключение Claude Code к шлюзу, развертывание шлюза для вашей организации, что Claude Code отправляет на шлюз и как шлюзы взаимодействуют с подписками claude.ai.

8 8 

9LLM gateways предоставляют централизованный прокси-слой между Claude Code и поставщиками моделей, часто предоставляя:9LLM gateway это прокси, который ваша организация запускает между Claude Code и поставщиком модели. Claude Code отправляет трафик API на шлюз, а шлюз перенаправляет его поставщику, используя учетные данные, которыми управляет ваша организация.

10 10 

11* **Централизованная аутентификация** - Единая точка управления ключами API11На этой странице рассматриваются:

12* **Отслеживание использования** - Мониторинг использования в командах и проектах

13* **Контроль затрат** - Реализация бюджетов и ограничений скорости

14* **Логирование аудита** - Отслеживание всех взаимодействий с моделью для соответствия требованиям

15* **Маршрутизация моделей** - Переключение между поставщиками без изменения кода

16 12 

17На этой странице рассматриваются требования к шлюзу и конфигурация для Claude Code CLI. Развертывания Enterprise Desktop могут настраивать поставщиков шлюза через [управляемые параметры](https://support.claude.com/ru/articles/12622667-enterprise-configuration). Приложение Claude Desktop также может работать с самостоятельно размещенным шлюзом через [Cowork on 3P research preview](https://claude.com/docs/cowork/3p/gateway), который использует свои собственные ключи конфигурации.13* [Что предоставляет шлюз](#what-a-gateway-provides)

18 14* [Как работают маршрутизация и учетные данные](#how-a-gateway-works)

19<h2 id="gateway-requirements">15* [Этапы развертывания](#roll-out-a-gateway)

20 Требования к шлюзу16* [Как шлюзы взаимодействуют с подписками claude.ai](#subscriptions-and-gateways)

21</h2>17* [Что настраивается отдельно от шлюза](#configure-separately-from-the-gateway)

22 

23Чтобы LLM gateway работал с Claude Code, он должен соответствовать следующим требованиям:

24 

25**Формат API**

26 

27Шлюз должен предоставлять клиентам по крайней мере один из следующих форматов API:

28 

291. **Anthropic Messages**: `/v1/messages`, `/v1/messages/count_tokens`

30 * Должен перенаправлять заголовки запроса: `anthropic-beta`, `anthropic-version`

31 

322. **Bedrock InvokeModel**: `/invoke`, `/invoke-with-response-stream`

33 * Должен сохранять поля тела запроса: `anthropic_beta`, `anthropic_version`

34 

353. **Vertex rawPredict**: `:rawPredict`, `:streamRawPredict`, `/count-tokens:rawPredict`

36 * Должен перенаправлять заголовки запроса: `anthropic-beta`, `anthropic-version`

37 

38Невозможность перенаправления заголовков или сохранения полей тела может привести к снижению функциональности или невозможности использования функций Claude Code.

39 18 

40<Note>19<Note>

41 Claude Code определяет, какие функции включить, на основе формата API. При использовании формата Anthropic Messages с Bedrock или Vertex может потребоваться установить переменную окружения `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`.20 - Если вы разработчик, подключающийся к существующему шлюзу: [подключите Claude Code к вашему шлюзу](/ru/llm-gateway-connect)

21 - Если вы администратор, развертывающий шлюз для вашей организации: [разверните и распределите шлюз](/ru/llm-gateway-rollout)

22 - Если вы настраиваете продукт шлюза: [справочник протокола шлюза](/ru/llm-gateway-protocol)

42</Note>23</Note>

43 24 

44**Заголовки запроса**25<h2 id="what-a-gateway-provides">

45 26 Что предоставляет шлюз

46Claude Code включает следующие заголовки в каждый запрос API:

47 

48| Заголовок | Описание |

49| :------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

50| `X-Claude-Code-Session-Id` | Уникальный идентификатор текущего сеанса Claude Code. Прокси могут использовать это для агрегирования всех запросов API из одного сеанса без анализа тела запроса. |

51| `X-Claude-Code-Agent-Id` | Идентификатор подагента или товарища по команде, который выполнил запрос. Ваш прокси может использовать это для отнесения затрат на API отдельным параллельным подагентам в рамках сеанса без анализа тела запроса. Присутствует только для запросов, выполненных внутрипроцессным подагентом или товарищем по команде. |

52| `X-Claude-Code-Parent-Agent-Id` | Идентификатор агента, который создал агента, выполняющего запрос. Используйте это вместе с `X-Claude-Code-Agent-Id` для отнесения затрат на API между вложенными агентами в вашем прокси. Присутствует только в том случае, если запрашивающий агент сам был создан другим агентом. |

53 

54Оба заголовка идентификатора агента являются эфемерными идентификаторами для каждого создания, а не постоянными идентификаторами пользователя или устройства.

55 

56Claude Code также добавляет короткий блок атрибуции в системный запрос, содержащий версию клиента и отпечаток, полученный из разговора. API Anthropic удаляет этот блок перед обработкой, поэтому он не влияет на кэширование запросов первой стороны. Если ваш шлюз реализует собственный кэш запросов, основанный на полном теле запроса, установите [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ru/env-vars), чтобы опустить его.

57 

58<h2 id="configuration">

59 Конфигурация

60</h2>27</h2>

61 28 

62<h3 id="model-selection">29Шлюз дает вашей организации одно место для управления:

63 Выбор модели

64</h3>

65 

66По умолчанию Claude Code использует стандартные имена моделей для выбранного формата API.

67 30 

68Когда `ANTHROPIC_BASE_URL` указывает на шлюз, который предоставляет формат Anthropic Messages, Claude Code может запросить конечную точку `/v1/models` шлюза при запуске и добавить возвращённые модели в средство выбора `/model`. Установите `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, чтобы включить это. Обнаружение отключено по умолчанию, чтобы шлюзы, поддерживаемые общим ключом API, не раскрывали каждому пользователю все модели, к которым может получить доступ ключ. Каждая обнаруженная запись помечена как "From gateway" и использует поле `display_name` из ответа, если оно предоставлено. Это требует Claude Code версии 2.1.129 или более поздней.31* **Учетные данные**: ключ поставщика остается на стороне сервера; разработчики вместо этого используют учетные данные шлюза

32* **Отслеживание использования**: атрибутируйте использование по разработчику или команде, независимо от того, какой поставщик обслуживает запрос

33* **Контроль затрат**: применяйте бюджеты и ограничения скорости в одном месте

34* **Логирование аудита**: логируйте каждый запрос модели для соответствия требованиям

35* **Переключение поставщика**: измените поставщика в конфигурации шлюза, не трогая машины разработчиков

69 36 

70Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется для конечных точек Bedrock или Vertex pass-through, и оно не выполняется, когда `ANTHROPIC_BASE_URL` не установлен или указывает на `api.anthropic.com`.37Все эти функции, кроме переключения поставщика, применяются независимо от того, является ли upstream API Anthropic или [облачный поставщик](/ru/third-party-integrations).

71 38 

72Запрос обнаружения аутентифицируется так же, как запросы вывода: он отправляет `ANTHROPIC_AUTH_TOKEN` как токен bearer, или `ANTHROPIC_API_KEY` как заголовок `x-api-key`, когда токен аутентификации не установлен, вместе с любыми заголовками из `ANTHROPIC_CUSTOM_HEADERS`. Только модели, чьи идентификаторы начинаются с `claude` или `anthropic`, добавляются в средство выбора. Результаты кэшируются в `~/.claude/cache/gateway-models.json` и обновляются при каждом запуске. Если запрос не удаётся или шлюз не реализует `/v1/models`, средство выбора возвращается к кэшированному списку из предыдущего запуска или к встроенному списку моделей.39Компромисс заключается в том, что шлюз становится инфраструктурой, которую управляет ваша организация. Claude Code добавляет возможности с каждым выпуском, и шлюз, который не перенаправляет их, нарушает соответствующие функции, поэтому продукт шлюза должен быть обновлен по мере развития Claude Code. [Справочник протокола шлюза](/ru/llm-gateway-protocol) охватывает то, что нужно перенаправлять.

73 40 

74Если ваш шлюз использует имена моделей, которые не соответствуют фильтру обнаружения, используйте переменные окружения, описанные в [Конфигурация модели](/ru/model-config), чтобы добавить их вручную.41<h2 id="how-a-gateway-works">

75 42 Как работает шлюз

76<h2 id="litellm-configuration">

77 Конфигурация LiteLLM

78</h2>43</h2>

79 44 

80<Warning>45По умолчанию Claude Code отправляет запросы непосредственно на API Anthropic по адресу `api.anthropic.com`. Чтобы маршрутизировать через шлюз, установите `ANTHROPIC_BASE_URL` на адрес шлюза; Claude Code отправляет туда же запросы. Шлюз аутентифицирует разработчика, прикрепляет учетные данные поставщика вашей организации и перенаправляет каждый запрос поставщику, для которого он настроен.

81 LiteLLM версии PyPI 1.82.7 и 1.82.8 были скомпрометированы вредоносным ПО для кражи учетных данных. Не устанавливайте эти версии. Если вы уже установили их:

82 

83 * Удалите пакет

84 * Измените все учетные данные на затронутых системах

85 * Следуйте шагам восстановления в [BerriAI/litellm#24518](https://github.com/BerriAI/litellm/issues/24518)

86 

87 LiteLLM - это сторонний прокси-сервис. Anthropic не одобряет, не поддерживает и не проверяет безопасность или функциональность LiteLLM. Это руководство предоставляется в информационных целях и может устаревать. Используйте на свой риск.

88</Warning>

89 

90<h3 id="prerequisites">

91 Предварительные требования

92</h3>

93 

94* Claude Code обновлен до последней версии

95* LiteLLM Proxy Server развернут и доступен

96* Доступ к моделям Claude через выбранного поставщика

97 

98<h3 id="basic-litellm-setup">

99 Базовая настройка LiteLLM

100</h3>

101 

102**Конфигурация Claude Code**:

103 

104<h4 id="authentication-methods">

105 Методы аутентификации

106</h4>

107 46 

108<h5 id="static-api-key">47`ANTHROPIC_BASE_URL` — это переменная адреса для большинства шлюзов. Шлюз, который находится перед конкретным облачным поставщиком, таким как Bedrock, Vertex, Foundry или Claude Platform на AWS, использует переменную базового URL этого поставщика; [Форматы API](/ru/llm-gateway-protocol#api-formats) указывает, какая переменная идет с каждой конфигурацией.

109 Статический ключ API

110</h5>

111 48 

112Самый простой метод с использованием фиксированного ключа API:49<Frame>

50 <img src="https://mintcdn.com/claude-code/zIcIE_SQv4Z0Zbhc/images/llm-gateway-flow.svg?fit=max&auto=format&n=zIcIE_SQv4Z0Zbhc&q=85&s=490607d033d235694efb49a73a5b9e4b" 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" />

51</Frame>

113 52 

114```bash theme={null}53Задействованы два вида учетных данных:

115# Установить в окружении

116export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

117 54 

118# Или в настройках Claude Code55* **Учетные данные разработчика**: каждый разработчик держит свои собственные, выданные шлюзом. Они аутентифицируют его на шлюзе и идентифицируют его при отслеживании использования

119{56* **Учетные данные поставщика**: шлюз держит одно учетное данные для вашей учетной записи поставщика, используемое всем перенаправленным трафиком. Вы не предоставляете ключи поставщика для каждого разработчика

120 "env": {

121 "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"

122 }

123}

124```

125 57 

126Это значение будет отправлено как заголовок `Authorization`.58Шлюз перенаправляет каждый запрос поставщику, который вы настраиваете, такому как 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 разговаривает только со шлюзом, выбор поставщика — это конфигурация шлюза, а не клиента.

127 59 

128<h5 id="dynamic-api-key-with-helper">60<h2 id="roll-out-a-gateway">

129 Динамический ключ API с помощником61 Развертывание шлюза

130</h5>62</h2>

131 

132Для ротации ключей или аутентификации для каждого пользователя:

133 

1341. Создайте скрипт помощника ключа API:

135 

136```bash theme={null}

137#!/bin/bash

138# ~/bin/get-litellm-key.sh

139 

140# Пример: Получить ключ из хранилища

141vault kv get -field=api_key secret/litellm/claude-code

142 

143# Пример: Сгенерировать JWT токен

144jwt encode \

145 --secret="${JWT_SECRET}" \

146 --exp="+1h" \

147 '{"user":"'${USER}'","team":"engineering"}'

148```

149 

1502. Настройте параметры Claude Code для использования помощника:

151 

152```json theme={null}

153{

154 "apiKeyHelper": "~/bin/get-litellm-key.sh"

155}

156```

157 

1583. Установите интервал обновления токена:

159 

160```bash theme={null}

161# Обновлять каждый час (3600000 мс)

162export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

163```

164 

165Это значение будет отправлено как заголовки `Authorization` и `X-Api-Key`. `apiKeyHelper` имеет более низкий приоритет, чем `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_API_KEY`.

166 

167<h4 id="unified-endpoint-recommended">

168 Унифицированная конечная точка (рекомендуется)

169</h4>

170 

171Использование [конечной точки формата Anthropic](https://docs.litellm.ai/docs/anthropic_unified) LiteLLM:

172 

173```bash theme={null}

174export ANTHROPIC_BASE_URL=https://litellm-server:4000

175```

176 

177**Преимущества унифицированной конечной точки над сквозными конечными точками:**

178 

179* Балансировка нагрузки

180* Резервные варианты

181* Последовательная поддержка отслеживания затрат и отслеживания конечного пользователя

182 

183<h4 id="provider-specific-pass-through-endpoints-alternative">

184 Конечные точки сквозного прохода для конкретных поставщиков (альтернатива)

185</h4>

186 

187<h5 id="claude-api-through-litellm">

188 Claude API через LiteLLM

189</h5>

190 

191Использование [сквозной конечной точки](https://docs.litellm.ai/docs/pass_through/anthropic_completion):

192 63 

193```bash theme={null}64Когда вы готовы развернуть LLM gateway для вашей организации, последовательность одинакова независимо от того, какой продукт шлюза вы выберете:

194export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic

195```

196 65 

197<h5 id="amazon-bedrock-through-litellm">661. Разверните шлюз и дайте ему учетные данные вашего поставщика, чтобы он мог аутентифицировать запросы, которые он перенаправляет.

198 Amazon Bedrock через LiteLLM672. Выдайте каждому разработчику учетные данные шлюза, чтобы использование было отнесено разработчику и отключение отзывает одно учетное данные.

199</h5>683. Распределите конфигурацию через [управляемый файл параметров](/ru/settings#settings-files) и ваши инструменты управления секретами, чтобы каждая машина получила базовый URL и учетные данные. Когда оба распределены, разработчики ничего не настраивают. Если у вас нет распределения параметров, разработчики следуют [странице подключения](/ru/llm-gateway-connect), чтобы установить переменные самостоятельно.

694. Попросите каждого разработчика [проверить конфигурацию в Claude Code](/ru/llm-gateway-connect#check-for-an-existing-configuration), чтобы проблемы распределения выявились до того, как они будут зависеть от шлюза.

200 70 

201Использование [сквозной конечной точки](https://docs.litellm.ai/docs/pass_through/bedrock):71[Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout) проходит каждый шаг и показывает файлы конфигурации для распределения на каждом. Шлюз — это одна часть организационной настройки; для применения политики, видимости использования и решений по обработке данных см. [Настройка Claude Code для вашей организации](/ru/admin-setup).

202 72 

203```bash theme={null}73<h2 id="third-party-gateways">

204export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock74 Шлюзы третьих сторон

205export CLAUDE_CODE_SKIP_BEDROCK_AUTH=175</h2>

206export CLAUDE_CODE_USE_BEDROCK=1

207```

208 76 

209<h5 id="google-vertex-ai-through-litellm">77Любой шлюз, который предоставляет [поддерживаемый формат API](/ru/llm-gateway-protocol#api-formats), работает. Anthropic не одобряет, не поддерживает и не проверяет продукты шлюзов третьих сторон. Разверните их, следуя их собственной документации, затем завершите сторону Claude Code развертывания с помощью [этапов развертывания](/ru/llm-gateway-rollout).

210 Google Vertex AI через LiteLLM

211</h5>

212 78 

213Использование [сквозной конечной точки](https://docs.litellm.ai/docs/pass_through/vertex_ai):79<h2 id="subscriptions-and-gateways">

80 Подписки и шлюзы

81</h2>

214 82 

215```bash theme={null}83Пока активна [переменная учетных данных шлюза](/ru/llm-gateway-connect#set-the-credential-variable) или `apiKeyHelper`, подписка claude.ai разработчика не используется: учетные данные заменяют вход подписки для этого сеанса, и ограничения использования подписки не применяются. Этот трафик выставляется счетом за токен тому, кто владеет учетными данными, которые перенаправляет шлюз, например вашей учетной записи Anthropic Console организации или вашей учетной записи Bedrock, Vertex или Foundry, когда шлюз маршрутизирует туда.

216export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1

217export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

218export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

219export CLAUDE_CODE_USE_VERTEX=1

220export CLOUD_ML_REGION=us-east5

221```

222 84 

223<h5 id="claude-platform-on-aws-through-a-gateway">85Установка только `ANTHROPIC_BASE_URL` без учетных данных шлюза не заменяет подписку. Запросы по-прежнему маршрутизируются через шлюз, но сохраненный вход claude.ai остается активным учетным данным, поэтому применяются его ограничения использования и выставление счетов. Шлюзы, которые передают этот трафик на Anthropic, должны перенаправлять возможность OAuth в `anthropic-beta`; см. [справочник заголовков запроса](/ru/llm-gateway-protocol#request-headers).

224 Claude Platform on AWS через шлюз

225</h5>

226 86 

227Маршрутизация на шлюз, который перенаправляет на конечную точку [Claude Platform on AWS](/ru/claude-platform-on-aws):87<h2 id="configure-separately-from-the-gateway">

88 Настройка отдельно от шлюза

89</h2>

228 90 

229```bash theme={null}91Шлюз определяет, куда отправляются запросы API модели. Выбор модели, остальной трафик сети Claude Code и корпоративные прокси настраиваются отдельно:

230export ANTHROPIC_AWS_BASE_URL=https://litellm-server:4000/anthropic-aws

231export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

232export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

233export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

234```

235 92 

236Для получения более подробной информации обратитесь к [документации LiteLLM](https://docs.litellm.ai/).93* **Выбор модели**: базовый URL определяет, куда идут запросы, а не какая модель отвечает. Выберите модель с помощью команды `/model` или переменных окружения модели; см. [как установить вашу модель](/ru/model-config#setting-your-model)

94* **Трафик на стороне клиента**: проверки версии и дополнительная телеметрия клиента, обе отключены с помощью [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/ru/env-vars), и трафик входа при использовании входа claude.ai или Console идут на конечные точки обновления и аутентификации Anthropic, а не на шлюз. См. [требования доступа в сеть](/ru/network-config#network-access-requirements) для доменов

95* **Корпоративные прокси**: прокси, установленный с помощью `HTTPS_PROXY`, находится между Claude Code и каждым сервером, с которым он разговаривает, включая шлюз. Если ваша сеть требует прокси, настройте оба; см. [конфигурация прокси](/ru/network-config#proxy-configuration)

237 96 

238<h2 id="additional-resources">97<h2 id="related-pages">

239 Дополнительные ресурсы98 Связанные страницы

240</h2>99</h2>

241 100 

242* [Документация LiteLLM](https://docs.litellm.ai/)101* [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect): установите базовый URL и учетные данные на вашей собственной машине, с конфигурацией для каждой поверхности и таблицей устранения неполадок

243* [Параметры Claude Code](/ru/settings)102* [Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout): контрольный список администратора для развертывания шлюза, выдачи учетных данных разработчика и распределения управляемых параметров

244* [Конфигурация корпоративной сети](/ru/network-config)103* [Справочник протокола шлюза](/ru/llm-gateway-protocol): что Claude Code отправляет на шлюз, для операторов, настраивающих его, охватывающий конечные точки, заголовки для перенаправления и передачу функций

245* [Обзор интеграций третьих сторон](/ru/third-party-integrations)104* [Настройка Claude Code для вашей организации](/ru/admin-setup): более широкие решения развертывания, частью которых является шлюз, включая применение политики и видимость использования

llm-gateway-connect.md +527 −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 к шлюзу LLM

6 

7> Направьте Claude Code на шлюз LLM вашей организации. Проверьте, уже ли администратор его настроил, или установите базовый URL и учетные данные самостоятельно для CLI, VS Code, GitHub Actions и Agent SDK, затем проверьте соединение и исправьте ошибки шлюза.

8 

9[Шлюз LLM](/ru/llm-gateway) — это прокси, который ваша организация запускает между Claude Code и поставщиком модели. Когда ваша организация использует его, Claude Code аутентифицируется на шлюзе с учетными данными, которые выдает ваша организация, вместо вашего личного входа claude.ai.

10 

11Эта страница предназначена для разработчиков, запускающих Claude Code через шлюз, который управляет их организация. Она охватывает два пути: [проверка того, уже ли администратор его настроил для вас](#check-for-an-existing-configuration), и [самостоятельная настройка](#configure-claude-code-yourself), если он этого не сделал.

12 

13<Note>

14 * Чтобы развернуть шлюз для вашей организации, см. [Развертывание шлюза LLM](/ru/llm-gateway-rollout)

15 * Для информации о том, что Claude Code отправляет на шлюз, см. [справочник протокола шлюза](/ru/llm-gateway-protocol)

16</Note>

17 

18<h2 id="check-for-an-existing-configuration">

19 Проверка существующей конфигурации

20</h2>

21 

22Администраторы могут распространять адрес шлюза и учетные данные через [управляемые параметры](/ru/settings#settings-files), управление устройствами или [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper), чтобы Claude Code подхватил их при запуске без каких-либо действий с вашей стороны. Чтобы проверить, уже ли ваша организация это сделала:

23 

24<Steps>

25 <Step title="Запустите Claude Code">

26 Запустите `claude`. Если он открывается на экран входа вместо сеанса, учетные данные шлюза не были распространены; [настройте его самостоятельно](#configure-claude-code-yourself) ниже.

27 </Step>

28 

29 <Step title="Проверьте вкладку Status">

30 Если Claude Code запустил сеанс без отображения экрана входа, запустите `/status`, откройте вкладку **Status** и проверьте две строки:

31 

32 * `Anthropic base URL`: эта строка появляется только при установке адреса шлюза. Если ее нет, Claude Code не указан на шлюз; [настройте его самостоятельно](#configure-claude-code-yourself) ниже.

33 * `Auth token` или `API key`: строка, называющая `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY` или `apiKeyHelper`, подтверждает, что учетные данные шлюза активны. Строка `Login method`, называющая учетную запись claude.ai, означает, что учетные данные не были распространены; [установите их самостоятельно](#set-the-credential-variable).

34 </Step>

35 

36 <Step title="Отправьте тестовое сообщение">

37 Закройте меню `/status` и отправьте любой запрос в Claude Code. Обычный ответ от Claude без ошибок подтверждает, что соединение с шлюзом работает.

38 </Step>

39</Steps>

40 

41Если обе строки в меню `/status` выглядят правильно, но сообщение Claude не проходит, см. [таблицу устранения неполадок](#troubleshoot-gateway-errors).

42 

43<h2 id="configure-claude-code-yourself">

44 Самостоятельная настройка Claude Code

45</h2>

46 

47Чтобы самостоятельно настроить Claude Code для шлюза, вам нужны от команды шлюза:

48 

49* Базовый URL шлюза

50* Учетные данные: строка ключа или токена, или команда, которая их получает

51 * Если команда шлюза не указала, какой тип учетных данных это, раздел [переменная учетных данных](#set-the-credential-variable) ниже охватывает, что попробовать

52 

53Разделы ниже охватывают конфигурацию по порядку:

54 

55* [Установка переменной учетных данных](#set-the-credential-variable) и [установка базового URL](#set-the-base-url-and-credential): две переменные, которые нужны каждому соединению с шлюзом

56* [Проверка соединения](#verify-the-connection): подтвердите, что оно работает, прежде чем что-либо сохранять

57* [Настройка каждой поверхности](#configure-each-surface): если вы используете поверхность, отличную от CLI Claude Code, такую как VS Code, см., как настроить ее с учетными данными шлюза

58* [Дополнительная конфигурация](#additional-configuration): переменные, которые некоторым шлюзам нужны помимо базового URL и учетных данных, такие как пользовательский заголовок, помощник учетных данных, обнаружение модели или базовый URL в формате поставщика. Устанавливайте их только если администратор их назвал

59 

60<h3 id="set-the-credential-variable">

61 Установка переменной учетных данных

62</h3>

63 

64Чтобы аутентифицировать Claude Code на шлюзе, установите ваши учетные данные в переменную окружения. Какая переменная зависит от того, что вам сказала команда шлюза:

65 

66| Установите учетные данные в | Используйте когда |

67| :------------------------------------------------------ | :-------------------------------------------------------------- |

68| `ANTHROPIC_AUTH_TOKEN` | Команда шлюза сказала "bearer token" или "Authorization header" |

69| `ANTHROPIC_API_KEY` | Команда шлюза сказала "API key" или "x-api-key" |

70| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | Учетные данные ротируются или поступают из хранилища |

71 

72Если вам не сказали, какой тип, используйте `ANTHROPIC_AUTH_TOKEN`; [запрос проверки](#verify-the-connection) ниже показывает, как определить, нужно ли переключиться.

73 

74<h3 id="set-the-base-url-and-credential">

75 Установка базового URL и учетных данных

76</h3>

77 

78Установите базовый URL шлюза и переменную учетных данных, которую вы выбрали выше, как переменные окружения. Примеры используют `ANTHROPIC_AUTH_TOKEN`; замените его на `ANTHROPIC_API_KEY`, если это [переменная, которую вы выбрали](#set-the-credential-variable). Вы можете установить их [в вашей оболочке](#set-as-shell-environment-variables), что длится один сеанс терминала, или [в файле параметров Claude Code](#set-in-a-settings-file), что сохраняется везде, где работает Claude Code.

79 

80Для вашего первого соединения начните с экспорта оболочки и запустите [запрос проверки](#verify-the-connection) перед перемещением значений в файл параметров.

81 

82<h4 id="set-as-shell-environment-variables">

83 Установка как переменные окружения оболочки

84</h4>

85 

86Замените значения на те, которые вам дала команда шлюза:

87 

88<Tabs>

89 <Tab title="Bash или Zsh">

90 ```bash theme={null}

91 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

92 export ANTHROPIC_AUTH_TOKEN=sk-gateway-key

93 ```

94 </Tab>

95 

96 <Tab title="PowerShell">

97 ```powershell theme={null}

98 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

99 $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

100 ```

101 </Tab>

102</Tabs>

103 

104Экспорты оболочки применяются только к этому сеансу терминала и программам, запущенным из него; редактор, запущенный с док-станции или меню "Пуск", их не увидит. Чтобы они сохранялись в новых терминалах, добавьте те же строки в профиль вашей оболочки, такой как `~/.zshrc`, `~/.bashrc` или ваш PowerShell `$PROFILE`, или используйте файл параметров вместо этого.

105 

106<h4 id="set-in-a-settings-file">

107 Установка в файле параметров

108</h4>

109 

110Чтобы конфигурация применялась везде, где работает Claude Code, без зависимости от вашей оболочки, установите переменные в блоке `env` [файла параметров](/ru/settings). Файлы параметров имеют разные области:

111 

112* `~/.claude/settings.json` применяется ко всем вашим проектам. На Windows путь — `%USERPROFILE%\.claude\settings.json`

113* `.claude/settings.local.json` применяется к одному проекту. Claude Code добавляет его в ваш gitignore при создании файла; если вы создаете его самостоятельно, сначала добавьте его в gitignore вручную, чтобы случайно не зафиксировать ваши учетные данные

114 

115<Warning>

116 Не помещайте учетные данные в `.claude/settings.json` проекта. Этот файл фиксируется и совместно используется со всеми, кто клонирует репозиторий.

117</Warning>

118 

119Блок `env` выглядит одинаково в любом файле:

120 

121```json theme={null}

122{

123 "env": {

124 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

125 "ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"

126 }

127}

128```

129 

130Когда и экспорт оболочки, и блок `env` файла параметров устанавливают одну и ту же переменную, применяется значение файла параметров. Запустите `/status`, чтобы увидеть, какой базовый URL и источник учетных данных использует Claude Code.

131 

132<h3 id="verify-the-connection">

133 Проверка соединения

134</h3>

135 

136С переменными, экспортированными в вашей оболочке, отправьте однотокенный запрос на шлюз напрямую. Это подтверждает, что URL и учетные данные работают, прежде чем вы откроете Claude Code, поэтому сбой указывает на шлюз, а не на вашу конфигурацию. Команды ниже читают переменные оболочки, поэтому им нужны [экспорты оболочки](#set-as-shell-environment-variables) даже если вы также поместили значения в файл параметров.

137 

138<Tabs>

139 <Tab title="Bash или Zsh">

140 ```bash theme={null}

141 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

142 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

143 -H "anthropic-version: 2023-06-01" \

144 -H "content-type: application/json" \

145 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `

152 -Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `

153 -ContentType "application/json" `

154 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

155 ```

156 </Tab>

157</Tabs>

158 

159Если ваш шлюз ожидает ключи в заголовке `x-api-key`, замените заголовок `Authorization` на `x-api-key: $ANTHROPIC_API_KEY` в команде Bash или запись таблицы хеша `"Authorization"` на `"x-api-key" = "$env:ANTHROPIC_API_KEY"` в команде PowerShell.

160 

161Ответ JSON, начинающийся с `{"id":"msg_` и включающий поле `"content":[...]`, означает, что шлюз доступен и учетные данные работают. Ошибка, называющая неизвестную модель, все еще доказывает, что URL и учетные данные работают, так как шлюз аутентифицировал запрос перед отклонением имени модели; вам не нужно находить модель, которую обслуживает ваш шлюз, для этого теста. `401` означает, что учетные данные были отклонены: если вы угадали переменную, переключитесь на другую и переэкспортируйте.

162 

163<h4 id="confirm-in-claude-code">

164 Подтверждение в Claude Code

165</h4>

166 

167Запустите `claude` из той же оболочки, чтобы он унаследовал экспорты, отправьте сообщение и запустите `/status`.

168 

169На вкладке **Status** строка `Anthropic base URL` должна показывать адрес вашего шлюза, что подтверждает маршрутизацию запросов туда; если строки нет, переменная не достигла сеанса. Строка `Auth token` или `API key`, называющая переменную, которую вы установили, подтверждает, что учетные данные шлюза активны, а не сохраненный вход claude.ai.

170 

171Если сообщение не проходит или `/status` не показывает URL шлюза, см. [таблицу устранения неполадок](#troubleshoot-gateway-errors) ниже.

172 

173<h3 id="how-the-credential-variable-maps-to-a-header">

174 Как переменная учетных данных отображается на заголовок

175</h3>

176 

177Каждая переменная отправляет учетные данные в другом HTTP-заголовке: `ANTHROPIC_AUTH_TOKEN` в `Authorization: Bearer`, `ANTHROPIC_API_KEY` в `x-api-key` и `apiKeyHelper` в обоих. Учетные данные в неправильной переменной достигают шлюза в заголовке, который он не читает, и запрос не проходит с `401`. Если запрос проверки вернул `401`, переключитесь на другую переменную и попробуйте снова.

178 

179<h3 id="conflicts-with-an-existing-login">

180 Конфликты с существующим входом

181</h3>

182 

183Переменная учетных данных шлюза имеет приоритет над сохраненным входом claude.ai или ключом Console. Ваш вход claude.ai остается сохраненным и неиспользуемым, пока переменная установлена; отмените установку переменной, и Claude Code вернется к нему. С `ANTHROPIC_AUTH_TOKEN` переменная имеет приоритет немедленно. С `ANTHROPIC_API_KEY` вам предлагается один раз в интерактивном режиме одобрить ключ перед тем, как он возьмет верх.

184 

185Запустите `/status`, чтобы подтвердить, какой источник учетных данных активен. Если при запуске показывается предупреждение о конфликте аутентификации, называющее два источника, см. первую строку [таблицы устранения неполадок](#troubleshoot-gateway-errors), чтобы узнать, какой из них отбросить. Чтобы очистить сохраненный вход, чтобы остались только учетные данные шлюза, запустите `/logout`.

186 

187<h2 id="configure-each-surface">

188 Настройка каждой поверхности

189</h2>

190 

191CLI читает переменные окружения и файлы параметров выше. Другие поверхности — это расширение VS Code, настольное приложение, GitHub Actions, Agent SDK и облачные поверхности, такие как Slack и веб; разделы ниже охватывают, достигают ли эти параметры каждую.

192 

193<h3 id="vs-code-extension">

194 Расширение VS Code

195</h3>

196 

197Установите переменные шлюза для [расширения VS Code](/ru/vs-code) в `claudeCode.environmentVariables` в собственных параметрах пользователя VS Code, открытых командой **Preferences: Open User Settings (JSON)**. Расширение проверяет учетные данные из этого параметра перед запуском, поэтому это надежное место для учетных данных шлюза; значения в `~/.claude/settings.json` достигают порожденного процесса, но не проверку входа самого расширения.

198 

199```json theme={null}

200{

201 "claudeCode.environmentVariables": [

202 { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },

203 { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gateway-key" }

204 ]

205}

206```

207 

208<h3 id="desktop-app">

209 Настольное приложение

210</h3>

211 

212Настольное приложение читает маршрутизацию шлюза из [конфигурации, распределяемой администратором](https://claude.com/docs/cowork/3p/gateway), а не из `ANTHROPIC_BASE_URL` или `settings.json`. Если ваша организация распределила ее, настольное приложение маршрутизирует через шлюз без каких-либо действий с вашей стороны; если нет, используйте терминальный CLI или расширение VS Code для сеансов шлюза. Администраторы распределяют конфигурацию, как описано в [развертывании организации](/ru/llm-gateway-rollout#distribute-through-managed-settings).

213 

214Если настольное приложение показывает `Gateway was unreachable`, приложение не смогло достичь настроенный базовый URL при запуске; проверьте URL и сетевой путь с помощью [теста curl выше](#verify-the-connection).

215 

216<h3 id="github-actions">

217 GitHub Actions

218</h3>

219 

220[Claude Code GitHub Actions](/ru/github-actions) читает `ANTHROPIC_BASE_URL` и `ANTHROPIC_CUSTOM_HEADERS` из блока `env` рабочего процесса. Передайте учетные данные как вход `anthropic_api_key` действия; действие устанавливает его как `ANTHROPIC_API_KEY`, поэтому он достигает шлюза в заголовке `x-api-key`.

221 

222Для шлюза `x-api-key` установите базовый URL в `env` и передайте ключ шлюза как вход:

223 

224```yaml theme={null}

225env:

226 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

227 

228steps:

229 - uses: anthropics/claude-code-action@v1

230 with:

231 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

232```

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` игнорируется:

235 

236```yaml theme={null}

237env:

238 ANTHROPIC_BASE_URL: https://llm-gateway.example.com

239 ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

240 

241steps:

242 - uses: anthropics/claude-code-action@v1

243 with:

244 anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}

245```

246 

247Для других вариантов аутентификации действия, включая `CLAUDE_CODE_OAUTH_TOKEN` и федерацию рабочей нагрузки, см. [Claude Code GitHub Actions](/ru/github-actions) и [README](https://github.com/anthropics/claude-code-action#readme) действия.

248 

249<h3 id="agent-sdk">

250 Agent SDK

251</h3>

252 

253[Agent SDK](/ru/agent-sdk/overview) не имеет опций, специфичных для шлюза; он передает переменные окружения процессу Claude Code, который он порождает. Каждый SDK принимает опцию `env`, которая устанавливает окружение порожденного процесса, и SDK TypeScript и Python обрабатывают это по-разному:

254 

255* TypeScript: порожденный процесс по умолчанию наследует родительское окружение, но установка `options.env` полностью заменяет окружение. Распределите `process.env` в него, чтобы сохранить переменные шлюза.

256* Python: `ClaudeAgentOptions(env=...)` объединяется поверх унаследованного окружения, поэтому переменные шлюза, установленные в родительском процессе, проходят без распределения.

257 

258<CodeGroup>

259 ```ts TypeScript theme={null}

260 const result = query({

261 prompt: "...",

262 options: {

263 env: {

264 ...process.env,

265 ANTHROPIC_BASE_URL: "https://llm-gateway.example.com",

266 ANTHROPIC_AUTH_TOKEN: process.env.GATEWAY_KEY,

267 },

268 },

269 })

270 ```

271 

272 ```python Python theme={null}

273 options = ClaudeAgentOptions(

274 env={

275 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",

276 "ANTHROPIC_AUTH_TOKEN": os.environ["GATEWAY_KEY"],

277 }

278 )

279 ```

280</CodeGroup>

281 

282<h3 id="slack-web-and-remote-control">

283 Slack, веб и Remote Control

284</h3>

285 

286[Claude Code в Slack](/ru/slack) и [Claude Code на веб](/ru/claude-code-on-the-web) — это размещенные Anthropic продукты, которые всегда используют API Anthropic; они не являются частью развертывания шлюза. Переменные шлюза, установленные в конфигурации окружения облачного сеанса, не применяются. Если ваш трафик должен оставаться на шлюзе, не включайте эти поверхности для этих пользователей.

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

289 

290<h2 id="additional-configuration">

291 Дополнительная конфигурация

292</h2>

293 

294Эти параметры охватывают случаи, выходящие за рамки базового URL и учетных данных. Устанавливайте их только если инструкции администратора или [таблица устранения неполадок](#troubleshoot-gateway-errors) требуют одного.

295 

296<h3 id="send-additional-headers">

297 Отправка дополнительных заголовков

298</h3>

299 

300Некоторые шлюзы маршрутизируют или помечают запросы, используя пользовательский заголовок в дополнение к учетным данным, например идентификатор клиента или ключ маршрутизации. Чтобы отправить один, установите [`ANTHROPIC_CUSTOM_HEADERS`](/ru/env-vars) с одной парой `Name: Value` на строку. Пример ниже добавляет заголовок маршрутизации с именем `X-Org-Route`:

301 

302<Tabs>

303 <Tab title="Bash или Zsh">

304 ```bash theme={null}

305 export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"

306 ```

307 </Tab>

308 

309 <Tab title="PowerShell">

310 ```powershell theme={null}

311 $env:ANTHROPIC_CUSTOM_HEADERS = "X-Org-Route: prod"

312 ```

313 </Tab>

314</Tabs>

315 

316Вы также можете установить `ANTHROPIC_CUSTOM_HEADERS` в блоке `env` файла параметров. Используйте `\n` между парами там, так как строки JSON не могут охватывать несколько строк:

317 

318```json theme={null}

319{

320 "env": {

321 "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"

322 }

323}

324```

325 

326<h3 id="add-gateway-models-to-the-model-picker">

327 Добавление моделей шлюза в средство выбора модели

328</h3>

329 

330Обнаружение модели запрашивает шлюз для его списка моделей при запуске и добавляет эти имена в средство выбора `/model` наряду со встроенными записями.

331 

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

333 

334Чтобы включить его, установите `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` в вашей оболочке или в блоке `env` `~/.claude/settings.json`. Обнаружение требует Claude Code v2.1.129 или позже. {/* min-version: 2.1.129 */}

335 

336Обнаруженные модели появляются как дополнительные записи `/model`, помеченные `From gateway`. Чтобы подтвердить, что обнаружение запустилось, запустите `claude --debug` и ищите строки `[gatewayDiscovery]`: успех регистрирует, сколько моделей было кэшировано, и `404`, timeout или перенаправление также записываются там. Для того, когда запускается обнаружение, что оно фильтрует и формат ответа, который обслуживают шлюзы, см. [справочник обнаружения модели](/ru/llm-gateway-protocol#model-discovery).

337 

338<h3 id="rotate-credentials-with-apikeyhelper">

339 Ротация учетных данных с apiKeyHelper

340</h3>

341 

342`apiKeyHelper` — это команда, которую Claude Code запускает для получения ваших учетных данных шлюза, вместо чтения их из статической переменной окружения.

343 

344Используйте помощника, когда учетные данные истекают по расписанию, поступают из хранилища или команды SSO, или администратор сказал вам настроить один. Если ваши учетные данные — это фиксированная строка, которую вы устанавливаете один раз, [переменная учетных данных](#set-the-credential-variable) — это все, что вам нужно, и вы можете пропустить этот раздел.

345 

346Помощник — это любая команда оболочки, которая выводит текущие учетные данные на stdout. Claude Code запускает ее через вашу системную оболочку, поэтому на Windows это может быть исполняемый файл или вызов PowerShell. Напишите скрипт, сделайте его исполняемым и ссылайтесь на него из `apiKeyHelper` в вашем [файле параметров](/ru/settings):

347 

348<Tabs>

349 <Tab title="Bash или Zsh">

350 Например, скрипт, который читает из хранилища:

351 

352 ```bash theme={null}

353 #!/bin/bash

354 vault kv get -field=api_key secret/llm-gateway/claude-code

355 ```

356 

357 Ссылайтесь на его путь в `~/.claude/settings.json`:

358 

359 ```json theme={null}

360 {

361 "apiKeyHelper": "~/bin/get-gateway-key.sh"

362 }

363 ```

364 </Tab>

365 

366 <Tab title="PowerShell">

367 Например, скрипт, который читает из хранилища:

368 

369 ```powershell theme={null}

370 vault kv get -field=api_key secret/llm-gateway/claude-code

371 ```

372 

373 Ссылайтесь на вызов PowerShell в `%USERPROFILE%\.claude\settings.json`, экранируя обратные косые черты в строке JSON:

374 

375 ```json theme={null}

376 {

377 "apiKeyHelper": "powershell -NoProfile -File C:\\scripts\\get-gateway-key.ps1"

378 }

379 ```

380 </Tab>

381</Tabs>

382 

383Claude Code кэширует вывод помощника в течение пяти минут по умолчанию и переустанавливает его, когда запрос возвращает HTTP 401. Чтобы изменить время жизни кэша, установите `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` в миллисекундах, например `CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000` на 15 минут.

384 

385Значение помощника отправляется в оба заголовка `Authorization` и `x-api-key`, поэтому оно работает, какой бы заголовок ни читал ваш шлюз.

386 

387<h3 id="route-to-a-cloud-provider-through-a-gateway">

388 Маршрутизация к облачному поставщику через шлюз

389</h3>

390 

391Эти конфигурации направляют Claude Code на шлюз через переменную базового URL, специфичную для поставщика, вместо `ANTHROPIC_BASE_URL`. Шлюзы Bedrock и Vertex принимают собственные форматы запросов этих поставщиков; шлюзы Foundry и Claude Platform на AWS принимают формат Anthropic Messages и отличаются только тем, какая переменная базового URL их достигает.

392 

393Используйте один только если команда шлюза специально назвала Bedrock, Vertex, Foundry или Claude Platform на AWS. Если [запрос проверки](#verify-the-connection) выше вернул JSON, вы можете пропустить этот раздел.

394 

395Установите блок для поставщика, которого назвала команда шлюза. Переменные skip-auth говорят Claude Code не подписывать запросы с учетными данными поставщика, так как шлюз их держит. Если шлюзу нужен свой собственный токен, добавьте `ANTHROPIC_AUTH_TOKEN` после блока, кроме Foundry, который использует `ANTHROPIC_FOUNDRY_API_KEY`, как показано.

396 

397<h4 id="amazon-bedrock">

398 Amazon Bedrock

399</h4>

400 

401<Tabs>

402 <Tab title="Bash или Zsh">

403 ```bash theme={null}

404 export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock

405 export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1

406 export CLAUDE_CODE_USE_BEDROCK=1

407 ```

408 </Tab>

409 

410 <Tab title="PowerShell">

411 ```powershell theme={null}

412 $env:ANTHROPIC_BEDROCK_BASE_URL = "https://llm-gateway.example.com/bedrock"

413 $env:CLAUDE_CODE_SKIP_BEDROCK_AUTH = "1"

414 $env:CLAUDE_CODE_USE_BEDROCK = "1"

415 ```

416 </Tab>

417</Tabs>

418 

419<h4 id="google-vertex-ai">

420 Google Vertex AI

421</h4>

422 

423<Tabs>

424 <Tab title="Bash или Zsh">

425 ```bash theme={null}

426 export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex

427 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

428 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1

429 export CLAUDE_CODE_USE_VERTEX=1

430 export CLOUD_ML_REGION=us-east5

431 ```

432 </Tab>

433 

434 <Tab title="PowerShell">

435 ```powershell theme={null}

436 $env:ANTHROPIC_VERTEX_BASE_URL = "https://llm-gateway.example.com/vertex"

437 $env:ANTHROPIC_VERTEX_PROJECT_ID = "your-gcp-project-id"

438 $env:CLAUDE_CODE_SKIP_VERTEX_AUTH = "1"

439 $env:CLAUDE_CODE_USE_VERTEX = "1"

440 $env:CLOUD_ML_REGION = "us-east5"

441 ```

442 </Tab>

443</Tabs>

444 

445<h4 id="microsoft-foundry">

446 Microsoft Foundry

447</h4>

448 

449Поместите учетные данные шлюза в `ANTHROPIC_FOUNDRY_API_KEY`; они отправляются на шлюз как заголовок `x-api-key`. `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` здесь не применяется: без ключа API клиент Foundry не проходит каждый запрос перед тем, как он покидает машину.

450 

451<Tabs>

452 <Tab title="Bash или Zsh">

453 ```bash theme={null}

454 export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry

455 export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key

456 export CLAUDE_CODE_USE_FOUNDRY=1

457 ```

458 </Tab>

459 

460 <Tab title="PowerShell">

461 ```powershell theme={null}

462 $env:ANTHROPIC_FOUNDRY_BASE_URL = "https://llm-gateway.example.com/foundry"

463 $env:ANTHROPIC_FOUNDRY_API_KEY = "sk-gateway-key"

464 $env:CLAUDE_CODE_USE_FOUNDRY = "1"

465 ```

466 </Tab>

467</Tabs>

468 

469<h4 id="claude-platform-on-aws">

470 Claude Platform на AWS

471</h4>

472 

473См. [Claude Platform на AWS](/ru/claude-platform-on-aws) для ID рабочего пространства.

474 

475<Tabs>

476 <Tab title="Bash или Zsh">

477 ```bash theme={null}

478 export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws

479 export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN

480 export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1

481 export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

482 ```

483 </Tab>

484 

485 <Tab title="PowerShell">

486 ```powershell theme={null}

487 $env:ANTHROPIC_AWS_BASE_URL = "https://llm-gateway.example.com/anthropic-aws"

488 $env:ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN"

489 $env:CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH = "1"

490 $env:CLAUDE_CODE_USE_ANTHROPIC_AWS = "1"

491 ```

492 </Tab>

493</Tabs>

494 

495<h2 id="troubleshoot-gateway-errors">

496 Устранение неполадок с ошибками шлюза

497</h2>

498 

499Это наиболее распространенные ошибки при запуске Claude Code через шлюз, с причиной на стороне шлюза и исправлением:

500 

501| Ошибка | Причина | Исправление |

502| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

503| Предупреждение при запуске, называющее два источника учетных данных и заканчивающееся на `auth may not work as expected`. Более старые версии показывают `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` вместо этого. | Учетные данные шлюза и сохраненный вход оба активны; переменная используется для запросов, но устаревший вход может вызвать неожиданное поведение аутентификации | Отмените установку переменной, чтобы использовать сохраненный вход, или запустите `/logout`, чтобы использовать учетные данные шлюза |

504| Ошибки `401`, называющие недействительный или неузнанный токен | Учетные данные не являются теми, которые выдал шлюз, или они находятся в заголовке, который шлюз не читает | Подтвердите, что переменная соответствует вашему типу учетных данных в [таблице учетных данных](#set-the-credential-variable), и переустановите ключ на шлюзе, если он был отозван |

505| `Unable to connect to API (ConnectionRefused)` или `(ECONNREFUSED)` из установок npm, часто после молчаливой паузы, пока Claude Code [повторяет с отступом](/ru/errors#automatic-retries) | Ничто не ответило на базовый URL: адрес неправильный или VPN или брандмауэр блокирует путь к шлюзу | Запустите [тест curl выше](#verify-the-connection), который немедленно не проходит с той же причиной, и подтвердите URL и сетевой путь с командой шлюза |

506| `API returned an empty or malformed response (HTTP 200)` | Шлюз или промежуточный прокси вернул ответ, отличный от API, часто HTML-ошибку или страницу входа | Протестируйте с [запросом curl выше](#verify-the-connection); исправьте маршрут шлюза, который возвращает не-JSON |

507| Ошибки `400`, называющие `context_management`, `Extra inputs are not permitted` или другие неузнанные поля | Шлюз пересылает запросы на вышестоящий, который отклоняет поля, которые Claude Code отправляет на конечные точки формата Anthropic | Установите `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, что подавляет большинство полей предварительного выпуска; см. [передача функций](/ru/llm-gateway-protocol#feature-pass-through). Некоторые бета-версии не управляются этим флагом; для них установите соответствующую переменную поставщика `CLAUDE_CODE_USE_*`, чтобы Claude Code отправлял только то, что этот поставщик принимает |

508| Ошибки `400`, называющие `thinking` или `adaptive`, такие как `Input tag 'adaptive' found` | Сборка вышестоящей модели не принимает адаптивное рассуждение, которое Claude Code запрашивает для моделей Claude 4.6 и позже | Обновите вышестоящий шлюз. На Opus 4.6 и Sonnet 4.6 вместо этого работает `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`. Переменные возможностей [конфигурации модели](/ru/model-config) применяются только к конфигурациям поставщика, таким как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, а не за шлюзом `ANTHROPIC_BASE_URL` |

509| Ошибки `400`, указывающие контекст или лимит токена в собственных словах шлюза, такие как `ContextWindowExceededError` или `prompt token count of N exceeds the limit of M` | Шлюз применяет меньший контекст, чем собственное окно модели, и переписывает ошибку вышестоящего, поэтому автоматическое сжатие и повтор, которое соответствует формулировке `prompt is too long` Anthropic, не срабатывает | Запустите `/compact`, чтобы восстановить сеанс. Чтобы предотвратить это, установите `CLAUDE_CODE_AUTO_COMPACT_WINDOW` на лимит шлюза; значение зажимается как минимум на 100,000 токенов и максимум на контекстное окно модели, поэтому лимит шлюза ниже 100,000 не может быть согласован и `/compact` остается восстановлением там. Также установите `CLAUDE_CODE_MAX_OUTPUT_TOKENS` ниже лимита вывода модели шлюза |

510| Модели отсутствуют в средстве выбора `/model` | Имена моделей шлюза отсутствуют в встроенном списке Claude Code | Включите [обнаружение модели шлюза](#add-gateway-models-to-the-model-picker) или добавьте имена с переменными [конфигурации модели](/ru/model-config) |

511| Claude Code просит вас войти, даже если [тест curl](#verify-the-connection) успешен | CLI не имеет собственных учетных данных: достижимый базовый URL не является одним, и блок `env` в `.claude/settings.json` или `.claude/settings.local.json` проекта применяется только после мастера первого запуска и подсказки доверия | Установите `ANTHROPIC_AUTH_TOKEN` где-то, где Claude Code читает перед первоначальной настройкой: экспорт оболочки, блок `env` в `~/.claude/settings.json` или управляемые параметры |

512| `ANTHROPIC_API_KEY` установлен, но игнорируется, без подсказки | Ключ требует одобрения один раз в интерактивных сеансах, и ранее отклоненный ключ игнорируется без повторного запроса | Включите его под `/config` с опцией `Use custom API key` |

513| `This machine's managed settings require a first-party login` | Управляемые параметры включают `forceLoginMethod` или `forceLoginOrgUUID`, которые на Claude Code v2.1.146 и позже не могут сосуществовать с `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper` | Администратор должен удалить `forceLoginMethod` и `forceLoginOrgUUID` из управляемых параметров, чтобы использовать учетные данные шлюза, или удалить учетные данные шлюза, чтобы использовать вход первой стороны. Эти два не могут быть объединены |

514| `403` с телом HTML, такое как `403 Forbidden`, когда собственные журналы шлюза не показывают полученный запрос | Веб-приложение брандмауэра или обратный прокси перед шлюзом заблокировал тело запроса перед тем, как оно достигло шлюза. Подсказки Claude Code включают теги в стиле XML и исходный код, которые соответствуют правилам тела межсайтового скриптинга, поэтому короткий тест curl проходит, а реальный сеанс нет | Исключите путь `/v1/messages` шлюза из проверки тела запроса. На AWS WAF это управляемое правило `CrossSiteScripting_Body`; на nginx с ModSecurity это эквивалентные правила тела OWASP CRS |

515| Ошибки сертификата или TLS, такие как `SSL certificate verification failed` или `Self-signed certificate detected`, когда [тест curl](#verify-the-connection) успешен | Среда выполнения Claude Code не доверяет тому же центру сертификации, что и `curl`. Обычно за корпоративными прокси-серверами проверки TLS | Установите `NODE_EXTRA_CA_CERTS` на путь пакета CA; см. [хранилище сертификатов CA](/ru/network-config#ca-certificate-store) |

516 

517Если Claude Code повторно просит вас войти после удаления конфигурации шлюза, причина обычно в хранилище учетных данных, а не в шлюзе; см. [ошибки аутентификации](/ru/errors#authentication-errors).

518 

519<h2 id="related-resources">

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

521</h2>

522 

523* [Обзор шлюзов LLM](/ru/llm-gateway): что такое шлюз и как он взаимодействует с подписками claude.ai

524* [Развертывание шлюза LLM для вашей организации](/ru/llm-gateway-rollout): контрольный список, обращенный к администратору, для развертывания и распределения конфигурации шлюза

525* [Справочник протокола шлюза](/ru/llm-gateway-protocol): что Claude Code отправляет на шлюз, включая заголовки и поля, которые шлюз должен пересылать

526* [Параметры](/ru/settings): где находятся файлы параметров и как читается блок `env`

527* [Аутентификация](/ru/authentication): как переменные учетных данных, `apiKeyHelper` и вход OAuth взаимодействуют

llm-gateway-protocol.md +208 −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# Справочник протокола Gateway

6 

7> Контракт API между Claude Code и LLM gateway: конечные точки, заголовки и поля тела для пересылки, деградация функций при удалении полей, заголовки атрибуции для отслеживания затрат и обнаружение моделей.

8 

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

10 

11<Note>

12 * Чтобы развернуть существующий или сторонний gateway для вашей организации, см. [Развертывание LLM gateway](/ru/llm-gateway-rollout)

13 * Если вы отдельный разработчик, аутентифицирующий Claude Code на gateway с учетными данными, которые вам были предоставлены, см. [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect)

14</Note>

15 

16На этой странице рассматриваются:

17 

18* [Форматы API](#api-formats) и конечные точки для обслуживания каждого

19* [Заголовки запроса](#request-headers): какие должны достичь upstream и какие ваш gateway может использовать

20* [Блок атрибуции системного приглашения](#system-prompt-attribution-block) и как он взаимодействует с кешированием приглашений

21* [Сквозная передача функций](#feature-pass-through): что ломается при удалении заголовков или полей тела

22* [Обнаружение моделей](#model-discovery)

23 

24На этой странице используются два термина для описания того, что ваш gateway делает с каждым заголовком и полем тела:

25 

26* **Пересылать без изменений**: передать его upstream побайтово

27* **Использовать**: gateway может прочитать его для маршрутизации, атрибуции или трассировки и не обязан пересылать его

28 

29Все, что не отмечено как пересылка без изменений, вы можете использовать или игнорировать.

30 

31<h2 id="api-formats">

32 API форматы

33</h2>

34 

35Gateway должен предоставить клиентам Claude Code по крайней мере один из следующих форматов API. Какой формат использует Claude Code, определяется конфигурацией клиента: переменная в столбце "Выбрано" таблицы ниже указывает Claude Code на ваш gateway в этом формате.

36 

37| Формат | Выбрано | Конечные точки | Пересылать без изменений |

38| :------------------ | :--------------------------------------------------------- | :-------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |

39| 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` |

41| Vertex rawPredict | `ANTHROPIC_VERTEX_BASE_URL` с `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (опционально) | заголовки запроса `anthropic-beta` и `anthropic-version`, и поле тела запроса `anthropic_version` |

42 

43<h3 id="foundry-and-claude-platform-on-aws">

44 Foundry и Claude Platform on AWS

45</h3>

46 

47Microsoft Foundry и [Claude Platform on AWS](/ru/claude-platform-on-aws) реализуют формат Anthropic Messages. Claude Code маршрутизирует их через собственные переменные, `ANTHROPIC_FOUNDRY_BASE_URL` и `ANTHROPIC_AWS_BASE_URL`, но gateway, находящийся перед ними, реализует строку Anthropic Messages выше. Gateway, находящийся перед Claude Platform on AWS, также должен пересылать заголовок `anthropic-workspace-id`, который [эта платформа требует для каждого запроса](/ru/claude-platform-on-aws).

48 

49<h3 id="optional-endpoints-and-startup-traffic">

50 Опциональные конечные точки и трафик при запуске

51</h3>

52 

53Конечные точки подсчета токенов — единственные опциональные: когда их нет, Claude Code локально оценивает использование контекста. Запросы вывода отправляются на `/v1/messages?beta=true`, поэтому сопоставляйте по пути, а не по полному URL. Суффиксы метода Vertex присоединяются к пути модели издателя, как в `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`.

54 

55Gateway также видит трафик при запуске, который он может отклонить без нарушения чего-либо: зонд подключения `HEAD /` и на gateway-ах формата Bedrock запрос `GET /inference-profiles?type=SYSTEM_DEFINED`.

56 

57<h3 id="streaming">

58 Потоковая передача

59</h3>

60 

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

62 

63<h3 id="format-mismatch-with-the-upstream">

64 Несоответствие формата с upstream

65</h3>

66 

67Какой формат использует клиент, определяет, что получает ваш gateway. Распространенный режим отказа — несоответствие между форматом, который клиент отправляет вашему gateway, и форматом, который принимает поставщик upstream позади него.

68 

69* Когда клиент использует формат Bedrock или Vertex, Claude Code отправляет только подмножество своего полного набора возможностей, которое эти поставщики принимают

70* Когда клиент использует формат Anthropic Messages, Claude Code отправляет полный набор, даже если ваш gateway пересылает на upstream Bedrock или Vertex

71 

72Преодоление этого различия — задача вашего gateway. [Сквозная передача функций](#feature-pass-through) описывает, что ломается, когда этого не происходит.

73 

74<h2 id="request-headers">

75 Заголовки запроса

76</h2>

77 

78Claude Code включает эти заголовки в запросы API. Имена заголовков не чувствительны к регистру на проводе. Пересылайте `anthropic-version` и `anthropic-beta` без изменений, плюс `anthropic-workspace-id` когда upstream — это [Claude Platform on AWS](/ru/claude-platform-on-aws); остальное gateway может использовать для маршрутизации, атрибуции и трассировки и не обязан пересылать.

79 

80| Заголовок | Описание |

81| :------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

82| `Authorization`, `x-api-key` | Учетные данные gateway разработчика, в одном или обоих заголовках в зависимости от того, какую [переменную учетных данных](/ru/llm-gateway-connect#set-the-credential-variable) они установили |

83| `anthropic-version` | Версия API, в настоящее время `2023-06-01`. Запросы формата Bedrock и Vertex также содержат поле тела `anthropic_version`, значение которого — строка диалекта поставщика, а не значение этого заголовка |

84| `anthropic-beta` | Значения возможностей, разделенные запятыми, для запроса. Пересылайте заголовок дословно; не создавайте список разрешений отдельных значений, потому что набор изменяется с выпусками Claude Code. Когда разработчик аутентифицируется с помощью входа claude.ai, что возможно, когда `ANTHROPIC_BASE_URL` установлен без переменной учетных данных gateway, этот заголовок также содержит возможность OAuth, которую требует upstream, и удаление его приводит к отказу этих запросов с `401` |

85| `x-claude-code-session-id` | Уникальный идентификатор текущего сеанса Claude Code. Используйте его для агрегирования всех запросов из одного сеанса без анализа тел запросов |

86| `x-claude-code-agent-id` | Идентификатор [подагента](/ru/sub-agents), который выдал запрос, присутствует только в запросах от агента, порожденного Claude Code внутри сеанса. Используйте его с идентификатором сеанса для отнесения затрат к параллельным агентам |

87| `x-claude-code-parent-agent-id` | Идентификатор агента, который породил запрашивающего агента, присутствует только для вложенных агентов |

88 

89Идентификаторы подагентов генерируются заново для каждого порождения. Агенты товарищей, названные члены [команды агентов](/ru/agent-teams), повторно используют стабильный идентификатор на основе имени при переподключениях. В обоих случаях идентификатор идентифицирует агента, а не человека или устройство, поэтому не рассматривайте заголовок идентификатора агента как идентификатор пользователя.

90 

91Если ваши разработчики установили `ANTHROPIC_CUSTOM_HEADERS`, эти заголовки также появляются в запросах.

92 

93<h3 id="forward-as-open-lists">

94 Пересылка как открытые списки

95</h3>

96 

97Рассматривайте заголовки и поля тела как открытые списки, а не закрытые. Claude Code получает возможности в выпусках, и они поступают как новые значения `anthropic-beta`, новые поля тела запроса и иногда новые заголовки `anthropic-*` или `x-claude-code-*`.

98 

99При пересылке на upstream формата Anthropic пропускайте заголовки запроса `anthropic-*` и поля тела запроса без изменений, а не создавайте список разрешений видимых вами сегодня. Gateway, привязанный к наблюдаемому списку, удаляет заголовок или поле следующей возможности и ломает его при выпуске, который его вводит.

100 

101Исключением является upstream, не относящийся к Anthropic, такой как Bedrock или Vertex, где преодоление различия схемы — задача gateway; см. [сквозная передача функций](#feature-pass-through).

102 

103<h2 id="system-prompt-attribution-block">

104 Блок атрибуции системного приглашения

105</h2>

106 

107Claude Code добавляет в начало системного приглашения короткий блок атрибуции, содержащий версию клиента и отпечаток, полученный из разговора. Конечная точка `api.anthropic.com` удаляет блок перед обработкой, поэтому он не влияет на кеширование приглашений первой стороны; любой другой upstream получает его как часть приглашения. Anthropic и конечные точки Claude облачных поставщиков читают его для атрибуции, поэтому чтобы опустить его, установите [`CLAUDE_CODE_ATTRIBUTION_HEADER=0`](/ru/env-vars) вместо удаления его в gateway.

108 

109{/* min-version: 2.1.181 */}Начиная с Claude Code v2.1.181, блок стабилен в течение всего времени жизни разговора, когда запросы маршрутизируются через пользовательский базовый URL, поэтому кеш приглашений gateway на основе полного тела запроса работает без отключения его. До v2.1.181 блок включал токен для каждого запроса; на этих версиях установите `CLAUDE_CODE_ATTRIBUTION_HEADER=0`, если ваш gateway реализует такой кеш.

110 

111<h2 id="feature-pass-through">

112 Сквозная передача функций

113</h2>

114 

115Claude Code рассматривает gateway `ANTHROPIC_BASE_URL` как конечную точку формата Anthropic и отправляет ему бета-заголовки и поля тела запроса, которые он отправляет на `api.anthropic.com`, за исключением небольшого набора диагностики и значений по умолчанию, зарезервированных для прямых соединений.

116 

117Возможности, которые добавляют поля тела, связывают их с бета-заголовком, и пара путешествует вместе. Gateway, который удаляет заголовок при передаче тела или пересылает тело формата Anthropic на upstream с другой схемой, создает жесткие ошибки `400`; только когда обе половины отсутствуют вместе, функция отключается тихо. Gateway, который переписывает или редактирует тела запросов для проверки содержимого, нарушает связь так же, как удаление, поэтому проверяйте без изменения. Таблица отмечает, где функция отклоняется от связи.

118 

119Потоковая передача инструментов с точной детализацией — одно из значений по умолчанию для прямого соединения: она отключена по умолчанию, когда запросы маршрутизируются через пользовательский базовый URL, и gateway получает ее, когда разработчики установили [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/ru/env-vars).

120 

121| Функция | Заголовок и связь тела | Симптом при нарушении | Исправление |

122| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------- |

123| [Адаптивное рассуждение](/ru/model-config#adjust-effort-level) | Нет бета-заголовка. Claude Code отправляет `thinking: {"type": "adaptive"}` для Claude 4.6 и позже и рассматривает имена моделей, которые он не распознает, такие как псевдонимы gateway, как текущие модели, которые получают поле | `400` с указанием поля `thinking` или тега `adaptive`, когда сборка модели upstream его не принимает | Обновите upstream. На Opus 4.6 и Sonnet 4.6 разработчики могут вместо этого установить `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` |

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

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` дословно |

126| Бета [поля инструментов](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 | Пересылайте поле и его заголовки вместе |

128| [Подсчет токенов](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Нет бета-связи; использует конечную точку `count_tokens` | Claude Code возвращается к локальной оценке использования контекста | Предоставьте конечную точку, если вы хотите точные подсчеты |

129 

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`.

131 

132<h3 id="automatic-retry-and-error-forwarding">

133 Автоматический повтор и пересылка ошибок

134</h3>

135 

136Claude Code автоматически повторяет попытку после некоторых отказов upstream и отключает отклоненную возможность на оставшуюся часть разговора. Отказы поля `thinking`, [сигнатур мышления](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) и системных сообщений в середине разговора восстанавливаются таким образом. Отказы управления контекстом и отказы полей схемы инструментов не повторяются; эти ошибки `400` достигают разработчика.

137 

138Логика повтора соответствует формулировке ошибки upstream, поэтому пересылайте тела ответов об ошибках без изменений. Gateway, который оборачивает ошибки upstream в собственный конверт, нарушает путь восстановления, даже если он сохраняет код состояния.

139 

140<h3 id="disable-pre-release-capabilities">

141 Отключение возможностей предварительного выпуска

142</h3>

143 

144`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` останавливает Claude Code от отправки возможностей предварительного выпуска и их полей тела на каждого поставщика, включая управление контекстом и бета-поля инструментов. Это не влияет на адаптивное рассуждение, которое выбирается по модели, а не по бета, и никогда не подавляет возможность OAuth, которую требует аутентификация подписки.

145 

146Набор возможностей, которые отправляет Claude Code, растет в выпусках. Для текущих строк бета-заголовков см. [справочник бета-заголовков](https://platform.claude.com/docs/en/api/beta-headers); тестируйте ваш gateway против новых выпусков Claude Code, а не привязывайтесь к наблюдаемому списку.

147 

148<h2 id="model-discovery">

149 Обнаружение моделей

150</h2>

151 

152Когда `ANTHROPIC_BASE_URL` указывает на gateway, который предоставляет формат Anthropic Messages, Claude Code может запросить конечную точку `/v1/models` gateway при запуске и добавить возвращаемые модели в средство выбора `/model`.

153 

154Разработчики включают это, установив [`CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`](/ru/env-vars) в своей собственной среде или через управляемые параметры. Обнаружение отключено по умолчанию, чтобы gateway-ы, поддерживаемые общим ключом API, не выводили каждую модель, к которой ключ может получить доступ, каждому пользователю. Это требует Claude Code v2.1.129 или позже.

155 

156<h3 id="when-discovery-runs">

157 Когда выполняется обнаружение

158</h3>

159 

160Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется, когда:

161 

162* Установлена любая переменная поставщика `CLAUDE_CODE_USE_*`, даже если также установлен `ANTHROPIC_BASE_URL`

163* `ANTHROPIC_BASE_URL` не установлен или указывает на `api.anthropic.com`

164* Несущественный трафик отключен через [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/ru/env-vars) или политику организации

165 

166<h3 id="request-and-response">

167 Запрос и ответ

168</h3>

169 

170Запрос — это `GET /v1/models?limit=1000` с тайм-аутом 3 секунды, и любое перенаправление рассматривается как отказ, поэтому учетные данные не могут утечь на цель перенаправления. Gateway, который отвечает медленно или перенаправляет `/v1/models`, даже `http` на `https`, молча не выполняет обнаружение; обслуживайте конечную точку непосредственно по настроенному базовому URL.

171 

172Запрос обнаружения отправляет ровно один заголовок учетных данных:

173 

174* `ANTHROPIC_AUTH_TOKEN` как токен носителя, когда установлен

175* В противном случае разрешенный ключ API, включая значение [`apiKeyHelper`](/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper), в заголовке `x-api-key`

176 

177Это отличается от запросов вывода, которые отправляют значение помощника в обоих заголовках. Gateway, который аутентифицирует `/v1/models`, должен принимать `x-api-key` для развертываний помощника. Любые заголовки из `ANTHROPIC_CUSTOM_HEADERS` также включены.

178 

179Claude Code читает `id` и опциональный `display_name` из каждой записи в массиве `data` ответа и игнорирует записи, чей `id` не начинается с `claude` или `anthropic`:

180 

181```json theme={null}

182{

183 "data": [

184 { "id": "claude-sonnet-4-6", "display_name": "Claude Sonnet 4.6" },

185 { "id": "claude-opus-4-7" }

186 ]

187}

188```

189 

190<h3 id="picker-entries-and-caching">

191 Записи средства выбора и кеширование

192</h3>

193 

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) ограничивает то, что может добавить обнаружение.

195 

196Результаты кешируются в `~/.claude/cache/gateway-models.json` или `%USERPROFILE%\.claude\cache\gateway-models.json` на Windows и обновляются при каждом запуске. Если запрос не выполняется или gateway не реализует `/v1/models`, средство выбора возвращается к кешированному списку из предыдущего запуска или к встроенному списку моделей. Если ваш gateway обслуживает модели Claude под псевдонимами, которые не совпадают с фильтром обнаружения, разработчики могут добавить эти псевдонимы вручную с помощью переменных [конфигурации модели](/ru/model-config).

197 

198<h2 id="related-resources">

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

200</h2>

201 

202Для остальной документации gateway и базовых справочников API:

203 

204* [Обзор LLM gateway](/ru/llm-gateway): что такое gateway и как он взаимодействует с подписками claude.ai

205* [Развертывание LLM gateway для вашей организации](/ru/llm-gateway-rollout): контрольный список администратора, который использует этот контракт

206* [Подключение Claude Code к LLM gateway](/ru/llm-gateway-connect): конфигурация для каждого разработчика и таблица устранения неполадок

207* [Справочник бета-заголовков](https://platform.claude.com/docs/en/api/beta-headers): текущий набор значений `anthropic-beta`

208* [Messages API](https://platform.claude.com/docs/en/api/messages): формат API, который реализует gateway формата Anthropic

llm-gateway-rollout.md +296 −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# Развертывание LLM-шлюза для вашей организации

6 

7> Разверните продукт шлюза для Claude Code: настройте его для перенаправления того, что отправляет Claude Code, выдайте учетные данные разработчика, распределите конфигурацию через управляемые параметры и проверьте развертывание.

8 

9На этой странице администратор пройдет через развертывание LLM-шлюза для Claude Code. Предполагается, что у вас уже развернут продукт шлюза, соответствующий [требованиям шлюза](#gateway-requirements). Развертывание или эксплуатация какого-либо конкретного продукта здесь не рассматривается; разверните свой продукт, следуя документации его поставщика.

10 

11<Note>

12 * Чтобы подключить Claude Code на вашей машине к существующему шлюзу, см. [Подключение Claude Code к LLM-шлюзу](/ru/llm-gateway-connect)

13 * Информацию о том, что Claude Code отправляет на шлюз и что перенаправлять, см. в [справочнике протокола шлюза](/ru/llm-gateway-protocol)

14</Note>

15 

16<h2 id="prerequisites">

17 Предварительные требования

18</h2>

19 

20Для завершения развертывания вам потребуется:

21 

22* Шлюз, развернутый на вашей инфраструктуре, обслуживающий HTTPS по точному адресу, который вы будете распределять разработчикам, а не адресу, который перенаправляет на него, и настроенный для маршрутизации имен моделей Claude к вашему поставщику

23* Учетные данные поставщика для шлюза для перенаправления:

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)

26* Способ доставки файлов параметров на машины разработчиков, например MDM или управление конфигурацией

27 * Если у вас его еще нет, [как параметры достигают устройств](/ru/admin-setup#decide-how-settings-reach-devices) сравнивает варианты

28 

29<h3 id="gateway-requirements">

30 Требования к шлюзу

31</h3>

32 

33Какой бы продукт ни предоставлял шлюз, он должен:

34 

35* **Принимать поддерживаемый формат API**: один из форматов в [таблице форматов API](/ru/llm-gateway-protocol#api-formats). Шаги развертывания ниже предполагают Anthropic Messages API в `POST /v1/messages`, который обслуживает большинство шлюзов

36* **Потоковая передача ответов**: передавать события, отправляемые сервером, по мере их поступления вместо буферизации всего ответа

37* **Маршрутизация имен моделей Claude**: сопоставлять каждое имя, которое используют разработчики, с восходящей моделью. Claude Code отправляет имя модели, такое как `claude-sonnet-4-6`, в каждом запросе; в большинстве продуктов шлюза сопоставление представляет собой список моделей или таблицу маршрутизации в собственной конфигурации шлюза

38* **Перенаправлять заголовки и тело без изменений**: передавать `anthropic-beta`, `anthropic-version` и тело запроса в обоих направлениях; [таблица сквозной передачи функций](/ru/llm-gateway-protocol#feature-pass-through) сопоставляет каждый с функцией, которая нарушается без него

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

40* **Исключить путь из проверки тела запроса WAF**: подсказки Claude Code содержат исходный код и теги в стиле XML, которые соответствуют правилам тела для межсайтовых скриптов; WAF перед шлюзом возвращает `403` на реальных сеансах, в то время как короткие тестовые запросы проходят

41 

42Опционально обслуживайте `GET /v1/models`, чтобы Claude Code мог заполнить средство выбора модели из вашего шлюза с помощью [обнаружения моделей](/ru/llm-gateway-protocol#model-discovery). {/* min-version: 2.1.129 */}

43 

44<h2 id="rollout-steps">

45 Шаги развертывания

46</h2>

47 

48Развертывание состоит из пяти шагов, каждый с контрольной точкой:

49 

501. [Подтвердить маршрутизацию моделей шлюзом](#confirm-the-gateway-routes-your-models)

512. [Выдать каждому разработчику учетные данные](#issue-developer-credentials)

523. [Протестировать Claude Code против шлюза](#test-claude-code-against-the-gateway)

534. [Распределить базовый URL и учетные данные](#distribute-the-configuration)

545. [Проверить с машины разработчика](#verify-the-rollout)

55 

56Шаги включают три различных учетных данных, и контрольные точки называют их по заполнителю, чтобы вы могли определить, какой из них виноват, когда что-то не работает:

57 

58| Учетные данные | Кто их держит | Заполнитель в контрольных точках |

59| :------------------------------------ | :------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------- |

60| Учетные данные поставщика | Шлюз, который перенаправляет их восходящему поставщику | Настроены на шлюзе; никогда не появляются в командах клиента |

61| Административные учетные данные шлюза | Вы, если ваш продукт шлюза выдает их для своего интерфейса администратора или тестирования | `<gateway-key>` |

62| Ключ разработчика | Каждый разработчик, выданный шлюзом в [Выдать учетные данные разработчика](#issue-developer-credentials) | `<developer-key>` |

63 

64<h3 id="confirm-the-gateway-routes-your-models">

65 Подтвердить маршрутизацию моделей шлюзом

66</h3>

67 

68Ваш шлюз уже должен быть настроен с учетными данными вашего поставщика, прослушивающий на его базовом URL и перенаправляющий запросы к API вашего поставщика. Протестируйте, что путь работает от конца к концу с минимальным запросом, подставив два значения из вашего развертывания:

69 

70* `<gateway-key>` — это любые учетные данные, которые позволяют вам вызывать шлюз прямо сейчас: административный ключ, тестовый ключ или ваш собственный ключ разработчика, если вы уже выдали его. Не каждый продукт шлюза имеет отдельные административные учетные данные; если у вас их нет, сначала выдайте себе ключ разработчика в [Выдать учетные данные разработчика](#issue-developer-credentials)

71* `model` — это имя модели Claude, которое ваш шлюз настроен маршрутизировать. В примере используется `claude-sonnet-4-6`; подставьте имя, которое вы настроили

72 

73<Tabs>

74 <Tab title="Bash или Zsh">

75 ```bash theme={null}

76 curl -X POST "https://llm-gateway.example.com/v1/messages" \

77 -H "Authorization: Bearer <gateway-key>" \

78 -H "anthropic-version: 2023-06-01" \

79 -H "content-type: application/json" \

80 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

81 ```

82 </Tab>

83 

84 <Tab title="PowerShell">

85 ```powershell theme={null}

86 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

87 -Headers @{ "Authorization" = "Bearer <gateway-key>"; "anthropic-version" = "2023-06-01" } `

88 -ContentType "application/json" `

89 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

90 ```

91 </Tab>

92</Tabs>

93 

94**Контрольная точка**: `200` с полем `content` означает, что шлюз достиг поставщика с этим именем модели. `404` означает, что это имя не маршрутизируется на шлюзе; `401` от поставщика означает, что учетные данные поставщика шлюза неправильные.

95 

96Повторите запрос один раз для каждого имени модели Claude в конфигурации маршрутизации вашего шлюза. Имя, которое шлюз не маршрутизирует, возвращает `404` любому разработчику, который его выбирает, поэтому протестируйте каждое имя перед развертыванием.

97 

98<Note>

99 Избегайте обслуживания шлюза за перенаправлением. Перенаправление может отбросить тело запроса или удалить заголовок учетных данных на запросах вывода, и [обнаружение моделей](/ru/llm-gateway-protocol#model-discovery) рассматривает любое перенаправление как сбой, поэтому учетные данные не могут утечь на цель перенаправления.

100</Note>

101 

102<h3 id="issue-developer-credentials">

103 Выдать учетные данные разработчика

104</h3>

105 

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

107 

108Подтвердите, что недавно выданный ключ работает против шлюза с тем же запросом, что и [Подтвердить маршрутизацию моделей шлюзом](#confirm-the-gateway-routes-your-models), заменив `<gateway-key>` на новый `<developer-key>`:

109 

110<Tabs>

111 <Tab title="Bash или Zsh">

112 ```bash theme={null}

113 curl -X POST "https://llm-gateway.example.com/v1/messages" \

114 -H "Authorization: Bearer <developer-key>" \

115 -H "anthropic-version: 2023-06-01" \

116 -H "content-type: application/json" \

117 -d '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

118 ```

119 </Tab>

120 

121 <Tab title="PowerShell">

122 ```powershell theme={null}

123 Invoke-RestMethod -Method Post -Uri "https://llm-gateway.example.com/v1/messages" `

124 -Headers @{ "Authorization" = "Bearer <developer-key>"; "anthropic-version" = "2023-06-01" } `

125 -ContentType "application/json" `

126 -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

127 ```

128 </Tab>

129</Tabs>

130 

131**Контрольная точка**: `200` с полем `content` означает, что ключ разработчика достигает шлюза и шлюз его перенаправляет. `401` здесь, когда [предыдущий шаг](#confirm-the-gateway-routes-your-models) был успешным, означает, что ключ разработчика неправильный или еще не вступил в силу на шлюзе.

132 

133Выдача одного ключа на разработчика вместо общего ключа — это то, что делает возможной атрибуцию использования для каждого разработчика и отдельное удаление. Переменная окружения, которая содержит ключ, зависит от того, какой заголовок читает шлюз. Для шлюза, который проверяет учетные данные в заголовке `Authorization: Bearer`, разработчики устанавливают свой ключ в `ANTHROPIC_AUTH_TOKEN`. Для шлюза, который читает ключи из заголовка `x-api-key`, разработчики вместо этого устанавливают `ANTHROPIC_API_KEY`; [таблица учетных данных](/ru/llm-gateway-connect#set-the-credential-variable) охватывает сопоставление.

134 

135<h3 id="test-claude-code-against-the-gateway">

136 Протестировать Claude Code против шлюза

137</h3>

138 

139Запустите Claude Code через шлюз самостоятельно перед распределением чего-либо, используя ту же конфигурацию, которую развертывание будет доставлять по всему парку. Введите их непосредственно в терминал, а не в файл `.env` или файл параметров; они действуют только для этого сеанса терминала, поэтому закрытие его возвращает вашу машину в нормальное состояние. Используйте `ANTHROPIC_API_KEY` вместо `ANTHROPIC_AUTH_TOKEN`, если ваш шлюз читает заголовок `x-api-key`:

140 

141<Tabs>

142 <Tab title="Bash или Zsh">

143 ```bash theme={null}

144 export ANTHROPIC_BASE_URL=https://llm-gateway.example.com

145 export ANTHROPIC_AUTH_TOKEN="<developer-key>"

146 ```

147 </Tab>

148 

149 <Tab title="PowerShell">

150 ```powershell theme={null}

151 $env:ANTHROPIC_BASE_URL = "https://llm-gateway.example.com"

152 $env:ANTHROPIC_AUTH_TOKEN = "<developer-key>"

153 ```

154 </Tab>

155</Tabs>

156 

157Затем отправьте одноразовую подсказку через шлюз:

158 

159```bash theme={null}

160claude -p "Reply with one word: connected"

161```

162 

163**Контрольная точка**: подсказка возвращает ответ, и запрос появляется в журнале шлюза как `POST` к пути `/v1/messages` со статусом `200`. Claude Code добавляет строку запроса, такую как `?beta=true`, поэтому сопоставляйте по пути, а не по полному URL. Два сообщения об ошибке указывают в разные стороны:

164 

165* `Not logged in`: проверьте журнал шлюза, чтобы различить две причины. Если он пуст, никакие учетные данные не достигли сеанса и никакой запрос не покинул машину; повторно запустите экспорты в оболочке, которую вы тестируете. Если он показывает отклоненный запрос с `x-api-key` в теле `401`, шлюз ожидает ключи в этом заголовке вместо этого; переключитесь на `ANTHROPIC_API_KEY`

166* `Failed to authenticate. API Error: 401` означает, что учетные данные были отправлены и отклонены, и журнал шлюза говорит где: `401`, называющий `api.anthropic.com` или конечную точку вашего поставщика, означает, что шлюз достиг восходящего потока, но его учетные данные поставщика были отклонены, поэтому ключ разработчика работал и учетные данные поставщика, которые держит шлюз, неправильные или заполнитель

167 

168Неправильный или недостижимый базовый URL производит другой симптом: Claude Code [повторяет попытку подключения с отступом](/ru/errors#automatic-retries) и может сидеть без вывода в течение нескольких минут перед сообщением об ошибке. Если команда кажется зависшей, проверьте журнал шлюза вместо ожидания; отсутствие поступающего запроса означает, что `ANTHROPIC_BASE_URL` не указывает на шлюз.

169 

170<h3 id="distribute-the-configuration">

171 Распределить конфигурацию

172</h3>

173 

174Каждой машине разработчика нужны адрес шлюза и учетные данные. Вы можете распределять их централизованно через [управляемые параметры](/ru/settings#settings-files), чтобы разработчики ничего не настраивали, или передать разработчикам значения для самостоятельной установки.

175 

176<h4 id="what-to-distribute">

177 Что распределять

178</h4>

179 

180Один и тот же набор переменных применяется независимо от выбранного пути. Большинство развертываний требуют только `ANTHROPIC_BASE_URL` и учетные данные; включите условные строки, когда ваша настройка шлюза требует их.

181 

182| Переменная или параметр | Что она делает | Включить когда |

183| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `ANTHROPIC_BASE_URL` | Отправляет запросы API Claude Code на шлюз вместо `api.anthropic.com` | Всегда |

185| `apiKeyHelper`, или учетные данные в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_API_KEY` | Аутентифицирует каждый запрос к шлюзу. Помощник запускает команду для получения ключа; переменные содержат статический ключ, отправляемый как `Authorization: Bearer` и `x-api-key` соответственно | Всегда; один из трех |

186| `ANTHROPIC_CUSTOM_HEADERS` | Добавляет дополнительные HTTP-заголовки к каждому запросу API | Ваш шлюз требует заголовок клиента или маршрутизации на каждом запросе |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Запрашивает `/v1/models` шлюза при запуске и добавляет возвращаемые имена в средство выбора `/model` | Ваш шлюз обслуживает `/v1/models` и вы хотите, чтобы средства выбора разработчиков были заполнены из него |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Останавливает отправку Claude Code заголовков и полей тела предварительного выпуска | Ваш шлюз перенаправляет на восходящий Bedrock или Vertex, который отклоняет поля бета-версии; см. [Требования к шлюзу](#gateway-requirements) |

189| `ANTHROPIC_MODEL` или [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/ru/model-config) | Установить, какое имя модели Claude Code запрашивает для основного сеанса и для фонового трафика | Ваш шлюз маршрутизирует имена моделей, которые не соответствуют значениям по умолчанию Claude Code, или вы маршрутизируете [фоновую функциональность](/ru/costs#background-token-usage) на другую модель. Маршрутизируйте как переопределенные имена, так и имена по умолчанию Claude Code на шлюзе, так как некоторые подвызовы могут запросить имя по умолчанию независимо от переопределения |

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

191 

192<h4 id="distribute-through-managed-settings">

193 Распределить через управляемые параметры

194</h4>

195 

196Доставляйте переменные через блок `env` [файла управляемых параметров](/ru/settings#settings-files), отправляемого MDM, политикой реестра или управлением конфигурацией:

197 

198```json theme={null}

199{

200 "env": {

201 "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com"

202 },

203 "apiKeyHelper": "/usr/local/bin/get-gateway-key"

204}

205```

206 

207Добавьте условные переменные из таблицы в тот же блок `env`. Управляемый `ANTHROPIC_BASE_URL` применяется и не может быть переопределен экспортом оболочки разработчика, так как Claude Code применяет его над переменными процесса и параметрами с более низким приоритетом.

208 

209Не включайте `forceLoginMethod` или `forceLoginOrgUUID` в управляемые параметры вместе с учетными данными шлюза. На Claude Code v2.1.146 и позже любой ключ блокирует `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` и `apiKeyHelper` при запуске, поэтому разработчики видят `This machine's managed settings require a first-party login` и не могут продолжить. {/* min-version: 2.1.146 */}

210 

211[Доставка управляемых параметров на сервере](/ru/server-managed-settings#platform-availability) требует прямого подключения к `api.anthropic.com`, поэтому она не достигает сеансов, маршрутизируемых через шлюз. Развертывания шлюза используют этот путь управляемых параметров на основе файлов, который применяет те же ключи.

212 

213Для учетных данных распределите одну команду [`apiKeyHelper`](/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper) в файле управляемых параметров, как показано выше; команда аутентифицируется в вашем хранилище секретов как локальный разработчик, поэтому каждая машина получает свой собственный ключ. Альтернативно, доставляйте каждому разработчику его ключ через ваш существующий процесс секретов и попросите их установить `ANTHROPIC_AUTH_TOKEN` самостоятельно.

214 

215Некоторые окружения требуют отдельной доставки:

216 

217* Настольное приложение читает маршрутизацию шлюза только из своей конфигурации вывода третьей стороны, доставляемой MDM; разверните этот файл вместе с управляемыми параметрами, чтобы сеансы рабочего стола также маршрутизировались через шлюз. См. [документацию конфигурации рабочего стола](https://claude.com/docs/cowork/3p/configuration) и [документацию шлюза рабочего стола](https://claude.com/docs/cowork/3p/gateway)

218* Бегуны CI нуждаются в `ANTHROPIC_BASE_URL` и учетных данных, установленных в [окружении бегуна](/ru/llm-gateway-connect#configure-each-surface)

219* WSL на управляемых машинах Windows читает управляемые параметры Windows только когда [`wslInheritsWindowsSettings`](/ru/settings#available-settings) имеет значение `true`

220 

221<h4 id="hand-developers-the-values-to-set-themselves">

222 Передать разработчикам значения для самостоятельной установки

223</h4>

224 

225Если у вас нет распределения управляемых параметров, отправьте каждому разработчику то, что ему нужно, чтобы следовать [странице подключения](/ru/llm-gateway-connect#configure-claude-code-yourself):

226 

227* URL шлюза

228* Их личные учетные данные

229* **Какую переменную поместить учетные данные в**: `ANTHROPIC_AUTH_TOKEN` для шлюза с токеном-носителем или `ANTHROPIC_API_KEY` для шлюза `x-api-key`. Сообщение разработчикам, какой из них, экономит им метод проб и ошибок, описанный на [странице подключения](/ru/llm-gateway-connect#set-the-credential-variable)

230* Любые условные переменные из [таблицы Что распределять](#what-to-distribute), с их значениями

231 

232[Страница подключения](/ru/llm-gateway-connect#configure-claude-code-yourself) проводит разработчиков через установку каждой.

233 

234**Контрольная точка**: на машине разработчика `claude` запускает сеанс без отображения экрана входа, так как распределенные учетные данные удовлетворяют аутентификацию. Затем запустите `/status` и откройте вкладку **Status**: строка `Anthropic base URL` показывает адрес шлюза, а для управляемого распределения строка `Setting sources` включает управляемые параметры. Экран входа или отсутствующая строка `Anthropic base URL` означает, что конфигурация не достигла машины.

235 

236<h3 id="verify-the-rollout">

237 Проверить развертывание

238</h3>

239 

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

241 

242<Tabs>

243 <Tab title="Bash или Zsh">

244 ```bash theme={null}

245 curl -N -X POST "https://llm-gateway.example.com/v1/messages" \

246 -H "Authorization: Bearer <developer-key>" \

247 -H "anthropic-version: 2023-06-01" \

248 -H "content-type: application/json" \

249 -d '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

250 ```

251 </Tab>

252 

253 <Tab title="PowerShell">

254 ```powershell theme={null}

255 $body = '{"model": "claude-sonnet-4-6", "max_tokens": 16, "stream": true, "messages": [{"role": "user", "content": "count to 3"}]}'

256 $body | curl.exe -N -X POST "https://llm-gateway.example.com/v1/messages" `

257 -H "Authorization: Bearer <developer-key>" `

258 -H "anthropic-version: 2023-06-01" `

259 -H "content-type: application/json" `

260 --data-binary '@-'

261 ```

262 </Tab>

263</Tabs>

264 

265Вы должны видеть строки `data:`, поступающие постепенно. Весь ответ, поступающий сразу после паузы, означает, что шлюз буферизирует, что замораживает Claude Code; `404` означает, что имя модели не маршрутизируется. Повторите для каждого имени модели.

266 

267Затем запустите `claude` и отправьте сообщение. Каждый симптом на этом шаге имеет одну причину:

268 

269* Приглашение входа означает пробел в учетных данных. Запустите `/status` и откройте вкладку **Status**: когда строка `Setting sources` не включает управляемые параметры, распределение не достигло машины; когда она включает, учетные данные разработчика не были доставлены, поэтому установите `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`

270* Ошибки `Failed to authenticate` означают, что шлюз отклоняет запросы; его журнал говорит, какие учетные данные не прошли. Отклонение, которое сам журнал шлюза регистрирует, называет ключ разработчика, в то время как `401` от `api.anthropic.com` или конечной точки вашего поставщика означает, что учетные данные поставщика, которые держит шлюз, были отклонены

271* Одноразовое приглашение одобрения для ключа ожидается при первом использовании, когда шлюз ожидает ключи в заголовке `x-api-key`, установленном как `ANTHROPIC_API_KEY`. С `ANTHROPIC_AUTH_TOKEN` никакое приглашение не появляется и переменная берет на себя молча; ранее сохраненный вход claude.ai неактивен для этого сеанса

272 

273Наконец, проверьте журналы шлюза на предмет отправленного вами сообщения: учетные данные идентифицируют разработчика, и [заголовок `x-claude-code-session-id`](/ru/llm-gateway-protocol#request-headers) группирует запросы по сеансам. Если функции не работают с [симптомами устранения неполадок](/ru/llm-gateway-connect#troubleshoot-gateway-errors), шлюз удаляет заголовки или переписывает ошибки; см. [требования к шлюзу](#gateway-requirements) выше.

274 

275<h2 id="maintain-the-gateway">

276 Поддерживать шлюз

277</h2>

278 

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

280 

281| Изменение | Симптом, когда шлюз не в курсе | Действие |

282| :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

283| Новые выпуски Claude Code добавляют значения `anthropic-beta` и поля тела запроса | Разработчики сообщают об ошибках `400`, называющих новое поле после обновления Claude Code; см. [сквозная передача функций](/ru/llm-gateway-protocol#feature-pass-through) | Перенаправляйте заголовки `anthropic-*` и тела запроса дословно вместо внесения в список разрешений; протестируйте новые выпуски Claude Code против шлюза перед тем, как они достигнут разработчиков |

284| Становятся доступны новые модели Claude | Разработчики, выбирающие новое имя модели, получают `404`; средство выбора `/model` его не перечисляет | Добавьте имя модели в конфигурацию маршрутизации шлюза, затем повторно запустите [проверку маршрутизации](#confirm-the-gateway-routes-your-models). Если вы распределяете `ANTHROPIC_MODEL` или переменные модели по умолчанию, обновите управляемые параметры |

285| Учетные данные истекают или требуют ротации | Все запросы разработчика начинают не работать с `401` от восходящего потока | Ротируйте учетные данные поставщика шлюза по его собственному расписанию; ключи разработчика ротируются на шлюзе, и [`apiKeyHelper`](/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper) обрабатывает ротацию для каждого разработчика без перераспределения параметров |

286 

287При определении размера ограничений скорости для каждого ключа учитывайте [повторные попытки клиента при переходящих сбоях](/ru/errors#automatic-retries), включая ответы `429`, до 10 раз с отступом, соблюдая `Retry-After`. Держите [справочник протокола](/ru/llm-gateway-protocol) как контракт для того, что отправляет каждый выпуск Claude Code.

288 

289<h2 id="related-resources">

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

291</h2>

292 

293* [Подключение Claude Code к LLM-шлюзу](/ru/llm-gateway-connect): шаги настройки для разработчиков, с конфигурацией для каждой поверхности и таблицей устранения неполадок, которую вы можете передать разработчикам

294* [Справочник протокола шлюза](/ru/llm-gateway-protocol): проводной контракт для операторов шлюза, охватывающий конечные точки, заголовки для перенаправления и таблицу сквозной передачи функций

295* [Файлы параметров и приоритет](/ru/settings#settings-files): как управляемые, проектные и пользовательские параметры объединяются и где находится управляемый файл на каждой платформе

296* [Настройка Claude Code для вашей организации](/ru/admin-setup): более широкое развертывание, частью которого является этот шлюз, включая применение политики, видимость использования и обработку данных

mcp.md +3 −1

Details

196 196 

197Та же задержка применяется, когда HTTP или SSE server не может подключиться при запуске. Начиная с версии 2.1.121, Claude Code повторяет попытку начального подключения до трех раз при временных ошибках, таких как ответ 5xx, отказ в соединении или timeout, а затем помечает server как неудачный, если он все еще не может подключиться. Ошибки аутентификации и ошибки не найдено не повторяются, так как они требуют изменения конфигурации для разрешения.197Та же задержка применяется, когда HTTP или SSE server не может подключиться при запуске. Начиная с версии 2.1.121, Claude Code повторяет попытку начального подключения до трех раз при временных ошибках, таких как ответ 5xx, отказ в соединении или timeout, а затем помечает server как неудачный, если он все еще не может подключиться. Ошибки аутентификации и ошибки не найдено не повторяются, так как они требуют изменения конфигурации для разрешения.

198 198 

199Начиная с версии 2.1.191, запросы обнаружения возможностей, которые выполняются после успешного подключения, такие как `tools/list`, `prompts/list` и `resources/list`, также повторяют временные сетевые и серверные ошибки до трех раз с короткой задержкой. Ошибки аутентификации, ответы 4xx и timeout запросов не повторяются.

200 

199<h3 id="push-messages-with-channels">201<h3 id="push-messages-with-channels">

200 Отправка сообщений через каналы202 Отправка сообщений через каналы

201</h3>203</h3>


568 570 

569Чтобы позже очистить сохраненные учетные данные, запустите `claude mcp logout <name>`.571Чтобы позже очистить сохраненные учетные данные, запустите `claude mcp logout <name>`.

570 572 

571Когда вы подключены через SSH, добавьте `--no-browser`, чтобы команда выводила URL авторизации вместо открытия браузера. Откройте URL на вашей локальной машине, затем вставьте полный URL перенаправления из адресной строки браузера обратно в приглашение. Команде требуется интерактивный терминал для шага вставки, поэтому подключитесь с помощью `ssh -t`.573Начиная с v2.1.191, команда обнаруживает, когда локальный браузер недоступен, например во время сеанса SSH или на Linux без сервера отображения, и выводит URL авторизации вместо попытки открыть браузер. Откройте URL на вашей локальной машине, затем вставьте полный URL перенаправления из адресной строки браузера обратно в приглашение. Команде требуется интерактивный терминал для шага вставки, поэтому подключитесь с помощью `ssh -t`. Передайте `--no-browser` для принудительного приглашения URL даже при обнаружении локального браузера.

572 574 

573```bash theme={null}575```bash theme={null}

574claude mcp login sentry --no-browser576claude mcp login sentry --no-browser

model-config.md +1 −1

Details

493 Добавление пользовательского варианта модели493 Добавление пользовательского варианта модели

494</h2>494</h2>

495 495 

496Используйте `ANTHROPIC_CUSTOM_MODEL_OPTION` для добавления одной пользовательской записи в средство выбора `/model` без замены встроенных псевдонимов. Это полезно для тестирования идентификаторов моделей, которые Claude Code не указывает по умолчанию. Для развертываний шлюза LLM Claude Code может заполнять средство выбора из конечной точки `/v1/models` шлюза, когда установлено значение `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, поэтому эта переменная требуется только в том случае, если обнаружение отключено или не возвращает нужную вам модель. См. [Выбор модели шлюза LLM](/ru/llm-gateway#model-selection).496Используйте `ANTHROPIC_CUSTOM_MODEL_OPTION` для добавления одной пользовательской записи в средство выбора `/model` без замены встроенных псевдонимов. Это полезно для тестирования идентификаторов моделей, которые Claude Code не указывает по умолчанию. Для развертываний шлюза LLM Claude Code может заполнять средство выбора из конечной точки `/v1/models` шлюза, когда установлено значение `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1`, поэтому эта переменная требуется только в том случае, если обнаружение отключено или не возвращает нужную вам модель. См. [обнаружение модели шлюза](/ru/llm-gateway-protocol#model-discovery).

497 497 

498Этот пример устанавливает все три переменные, чтобы сделать развертывание Opus с маршрутизацией через шлюз выбираемым:498Этот пример устанавливает все три переменные, чтобы сделать развертывание Opus с маршрутизацией через шлюз выбираемым:

499 499 

sandboxing.md +1 −1

Details

256 256 

257Доступ в сеть контролируется через прокси-сервер, работающий вне sandbox:257Доступ в сеть контролируется через прокси-сервер, работающий вне sandbox:

258 258 

259* **Ограничения домена**: домены не предварительно разрешены. Первый раз, когда команде требуется новый домен, Claude Code запрашивает одобрение. Предварительно разрешите домены с помощью [`allowedDomains`](/ru/settings#sandbox-settings), чтобы избежать запроса.259* **Ограничения домена**: домены не предварительно разрешены. Первый раз, когда команде требуется новый домен, Claude Code запрашивает одобрение. {/* min-version: 2.1.191 */}Начиная с версии 2.1.191, выбор «Да» разрешает хост для остальной части текущего сеанса, поэтому более поздние подключения к тому же хосту больше не запрашивают подтверждение. Предварительно разрешите домены с помощью [`allowedDomains`](/ru/settings#sandbox-settings), чтобы избежать запроса полностью.

260* **Управляемая блокировка**: если [`allowManagedDomainsOnly`](/ru/settings#sandbox-settings) установлен в управляемых параметрах, неразрешённые домены автоматически блокируются вместо запроса, и только `allowedDomains` из управляемых параметров учитываются.260* **Управляемая блокировка**: если [`allowManagedDomainsOnly`](/ru/settings#sandbox-settings) установлен в управляемых параметрах, неразрешённые домены автоматически блокируются вместо запроса, и только `allowedDomains` из управляемых параметров учитываются.

261* **Поддержка пользовательского прокси**: продвинутые пользователи могут реализовать пользовательские правила для исходящего трафика261* **Поддержка пользовательского прокси**: продвинутые пользователи могут реализовать пользовательские правила для исходящего трафика

262* **Полное покрытие**: ограничения применяются ко всем скриптам, программам и подпроцессам, порожденным командами262* **Полное покрытие**: ограничения применяются ко всем скриптам, программам и подпроцессам, порожденным командами

Details

204}204}

205```205```

206 206 

207Вы также можете установить этот ключ в [управляемый конечной точкой](/ru/settings#settings-files) профиль MDM или системный файл `managed-settings.json` для принудительного применения поведения fail-closed при первом запуске, до того как будет доставлена какая-либо полезная нагрузка сервера. Начиная с версии 2.1.191, этот флаг является исключением из [правила приоритета](#settings-precedence) выше: он соблюдается при установке в любом управляемом источнике, даже если также присутствует кэшированная полезная нагрузка, управляемая сервером, поэтому значение, доставленное MDM, не игнорируется, когда существуют параметры, управляемые сервером. Выборка параметров также отправляет заголовок `Cache-Control: no-cache`, чтобы промежуточные HTTP-прокси не обслуживали устаревший ответ.

208 

207Перед включением этого параметра убедитесь, что ваши сетевые политики позволяют подключение к `api.anthropic.com`. Если эта конечная точка недоступна, CLI выходит при запуске и пользователи не могут запустить Claude Code.209Перед включением этого параметра убедитесь, что ваши сетевые политики позволяют подключение к `api.anthropic.com`. Если эта конечная точка недоступна, CLI выходит при запуске и пользователи не могут запустить Claude Code.

208 210 

209Начиная с версии 2.1.139, подкоманды `claude auth`, такие как `claude auth login`, освобождены от этой проверки, поэтому пользователи могут повторно пройти аутентификацию, когда истекшие учетные данные являются причиной сбоя выборки параметров.211Начиная с версии 2.1.139, подкоманды `claude auth`, такие как `claude auth login`, освобождены от этой проверки, поэтому пользователи могут повторно пройти аутентификацию, когда истекшие учетные данные являются причиной сбоя выборки параметров.

Details

206Большинство организаций могут использовать поставщика облачных услуг напрямую без дополнительной конфигурации. Однако вам может потребоваться настроить корпоративный прокси или шлюз LLM, если ваша организация имеет специфические требования к сети или управлению. Это разные конфигурации, которые можно использовать вместе:206Большинство организаций могут использовать поставщика облачных услуг напрямую без дополнительной конфигурации. Однако вам может потребоваться настроить корпоративный прокси или шлюз LLM, если ваша организация имеет специфические требования к сети или управлению. Это разные конфигурации, которые можно использовать вместе:

207 207 

208* **Корпоративный прокси**: маршрутизирует трафик через прокси HTTP/HTTPS. Используйте это, если ваша организация требует, чтобы весь исходящий трафик проходил через прокси-сервер для мониторинга безопасности, соответствия требованиям или обеспечения политики сети. Настройте с помощью переменных окружения `HTTPS_PROXY` или `HTTP_PROXY`. Узнайте больше в разделе [Конфигурация корпоративной сети](/ru/network-config).208* **Корпоративный прокси**: маршрутизирует трафик через прокси HTTP/HTTPS. Используйте это, если ваша организация требует, чтобы весь исходящий трафик проходил через прокси-сервер для мониторинга безопасности, соответствия требованиям или обеспечения политики сети. Настройте с помощью переменных окружения `HTTPS_PROXY` или `HTTP_PROXY`. Узнайте больше в разделе [Конфигурация корпоративной сети](/ru/network-config).

209* **Шлюз LLM**: сервис, который находится между Claude Code и поставщиком облачных услуг для обработки аутентификации и маршрутизации. Используйте это, если вам нужно централизованное отслеживание использования между командами, пользовательское ограничение скорости или бюджеты, или централизованное управление аутентификацией. Настройте с помощью переменных окружения `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL` или `ANTHROPIC_VERTEX_BASE_URL`. Узнайте больше в разделе [Конфигурация шлюза LLM](/ru/llm-gateway).209* **Шлюз LLM**: сервис, который находится между Claude Code и поставщиком облачных услуг для обработки аутентификации и маршрутизации. Используйте это, если вам нужно централизованное отслеживание использования между командами, пользовательское ограничение скорости или бюджеты, или централизованное управление аутентификацией. Настройте с помощью переменных окружения `ANTHROPIC_BASE_URL`, `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_AWS_BASE_URL` или `ANTHROPIC_VERTEX_BASE_URL`. Узнайте больше в разделе [Шлюзы LLM](/ru/llm-gateway).

210 210 

211Следующие примеры показывают переменные окружения для установки в вашей оболочке или профиле оболочки (`.bashrc`, `.zshrc`). См. раздел [Параметры](/ru/settings) для других методов конфигурации.211Следующие примеры показывают переменные окружения для установки в вашей оболочке или профиле оболочки (`.bashrc`, `.zshrc`). См. раздел [Параметры](/ru/settings) для других методов конфигурации.

212 212 


270 270 

271 # Настроить шлюз LLM271 # Настроить шлюз LLM

272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'272 export ANTHROPIC_FOUNDRY_BASE_URL='https://your-llm-gateway.com'

273 export CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 # Если шлюз обрабатывает аутентификацию Azure273 export ANTHROPIC_FOUNDRY_API_KEY=your-gateway-key # Отправляется как x-api-key

274 ```274 ```

275 </Tab>275 </Tab>

276</Tabs>276</Tabs>


304 # Настроить шлюз LLM304 # Настроить шлюз LLM

305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'305 export ANTHROPIC_VERTEX_BASE_URL='https://your-llm-gateway.com/vertex'

306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # Если шлюз обрабатывает аутентификацию GCP306 export CLAUDE_CODE_SKIP_VERTEX_AUTH=1 # Если шлюз обрабатывает аутентификацию GCP

307 export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id

308 export CLOUD_ML_REGION=us-east5

307 ```309 ```

308 </Tab>310 </Tab>

309</Tabs>311</Tabs>