Claude Code 2.1.223: исправлен баг обнаружения моделей в gateway, закрыты четыре обхода разрешений

Claude Code 2.1.223 исправляет баг, из-за которого Claude-модели с префиксными ID не отображались в кастомных API-шлюзах, закрывает четыре пути обхода разрешений и меняет поведение auto-compaction для моделей с окном 1М токенов.

TheRouter Newsroomисточник Anthropic Claude Code
Схема разрешения model ID через gateway-прокси

Если ваша команда маршрутизирует запросы Claude Code через кастомный API-шлюз — HTTPS-прокси, self-hosted router или облачный провайдер, регистрирующий модели под пространством имён — в 2.1.223 есть исправление, которое нужно развернуть сегодня. В релизе также закрыты четыре пути обхода разрешений, затрагивающие headless- и managed-развёртывания.

Баг обнаружения моделей в gateway

Claude Code обнаруживает доступные модели, опрашивая API-эндпоинт, указанный в ANTHROPIC_BASE_URL. До версии 2.1.223 пикер моделей молча отбрасывал любой model ID, соответствующий паттерну с provider-префиксом: vertex_ai/claude-*, bedrock/anthropic.claude-* и аналогичные namespaced-ID, которые шлюзы используют для различения апстримных провайдеров.

Практическое последствие: если ваш gateway регистрировал модели под provider-namespaced ID (распространённая практика в multi-provider роутерах, перенаправляющих трафик на Bedrock, Vertex AI или кастомные inference-бэкенды), эти модели были невидимы для пикера Claude Code. Пользователи не получали никакого уведомления — пикер просто показывал укороченный список. По логам проблему обнаружить было невозможно.

Исправление в 2.1.223 делает процедуру обнаружения моделей валидной для любого зарегистрированного model ID вне зависимости от префикса, а canonical model для отслеживания сессии разрешается отдельно. Если ваш gateway регистрирует vertex_ai/claude-sonnet-5 или bedrock/anthropic.claude-opus-5 и пользователи жаловались на отсутствие модели в списке — это именно то исправление.

Четыре обхода разрешений закрыты

1. Bash-обход через невидимые символы. Специально сформированная shell-команда могла вставлять табуляции или невидимые Unicode-символы между токенами, скрывая часть команды от диалога подтверждения разрешений, пока шелл исполнял её целиком. Операторы, запускающие Claude Code в headless-режиме — CI-пайплайны, автоматизированные coding-агенты, фоновые воркеры — были уязвимы: вредоносный prompt мог добавить невидимые символы вокруг деструктивной операции и провести её через auto-режим без обнаружения.

2. Побег из sandbox через dynamic import() в workflow-скриптах. Workflow-скрипты, выполняемые внутри sandbox, могли использовать dynamic import() для загрузки произвольных Node.js-модулей извне границы sandbox. Это позволяло импортировать child_process или fs и выполнять операции, которые sandbox должен был запрещать. Исправление блокирует dynamic import в sandbox-контексте.

3. bypassPermissions в определении агента игнорировал политику организации. Когда определение агента устанавливало bypassPermissions: true, оно обходило политику уровня организации, явно запрещающую режим bypass-permissions. Это был вектор повышения привилегий: marketplace-скилл или общее определение из .claude/agents/ могло декларировать повышенные разрешения, которые org-admin явно отозвал. Исправление: политика организации теперь имеет приоритет над объявлением на уровне агента.

4. Обход через [[ ]] regex-условие в zsh. В zsh команды, встроенные в [[ ]] regex-условные выражения, могли исполнять скрытые операции, которые Bash tool permission checker не проверял. Это позволяло специально сформированной команде пройти проверку разрешений, одновременно выполняя незаявленный код в условном ветвлении.

Изменение обработки ключей modelOverrides

До 2.1.223 запись в modelOverrides с ключом, не являющимся известным Anthropic model ID, молча использовалась как canonical model ID сессии, что могло приводить к некорректному распространению gateway-настроенного override через routing-метаданные. Исправление: неизвестные ключи modelOverrides теперь игнорируются, как и указано в документации, но реализация прежде этого не гарантировала.

