Клодыч В Telegram ↗

Claude Code · версия 2.1.208

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

Claude Code 2.1.208: режим для скринридеров, vimInsertModeRemaps, множество исправлений утечек памяти и производительности, стабильность фоновых сессий.

Релиз Новое: 4Улучшено: 6Исправлено: 28Другое: 8

Новое 4

  • Добавлен режим для скринридеров: опциональный простой текстовый рендеринг. Запустите claude --ax-screen-reader, задайте CLAUDE_AX_SCREEN_READER=1 или добавьте "axScreenReader": true в настройки.
  • Добавлена настройка vimInsertModeRemaps: позволяет в vim-режиме назначать двухклавишные последовательности в режиме вставки, например jj, на Escape
  • Добавлена переменная CLAUDE_CODE_PROCESS_WRAPPER: agent view и фоновая служба теперь учитывают корпоративный лаунчер и запускают каждый самозапуск Claude Code через обязательный исполняемый файл-обёртку
  • Добавлена поддержка кликов мышью в меню с множественным выбором и в строках ввода «Other» в полноэкранном режиме

Улучшено 6

  • Изменён запрос согласия на использование кредитов Fable 5: теперь фокус по умолчанию стоит на варианте отказа
  • Улучшена отзывчивость ввода при обновлении списков задач агентов — обновления задач больше не перерисовывают весь интерфейс
  • Снижены затраты CPU на каждый вызов инструмента в print/SDK-сессиях с множеством инструментов MCP за счёт кэширования сборки пула инструментов (до 7 раз быстрее раунды инструментов при большом их числе)
  • Снижено потребление памяти: кэш чтения для правки файлов ограничен 16 МБ вместо закрепления до 1000 файлов целиком
  • Уменьшен размер транскрипта сессии (до 79 раз в сессиях с большим числом правок) и ограничено использование диска чекпоинтами за счёт удаления устаревших резервных копий истории файлов
  • Снижено потребление памяти при возобновлении сессий с фоновыми агентами или форками, созданными из больших разговоров

