Skip to main content
На этой странице документированы запросы, которые Claude Code отправляет на шлюз, включая конечные точки, которые он вызывает, заголовки и поля тела, которые шлюз должен передавать, и какие функции перестают работать, если он этого не делает. Она написана для операторов, настраивающих продукт шлюза для работы с Claude Code. Claude apps gateway, самостоятельно размещаемый шлюз Anthropic, предоставляет собственную справку по конечным точкам по адресу GET /protocol, охватывающую конечные точки входа, вывода, управляемых параметров, обнаружения модели и телеметрии этого шлюза. Это отдельный документ от этого руководства.
  • Чтобы развернуть существующий или сторонний шлюз для вашей организации, см. Развертывание LLM gateway
  • Если вы отдельный разработчик, аутентифицирующий Claude Code на шлюзе с учетными данными, которые вам были предоставлены, см. Подключение Claude Code к LLM gateway
На этой странице рассматривается: На этой странице используются два термина для описания того, что ваш шлюз делает с каждым заголовком и полем тела:
  • Передавать без изменений: передать его вышестоящему серверу побайтово
  • Использовать: шлюз может прочитать его для маршрутизации, атрибуции или трассировки и не обязан передавать его
Все, что не отмечено как передача без изменений, вы можете использовать или игнорировать.

Форматы API

Шлюз должен предоставлять клиентам Claude Code по крайней мере один из следующих форматов API. Клиент выбирает формат и указывает Claude Code на ваш шлюз с помощью переменных в столбце “Selected by” таблицы ниже. Google Cloud’s Agent Platform — это конечная точка Claude в Google Cloud, ранее известная как Vertex AI; названия её переменных сохраняют написание VERTEX.

Foundry и Claude Platform on AWS

Microsoft Foundry и Claude Platform on AWS реализуют формат Anthropic Messages. Claude Code маршрутизирует к ним через их собственные переменные, ANTHROPIC_FOUNDRY_BASE_URL и ANTHROPIC_AWS_BASE_URL, но шлюз, находящийся перед любым из них, реализует строку Anthropic Messages выше. Шлюз, находящийся перед Claude Platform on AWS, должен также пересылать заголовок anthropic-workspace-id, который эта платформа требует для каждого запроса.

Опциональные endpoints и стартовый трафик

Endpoints подсчёта токенов — единственные опциональные: когда их нет, Claude Code переходит на оценку использования контекста на основе количества символов. Сопоставляйте по пути, а не по полному URL:
  • Запросы вывода отправляются на /v1/messages?beta=true
  • Метод Google Cloud’s Agent Platform добавляет суффиксы к пути модели издателя, как в /projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict
Шлюз также видит лучший трафик при запуске, который он может отклонить без нарушения чего-либо. Шлюз формата Anthropic Messages получает зонд HEAD /api/hello для прогрева соединения, который Claude Code пропускает, когда настроен HTTP-прокси или сертификат клиента. Шлюз формата Amazon Bedrock получает запрос GET /inference-profiles?type=SYSTEM_DEFINED и, когда настроенная модель является профилем вывода, поиски GET /inference-profiles/{profile}. Проверка доступности fast mode никогда не появляется в логах шлюза: она вызывает api.anthropic.com напрямую, а не следует ANTHROPIC_BASE_URL, поэтому в сети, которая блокирует прямой исходящий трафик на api.anthropic.com, fast mode может сообщить об ошибке подключения, в то время как вывод через шлюз продолжает работать. Проверка безопасности домена WebFetch также вызывает api.anthropic.com напрямую. Use fast mode behind proxies and LLM gateways охватывает переменные, которые его восстанавливают.

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

