Claude Code · версия 2.1.208
Claude Code 2.1.208: что нового
Claude Code 2.1.208: режим для скринридеров, vimInsertModeRemaps, множество исправлений утечек памяти и производительности, стабильность фоновых сессий.
Новое 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теперь показывает последние известные индикаторы использования с пометкой «по состоянию на», если эндпоинт статистики ограничен по частоте запросов, вместо экрана с ошибкой
Перевод официального CHANGELOG.md Claude Code. Перевод автоматический, при расхождениях приоритет у оригинала на английском.