Шлюз Claude Code 2.1.281 ходит в Bedrock под ролью IAM

До версии 2.1.281 Claude Code в режиме auto и с флагом --dangerously-skip-permissions без вопроса выполнял рекурсивный rm, если цель удаления задана только подстановкой команды, например rm -rf "$(pwd)". Исправление стоит в длинном списке изменений на GitHub рядом с новинкой для администраторов: шлюз Claude apps научился обращаться к Amazon Bedrock под ролью IAM, которую получает через STS.
Коротко
- Версия 2.1.281 добавляет шлюзу Claude apps роли IAM и guardrail для Bedrock, метки телеметрии, а в Claude Code требует подтверждения для rm по подстановке и чинит возобновление сессий и медленный запуск.
- Guardrail Amazon Bedrock задаётся парой {id, version} и применяется к каждому запросу через апстрим, а telemetry.resource_attributes вешает постоянные метки на телеметрию Claude Desktop и сессий /login.
- Старые версии CLI целиком пропускают файл настроек, где стоит "attribution": false, поэтому в общих для разных версий файлах оставляйте объектную форму, а guardrail включайте на всех апстримах Bedrock или ни на одном.
Шлюз Claude apps применяет guardrail Bedrock к каждому запросу и понимает новые ключи Claude Desktop
Изменения для администраторов собраны в шлюзе Claude apps. Параметр guardrail: {id, version} применяет guardrail Amazon Bedrock к каждому запросу, который проходит через апстрим, и включается по принципу «все или ничего»: на всех апстримах Bedrock сразу либо ни на одном. Настройка telemetry.resource_attributes добавляет фиксированные метки к телеметрии Claude Desktop и сессий, открытых через /login.
Шлюз понимает и новые ключи Claude Desktop в блоках политики, в том числе blockReadsOutsideWorkingDirectories и disableBypassPermissionsMode. Заодно он отказывается стартовать, если путь envHelper в записи managedMcpServers начинается с \??\ или /??/: такие пути текущий Claude Desktop запускать не станет.
rm -rf "$(pwd)" спрашивает подтверждение даже при разрешающем правиле для Bash
После исправления рекурсивный rm с целью из подстановки команды спрашивает подтверждение даже при правиле allow для Bash. Отключить вопрос можно переменной CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1. Проверка опасного rm стала шире: она ловит удаление по переменной оболочки, за которой идёт имя каталога верхнего уровня, по переменной, производной от рабочего каталога, и по цели из одних обратных слэшей.
Сам вопрос про опасный rm в режимах auto и --dangerously-skip-permissions ждёт ответа две минуты, затем отклоняет команду и подсказывает, как её переписать, чтобы сессия без присмотра шла дальше. Таймер выключает CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1. Правило разрешений с байтом NUL раньше раскрывалось в подстановочный шаблон, а сейчас не совпадает ни с чем.
Поменялся и auto mode. Там, где классификатор проверяет команды на сервере, его вердикта ждут даже команды только на чтение и команды в песочнице, и их блокируют, если классификатор их пометил. Переменная CLAUDE_CODE_AUTO_MODE_SERVER работает и при прямом подключении к API Anthropic: 0 отказывается от серверного классификатора, и тогда локальный засчитывается в расход, а 1 включает серверный.
Возобновлённые сессии сохраняют кэш промпта, а запуск без MCP не ждёт сетевой запрос
Самый длинный блок исправлений касается возобновления сессий. Возобновлённая сессия могла заново отправлять прежние ходы в изменённом виде, например ход с параллельными вызовами инструментов, и API тогда отбрасывал предыдущие рассуждения. Очень большая сессия иногда восстанавливалась только с последними сообщениями, а перезапуск во время открытого запроса разрешения менял историю и ломал кэш промпта с этого места.
Если сессия оборвалась посреди вызова инструмента, Claude видит этот вызов и получает сообщение, что его исход неизвестен, а ручное возобновление перестало подкладывать скрытое «Continue». Кэш промпта сохраняется, когда сервер MCP отключается посреди разговора при выключенном поиске инструментов, например за прокси или шлюзом.
Без настроенных серверов MCP и плагинов интерактивный запуск ждал сетевой запрос управляемых настроек: около 80 мс в обычных условиях и 17 секунд и дольше, когда сеть недоступна. Исправлена и задержка ответа до двух минут при чтении или @-упоминании PDF крупнее 3 МБ.
Шлюз принимает роль IAM через STS, в том числе в другом аккаунте AWS
На апстримах Bedrock появился параметр assume_role: шлюз обращается к Bedrock от имени роли IAM, которую сам получает через STS. Роль может находиться в другом аккаунте AWS, а при желании шлюз заводит отдельную сессию на каждого разработчика вместо одной общей на всех.
STS в AWS выдаёт временные учётные данные: сервис просит принять роль IAM и получает ключи, которые действуют ограниченное время и дают ровно права этой роли. Похоже на гостевой пропуск в соседний офис: пускают по нему ненадолго и только туда, куда разрешил хозяин.
Самое неудобное место релиза связано с настройкой attribution: булева форма "attribution": false прячет все подписи в коммитах и PR, но старые версии CLI пропускают файл настроек с ней целиком, поэтому в общем для разных версий файле нужна объектная форма. На наш взгляд, отбрасывать весь файл из-за одного ключа слишком жёстко, ведь вместе с attribution пропадут и остальные настройки. Список изменений также не объясняет, почему guardrail нельзя включить только на части апстримов.
Кому переписать --system-prompt в хуках
Перед обновлением проверьте самостоятельно размещённые раннеры. Они передают системные промпты в Claude Code приватными файлами вместо текста в командной строке, поэтому обёртка или командный хук, который дописывает --system-prompt или --append-system-prompt, должен перейти на --system-prompt-file или --append-system-prompt-file. Пока в команде остаются версии CLI старше 2.1.281, объектная форма attribution в общих настройках остаётся обязательной.
Читайте также
- Claude Code 2.1.282 не даст репозиторию включить телеметрию
- Claude Code 2.1.280 отдал Opus 5.5 даже тарифу Pro
- Claude Code 2.1.278 не берёт плату за классификатор auto
- Claude Code в Desktop примеряет раскрывающийся блок лимитов
- Claude Code 2.1.283 научился держать новые модели за дверью
- Claude Code попробует не бросать правку на полпути
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.