Потоковая передача ответов вывода. Claude Code читает поток по мере его поступления, поэтому если ваш шлюз буферизирует полные ответы перед их передачей, Claude Code зависает. Когда клиент использует формат Amazon Bedrock, передавайте тело ответа InvokeModelWithResponseStream и его заголовок Content-Type: application/vnd.amazon.eventstream без изменений, и не преобразуйте поток в server-sent events. См. Streaming errors behind a gateway or proxy. Пересылайте также keep-alive пинги. На соединениях через ANTHROPIC_BASE_URL или ANTHROPIC_AWS_BASE_URL, Claude Code считает каждый байт, который ваш шлюз передаёт, включая SSE события ping и строки комментариев, и прерывает поток, который молчит в течение 300 секунд по умолчанию. Пинги вышестоящего сервера — единственный трафик во время длительных пауз размышления, поэтому если ваш шлюз удаляет или буферизирует их, Claude Code прерывает поток во время этих пауз; Automatic retries охватывает то, что прерванный поток сообщает в зависимости от того, насколько далеко продвинулся ответ. Вышестоящий сервер, который вообще не отправляет пинги, такой как двоичный event-stream Amazon Bedrock, оставляет эти паузы без чего-либо для передачи. При переводе с такого вышестоящего сервера выдавайте свои собственные события ping во время молчаливых пауз. Шлюзы, достигнутые через ANTHROPIC_BEDROCK_BASE_URL, ANTHROPIC_VERTEX_BASE_URL или ANTHROPIC_FOUNDRY_BASE_URL, не обёрнуты этим байт-уровневым сторожем, даже когда они передают формат Anthropic Messages; там 5-минутный timeout неактивности прерывает молчаливый поток вместо этого, и на соединениях ANTHROPIC_BEDROCK_BASE_URL вы можете добавить байт-уровневый сторож с помощью CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK.

Несоответствие формата с вышестоящим сервером

Какой формат использует клиент, определяет, что получает ваш шлюз. Распространённый режим отказа — несоответствие между форматом, который клиент отправляет вашему шлюзу, и форматом, который принимает вышестоящий поставщик позади него.
  • Когда клиент использует формат Amazon Bedrock или Google Cloud’s Agent Platform, Claude Code отправляет только подмножество своего полного набора возможностей, которое эти поставщики принимают
  • Когда клиент использует формат Anthropic Messages, Claude Code отправляет полный набор, даже если ваш шлюз пересылает на вышестоящий сервер Amazon Bedrock или Google Cloud’s Agent Platform
Преодоление этого различия — задача вашего шлюза. Feature pass-through описывает, что ломается, когда это не происходит. Если ваш вышестоящий сервер — Amazon Bedrock или Google Cloud’s Agent Platform, вы можете избежать преодоления, предоставив вместо этого формат этого поставщика. Route to a cloud provider through a gateway показывает конфигурацию клиента для этого формата.

Как метод подключения изменяет поведение клиента

Способ подключения разработчика к вашему шлюзу определяет, какие ID моделей, значения anthropic-beta и поля запроса отправляет Claude Code, а также какие значения по умолчанию он применяет. Ваш шлюз видит одно из трёх поведений клиента:
  • Формат Amazon Bedrock или Agent Platform: разработчик устанавливает CLAUDE_CODE_USE_BEDROCK=1 с ANTHROPIC_BEDROCK_BASE_URL или CLAUDE_CODE_USE_VERTEX=1 с ANTHROPIC_VERTEX_BASE_URL, указывающие на ваш шлюз. Claude Code использует ID моделей этого поставщика, поля запроса и значения по умолчанию.
  • Формат Anthropic Messages: разработчик устанавливает ANTHROPIC_BASE_URL на ваш шлюз. Claude Code рассматривает шлюз как Claude API и не может определить, на какой upstream вы перенаправляете.
  • Вход в шлюз Claude apps: разработчик входит в шлюз Claude apps. Этот шлюз использует формат Anthropic Messages, но может маршрутизировать на любой upstream, поэтому Claude Code отправляет только значения anthropic-beta и предположения о возможностях модели, которые также принимают Amazon Bedrock и Agent Platform.

Запросы и значения по умолчанию по методу подключения

Таблица ниже сравнивает три метода подключения, по одному поведению в строке. Она исключает Microsoft Foundry и Claude Platform на AWS, которые также используют формат Anthropic Messages, но которые Claude Code достигает через свои собственные переменные. Для них см. страницы Microsoft Foundry и Claude Platform на AWS. Для функций, которые поддерживает каждое подключение, и телеметрии, которую оно отправляет Anthropic по умолчанию, см. Доступность функций и Поведение по умолчанию по поставщику API.

Параметры для нераспознанных ID моделей

Два параметра на стороне клиента изменяют то, что Claude Code предполагает для ID модели, которую он не распознаёт, независимо от того, какой метод подключения использует разработчик:
  • Окно контекста: Claude Code предполагает 200K или 1M, когда ID содержит [1m]. Чтобы объявить реальное окно, см. Исправьте окно для шлюза или пользовательского ID модели
  • Возможности: чтобы дать alias шлюза возможности модели позади него, сопоставьте ID Anthropic этой модели с вашим alias с помощью записи modelOverrides в параметрах, которые вы распространяете. Для того, где применяются переменные ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES, см. передача функций

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