Если вы настроили modelOverrides в managed settings с нестандартными ключами — проверьте их: они больше не будут применяться.

Изменение поведения auto-compaction для моделей с окном 1М токенов

CLAUDE_CODE_DISABLE_1M_CONTEXT ранее действовал только на фиксированный список model ID с нативным окном 1М токенов. В 2.1.223 переменная окружения теперь ограничивает каждую модель с нативным окном 1М до 200К через auto-compaction. При запуске появляется предупреждение, если сессия не удерживается в пределах 200К.

Параллельное изменение: сессии с нераспознанными model ID (например, кастомные ID, зарегистрированные в gateway) теперь также ограничиваются auto-compaction в пределах предполагаемого контекстного окна модели вместо бесконтрольного роста. Для отката используйте CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1.

Для операторов, маршрутизирующих Claude Code через прокси с внутренними model ID: auto-compaction теперь срабатывает на эти ID, что может изменить паттерны потребления токенов и расходы в длинных сессиях.

Исправление слияния managed-settings

Обновление managed settings, доставленное с сервера, ранее могло отключать блок env в локальном managed-settings.json или MDM-профиле. Исправление: серверные настройки теперь сливаются покилючно, а не перезаписывают локальную конфигурацию env. Если ваше развёртывание использует и организационные настройки, и локальные managed settings с кастомными env-переменными, убедитесь, что они сохраняются после обновления до 2.1.223.

Что нужно проверить операторам

  • Список моделей: если пользователи вашего gateway-маршрутизированного Claude Code жаловались на отсутствующие модели, обновитесь до 2.1.223 и убедитесь, что зарегистрированные в gateway model ID появились в пикере.
  • modelOverrides: проверьте наличие ключей, не являющихся Anthropic model ID — они теперь игнорируются.
  • CLAUDE_CODE_DISABLE_1M_CONTEXT: если вы используете этот флаг для контроля затрат, убедитесь, что он теперь применяется ко всем моделям с окном 1М, обслуживаемым вашим gateway.
  • Headless security posture: четыре исправления обхода разрешений в этом релизе свидетельствуют об активном усилении модели разрешений. Если вы запускаете Claude Code в auto/headless-режиме — обновитесь незамедлительно.
  • Слияние env в managed settings: протестируйте, что локальные env-переменные в managed-settings.json сохраняются после серверного push настроек.
Claude Code 2.1.269 operator changes: gateway timeout, concurrent agents cap, and deny rule scoping fix illustrated as a control panel

Claude Code 2.1.269: три оператор-уровневых изменения в релизе с 60+ исправлениями

Claude Code 2.1.269 добавляет настраиваемый таймаут обнаружения gateway, жёсткий лимит параллельных workflow-агентов и исправляет утечку deny-правил за границу их config-источника. Каждое из них меняет то, как операторы управляют Claude Code в масштабе.

источник Anthropic
Диаграмма конфигурации оператора Claude Code 2.1.267 и архитектуры кэша промптов

Claude Code 2.1.267: Ограничение уровня Effort для операторов, стабилизация кэша промптов и исправление обхода контейнера маркетплейса

В 2.1.267: новый maxEffortLevel для Bedrock, Vertex и Foundry; флаг отключения снапшота промпта; исправление обхода контейнера маркетплейса. Плюс двенадцать исправлений кэша промптов, напрямую влияющих на стоимость токенов.

источник Anthropic Claude Code
Claude Code 2.1.229 SSE keepalive gateway streaming Vertex AI Bedrock руководство оператора

Claude Code 2.1.229: SSE keepalive для Vertex и Bedrock устраняет тихие обрывы потока и ужесточает права на git push

Claude Code 2.1.229 добавляет SSE keepalive ping в gateway streaming-ответы во время долгих thinking-пауз, устраняя тихие idle-timeout разрывы на Vertex AI и Bedrock. /commit-push-pr теперь блокирует опасные git-флаги, sandbox — некорректные IPv6.

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