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

Claude Code

Claude Code 2.1.325 вернул запросы в песочнице и чинит zstd

5 мин чтения

Текст написан ИИ-моделью по источникам, на которые ведут ссылки, и сверен с ними второй моделью. Как мы работаем

Всё о теме: Claude Code: версии и изменения →

В Claude Code 2.1.325, вышедшем 13 ноября, Bash-команды в песочнице по умолчанию проходят через обычный запрос разрешения, как и остальные команды. Это следует из списка изменений релиза на GitHub. Без подтверждений такие команды запустятся только с sandbox.autoAllowBashIfSandboxed: true. Если песочницу включают управляемые настройки, ключ должен стоять в управляемом источнике с наивысшим приоритетом. В том же релизе закрыта проблема безопасности в декодировании ответов, сжатых zstd.

Кого касается новое умолчание

По документации Anthropic, песочница по умолчанию выключена. Её включают командой /sandbox в сессии или ключом sandbox.enabled: true в файле настроек, например в ~/.claude/settings.json. Если её не включали ни вы, ни управляемые настройки организации, новое умолчание вас не затронет. Сама песочница ограничивает средствами операционной системы команды оболочки, которые запускает Claude. Файловые инструменты Claude, MCP-серверы и хуки работают вне её.

У администраторов с управляемыми настройками была своя история с этим ключом. В отчёте об ошибке на GitHub пользователь описывал случай на версии 2.1.175 под macOS. Серверные управляемые настройки передавали и sandbox.enabled: true, и autoAllowBashIfSandboxed: true, но каждая Bash-команда, не подходившая под правило permissions.allow, всё равно открывала окно подтверждения. По словам автора отчёта, в опубликованной JSON-схеме настроек этот ключ значился со значением по умолчанию true. В 2.1.325 без явно заданного ключа команды из песочницы ждут подтверждения, а для организаций релиз указывает, куда ключ поставить.

Остальные правки песочницы касаются записи и секретов. В добавленных каталогах она отказывает командам в записи в настройки, skills, agents, commands и hooks из .claude, так же как в папке запуска. Исправлены случаи, когда песочница не полностью защищала настройки и хуки worktree и общую git-папку связанного worktree. Ещё в одном исправленном случае команды из песочницы могли писать в папку загрузок встроенного обновления. Сетевой мост и другие вспомогательные программы, которые песочница запускает для себя, стартуют без токенов входа и API-ключей Claude Code в окружении. Ripgrep и локальный git идут без пароля к ключу клиента mTLS. Claude Code в вебе, облачные запланированные задачи и облачные сессии Cowork запускаются даже при sandbox.failIfUnavailable, потому что в облачном контейнере песочницы для команд нет.

Где автоматизация начнёт ждать

Read-only команды git в репозитории, который не относится к проекту и не отмечен как доверенный, сначала спрашивают разрешения. Чтобы они шли без запросов, такой репозиторий подключают через --add-dir, настройка additionalDirectories для этого не подходит. Запланированные задачи и /loop спрашивают, прежде чем запустить skill, в котором объявлены allowed-tools или hooks. Для работы без присмотра в permissions.allow добавляют Skill(name). В Desktop, IDE и SDK кнопка «Always allow» предлагает сохранить отдельное правило только тогда, когда оно действительно разрешит эту команду в следующий раз. Запланированная задача, которая полагалась на такое правило, может остановиться и ждать вас.

Исправления в проверке прав Bash тоже добавят подтверждений. Некоторые составные команды проходили без вопроса, а правило allow в одном случае могло запустить другую программу, не ту, что в нём названа. Часть правил deny и ask не срабатывала на отдельных командах. Относительные правила вроде Read(./.env) после cd снова покрывают проект и действуют в добавленных каталогах. Изолированной worktree-сессии или агенту запрещены git bisect run, git maintenance register|start и команды настройки scalar, и им сообщают, что остаётся доступным.

Модели, шлюзы и счета

Сессии на многих сторонних шлюзах и в Foundry на каждом ходу останавливались с ошибкой длины контекста, вместо того чтобы сжать историю. В 2.1.325 это исправлено. В версии 2.1.323 окно модели с незнакомым Claude Code ID стало считаться в 1M токенов вместо 200K, и сессии на моделях с меньшим окном после заполнения могли падать на каждом ходу до /clear. Переменная CLAUDE_CODE_MAX_CONTEXT_TOKENS задаёт окно и для незнакомых ID, которые начинаются с claude-, например для claude-sonnet-latest на шлюзе.

Субагенты со своей моделью при настройке opusplan или haiku перестали переключаться на модель режима планирования. У субагентов на другой модели объём чтения файлов и результатов MCP раньше рассчитывался по модели основной сессии, это тоже исправлено. Если субагент упирается в лимит выходных токенов, его просят дать весь ответ ещё раз и короче, а раньше он возвращал только конец ответа.

Фоновые сессии, запущенные под входом через claude.ai, брали API-ключ или токен из оболочки, в которой стартовал фоновый сервис, и расходы шли на этот ключ. В 2.1.325 это исправлено, а попытки сессии перейти на другой вход в фоне отклоняются с сообщением о том, что сработает.

Скрипты и сервисы

Если у claude -p нет закэшированных данных аккаунта, он ждёт их перед первым запросом, поэтому первый запуск в чистом окружении может начаться на несколько секунд позже. В ref маркетплейса можно указать полный ID любого коммита в ветке или теге. Клиенты до этой версии такой пин клонировать не могут, и маркетплейс, закреплённый так, у них перестанет загружаться. Если из прокси задан только ALL_PROXY, плагины и маркетплейсы загружаются через туннель CONNECT, и прокси, который CONNECT отклоняет, такие загрузки сломает. В Agent SDK вызов applyFlagSettings() с одним недопустимым значением молча сбрасывал все настройки из предыдущих вызовов. Такой вызов отклоняется с ошибкой.

Для тех, кто держит claude remote-control под менеджером сервисов: команда выходит с кодом 4, когда останавливается сама (одиночные сессии по-прежнему завершаются с 0), и с кодом 69, когда не может зарегистрироваться. По этим кодам менеджер может запустить её снова.

Anthropic

Opus 5.5 встал по умолчанию на Pro, Max, Ultra и Team

Кто держал Sonnet на каждый день и включал Opus только для тяжёлого анализа, в Claude на Pro, Max, Ultra и Team сразу попадает на Opus 5.5. А более дорогие модели на этих тарифах съедают лимиты быстрее. Вы оставите Opus 5.5 по умолчанию или вернёте Sonnet?

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

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

Войдите, чтобы оставить комментарий. Он появится после модерации.