Claude Code 2.1.218 устраняет скрытую ошибку биллинга Bedrock: операторы с ARN-маппингом моделей должны проверить исторические логи расходов

С февраля 2026 года Claude Code приписывал трафик Bedrock ARN к одному model ID, фиксируя ~$0.23 для Haiku и Opus одинаково. Версия 2.1.218 исправляет разрешение ARN, но исторические логи расходов gateway недостоверны.

Опубликовано источник Claude Code CHANGELOG

Архивный материал, подготовленный с помощью ИИ по указанному источнику и опубликованный без индивидуальной проверки. Ответственный редактор: Joe Werner.

Абстрактная схема разрешения ARN-путей AWS Bedrock в отдельные уровни моделей с исправленным биллинговым реестром
Машинный перевод с английского оригинала — читать оригинал

До прошлой недели, если вы направляли трафик Claude Code через AWS Bedrock с помощью application-inference-profile ARN, счётчик расходов gateway видел все модели одинаково: Haiku 4.5, Sonnet 4.6 и Opus 4.6 фиксировали примерно $0.23 за вызов «say hello». Биллинговый сигнал был совершенно плоским. Фактические затраты на вашем счёте AWS — нет.

Claude Code 2.1.218, выпущенный на этой неделе, исправляет это. В CHANGELOG изменение описано одной строкой: «Fixed gateway spend metering to price Bedrock application-inference-profile ARNs and other config-mapped upstream model IDs at the configured model's rates.» GitHub-issue, отслеживавший проблему (anthropics/claude-code#27890), был открыт 23 февраля 2026 года — почти пять месяцев назад.

Что сломалось и как

Bedrock предоставляет два способа указать модель: прямой model ID (anthropic.claude-haiku-4-5-20261231-v1:0) или application-inference-profile ARN (arn:aws:bedrock:<region>:<account>:application-inference-profile/<id>). ARN — стандартный корпоративный маршрут: он поддерживает кросс-региональный inference, теги расходов по командам, атрибуцию в AWS Cost Explorer и применение Bedrock Guardrails. Большинство команд, работающих с Bedrock в масштабе, используют именно ARN, а не прямые model ID.

Счётчик расходов Claude Code корректно разрешал прямые model ID. Application-inference-profile ARN обрабатывались как непрозрачные строки — underlying-модель не определялась. Счётчик записывал ARN-строку как ключ modelUsage и применял фиксированную стоимость вызова вне зависимости от того, указывал ли ARN на Haiku или Opus.

Практический результат: биллинговый пол. Весь трафик через Bedrock ARN регистрировался примерно по одинаковой стоимости, соответствующей уровню Opus. Команды, запускавшие Haiku 4.5 через ARN, не видели ожидаемого разрыва в стоимости на порядок. Тренды cost-per-model на дашбордах показывали горизонтальную линию для всего Bedrock-трафика.

Вместе с биллингом перестали работать ещё три функции: adaptive thinking (активируется только для определённых семейств Sonnet/Opus), model-specific beta headers (некоторые не должны отправляться для Haiku) и команда /model (не могла сопоставить ARN с выбираемым именем модели). Все четыре сбоя имеют одну причину — отсутствие шага разрешения ARN в model ID.

Разрыв в операторском учёте

Claude Code ведёт собственный реестр расходов поверх нативного биллинга Bedrock. Такая двухуровневая схема означает, что системы могут расходиться: AWS Cost Explorer покажет корректные данные по Bedrock (AWS отслеживает реальные вызовы моделей), тогда как дисплей /cost в Claude Code, индикатор расходов в строке статуса и метрики OpenTelemetry modelUsage отображают неверную атрибуцию моделей.

Этот разрыв критичен для операторов, которые используют встроенные сигналы расходов Claude Code для:

  • введения лимитов расходов команды на уровне gateway
  • маршрутизации между уровнями моделей на основе накопленных затрат
  • экспорта метрик OpenTelemetry расходов в Datadog, Grafana или внутренние дашборды
  • charge-back по командам в разрезе тарифного уровня модели

Если любой из этих сценариев применим к вам, и вы использовали application-inference-profile ARN до версии 2.1.218, исторические записи расходов на стороне gateway атрибутировали все уровни моделей к одной ARN-строке. Данные на стороне AWS корректны; на стороне Claude Code — нет.

