Клодыч В Telegram ↗

Claude Code · версия 2.1.98

Claude Code 2.1.98: что нового

Claude Code 2.1.98: мастер настройки Vertex AI, инструмент Monitor, песочница подпроцессов на Linux и множество исправлений безопасности и разрешений Bash.

Релиз Новое: 7Улучшено: 10Исправлено: 37Другое: 3

Новое 7

  • Добавлен интерактивный мастер настройки Google Vertex AI. Он доступен на экране входа при выборе «3rd-party platform» и проводит через аутентификацию в GCP, настройку проекта и региона, проверку учётных данных и закрепление модели
  • Добавлена переменная окружения CLAUDE_CODE_PERFORCE_MODE: если она задана, Edit/Write/NotebookEdit не перезаписывают файлы только для чтения молча, а завершаются ошибкой с подсказкой p4 edit
  • Добавлен инструмент Monitor для потоковой передачи событий из фоновых скриптов
  • Добавлена песочница для подпроцессов с изоляцией PID namespace на Linux, если задана CLAUDE_CODE_SUBPROCESS_ENV_SCRUB, а также переменная окружения CLAUDE_CODE_SCRIPT_CAPS для ограничения числа запусков скриптов за сессию
  • Добавлен флаг --exclude-dynamic-system-prompt-sections для режима print, улучшающий кеширование промптов между пользователями
  • Добавлено поле workspace.git_worktree во входной JSON строки состояния; оно устанавливается, когда текущий каталог находится внутри связанного git worktree
  • Добавлена переменная окружения W3C TRACEPARENT для подпроцессов инструмента Bash при включённой трассировке OTEL, чтобы спаны дочерних процессов корректно привязывались к дереву трассировки Claude Code

Улучшено 10

  • Улучшены подсказки в фильтре /resume: в индикатор фильтра добавлены названия проекта, worktree и ветки
  • Улучшены индикаторы в футере (Focus, уведомления): на узких терминалах они остаются в строке индикатора режима и больше не переносятся
  • Улучшена команда /agents: добавлен интерфейс с вкладками. На вкладке Running отображаются работающие субагенты, а на вкладке Library появились действия Run agent и View running instance
  • Улучшена команда /reload-plugins: скиллы из плагинов подхватываются без перезапуска
  • Улучшен режим Accept Edits: команды файловой системы с префиксом из безопасных переменных окружения или обёрток процессов теперь одобряются автоматически
  • Улучшен режим Vim: в режиме NORMAL клавиши j/k листают историю и выбирают pill в футере на границе поля ввода
  • Улучшены ошибки хуков в транскрипте: теперь они включают первую строку stderr, чтобы можно было разобраться без --debug
  • Улучшена трассировка OTEL: спаны взаимодействий теперь корректно охватывают целые ходы при параллельных вызовах SDK, а в headless-режиме спаны завершаются по каждому ходу
  • Улучшены записи транскрипта: в них теперь указывается итоговое использование токенов вместо промежуточных значений потоковой передачи
  • Обновлён скилл /claude-api: теперь он охватывает Managed Agents наряду с Claude API