Исправлено 28

  • Исправлено: быстрый режим оставался выключенным после возврата к модели, которая его поддерживает. Теперь он автоматически восстанавливается, если включён в настройках
  • Исправлено: ответы, набранные для фонового агента, терялись при сбое доставки. Теперь текст сохраняется и доставляется при перезапуске сессии
  • Исправлено: подключение к фоновой сессии навсегда завершалось ошибкой («Couldn't start the background daemon») после обновления, заменившего бинарник, из которого был запущен работающий процесс claude agents
  • Исправлено: после автообновления CLI контекстное окно (и индикатор автосжатия) ненадолго сбрасывалось до 200k, из-за чего при возобновлении сессий с длинным контекстом ложно показывалось «100% context used»
  • Исправлено: сессии под супервизором и фоновые сессии падали, когда сервер закрывал HTTP/2-соединение через GOAWAY во время выполнения запросов
  • Исправлено: обрезанный вывод stream-json/JSON и отсутствие итогового сообщения при передаче больших ответов из claude -p по конвейеру
  • Исправлено: CLAUDE_CODE_MAX_OUTPUT_TOKENS и подобные переменные окружения молча использовали мантиссу значений в научной нотации (1e6 превращалось в 1)
  • Исправлено: очень большие markdown-таблицы подвешивали рендеринг или потребляли чрезмерно много памяти; для таблиц длиннее 200 строк показываются первые 200 и уведомление «… N more rows»
  • Исправлено: инструмент Edit завершался ошибкой на файлах, изменённых после чтения, даже если искомый текст по-прежнему однозначно совпадает
  • Исправлено: Read сообщал о пустых файлах как «shorter than offset», Grep молча возвращал «No files found» при некорректных регулярных выражениях, режим подсчёта Grep занижал итоги при постраничном выводе, а Glob падал с невнятной ошибкой, если шаблон, путь или рабочая директория содержали нулевой байт
  • Исправлено: ошибки скрипта apiKeyHelper скрывались за общим 401 после примерно 10 тихих повторов; теперь собственная ошибка скрипта показывается в течение 3 попыток
  • Исправлено: потоковые запросы к Bedrock завершались вводящей в заблуждение ошибкой «Truncated event message received», если шлюз преобразовывал ответ. Теперь в ошибке указывается content-type и прокси как возможная причина
  • Исправлено: /upgrade показывала процесс входа вместо URL для обновления, если не удавалось открыть браузер
  • Исправлено: ввод stream-json завершал сессию при пустых строках с CRLF или строках из одних пробелов от SDK-хостов в стиле Windows
  • Исправлено: headless-сессии stream-json зависали навсегда, если control_request содержал нестроковое значение set_model; теперь CLI отвечает ошибкой
  • Исправлено: при возобновлении сессии многократно появлялись уведомления «No completion record was found»; теперь осиротевшие фоновые задачи сворачиваются в одну сводку
  • Исправлено: клиенты Remote Control, подключённые к сессии, запущенной в терминале, не видели фоновых агентов и ход выполнения воркфлоу, пока задача не запускалась или не останавливалась
  • Исправлено: инструмент Agent запускался вообще без инструментов, если список tools субагента ничего не находил; теперь возвращается понятная ошибка с перечнем нераспознанных записей
  • Исправлено: /usage показывала устаревшие кэшированные полосы поверх более свежих данных, а /mcp не переклассифицировала серверы-заглушки после правок конфигурации
  • Исправлено: «Change directory» в SDK-хостах (например, Claude Desktop) завершалась ошибкой «A turn is in progress» в простаивающих сессиях с запущенной фоновой задачей
  • Исправлено: диалог сохранения воркфлоу показывал ~/.claude/workflows/ вместо пути из CLAUDE_CONFIG_DIR при сохранении на уровне пользователя
  • Исправлено: /release-notes добавляла просмотренные заметки в контекст модели — раньше «Show all» вставляла весь changelog в каждый последующий запрос
  • Исправлено: утечка памяти в agent view — вставленные изображения оставались в памяти на всё время жизни экрана после отправки ответов в peek
  • Исправлено: SDK-сессии теряли агентов, заданных через запрос initialize, если обновление плагинов выполнялось до подключения клиента
  • Исправлено несколько утечек памяти в долгих сессиях: stderr stdio-серверов MCP накапливался до 64 МБ на сервер, документы LSP оставались открытыми бесконечно (теперь LRU с лимитом 50 документов), вывод асинхронных хуков сохранялся после перехода в фон, а в headless/SDK-сессиях безгранично росла память из-за больших результатов инструментов
  • Исправлен резкий рост потребления памяти при чтении файлов со сверхдлинными строками через offset/limit — теперь вместо загрузки всей строки возвращается понятная ошибка
  • Исправлены замедления на несколько секунд на каждом ходу в сессиях с большим числом правил разрешений deny/ask — обработчики правил теперь компилируются один раз и кэшируются
  • Исправлено: аутентификация Bedrock падала с ошибкой «Session token not found or invalid» для профилей AWS SSO, у которых sso_region отличается от региона Bedrock (регрессия в 2.1.207)

Другое 8

  • Завершённые фоновые агенты теперь остаются в списке /tasks до очистки, а не пропадают сразу после завершения
  • При подключении к остановленному фоновому агенту его транскрипт теперь показывается сразу, пока сессия прогревается, вместо пустого экрана «Session is starting»
  • Фоновые сессии: более старый демон больше не перезапускает молча воркеры, созданные более новой версией, на старом бинарнике
  • Agent view: Ctrl+X now deletes renamed-branch worktrees, never destroys unpushed commits, keeps the session row when a worktree is kept, and reused worktree names reset to the current base
  • Опасные удаления (например, rm -rf ~) в командах с $(…), обратными кавычками или <(…) теперь требуют подтверждения в --dangerously-skip-permissions и в auto-режиме, как и в обычной форме
  • /install-github-app и меню настроек /mcp больше не открываются в фоновых сессиях
  • MCP-серверы с пустым URL теперь отображаются в /mcp как «не настроены», а не как ошибка конфигурации
  • /usage теперь показывает последние известные индикаторы использования с пометкой «по состоянию на», если эндпоинт статистики ограничен по частоте запросов, вместо экрана с ошибкой
Следить за обновлениями через RSS

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

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