Claude Code включает эти заголовки в запросы API. Имена заголовков не чувствительны к регистру на проводе. Пересылайте anthropic-version и anthropic-beta без изменений, плюс anthropic-workspace-id когда upstream — это Claude Platform on AWS; остальное gateway может использовать для маршрутизации, атрибуции и трассировки и не обязан пересылать. Идентификаторы подагентов генерируются заново для каждого порождения. Агенты товарищей, названные члены команды агентов, повторно используют стабильный идентификатор на основе имени при переподключениях. В обоих случаях идентификатор идентифицирует агента, а не человека или устройство, поэтому не рассматривайте заголовок идентификатора агента как идентификатор пользователя. Если ваши разработчики установили ANTHROPIC_CUSTOM_HEADERS, эти заголовки также появляются в запросах.

Заголовки подсказок Gateway

Claude Code также может отправлять подсказки маршрутизации: факты для каждого запроса, которые gateway или маршрутизатор может использовать для планирования, кэширования или отнесения запроса. Требуется Claude Code v2.1.273 или позже. Наличие их в запросе зависит от того, куда Claude Code его отправляет:
  • Прямое подключение к API Anthropic: отправляются по умолчанию
  • Пользовательский базовый URL: отключено по умолчанию, потому что прокси, который отклоняет неизвестные заголовки, приведет к отказу запроса. Чтобы их получить, установите CLAUDE_CODE_GATEWAY_HINT_HEADERS=1 для ваших разработчиков, например в блоке env управляемых параметров
  • Любой другой backend, включая Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry и Claude Platform on AWS: отправляются только когда установлено CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
Установка CLAUDE_CODE_GATEWAY_HINT_HEADERS на 0 останавливает заголовки на каждом подключении. Заголовки содержат только то, что указано в строках ниже: фиксированные словари, имена инструментов и длительности, никогда текст подсказки или содержимое файлов. Каждое значение — это печатаемый ASCII. Перед анализом x-claude-code-prev-tool-durations проверьте, как Claude Code строит значение и что оно опускает:
  • Записи: одна на каждый выполненный вызов инструмента, в порядке сбора его результата, в целых миллисекундах
  • Ограничение: Claude Code отправляет максимум 32 записи и 4 КБ, сохраняя первые записи
  • Кодирование: имена инструментов кодируются в процентах, охватывая %, ;, =, запятую, пробел и любой символ вне печатаемого ASCII
  • Анализ: разделите на ;, затем на =, и декодируйте каждое имя
  • Отсутствие: вызовы компактирования, побочные запросы и первый запрос нового подсказки никогда его не содержат. Не читайте отсутствующий заголовок как ход, который не запустил никакие инструменты
  • Времена: каждое исключает подсказки разрешения и hooks, и параллельные вызовы инструментов каждый сообщают свое собственное время, поэтому записи не складываются в промежуток между запросами

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

Рассматривайте заголовки и поля тела как открытые списки, а не закрытые. Claude Code получает возможности в выпусках, и они поступают как новые значения anthropic-beta, новые поля тела запроса и иногда новые заголовки anthropic-* или x-claude-code-*. При пересылке на upstream формата Anthropic пропускайте заголовки запроса anthropic-* и поля тела запроса без изменений, а не создавайте список разрешений видимых вами сегодня. Gateway, привязанный к наблюдаемому списку, удаляет заголовок или поле следующей возможности и ломает его при выпуске, который его вводит. Исключением является upstream, не относящийся к Anthropic, такой как Amazon Bedrock или Google Cloud’s Agent Platform, где преодоление различия схемы — задача gateway; см. сквозная передача функций.

Заголовки ответов

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

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

Claude Code добавляет в начало системного приглашения короткий блок атрибуции, содержащий версию клиента и отпечаток, полученный из разговора. Конечная точка api.anthropic.com удаляет блок перед обработкой, когда он поступает без изменений в качестве первого системного блока, поэтому он не влияет на кеширование приглашений первой стороны. Любой другой upstream получает его как часть приглашения. Удаление является позиционным, поэтому оно работает только тогда, когда шлюз пересылает массив system без изменений. Чтобы исключить блок из приглашения без потери другого системного содержимого:
  • Пересылайте массив system точно так, как он был получен, сохраняя блок первым: добавление другого системного блока в начало, переупорядочение массива или преобразование его в одну строку нарушает удаление, и блок затем достигает модели и ключа кеша приглашений.
  • Сохраняйте блок в собственной записи массива: конечная точка рассматривает объединённый блок, который начинается с заголовка атрибуции, как атрибуцию в целом и удаляет всё объединённое в него, включая остальную часть системного приглашения.
  • Если ваш шлюз должен переформатировать системное содержимое, установите CLAUDE_CODE_ATTRIBUTION_HEADER=0, чтобы Claude Code опустил блок. Anthropic и конечные точки Claude облачных поставщиков читают блок для атрибуции, поэтому опустите его на клиенте, а не удаляйте или перемещайте его в шлюзе.
