claude-code

Claude Code 2.1.248: режим --restricted

Claude News

claude-code

Anthropic добавила в Claude Code 2.1.248 режим --restricted: он убирает встроенные инструменты, которые запускают команды и код, а также WebFetch, если тот не указан в --tools. Файловые инструменты остаются внутри рабочего каталога, bypassPermissions отклоняется, пользовательские, проектные и локальные файлы настроек игнорируются. Список изменений опубликован в релизных заметках на Github.

Коротко

  • Тот же режим включается переменной CLAUDE_CODE_RESTRICTED=1, а в frontmatter агента появился ключ experimental.cacheTtl со значениями «5m» или «1h», задающий TTL кеша промпта, если общая настройка для субагентов не задана.
  • Описание инструмента Workflow сократили примерно с 5,7 тысячи токенов до одной тысячи, а справочник по написанию скриптов вынесли в отдельный навык, который поставляется вместе с инструментом.
  • Кросс-сессионный обмен сообщениями через SendMessage и ListAgents заработал между сессиями на одной машине на Bedrock, Vertex и Foundry, а также при отключённой телеметрии; при недоступности стандартного каталога он переключается на приватный каталог в /tmp.

Набор изменений смещён в сторону контроля над тем, что Claude Code делает без явного разрешения: изолированный режим, диагностика управляемых настроек и запрет на выгрузку незакоммиченных секретов выглядят как ответ на требования корпоративных внедрений. Исправления кеша промпта бьют по другой стороне работы: ежечасный промах в длинной сессии означал повторную отправку всего контекста и потерю расширенного размышления, и для тех, кто держит сессию открытой часами, это заметнее любого нового флага.

Диагностика объясняет, почему серверные настройки не загрузились

При старте появляется предупреждение, если управляемые сервером настройки не удалось загрузить, а /doctor и /status показывают строку с причиной сбоя или объяснением, почему настройки не запрашивались: работа через Bedrock, Vertex или стороннего провайдера либо собственный ANTHROPIC_BASE_URL. Команда claude self-hosted-runner получила флаг --client-label и переменную SELF_HOSTED_RUNNER_CLIENT_LABEL, которые меняют метку регистрации раннера вместо имени хоста по умолчанию.

В /web-setup добавлено предупреждение о том, что токен GitHub CLI без области workflow приводит к отклонению пушей в очень больших репозиториях. Команда /usage-credits открыта для организаций Enterprise с оплатой через AWS Marketplace, самостоятельным подключением Enterprise и пробными периодами: участники могут запросить у администратора повышение лимита.

Сообщения о лимитах, расходе и быстром режиме перестали советовать /usage-credits там, где команда недоступна организации, например когда она скрыта через DISABLE_EXTRA_USAGE_COMMAND. Исправлено и поведение /login: рекомендуемый вход через Console на машинах, где он неприменим, например при заданном ANTHROPIC_API_KEY, теперь откатывается к входу по API-ключу вместо ошибки OAuth.

Промах кеша промпта повторялся примерно раз в час в длинных сессиях

Причиной было повторное формирование определений инструментов после обновления OAuth-токена: кеш промпта сбрасывался, а вместе с ним терялся контекст расширенного размышления. Отдельно исправлено определение инструмента ScheduleWakeup, которое менялось между сессией и её возобновлением через --resume, если аккаунт вышел за пределы лимита использования: это давало полный промах кеша на первом ходе возобновлённой сессии.

Управляемые настройки перестали спрашивать подтверждение для переменных окружения клиентского таймаута, режима запуска MCP и сторожевого таймера потока. Значок статуса пул-реквеста в подвале промпта реже обращается к GitHub, пока сам пул-реквест не менялся, а пуш или команда gh pr обновляют его сразу. Хуки PermissionRequest и PreToolUse с некорректным ответом не заставляют фоновую сессию молча ждать: строка в claude agents называет хук и ошибку схемы.

Незакоммиченные правки prod.env и *.tfvars остаются на машине пользователя

До этого релиза /ultrareview и локально подготовленные облачные сессии выгружали незакоммиченные правки файлов вида prod.env и *.tfvars, а также редакторские swap-, временные и резервные копии файлов с учётными данными, например key.pem.tmp и id_rsa.swo. Такие файлы теперь остаются только на машине пользователя.

Сессии Claude Desktop и Cowork пропадали через 30 дней: очистка транскриптов сохраняет записанные из приложения сессии всё время, пока они открыты в нём, если хранением не управляет политика организации, а новая настройка desktopSessionCleanupPeriodDays ограничивает срок такого исключения. Отдельно исправлена вкладка чата в VSCode, застревавшая на «No conversation found», если сессия ни разу не сохранялась: открывается новая беседа.

Фоновая сессия в worktree теряла свой checkout: теперь она удерживает блокировку worktree во время работы, поэтому очистка и git worktree remove её не трогают. Команды claude agents и claude rm перестали отказываться удалять сессию из-за неотправленных коммитов, если её ветка уже влита в текущую основную ветку локально.

Статус experimental.cacheTtl

Ключ experimental.cacheTtl помечен как экспериментальный, и заметки не называют срок, когда он получит постоянное имя. TTL применяется только там, где не задана общая настройка для субагентов, поэтому на конфигурации с явным значением он не влияет. Не указано и то, появится ли /usage-credits у организаций за пределами трёх перечисленных схем Enterprise.

Комментарии

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

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

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

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