Шлюз узнает, какой агент Claude Code прислал запрос

Anthropic в Claude Code 2.1.273 добавила пять заголовков запроса для LLM-шлюзов: x-claude-code-request-class, x-claude-code-agent-type, x-claude-code-prev-tool-durations, x-claude-code-compaction и x-claude-code-context-compacted. По умолчанию их нет, Claude Code начинает их отправлять после установки CLAUDE_CODE_GATEWAY_HINT_HEADERS=1.
Релиз вышел 15 сентября, и в заметках к нему на GitHub больше шестидесяти пунктов. Заголовки идут первым, но большая часть остального касается подсчёта контекста, проверки прав, удалённых сессий и сообщений об ошибках у корпоративных провайдеров. Ниже то, что меняет повседневную работу, без разбора каждой строки.
Что увидит шлюз
LLM-шлюз в документации Claude Code описан как прокси, который организация ставит между Claude Code и провайдером модели. Claude Code в этой схеме входит в шлюз по учётным данным, которые выдаёт организация, а не по личному логину claude.ai. Администраторы раздают адрес шлюза и ключ через managed settings, системы управления устройствами или apiKeyHelper, так что клиент подхватывает их при запуске.
Трафик туда направляет ANTHROPIC_BASE_URL: на этот адрес уходят все запросы CLI, включая вложенные агентные циклы и фоновые вызовы. Поэтому шлюзу полезно отличать одни запросы от других без разбора тела. Что именно кладётся в каждый из пяти новых заголовков, в релизе не расписано, есть только названия. Судя по ним, шлюз сможет различать класс запроса и тип агента, видеть длительность предыдущих вызовов инструментов и узнавать, что контекст сессии сжали.
Включение флагом повторяет то, как Claude Code уже обходится со шлюзами. Например, CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 заставляет клиент при старте опрашивать /v1/models шлюза и добавлять найденные модели в меню /model. Это тоже выключено по умолчанию: иначе шлюз на общем API-ключе показал бы все модели, к которым у ключа есть доступ.
Рядом с заголовками стоят ещё несколько изменений для тех, кто считает расходы и администрирует развёртывание:
OTEL_LOG_TOOL_DETAILS=1теперь добавляет к метрикам стоимости и токенов настоящие имена агентов, навыков, плагинов и MCP-серверов.- Отчёты
/bugи/feedbackберут из последнего запроса к API только параметры, от которых зависит поведение модели (модель, системный промпт, инструменты), без метаданных запроса и полейCLAUDE_CODE_EXTRA_BODY. - Ошибки 401 и 403 на Bedrock, Vertex и Foundry, а также 403 от шлюза Claude apps раньше отправляли пользователя в
/login. Теперь сообщение называет учётные данные, которые нужно обновить, или отсылает к администратору шлюза. - Настройки
allowManagedMcpServersOnly,deniedMcpServersиdisableClaudeAiConnectors, заданные через MDM илиmanaged-settings.json, игнорировались, если параллельно действовали серверные managed settings. Исправили.
Шлюзовая линия идёт уже не первый релиз подряд: в 2.1.268 шлюз Claude apps научился передавать клиентам свои тарифы через managed settings, чтобы /cost совпадал со счётчиком расходов.
Контекст, кэш и субагенты
Самая заметная в работе ошибка была в счётчике контекста. Ходы инструментов-советников (advisor) он оценивал примерно вдвое больше их настоящего размера, и авто-сжатие срабатывало примерно на половине реального окна. Длинные сессии с советником сжимались раньше времени, после исправления счётчик и авто-сжатие считают эти ходы по их реальному размеру.
Вторая ошибка била по кэшу промптов. Команды /login, /upgrade и /extra-usage выбрасывали из разговора ранние блоки рассуждений, и следующий запрос из-за этого переписывал кэш промпта целиком. Теперь рассуждения остаются на месте.
Субагентов и фоновых агентов касаются два исправления. Если в последнем потоковом ответе не было данных об использовании токенов или идентификатора модели, агент помечался как упавший, а его результат так и не доставлялся. А в SDK и в выводе --output-format stream-json пропадали оставшиеся сообщения и итоговый отчёт субагента, которого увели в фон посреди работы, например через CLAUDE_AUTO_BACKGROUND_TASKS.
Отдельно ускорили длинные сессии: прогресс хуков и активность субагентов больше не заставляют заново обрабатывать весь разговор при каждом обновлении.
Права и чтение файлов
Два исправления в проверке прав касаются безопасности. Bash-команды, которые проверка прав не могла разобрать до конца, проходили без запроса подтверждения, когда включён permissions.blockReadsOutsideWorkingDirectories. И в режиме bypass опасный rm можно было спрятать в подоболочку. Обе дыры закрыты.
Та же настройка blockReadsOutsideWorkingDirectories теперь распространяется и на память: каталог памяти, который задают настройки репозитория, не загружается в промпт, не вспоминается, не индексируется и не используется при извлечении памяти.
Одно изменение из 2.1.268 откатили. Тогда Claude Code начал применять правила запрета Read и Edit к Bash-строкам, которые проверка не может разобрать, вроде eval или env -C. После отката команды вроде time -p make build снова вызывают запрос подтверждения, а не отклоняются.
На macOS инструмент Read отказывался открывать перетащенный в окно скриншот и любой файл, который система отдаёт под вторым путём, с ошибкой «symlink resolution changed after permission was checked». Исправили. Навыки, синхронизированные с claude.ai, оставались доступны после того, как организация выключала Skills; теперь они уходят в корзину, откуда их можно восстановить.
Удалённые сессии и MCP
Сессию, запущенную через claude --remote-control или /remote-control, можно форкнуть из приложения Claude. Форк работает как фоновая сессия на вашем компьютере. Клиенты Remote Control, подключённые к сессии Claude Desktop, VS Code или JetBrains, раньше получали отказ на запрос об использовании контекстного окна, это тоже поправили.
Если MCP-сервер отключается посреди сессии и автоматическое переподключение сдаётся, Claude Code теперь показывает уведомление со ссылкой на /mcp. Туда же отсылает и сообщение о том, что вход в MCP-сервер истёк во время работы.
Режим auto на Bedrock, Vertex и Foundry по умолчанию переключили на локальный классификатор, в заметках сказано «пока». Вернуть серверный классификатор платформы можно через CLAUDE_CODE_AUTO_MODE_SERVER=1. Там же исправили остановку auto-режима на подтверждение, когда инструмент Artifact загружает приложенный к чату файл в облачной сессии или сессии Remote Control.
Ошибки сети стали подробнее. Сообщения о SSL-сертификатах и прокси называют код ошибки и что поправить, например NODE_EXTRA_CA_CERTS для недоверенного корпоративного центра сертификации. /web-setup при отказе GitHub-токена перечисляет вероятные причины, /autofix-pr показывает собственную ошибку gh вместо строки с кодом выхода. Вход через аккаунт Claude теперь дополнительно запрашивает доступ к плагинам claude.ai.
Code Review и Claude Tag
В Code Review файл REVIEW.md целиком игнорировался из-за @-упоминания, фрагмента кода, перенесённого на следующую строку, или HTML-тега в обратных кавычках. Теперь отбрасываются только строки со ссылками на изменённые файлы. Слияние базовой ветки в PR, в прошлом ревью которого были «Additional findings», запускало полное повторное ревью, теперь такие пуши получают облегчённое. Пустые пуши и пуши без изменений в содержимом снова пропускаются в репозиториях, где в имени владельца или репозитория есть заглавная буква. /ultrareview --post при повторе после ошибки GitHub публикует комментарий ровно один раз и указывает в нём проверенный коммит.
У Claude Tag, работающего в Slack, исправили запланированные задачи в общих для организации приватных каналах, которые молча не публиковались. Ответ в старой ветке посреди задачи иногда перезапускал её с нуля и терял неотправленную работу. AWS-подключения перестали отвергать эндпоинты без региона, такие как Budgets, Savings Plans, WAF Classic и Import/Export.
Главное поведенческое изменение Claude Tag: он сам начинает следить за связанными публичными каналами, например за каналом инцидента, от которого зависит разговор, а не только по просьбе. Страница Memory в админке теперь показывает и каналы, которые Claude подключил сам, если у них есть сохранённая память, и администратор может её открыть, отредактировать и удалить.
Дальше
В Claude Desktop заметили общий список сессий Claude Code, Видео
Локальные и облачные сессии Claude Code в одном списке, у каждой свои модель, уровень усилий и режим разрешений: такой экран в Claude Desktop описывает TestingCatalog в Threads. Anthropic ничего не анонсировала.
Читайте также
- Плагины Claude Code теперь можно прогнать через тесты
- Claude Code 2.1.274 предупреждает, пока память не кончилась
- Claude Code выдаёт домены отдельно каждой команде
- Claude Code 2.1.318: срок входа, логи раннера и шлюз AWS
- Claude Code 2.1.312 перестал затирать большие CLAUDE.md
- Claude Code 2.1.311: сжатие вместо остановки и ultrathink
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

