Claude Code 2.1.178: правила Tool(param:value) позволяют операторам блокировать субагентов по модельному уровню
Claude Code 2.1.178 вводит синтаксис разрешений Tool(param:value) — операторы теперь могут писать правила вида Agent(model:opus), блокируя субагентов на Opus-уровне. Также добавлены вложенные области видимости .claude/ и предварительная проверка субагентов в auto-режиме.

Claude Code 2.1.178, выпущенный 15 июня, содержит три изменения, принципиальных для операторов, управляющих развёртываниями claude code 2.1.178 с правилами Tool параметров и субагентами: новый синтаксис разрешений Tool(param:value), позволяющий таргетировать конкретные модельные уровни; вложенные области видимости .claude/ с детерминированным разрешением конфликтов; и классификатор предварительной проверки, который в auto-режиме проверяет каждый запуск субагента перед его выполнением.
Что изменилось в 2.1.178
Tool(param:value) — правила разрешений для конкретных модельных уровней
Ключевое нововведение для governance — новый синтаксис правил разрешений: Tool(param:value). Раньше можно было только разрешать или запрещать целую категорию инструментов (Agent, Bash, Edit); теперь поддерживается сопоставление по параметрам ввода инструмента с парами ключ–значение и *-подстановкой.
Главный пример, который приводит Anthropic, — Agent(model:opus): правило запрета, блокирующее запуск любого субагента на Opus. Для команд, маршрутизирующих запросы к Claude через TheRouter или общий gateway, это существенный инструмент контроля затрат: задача, случайно запускающая многоходового субагента на Opus, — именно тот вид неконтролируемых расходов, для предотвращения которого создавались allowlist'ы по моделям.
Синтаксис работает в allowedTools, disallowedTools и в файлах managed settings, что позволяет применять политики на уровне всего парка без необходимости opt-in от пользователей:
{
"disallowedTools": ["Agent(model:opus)", "Agent(model:claude-fable*)"]
}
Подстановка * в значении соответствует любому суффиксу, что позволяет писать и Bash(command:rm*) для блокировки деструктивных shell-префиксов — хотя changelog Anthropic фокусируется на сценарии с модельными уровнями.
Вложенные области видимости .claude/
Claude Code теперь загружает skills из вложенных директорий .claude/skills/, когда вы работаете внутри поддиректории. При конфликте имён между вложенным skill и skill в корне проекта вложенный skill отображается как <dir>:<name>, оба остаются доступными.
Та же логика областей видимости распространяется на agents, workflows и конфигурации output-style: при конфликте имён побеждает определение, ближайшее к текущей рабочей директории. Workflow, сохраняемые на уровне проекта, теперь записываются в ближайшую существующую .claude/workflows/, а не всегда в корень проекта.
Это важно для monorepo-команд, где разные пакеты имеют разные наборы skills и workflows. Раньше всё контролировалось общим корнем проекта; теперь каждая поддиректория может иметь собственные конфигурации, не затрагивая соседей.
Предварительный классификатор субагентов в auto-режиме
В auto-режиме Claude Code теперь запускает классификатор безопасности для проверки запроса на запуск субагента до его старта. Раньше субагент мог запросить заблокированное действие и быть остановлен только в процессе выполнения — после того как токены уже потрачены. Предварительная проверка выявляет блокировку на этапе запуска.
Для операторов со строгими политиками disallowedTools или availableModels это закрывает брешь, через которую намерение субагента могло обойти проверку. Классификатор использует ту же логику выбора модели в auto-режиме, что и в предыдущих версиях.
Bug-исправления, важные для операторов
Два исправления в 2.1.178 особенно актуальны для команд, запускающих Claude Code через кастомные API-gateway:
Аутентификация daemon с ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN. Workers, запущенные через claude agents, возвращали 401 Invalid bearer token, когда daemon стартовал из shell с заданными кастомными ANTHROPIC_BASE_URL и ANTHROPIC_AUTH_TOKEN. Daemon не наследовал credentials корректно. Исправлено.
Цепочка fallback-моделей в compaction. Compaction (автоматическое сжатие контекстного окна) не соблюдал --fallback-model. При ошибке перегрузки или недоступности модели в процессе compaction происходил сбой вместо повторной попытки на настроенной цепочке fallback. Теперь работает корректно.
Оба исправления усиливают действие enforceAvailableModels из 2.1.175: теперь можно комбинировать строгие allowlist'ы моделей, цепочки fallback и кастомные gateway-credentials без незаметных брешей в аутентификации.
Что это значит для команд маршрутизации
Tool(param:value) переводит правила разрешений Claude Code с уровня "какая категория инструментов" на уровень "какая модель, префикс команды или значение параметра". Для команд, маршрутизирующих запросы к нескольким провайдерам через общий gateway:
- Теперь можно запрещать субагентов Opus-уровня на уровне harness, не отключая инструмент
Agentполностью. Swarm-архитектуры могут использовать субагентов, но только на утверждённых модельных уровнях. - В сочетании с
enforceAvailableModelsmanaged settings файл может заблокировать всю сессию — как прямые выборы модели, так и запуск субагентов — на уровнях, покрываемых тарифным планом. - Предварительный классификатор в auto-режиме означает, что нарушения политик фиксируются до расходования вычислительных ресурсов.
Исправление credentials демона также важно для операторов прокси с кастомными base URL. Фоновые сессии на основе daemon теперь корректно наследуют gateway-credentials, заданные в родительском shell.
На что обратить внимание
Anthropic пока не расширил Tool(param:value) для одновременной подстановки * в ключе и значении (например, Agent(*:fable*) в документации не упоминается как поддерживаемый). Следите за обновлениями в changelog Claude Code.
Вложенные области видимости .claude/ — новое поведение: если CI-пайплайн или скрипты предполагают, что все определения .claude/ находятся в корне проекта, проверьте их перед обновлением. Skills с именами, включающими директорию (например, api:lint), теперь ведут себя иначе, чем lint без квалификатора.
Попробуйте сами
Обновите Claude Code и проверьте правила разрешений через /permissions. Существующие записи в disallowedTools продолжат работать без изменений; синтаксис Tool(param:value) является аддитивным дополнением.
Чтобы узнать, какие model ID валидны в записях Agent(model:...), сверьтесь с каталогом моделей, который отражает актуальный список провайдеров и алиасов TheRouter.
По вопросам широкой governance-конфигурации в enterprise-развёртываниях — managed settings, OTEL-интеграция и настройка цепочек multi-provider fallback — обратитесь в центр документации.
Похожие материалы
Новости AI-роутинга и провайдеров →
Исследование Anthropic: 400 тыс. сессий Claude Code, экспертиза и AI routing
Данные Anthropic по 400 тыс. сессий Claude Code: эксперты удваивают verified success (15%→28–33%) и дают 5× вывода. Это меняет model tiers, token budgets и prompt caching.

Claude Code 2.1.181: Prompt Caching восстановлен для кастомных gateway и Foundry — что нужно знать операторам
Claude Code 2.1.181 исправляет скрытую регрессию prompt caching, из-за которой все команды, работающие через кастомный ANTHROPIC_BASE_URL или Microsoft Foundry, несли завышенные расходы. Также принудительно введён лимит в пять уровней глубины для foreground subagent.

Claude Code 2.1.181: модель доверия агентов переписана — что операторы мультиагентных пайплайнов должны проверить
Claude Code 2.1.181 переписывает модель доверия к peer-сообщениям между агентами: с «относиться с подозрением» на «запрос коллеги, скорее всего действующего от имени пользователя». Пути эскалации и permission laundering по-прежнему заблокированы жёстко.