Claude Code MCP timeout и WebFetch: что операторам проверить после фикса
Claude Code MCP timeout и WebFetch policy изменились в релизе 3 июня: явные WebFetch deny правила теперь важнее preapproved hosts, а sub-1000 ms MCP timeout откатывается к MCP_TOOL_TIMEOUT/default вместо watchdog-сбоев.
Архивный материал, подготовленный с помощью ИИ по указанному источнику и опубликованный без индивидуальной проверки. Ответственный редактор: Joe Werner.

Два бага незаметно существовали в Claude Code на протяжении нескольких недель. Релиз от 3 июня устранил оба — и если вы запускаете Claude Code за AI-gateway или применяете политики WebFetch-доменов, вам необходимо знать, что изменилось.
Баг с приоритетом правил WebFetch
В Claude Code есть встроенный список предодобренных хостов (preapproved-host auto-allow list) — набор доменов, разрешённых по умолчанию без явной настройки со стороны оператора. До исправления явно заданные оператором правила WebFetch(domain:...) с действиями deny или ask не применялись к этим предодобренным хостам.
На практике: если ваша политика оператора содержала deny: WebFetch(domain:api.example.com), а api.example.com входил в список Anthropic, Claude Code молча разрешал fetch-запрос, полностью игнорируя ваше правило deny.
После исправления явные правила WebFetch оператора с действиями deny/ask/allow теперь имеют приоритет над автоматическим разрешением предодобренных хостов. Политика контроля доступа вашего gateway теперь применяется последовательно, независимо от того, входит ли целевой домен в список по умолчанию Anthropic.
Что нужно проверить:
- Просмотрите файл
settings.jsonили.claude/settings.jsonна наличие правилWebFetch. - Если у вас есть правила deny, предназначенные для блокировки определённых доменов, после обновления до версии от 3 июня убедитесь, что они вступили в силу.
- Команды, использующие TheRouter для журналирования и аудита исходящих AI-запросов, должны убедиться, что события блокировки WebFetch корректно попадают в request ledger — ранее автоматическое разрешение обходило этот механизм.
Баг сторожевого таймера MCP
Claude Code поддерживает поле timeout (в миллисекундах) для каждого MCP-сервера в файле .mcp.json. Цель — позволить операторам точно настраивать время ожидания ответа на вызов инструмента.
Суть бага: любое значение timeout ниже 1000 мс молча повышалось до 1-секундного сторожевого таймера, который прерывал каждый вызов инструмента — поскольку срабатывал раньше, чем мог прийти нормальный ответ инструмента.
Это был режим молчаливого сбоя. Команды, устанавливавшие жёсткие sub-1000 ms таймауты (например, для соблюдения SLA-подобных ограничений на MCP-инструменты с ожидаемым ответом менее секунды), видели сбой всех вызовов инструментов без понятного сообщения об ошибке. Теперь команда claude mcp get помечает записи с sub-1000 ms таймаутами, чтобы операторы могли обнаружить проблему при инспекции.
Поведение после исправления: значения timeout ниже 1000 мс теперь молча игнорируются (с fallback на переменную окружения MCP_TOOL_TIMEOUT или значение по умолчанию). Если вам нужно применить ограничение на уровне долей секунды, реализуйте его на стороне MCP-сервера или gateway, а не в клиентской конфигурации Claude Code.
Другие изменения, важные для операторов
--tools с явным указанием Grep/Glob теперь работает. Ранее явное указание Grep или Glob в allowlist --tools молча игнорировалось в native-сборках со встроенным поиском. Теперь эти инструменты регистрируются корректно. Если ваш operator-профиль ограничивает доступ к инструментам через --tools, протестируйте, что Grep/Glob теперь работает как ожидается.
Исправлено сопоставление путей с обратными слэшами в правилах разрешений для Windows. Правила разрешений с путями в формате обратных слэшей (~\folder, \\server\share) или путями в другом регистре никогда не срабатывали в Windows. Это затрагивает операторов, запускающих Claude Code в Windows-based CI или agent pipeline, где path-based deny правила молча не применялись.
Devin Desktop заменяет Windsurf в меню IDE. После ребрендинга редактора меню /ide, /terminal-setup и /scroll-speed теперь отображают Devin Desktop вместо Windsurf. Обновите документацию оператора или скрипты онбординга, упоминающие Windsurf.
claude agents --json теперь включает поле waitingFor. JSON-вывод подкоманды agents теперь показывает, на что именно ожидает заблокированная сессия (например, запрос на разрешение). Это напрямую полезно для headless-систем мониторинга, опрашивающих статус агентов — теперь можно различить «заблокировано ожиданием подтверждения» и «выполняется» без парсинга человекочитаемого статусного текста.
Влияние на routing и gateway
Исправление приоритета WebFetch — наиболее значимое изменение для операторов AI-gateway. Ключевая проблема заключалась в несоответствии между политикой Anthropic по умолчанию и явно заданной политикой оператора — с молчаливой победой первой. Теперь это устранено.
Для команд, маршрутизирующих трафик Claude Code через TheRouter:
- Журналирование запросов: исходящие WebFetch-вызовы, ранее автоматически разрешавшиеся, теперь соблюдают ваши правила deny — вы можете заметить уменьшение количества определённых fetch-событий и новый класс записей blocked-fetch в request ledger.
- Поведение таймаутов MCP: если вы используете поля таймаутов для обхода медленных инструментальных серверов, убедитесь, что значения
timeout≥ 1000 мс. Значения sub-1000 мс теперь будут молча отброшены, а не вызовут сбои через watchdog — в целом это улучшение, но ваш бюджет таймаута нужно пересмотреть на уровне gateway или MCP-сервера. - Мониторинг headless pipeline: новое поле
waitingForв выводе--jsonозначает, что ваш слой оркестрации Claude Code может точнее отображать агентов, заблокированных из-за разрешений, сокращая время обнаружения зависших задач в multi-agent pipeline.
На что обратить внимание
Релиз от 3 июня продолжает серию исправлений Claude Code, направленных на граничные случаи в применении прав доступа на стороне оператора. Это второе исправление модели разрешений за неделю (в релизе от 2 июня была устранена регрессия с управляемой политикой forceLoginOrgUUID). Если ваша организация запускает Claude Code в изолированной корпоративной среде, систематический аудит правил разрешений в settings.json после обновления теперь оправдан — некоторые правила, казавшиеся рабочими, могли функционировать за счёт мягкости настроек по умолчанию Anthropic, а не вашей явной политики.
Связанные материалы
Похожие материалы
Новости AI-роутинга и провайдеров →
Claude Code 2.1.212: лимиты субагентов, автофон MCP и исправление кэширования на кастомных шлюзах
Версия 2.1.212 вводит настраиваемые лимиты субагентов и вызовов WebSearch на сессию, автоматически переносит долгие MCP-вызовы в фон и восстанавливает prompt caching за кастомными API gateway, Bedrock и Vertex.

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