Что делать сейчас

Путь обновления: зафиксируйте Claude Code на версии >= 2.1.218. Для команд, использующих system-managed профиль (claude.ai/settings) или корпоративные Bedrock-развёртывания, перед тем как доверять метрикам расходов, убедитесь, что обновление применено ко всем активным сессиям.

Область аудита: исторические снимки /cost, экспорты OTel modelUsage и gateway-дашборды расходов с разбивкой по моделям Claude Code затронуты за весь период использования application-inference-profile ARN. Если вы передавали эти метрики в downstream-системы, пересчитайте атрибуцию расходов или charge-back за этот период.

Влияние на политику маршрутизации: если ваша логика маршрутизации использует внутренний сигнал расходов Claude Code как селектор уровня модели — например, переключение с Sonnet на Haiku при превышении порогового значения накопленных затрат — эта логика работала на неверных данных для Bedrock-сессий с ARN-конфигурацией. После обновления проверьте, не изменило ли исправленное разрешение ARN ваши действующие пороговые значения.

Fallback на прямой model ID: если конфигурация Bedrock позволяет, переход с application-inference-profile ARN на прямые model ID даёт немедленную верифицируемую атрибуцию расходов без зависимости от разрешения ARN. Для команд, которым необходимы ARN (кросс-региональный inference, Guardrails, теги расходов), исправление в 2.1.218 — корректный путь, но перед полным доверием к новому выводу расходов проверьте разрешение для ваших конкретных profile ID.

На что обратить внимание пользователям TheRouter

Проблема двухуровневого учёта, описанная здесь — расхождение внутреннего счётчика расходов gateway с биллингом upstream-провайдера — не уникальна для Bedrock ARN. Любой router или gateway, который отображает upstream-идентификаторы моделей на внутренние записи, может столкнуться с разрывом разрешения при изменении схемы model ID у провайдера. Правильный архитектурный паттерн: разрешать upstream-идентификатор в канонический model ID до записи любой метрики расходов или маршрутизации, а не использовать raw-идентификатор как ключ учёта.

Операторам, использующим TheRouter с Bedrock или другими провайдерами, поддерживающими алиасные ссылки на модели: убедитесь, что ваш gateway разрешает алиасы в underlying model ID перед логированием. Если внутренние дашборды показывают аномально плоские кривые стоимости по уровням моделей, разрыв разрешения — первое, что стоит проверить. Подробности о нормализации model ID в путях запроса см. в документации TheRouter.

Изменения Claude Code 2.1.273: hint-заголовки gateway и смена классификатора auto-режима, представленные как панель наблюдаемости прокси с сигналами классификации запросов

Claude Code 2.1.273: пять новых hint-заголовков для gateway и смена классификатора на Bedrock, Vertex и Foundry

Claude Code 2.1.273 добавляет opt-in hint-заголовки, передающие LLM-прокси класс запроса, тип агента и состояние компакции. Одновременно на Bedrock, Vertex AI и Foundry по умолчанию включается локальный классификатор auto-режима — откатить можно только это изменение.

источник Anthropic
Диаграмма исправлений gateway в Claude Code 2.1.268: HTTP 400 регрессия ANTHROPIC_BASE_URL и контроль gatewayInternalNetworks

Claude Code 2.1.268: Трёхверсионный сбой gateway, который прошёл незамеченным, и четыре новых контроля

Начиная с 2.1.265 каждый запрос через сторонний ANTHROPIC_BASE_URL endpoint завершался HTTP 400. Версия 2.1.268 устраняет регрессию, добавляет gatewayInternalNetworks, синхронизацию цен через gateway.yaml и байт-стабильный prompt cache для Bedrock, Vertex и Foundry.

источник Anthropic Claude Code
Абстрактная схема маршрутизации с ветвлением коэффициентов стоимости по путям облачных провайдеров

Claude Code: рабочие пространства с data residency теперь несут надбавку 1,1× — это влияет на выбор provider

Claude Code 2.1.239 начал учитывать надбавку 1,1× за US-only inference в оценках /cost и строке статуса для data-residency workspace. Команды, маршрутизирующие через Bedrock или Vertex, обходят эту надбавку — разбираем, что это значит для выбора provider.

источник Claude Code Changelog
Помощь и контакты