Anthropic выпускает обновления Claude Code (программа, которая работает как ИИ-агент в терминале: читает код, редактирует файлы и запускает команды по вашей просьбе) по несколько раз в неделю, и почти все они чинят мелкие баги. Пять обновлений, вышедших с 25 по 28 августа (версии 2.1.243, 2.1.246, 2.1.247, 2.1.248 и 2.1.251), другие. Они меняют, что видно в автономном режиме (auto mode, состояние, в котором программа сама решает, какие команды выполнить без вопроса к вам), как считаются траты на задачи, которые повторяются сами, и что агент вообще имеет право сделать в вашей папке.
Если вы даёте Claude Code решать что-то без подтверждения на каждом шаге, чтобы не отвлекаться, эта неделя касается именно вас.
Автономный режим перестал быть чёрным ящиком
Раньше единственный способ понять, что именно автономный режим одобрит сам, а что переспросит, был опытным путём: вы наблюдали за поведением и делали выводы. Теперь в команде `/permissions` появилась отдельная вкладка Auto mode, где видны сами правила-классификаторы (условия, по которым программа решает "выполнить сразу" или "спросить у человека"), и их можно редактировать напрямую.
Это меняет практический вопрос с "кажется, оно слишком много делает само" на "вот конкретное правило, из-за которого это происходит, и вот как его сузить".
Предупреждение о правиле, которое разрешает больше, чем кажется
Отдельная правка касается тех, кто разрешает Claude Code запускать команды терминала по шаблону с подстановочным знаком `*`. Пример из официального журнала изменений: правило вида `Bash(git * main)` задумывается как "разрешить операции с веткой main", но подстановочный знак может совпасть и с командой, в которую вставлены дополнительные флаги перед именем ветки, то есть разрешить больше, чем вы имели в виду.
С этого обновления Claude Code сам предупреждает при старте, если среди ваших разрешённых правил есть такой шаблон. Если вы настраивали доступ по образцу из чужого гайда и не разбирали его построчно, стоит посмотреть на это предупреждение при следующем запуске, а не игнорировать его.
Видно, во сколько обходится каждая повторяющаяся задача
Команда `/loop` запускает задачу на повторение через интервал (например, "проверяй каждые 10 минут"). У неё есть очевидный риск: одна неудачно составленная повторяющаяся задача незаметно съедает бюджет, потому что каждый повтор стоит денег, а считать это вручную никто не будет.
В `/usage` появилась разбивка по циклам: число запусков, сумма токенов, токены на один запуск и время последнего запуска. Теперь болтливую или зациклившуюся задачу видно по цифрам, а не по счёту в конце месяца.
Рядом с этим добавили настройки `promptCacheTtl` и `subagentPromptCacheTtl`: они управляют тем, как долго держится кэш подсказки (механизм, который переиспользует уже обработанный контекст вместо того, чтобы обрабатывать его заново, и за счёт этого снижает стоимость запроса). Основной разговор можно держать в часовом кэше, а вспомогательные подзадачи, которые живут недолго, перевести на пятиминутный, и не платить за кэш, который всё равно не успеет пригодиться.
Режим, в котором агент почти ничего не может
В версии 2.1.248, вышедшей 27 августа, появился ключ `--restricted` (то же самое включается переменной окружения `CLAUDE_CODE_RESTRICTED=1`). Он собирает сессию, в которой у агента отобрано почти всё опасное сразу:
- убраны встроенные инструменты, которые запускают команды и код, а также загрузка страниц из интернета (если вы не перечислили их явно через `--tools`);
- работа с файлами заперта внутри рабочей папки;
- режим полного отключения подтверждений в такой сессии не включается вообще;
- пользовательские, проектные и локальные файлы настроек игнорируются.
Последний пункт важнее, чем кажется. Обычно настройки подтягиваются отовсюду, и это удобно ровно до момента, когда вы открываете чужой проект: вместе с кодом приезжают и его настройки. Ограниченный режим отвечает на вопрос "хочу посмотреть незнакомый репозиторий и ничем не рисковать" одной строкой, вместо того чтобы разбирать чужие права вручную.
Там же появилась настройка `experimental.cacheTtl` (помечена как экспериментальная): срок жизни кэша можно задать отдельному агенту прямо в его описании, а не одной цифрой на всё. Если у вас есть вспомогательный агент, которого вы дёргаете раз в час, ему больше не нужен тот же кэш, что основному разговору.
И ещё одно, для тех, кто работает не напрямую: обмен сообщениями между сессиями заработал на Bedrock, Vertex и Foundry, а также когда телеметрия выключена. Важная оговорка: только между сессиями на одной машине.
Смена модели теперь под контролем, а часть дыр закрыта
Версия 2.1.251 от 28 августа добавила хуки `PreModelSwitch` и `PostModelSwitch`: смену модели можно заблокировать, потребовать подтверждения или просто записать в журнал. Если у вас есть регулярный сценарий, где важно, на какой именно модели он отработал, это способ не выяснять постфактум.
Рядом появилась живая трансляция вызовов инструментов в Remote Control, и здесь легко ошибиться: транслирует передний саб-агент. Фоновые, а они как раз идут по умолчанию, по-прежнему показывают только статус. Если вы ждёте подробностей и не видите их, дело скорее всего в этом.
В `/usage` добавили шкалу лимита трат. Оговорка обязательна: она появляется у тех, кто работает через шлюз Claude apps с настроенными лимитами. Если у вас обычная подписка, шкалы не будет, и это не поломка.
Самое незаметное в этом релизе, вероятно, самое ценное. Закрыты три уязвимости одного класса: файловые инструменты шли по символической ссылке, подменённой уже после проверки прав, и могли прочитать или записать файл за пределами разрешённого места; команды плагина могли указывать наружу своей папки; поиск по файлам не применял запреты чтения к путям, до которых добирался через такую же ссылку. Ничего из этого не требует ваших действий, кроме одного: обновиться.
Что сделать с этим сегодня
Если вы пользуетесь Claude Code для рабочих задач, а не только пробуете:
- Обновитесь. Три закрытые дыры из последнего релиза чинятся только этим.
- Откройте `/permissions`, вкладку Auto mode, и посмотрите, что именно разрешено выполнять без вашего подтверждения.
- Если среди ваших правил есть шаблоны с `*` для git или других команд терминала, проверьте предупреждение при следующем запуске программы и сузьте правило, если оно разрешает больше нужного.
- Если вы используете `/loop` хотя бы для одной регулярной задачи, откройте `/usage` и посмотрите разбивку по циклам: это дешевле, чем узнать о проблеме из счёта.
- Возьмите за привычку открывать чужой код с ключом `--restricted`. Это одна строка, и она снимает целый класс неприятностей.
Ни одно из этих действий не требует часа времени, а разница между "автономный режим делает что-то непонятное" и "я вижу правило и могу его поправить" ощущается сразу.
---
Источники: - Claude Code changelog, официальный журнал изменений Anthropic - Release v2.1.246 · anthropics/claude-code - Даты выхода версий 2.1.248 и 2.1.251 сверены по датам публикации пакета `@anthropic-ai/claude-code` в npm: в самом журнале изменений дат нет.




