claude-code

Claude Code 2.1.246: предупреждение о звёздочке в Bash

Claude News

claude-code

Anthropic выпустила Claude Code 2.1.246: при запуске появляется предупреждение о правилах разрешений Bash со звёздочкой перед подкомандой, вроде Bash(git * main), поскольку такие правила совпадают и с опциями, вставленными перед подкомандой. Полный список изменений опубликован в примечаниях к релизу на Github.

Коротко

  • В /permissions добавили вкладку Auto mode для просмотра и правки правил классификатора автоматического режима, а отказы вида «temporarily unavailable» на очень больших сессиях устранены масштабированием дедлайна проверки безопасности под размер промпта.
  • Телеметрия и метрики, отправляемые в Anthropic, перестали нести API-ключ, настроенный для стороннего шлюза через переменную ANTHROPIC_BASE_URL: учётные данные теперь уходят только на тот хост, которому принадлежат.
  • Диффы с одной очень длинной строкой, например base64, резко тормозили транскрипт; теперь такие строки рендерятся урезанными с маркером, а к строке длительности хода добавили время завершения вида «done 6:05 PM».

Правила разрешений в Claude Code давно работают как основной барьер между агентом и оболочкой, и предупреждение о звёздочке перед подкомандой признаёт, что записанное правило покрывает больше, чем выглядит на первый взгляд. Утечка ключа стороннего шлюза в служебные запросы к Anthropic выглядит более серьёзной проблемой: в командах, которые проксируют трафик через собственный шлюз, такой ключ обычно считается закрытым для внешних адресов. Вместе оба исправления читаются как наведение порядка в границах доверия.

Правила Bash со звёздочкой перед подкомандой совпадают и с опциями

Предупреждение при запуске касается allow-правил вида Bash(git * main): звёздочка перед подкомандой покрывает и опции, которые могут быть вставлены до неё. Заодно проверки разрешений Bash приведены к тому, что команды с висящим оператором && или || признаются некорректными и всегда требуют подтверждения.

Автоматический режим получил отдельную вкладку в /permissions, где правила классификатора можно просматривать и править. Сессии с --strict-mcp-config перестали запрашивать одобрение серверов из .mcp.json, которые они всё равно не загрузили бы: из-за этого фоновые сессии зависали на старте. У MCP-инструментов с признаком requiresUserInteraction из запроса разрешений убрали вариант «Yes, and don't ask again», который записывал правило, игнорируемое самим инструментом.

Ключ стороннего шлюза перестал уходить вместе с телеметрией в Anthropic

Запросы телеметрии и метрик к Anthropic отправлялись с API-ключом, который настроен для стороннего шлюза через ANTHROPIC_BASE_URL. Учётные данные теперь передаются только тому хосту, которому предназначены. Отдельно исправлена видимая ошибка API на первом промпте после простоя, когда apiKeyHelper возвращает короткоживущие JWT: просроченный токен из кеша обновляется до отправки, а ошибки 401 и 403 повторяются без сообщения.

Сторонние Anthropic-совместимые эндпойнты дали ещё два бага: интерфейс падал с ошибкой рендеринга на первом вызове инструмента, если сервер стримил блок tool_use без id, а возобновлённые сессии получали 400 на каждом ходу, когда в сохранённой истории оказывались блоки инструментов, которые API Anthropic не принимает. Аргументы MCP-инструментов при пустой схеме параметров ({}) уходили как JSON-строки вместо настоящего типа.

Неинтерактивные сессии (-p, SDK, облачные) теперь сами продолжают ответ, оборванный посреди стрима ошибкой сервера, потерей связи или зависанием, вместо завершения с ошибкой. Вызовы MCP-инструментов, прерванные входящим сообщением в headless- и удалённых сессиях, сообщаются модели явной ошибкой прерывания вместо «completed with no output».

Отказ фоновых сессий через 45 секунд и дубли в кеше плагинов устранены

Фоновые сессии не открывались через 45 секунд, если стартовый каталог Claude Code был удалён, машина уходила в сон или хост медленно запускает процессы. Второй сценарий отказа, «Couldn't start the background service … EACCES», возникал, когда другой процесс Claude Code в этот момент переустанавливал npm-пакет. Чистка по сроку хранения удаляла git-воркдеревья под .claude/worktrees/, созданные самим пользователем, если на них ссылалась устаревшая запись фоновой сессии.

В плагинах устранены дублирующиеся каталоги с именами SHA в кеше, удвоенный префикс в меню команд (/plugin:plugin:skill), отказ установки при plugin.json с BOM, нулевое число навыков в отчёте /reload-plugins для схемы skills/*/SKILL.md и буквальный ${CLAUDE_PLUGIN_ROOT} в тексте ошибок хуков вместо реального пути.

В полноэкранном режиме исправлены пустой транскрипт после изменения размера терминала, рваная прокрутка при положении на раннем сообщении и застревание перехода вниз; в нём же и в Ctrl+O каждая отрисованная строка сообщения перестала хранить полную копию общих справочников инструментов, из-за чего память росла с длиной сессии.

Что меняют /cd и /goal

После /cd настройки проекта нового каталога, хуки, серверы .mcp.json (с обычным запросом одобрения), навыки и агенты вступают в силу сразу после перехода, а не при следующем --resume. Команды claude install и claude update откладывают запрос согласия на управляемые настройки до следующей интерактивной сессии.

В /goal простаивающая сессия начинает не более трёх проверок хода долгой фоновой работы на одну цель, следующее сообщение открывает ещё три. Запуск /code-review Claude может инициировать сам на Bedrock, Vertex AI и Foundry, через шлюз приложений Claude и при отключённой телеметрии.

Комментарии

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

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

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

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