Переменная существует для совместимости с шлюзом и кешированием третьей стороны, а не как элемент управления конфиденциальностью: при прямом подключении полный запрос в любом случае поступает в API Anthropic. Когда оба из этих условий выполняются, Claude Code сохраняет блок в запросах классификатора режима автоматического выбора даже когда вы устанавливаете переменную на 0: Запросы классификатора пропускают остальную часть системного приглашения Claude Code, поэтому на этих запросах блок является единственным маркером в теле запроса, который идентифицирует их как трафик Claude Code. Когда любое из условий не выполняется, через шлюз LLM, у поставщика третьей стороны или с активным профилем или учётными данными федерации, установка 0 удаляет блок из запросов классификатора также. До версии v2.1.229 это исключение не существовало: установка 0 удаляла блок из этих запросов классификатора, и когда API отклонял неидентифицированные запросы, режим автоматического выбора не работал на каждом действии, которое он отправлял классификатору. Начиная с Claude Code v2.1.181, блок стабилен в течение всего времени жизни разговора, когда запросы маршрутизируются через пользовательский базовый URL, поэтому кеш приглашений на стороне шлюза, использующий ключ на основе полного тела запроса, работает без отключения его, и любой поставщик, на которого ваш шлюз пересылает запросы, получает стабильный префикс приглашения. До версии v2.1.181 блок включал токен для каждого запроса, который изменял начало системного приглашения при каждом запросе. На этих версиях установите CLAUDE_CODE_ATTRIBUTION_HEADER=0, когда ваш шлюз выполняет любое из этих действий:
  • Реализует кеш приглашений, использующий ключ на основе тела запроса.
  • Пересылает запросы поставщику третьей стороны, такому как Amazon Bedrock, Microsoft Foundry или Google Cloud’s Agent Platform, в формате Anthropic Messages или в собственном формате поставщика, где изменяющийся префикс снижает повторное использование кеша приглашений у этого поставщика.

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

Claude Code рассматривает шлюз ANTHROPIC_BASE_URL как конечную точку в формате Anthropic и отправляет ему бета-заголовки и поля тела запроса, которые он отправляет на api.anthropic.com, за исключением небольшого набора диагностики и значений по умолчанию, зарезервированных для прямых соединений, таких как значение по умолчанию для потоковой передачи инструментов с точной настройкой, описанное ниже. Этот набор варьируется в зависимости от версии, поэтому не полагайтесь на его содержимое. Возможности, которые добавляют поля тела, связывают их с бета-заголовком, и эта пара передается вместе. Шлюз, который удаляет заголовок при передаче тела или пересылает тело в формате Anthropic на вышестоящий сервер с другой схемой, создает жесткие ошибки 400; только когда обе части отсутствуют вместе, функция отключается без ошибок. Шлюз, который переписывает или редактирует тела запросов для проверки содержимого, нарушает связь так же, как это делает удаление, поэтому проверяйте без изменений. В таблице указано, где функция отклоняется от связи. Потоковая передача инструментов с точной настройкой — это одно из значений по умолчанию для прямого соединения: она отключена по умолчанию всякий раз, когда запросы маршрутизируются через пользовательский базовый URL, и шлюз получает ее, когда разработчики устанавливают CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1. Переменные ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES объявляют возможности модели только в конфигурациях поставщика: CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_VERTEX, CLAUDE_CODE_USE_FOUNDRY и CLAUDE_CODE_USE_MANTLE. Они не имеют никакого эффекта за шлюзом ANTHROPIC_BASE_URL.

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