Исправлено 37

  • Исправлен обход разрешений инструмента Bash: флаг с экранированием обратным слешем мог быть автоматически разрешён как «только чтение» и привести к выполнению произвольного кода
  • Исправлено: составные команды Bash обходили принудительные запросы разрешения для проверок безопасности и явных правил ask в режимах auto и bypass-permissions
  • Исправлено: команды только для чтения с префиксами переменных окружения не запрашивали разрешение, если переменная не входила в список заведомо безопасных (LANG, TZ, NO_COLOR и т. д.)
  • Исправлено: перенаправления в /dev/tcp/... и /dev/udp/... разрешались автоматически вместо запроса разрешения
  • Исправлено: зависшие потоковые ответы завершались по таймауту, а не переключались на режим без стриминга
  • Исправлено: при 429 и небольшом Retry-After от сервера все попытки повтора расходовались примерно за 13 с. Теперь экспоненциальная задержка применяется как минимальная
  • Исправлено: переопределение oauth.authServerMetadataUrl в конфигурации MCP OAuth не учитывалось при обновлении токена после перезапуска, что затрагивало ADFS и похожие IdP
  • Исправлено: заглавные буквы превращались в строчные в xterm и встроенном терминале VS Code при активном протоколе клавиатуры kitty
  • Исправлено: текстовые замены в macOS удаляли слово-триггер вместо вставки подстановки
  • Исправлено: --dangerously-skip-permissions молча понижался до режима accept-edits после одобрения записи в защищённый путь через Bash
  • Исправлено: разрешающие правила managed-settings оставались активными после их удаления администратором вплоть до перезапуска процесса
  • Исправлено: изменения permissions.additionalDirectories не применялись в середине сессии. Теперь удалённые каталоги сразу теряют доступ, а добавленные работают без перезапуска
  • Исправлено: удаление каталога из additionalDirectories отзывало доступ к тому же каталогу, переданному через --add-dir
  • Исправлено: правила разрешений с подстановками Bash(cmd:*) и Bash(git commit *) не срабатывали на командах с лишними пробелами или табуляциями
  • Исправлено: запрещающие правила Bash(...) понижались до запроса разрешения для конвейеров, где cd сочетался с другими сегментами
  • Исправлено: ложные запросы разрешений Bash для cut -d /, paste -d /, column -s /, awk '{print $1}' file и имён файлов с символом %
  • Исправлено: правила разрешений с именами, совпадающими со свойствами прототипа JavaScript (например, toString), приводили к тому, что settings.json молча игнорировался
  • Исправлено: участники команды агентов не наследовали режим разрешений лидера при использовании --dangerously-skip-permissions
  • Исправлено падение в полноэкранном режиме при наведении курсора на результаты инструментов MCP
  • Исправлено: при копировании перенесённых URL в полноэкранном режиме в местах переноса строк вставлялись пробелы
  • Исправлено: диффы редактирования файлов пропадали из интерфейса при --resume, если редактируемый файл был больше 10 КБ
  • Исправлено несколько проблем выбора сессии в /resume: --resume <name> открывался без возможности редактирования, перезагрузка фильтра сбрасывала состояние поиска, пустой список перехватывал нажатия стрелок, данные устаревали между проектами, а временный текст статуса задачи заменял сводки разговоров
  • Исправлено: /export не учитывал абсолютные пути и ~ и молча заменял указанное пользователем расширение на .txt
  • Исправлено: /effort max отклонялся для неизвестных или будущих идентификаторов моделей
  • Исправлено: выбор слеш-команд ломался, если name во frontmatter плагина совпадало с булевым ключевым словом YAML
  • Исправлено: текст с предложением повысить тариф при лимите запросов скрывался после перемонтирования сообщений
  • Исправлено: инструменты MCP с _meta["anthropic/maxResultSizeChars"] не обходили слой сохранения, основанный на токенах
  • Исправлено: в голосовом режиме при повторном удержании клавиши push-to-talk, пока обрабатывалась предыдущая расшифровка, в поле ввода попадали десятки пробелов
  • Исправлено: DISABLE_AUTOUPDATER не полностью отключал проверку версии в реестре npm и изменение симлинка при установке через npm
  • Исправлена утечка памяти: записи обработчика разрешений Remote Control хранились в течение всей сессии
  • Исправлено: фоновые субагенты, завершившиеся с ошибкой, не сообщали родительскому агенту о частичном прогрессе
  • Исправлено: хуки Stop/SubagentStop типа prompt падали в длинных сессиях, а ошибки API при вычислении хука показывали «JSON validation failed» вместо реального сообщения
  • Исправлено: отрисовка опроса об обратной связи после его закрытия
  • Исправлено: Bash-команды grep -f FILE / rg -f FILE не запрашивали разрешение при чтении файла с шаблонами за пределами рабочей директории
  • Исправлено: при очистке устаревших worktree субагентов удалялись worktree, содержащие неотслеживаемые файлы
  • Исправлено: sandbox.network.allowMachLookup не действовал на macOS
  • Исправлено: CLAUDE_CODE_MAX_CONTEXT_TOKENS теперь учитывает DISABLE_COMPACT, если эта переменная задана

Другое 3

  • LSP: Claude Code теперь представляется языковым серверам через clientInfo в запросе initialize
  • [VSCode] Исправлено ложное срабатывание ошибки «requires git-bash» в Windows, когда задана CLAUDE_CODE_GIT_BASH_PATH или Git установлен в стандартное расположение
  • Убраны подсказки про /compact, если задана DISABLE_COMPACT
Следить за обновлениями через RSS

Перевод официального CHANGELOG.md Claude Code. Перевод автоматический, при расхождениях приоритет у оригинала на английском.

Получить API-ключ →