Claude Code 2.1.274: масштабное исправление MCP, конфигурация Postgres в gateway и самовосстановление транскриптов
Claude Code 2.1.274 устраняет шесть причин тихих сбоев MCP в production, добавляет store.connect_timeout_seconds и CLAUDE_CODE_GATEWAY_DRAIN_TIMEOUT_MS в Claude apps gateway, а также переводит повреждённые транскрипты на режим самовосстановления вместо бесконечного цикла.

Claude Code 2.1.274 вышел 17 сентября. В changelog более 80 пунктов, но для операторов значимых изменений три: MCP-сбои, которые в production молчат до последнего, пробелы в конфигурации Claude apps gateway, и баги состояния сессий, уходящие в бесконечный цикл без внятного сообщения об ошибке.
Шесть исправлений MCP для производственных tool-сессий
Сбои MCP обычно выглядят как ошибки пользователя — пока не заглянешь в логи. В 2.1.274 закрыто шесть таких случаев.
Legacy HTTP+SSE серверы, возвращающие 422 при первом запросе. MCP-серверы с типом "type": "http", работающие по старому протоколу HTTP+SSE, тихо не подключались, если начальный handshake-зонд получал в ответ 422 или иной 4xx. Многие серверы за auth proxy именно так и отвечают на первый запрос. Исправление: клиент теперь переключается на legacy-путь вместо того, чтобы трактовать 4xx как постоянный сбой.
Streamable HTTP tool calls с жёстким таймаутом в пять минут. Любой вызов инструмента по Streamable HTTP прерывался ровно через пять минут — вне зависимости от настройки timeout для конкретного сервера. Долгие операции (синтез кода, запуск тестов) молча обрывались у этой отметки. Теперь соблюдается per-server timeout.
Уведомления list_changed игнорируются при отсутствии объявленной capability. Если MCP-сервер отправлял уведомление list_changed, не объявив при этом listChanged: true в манифесте capabilities, Claude Code его игнорировал и продолжал отдавать устаревший список инструментов до конца сессии. Исправлено: уведомление обрабатывается независимо от объявления.
403 insufficient_scope маскировался под истёкший логин. Отказ вызова инструмента с кодом 403 insufficient_scope сообщал пользователю об устаревшей авторизации и отправлял на повторный login — хотя проблема была в недостающем OAuth scope. Теперь ошибка называет отсутствующие разрешения и указывает на /mcp для переавторизации с нужным scope.
MCP v2 теперь по умолчанию на Bedrock, Vertex, Foundry и в сборках без телеметрии. Эти инсталляции по-прежнему использовали v1-клиент и протокол до 2026-07-28, тогда как все остальные сборки давно перешли на MCP 2026-07-28. В 2.1.274 они выравниваются. Если MCP-серверы требуют legacy-протокол, установите MCP_SDK_GENERATION=v1 или MCP_PROTOCOL_NEGOTIATION=legacy до обновления.
Утечка секретов в ошибках MCP. Ошибки MCP-соединений и описание login-инструмента раскрывали значения, подставленные вместо плейсхолдеров ${VAR} в конфигах. Исправлено.
Проблемы с 422 и list_changed объединяет одно: локально они не воспроизводятся и всплывают только в production — когда сервер стоит за auth proxy или на него деплоят новые инструменты в рабочей сессии.
Конфигурация gateway: три новых параметра
store.connect_timeout_seconds: максимальное время ожидания Postgres-соединения при старте gateway, по умолчанию 5 секунд. Gateway, подключённый к serverless или cold-start Postgres (RDS Aurora Serverless, Supabase на холодном тире), падал при старте, если база не отвечала в этот период. Сообщение об ошибке теперь явно указывает store.postgres_url и текущий таймаут.
CLAUDE_CODE_GATEWAY_DRAIN_TIMEOUT_MS: до этого релиза SIGTERM немедленно обрывал все открытые стримы. Rolling-deploy или drain на балансировщике прерывал активные долгие запросы на полуслове. Теперь gateway ждёт завершения in-flight запросов до 25 секунд. Чтобы вернуть прежнее поведение, установите CLAUDE_CODE_GATEWAY_DRAIN_TIMEOUT_MS=0.
Предупреждение о насыщении реплики (256 upstream-запросов): новая строка в логах при старте сообщает верхнюю границу одновременных upstream-запросов на реплику (256). При превышении появляется warning. Порог существовал и раньше — нового только видимость: необъяснимые задержки или обрыв стримов под нагрузкой теперь имеют конкретный сигнал.
Самовосстановление транскриптов и исправления состояния сессий
Самовосстановление повреждённых транскриптов. Сессии, получавшие ошибку unexpected tool_use_id с кодом 400, уходили в бесконечный retry одного и того же запроса — это следствие рассинхронизации tool use ID в истории разговора с тем, что ожидает API, и раньше было невосстановимым состоянием. В 2.1.274 такие случаи детектируются и по возможности исправляются автоматически. Если авторемонт невозможен, сессия завершается с понятной ошибкой и подсказкой /rewind.
Цикл компрессии при активном /goal. Сессии с hook-трекингом /goal попадали в петлю: контекст переполняется, запускается reactive compaction, контекст снова переполняется. Итог — зависание с "Prompt is too long". Исправлено. Параллельно: при возобновлении (--continue / --resume) сессии после компрессии активный /goal тихо терялся. Потеря данных тоже исправлена.
Сброс флагов claude agents после авто-обновления. При автоматическом обновлении и перезапуске в середине agents-сессии все флаги — --model, --effort, --permission-mode, --allow-dangerously-skip-permissions и --agent — сбрасывались. Перезапущенный процесс работал с другими параметрами, чем тот, что стартовал изначально. Исправлено.
Новые инструменты наблюдаемости
enduser.sub: в телеметрии сессий Claude Desktop и Cowork, проксируемых через Claude apps gateway, теперь присутствует идентификатор субъекта IdP из SSO-провайдера. Это стабильный ключ для сопоставления трат на Claude Code с конкретными пользователями в системах биллинга и аудита.
Атрибут effort в OTel span claude_code.llm_request: уровень effort теперь есть в атрибутах trace span, согласованно с уже имевшимся событием api_request. Удобно для разбивки расходов по уровню effort в tracing UI.
Событие claude_code.managed_settings_resolved: фиксирует, какие источники managed settings применялись и каким было состояние policy. С OTEL_LOG_MANAGED_SETTINGS=1 включает фактические значения настроек. Диагностика послойных policy-конфликтов теперь умещается в одно событие OTel вместо ручного перебора логов.
Что проверить после обновления
Операторам Claude apps gateway: задайте store.connect_timeout_seconds, если Postgres стартует не сразу; убедитесь, что платформа оркестрации совместима с новым 25-секундным drain-окном; следите за строкой о потолке насыщения реплики в логах старта.
Пользователям Bedrock/Vertex/Foundry: MCP 2026-07-28 с v2-клиентом теперь по умолчанию — убедитесь, что MCP-серверы поддерживают этот протокол, или установите legacy-переменные окружения до обновления.
Всем, кто запускает tool-heavy agentic-сессии: для исправлений MCP дополнительная конфигурация не нужна. Tool calls, которые раньше молча обрывались на пятой минуте, и устаревшие списки инструментов после server-deploy должны восстановиться после обновления сами.
Команды, маршрутизирующие Claude Code через TheRouter: изменения drain timeout и Postgres timeout касаются любого self-hosted Claude apps gateway за слоем роутера. Атрибут effort в OTel улучшает атрибуцию затрат по запросам в любой системе трейсинга, перехватывающей эти запросы.
Похожие материалы
Новости AI-роутинга и провайдеров →
Claude Code 2.1.273: пять новых hint-заголовков для gateway и смена классификатора на Bedrock, Vertex и Foundry
Claude Code 2.1.273 добавляет opt-in hint-заголовки, передающие LLM-прокси класс запроса, тип агента и состояние компакции. Одновременно на Bedrock, Vertex AI и Foundry по умолчанию включается локальный классификатор auto-режима — откатить можно только это изменение.

Claude Code 2.1.275 сломал все прокси-шлюзы. 2.1.276 исправил это в тот же день.
Тег advisor_20260301 в 2.1.275 сломал все прокси-шлюзы: 400 на каждый запрос. 2.1.276 вышел hotfix'ом в тот же день. Разбор механики сбоя, затронутых конфигураций и трёх дополнительных изменений для операторов.

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