То, что Claude Code делает после отклонения вышестоящим сервером, зависит от того, что было отклонено:
  • Когда вышестоящий сервер отклоняет поле thinking, системное сообщение в середине разговора или маркер cache_control на таком сообщении, Claude Code повторяет запрос и отключает отклоненную возможность для остальной части разговора
  • Когда вышестоящий сервер отклоняет подпись мышления, включая ошибку 400, сообщение которой говорит, что блок bound to a different conversation, Claude Code удаляет более ранние блоки мышления из запроса, повторяет и исключает их из каждого последующего запроса. Новые ответы по-прежнему включают мышление
  • Когда шлюз или его вышестоящий сервер отклоняет запись инструмента-советника в tools как неизвестный тип инструмента, Claude Code повторяет запрос один раз без этой записи и ее значения anthropic-beta. Более поздние запросы к этому базовому URL оставляют советника без внимания до выхода Claude Code, и /advisor недоступен разработчику в течение этого времени. Claude Code распознает это отклонение по ответу 400 или 422, сообщение которого называет тип инструмента после Input tag, например Input tag 'advisor_20260301'. До версии v2.1.280 Claude Code не повторял это отклонение
  • Claude Code не повторяет отклонения управления контекстом или полей схемы инструментов, поэтому эти ошибки 400 достигают разработчика
Отклонение bound to a different conversation поступает из проверки сохраненного мышления API, которая не срабатывает, когда содержимое system, tools или более ранних messages отличается от запроса, который создал мышление. Шлюз, который переписывает любое из этого содержимого, может вызвать само отклонение; Libraries, proxies, and gateways охватывает то, что нужно пересылать без изменений. Логика повтора совпадает с формулировкой ошибки вышестоящего сервера, поэтому пересылайте тела ответов об ошибках без изменений. Шлюз, который оборачивает ошибки вышестоящего сервера в свой собственный конверт, нарушает путь восстановления, даже если он сохраняет код состояния, если только сообщение конверта не содержит стабильный токен capability_rejected:. Claude apps gateway заменяет эти токены на формулировки ошибок облачных поставщиков, например capability_rejected: prompt_too_long.

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

CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 останавливает Claude Code от отправки предварительных возможностей и их полей тела на каждого поставщика, включая управление контекстом и бета-поля инструментов. Переменная не влияет на адаптивное рассуждение, которое выбирается по модели, а не по бета. Она никогда не подавляет возможность OAuth, которую требует аутентификация подписки. На Claude Code v2.1.227 или более поздней версии ваша организация может сохранить поиск инструментов MCP в соответствии с этой переменной через управляемые параметры. То, что Claude Code отправляет с этим переопределением, зависит от того, как вы подключаетесь:
  • При прямом соединении или через шлюз, установленный с ANTHROPIC_BASE_URL, Claude Code продолжает отправлять бета-заголовок поиска инструментов, поля инструментов defer_loading и блоки tool_reference, и удаляет остальное
  • На облачном поставщике или при входе через Claude apps gateway, переопределение не имеет никакого эффекта
Набор возможностей, которые Claude Code отправляет, растет с каждым выпуском. Для текущих строк бета-заголовков см. справочник бета-заголовков; протестируйте свой шлюз против новых выпусков Claude Code, а не закрепляйте наблюдаемый список.

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

Когда ANTHROPIC_BASE_URL указывает на gateway, который предоставляет формат Anthropic Messages, Claude Code может запросить конечную точку /v1/models gateway при запуске и добавить возвращаемые модели в средство выбора /model. Если вы или ваш администратор установили replaceBuiltInOptions в линейке modelPicker, Claude Code скрывает обнаруженные модели из средства выбора. Разработчики включают это, установив CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 в своей собственной среде или через управляемые параметры. Обнаружение отключено по умолчанию, чтобы gateway-ы, поддерживаемые общим ключом API, не выводили каждую модель, к которой ключ может получить доступ, каждому пользователю.

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

Обнаружение применяется только к формату Anthropic Messages. Оно не выполняется, когда:
  • Установлена любая переменная поставщика CLAUDE_CODE_USE_*, даже если также установлен ANTHROPIC_BASE_URL
  • ANTHROPIC_BASE_URL не установлен или указывает на api.anthropic.com
Обнаружение все еще выполняется, когда несущественный трафик отключен, потому что запрос идет только на ваш gateway. До версии v2.1.257 обнаружение не выполнялось, пока несущественный трафик был отключен.

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

