Перейти к содержанию

claude-code

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

Claude News

До версии 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 в общих настройках остаётся обязательной.

Читайте также

  1. Claude Code 2.1.282 не даст репозиторию включить телеметрию
  2. Claude Code 2.1.280 отдал Opus 5.5 даже тарифу Pro
  3. Claude Code 2.1.278 не берёт плату за классификатор auto
  4. Claude Code в Desktop примеряет раскрывающийся блок лимитов
  5. Claude Code 2.1.283 научился держать новые модели за дверью
  6. Claude Code попробует не бросать правку на полпути

Комментарии

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.

Из Google мы используем только имя и аватар. Почту не сохраняем.