Запрос — это GET /v1/models?limit=1000 с тайм-аутом 3 секунды по умолчанию, и любое перенаправление рассматривается как отказ, поэтому учетные данные не могут утечь на цель перенаправления. Gateway, который отвечает медленнее, чем тайм-аут, или тот, который перенаправляет /v1/models, даже http на https, молча не выполняет обнаружение; обслуживайте конечную точку непосредственно по настроенному базовому URL. Чтобы дать медленному gateway больше времени, установите CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS. Переменная требует Claude Code v2.1.269 или позже. Claude Code отправляет запрос обнаружения с обоими заголовками учетных данных ниже и опускает заголовок, значение которого не разрешается. Отправка обоих заголовков требует Claude Code v2.1.248 или позже. Более ранние версии отправляют только Authorization, когда установлен ANTHROPIC_AUTH_TOKEN, и только x-api-key в противном случае.
  • Authorization: ANTHROPIC_AUTH_TOKEN как токен носителя, в противном случае значение apiKeyHelper как токен носителя. В этом случае Claude Code ждет, пока помощник вернет результат перед отправкой запроса.
  • x-api-key: разрешенный Claude Code ключ API, такой как ANTHROPIC_API_KEY. Когда значение помощника является единственным учетным данием, этот заголовок также его содержит, поэтому значение поступает в оба заголовка.
Claude Code также отправляет любые заголовки из ANTHROPIC_CUSTOM_HEADERS. Когда пользовательский заголовок имеет непустое значение, Claude Code отправляет его вместо встроенного заголовка с тем же именем, сопоставляя имена без учета регистра. Когда ни одно значение заголовка учетных данных не разрешается, Claude Code пропускает обнаружение и записывает строку [gatewayDiscovery] skipped в журнал отладки сеанса claude --debug. Если вы предоставляете учетные данные только через ANTHROPIC_CUSTOM_HEADERS, Claude Code все равно пропускает обнаружение. Claude Code читает id, опциональный display_name и опциональный description из каждой записи в массиве data ответа:
Claude Code сохраняет запись, когда ее id содержит claude или anthropic где-либо в строке, сопоставляя без учета регистра, и игнорирует остальное. ID с префиксом поставщика, такие как vertex_ai/claude-sonnet-4-6 или bedrock/anthropic.claude-sonnet-4-5, проходят фильтр; ID, который не содержит ни одну подстроку, не проходит. До версии v2.1.223 Claude Code сохранял запись только когда ее id начинался с claude или anthropic, что скрывало ID с префиксом поставщика.

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

Средство выбора — это интерактивный список моделей, который открывается, когда разработчик запускает /model в Claude Code. Каждая обнаруженная запись использует display_name как свое имя, когда gateway отправляет такое, которое отличается от id. В противном случае запись показывает имя модели, когда Claude Code распознает id, и id, когда не распознает. Например, запись с id my-gateway-claude-sonnet-4-6 и без display_name отображается как Sonnet 4.6. Обнаружение добавляет только модели, которые разрешает управляемый параметр availableModels. Каждая запись также показывает description модели, свернутую в одну строку. Запись без description вместо этого читается как “From gateway”. До версии v2.1.257 каждая обнаруженная запись читалась как “From gateway”. Обнаруженный ID не получает свою собственную строку, когда он совпадает со строкой, уже находящейся в средстве выбора:
  • Одинаковый ID: обнаруженный ID точно совпадает с ID существующей строки, или оба ID являются написаниями одной и той же версии Fable.
  • Та же модель, что и встроенный псевдоним: когда обнаруженный явный ID называет модель, на которую встроенный псевдоним в настоящее время разрешается, средство выбора показывает только строку псевдонима. Например, пока sonnet разрешается в claude-sonnet-5, обнаруженный claude-sonnet-5 объединяется в строку sonnet, и обнаруженный claude-sonnet-4-6 все еще получает свою собственную строку. До версии v2.1.197 Claude Code не объединял эти ID во встроенные строки, поэтому claude-sonnet-5 также получал свою собственную строку “From gateway”.
Результаты кешируются в ~/.claude/cache/gateway-models.json или %USERPROFILE%\.claude\cache\gateway-models.json на Windows и обновляются при каждом запуске. Если вы установили CLAUDE_CONFIG_DIR, кеш находится в этом каталоге вместо этого. Если запрос не выполняется или gateway не реализует /v1/models, средство выбора возвращается к кешированному списку из предыдущего запуска или к встроенному списку моделей. Если ваш gateway обслуживает модели Claude под псевдонимами, которые не совпадают с фильтром обнаружения, разработчики могут добавить эти псевдонимы вручную с помощью переменных конфигурации модели. Для остальной документации gateway и базовых справочников API: