Claude Code · версия 2.1.288
Claude Code 2.1.288: что нового
Claude Code 2.1.288: $.ui.selection() для модов, восстановление промпта после Ctrl+C, --max-findings в /code-review и множество исправлений возобновления сессий, плагинов и авто…
Новое 7
- Добавлен
$.ui.selection()для модов: возвращает текст, который вы выделили последним в полноэкранном режиме, а если выделение лежит в одной строке транскрипта, то и эту строку - Добавлен встроенный
gh apiдля облачных сессий, в образе которых нет GitHub CLI; также исправлена отправка в терминал управляющих символов из имён файлов, фильтров jq и ошибок GitHub - Добавлено восстановление промпта, очищенного через Ctrl+C: нажмите Up на пустом промпте, и черновик вернётся, включая вставленный текст и изображения
- Добавлен запрос на повторную аутентификацию, когда MCP-сервер во время вызова инструмента запрашивает дополнительный OAuth-скоуп
- Добавлен флаг
--max-findings <n>|allдля /code-review, чтобы выводить больше или меньше замечаний, чем обычный лимит; выбранное значение запоминается, пока вы не передадите--max-findings default - Добавлены Ctrl+F для поиска сессии по имени и Alt+↑/↓ для перехода между группами в представлении агентов; оба сочетания, как и переименование, можно переназначить в keybindings.json
- Добавлено объявление нового режима разрешений в режиме скринридера при одобрении плана, в том числе через Shift+Tab
Улучшено 16
- Улучшен авторежим: если разговор становится слишком длинным для проверки клиентским классификатором безопасности, он теперь сжимается, а не запрашивает подтверждение или не завершается ошибкой на каждом вызове инструмента
- Улучшен режим скринридера: короткие объявления, например об удалённом слове, теперь остаются на экране до следующего нажатия клавиши или до изменения чего-либо над ними
- Улучшен режим скринридера: в диалогах с вопросами у отвеченных вопросов рядом с рамкой теперь выводится «answered»
- Улучшено сообщение
/usage-creditsдля участников Team и Enterprise, чья организация отключила запросы на кредиты использования - Улучшены облачные сессии: первый ход нового разговора больше не ждёт stdio MCP-сервер, в конфигурации которого указано
alwaysLoad: false - Улучшены заметки «You should know»: теперь в них говорится «мы», «основной агент» или «вы» в зависимости от того, кто принял решение
- Улучшена ошибка при отклонённой записи в базу данных артефакта из-за достижения лимита размера: теперь в ней указан лимит и то, что освобождает место
- Улучшены запросы разрешений для Bash: если часть команды нельзя проверить до запуска, причина теперь формулируется короче
- Self-hosted runner: улучшен встроенный
gh api: отклонённая команда gh теперь выводит свой эквивалент черезgh api,--paginateпроходит по всем страницам списков репозитория, а вложенныйclaudeбольше его не удаляет - Улучшено восстановление Remote Control после истечения серверных учётных данных: сессии остаются подключёнными во время обновления и сохраняются, если попытки прекращены после сбоя сервера
- Изменено: ограничение времени фоновых команд теперь действует только в неинтерактивных сессиях (
-p, Agent SDK, CI, облако); в сессиях терминала, десктопного приложения и VS Code ограничения нет - Изменено: клиентский классификатор авторежима теперь игнорирует закрепление
ANTHROPIC_DEFAULT_SONNET_MODEL, указывающее на Claude Sonnet 5.5 или Opus 5.5, и использует Claude Sonnet 5 - Изменено:
claude project purgeпереименована вclaude purge; старое имя продолжает работать и выводит уведомление - Изменено: в представлении агентов фильтр
n:(и поиск по Ctrl+F) теперь по Enter открывает сессию с наилучшим совпадением имени, а не верхнюю строку - Изменено:
/autocompactтеперь сохраняет окно автосжатия отдельно для каждой модели, поэтому при переключении у каждой модели остаётся своя настройка - Изменено: для URL-запросов MCP от серверов, которые не могут сообщить о завершении, вызов инструмента теперь продолжается только после «I'm done, continue», так что можно сначала закончить действия в браузере
Исправлено 58
- Исправлено: таймауты API посреди ответа приводили к сбою хода. Теперь неинтерактивные сессии и субагенты продолжают с частичного ответа, а ответы, содержащие только thinking, повторяются
- Исправлено: длинные диалоги падали с ошибкой «Prompt is too long» вместо автоматического сжатия контекста, если в последнем ответе было указано нулевое использование токенов
- Исправлено:
--resumeиногда терял файлы и другой контекст, которые только что восстановило сжатие контекста - Исправлено: возобновлённая сессия иногда не сохраняла последний ответ хода, из-за чего при следующем
--resumeпромпт выглядел неотвеченным - Исправлено: при возобновлении иногда загружался обрезанный транскрипт, если во время загрузки та же сессия перезаписывала файл
- Исправлено: при возобновлении диалога, начатого на версии 2.1.286 или старше, терялись предыдущие размышления модели
- Исправлено: заголовки сессий, вспоминание памяти и хуки промптов не работали на Mantle и за шлюзами, отклоняющими структурированные выводы; добавлена переменная
CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTSдля отключения структурированных выводов - Исправлено: отказы в авто-режиме направляли Claude к правилу разрешений для Bash, даже когда заблокированный инструмент не был Bash
- Исправлено: авто-режим на Bedrock и Mantle до конца сессии переключался на локальный классификатор после запроса к более старой модели, например сводки WebFetch или субагента
sonnet - Исправлено: облачные сессии, перезапущенные на новой выбранной модели, отвечали этой моделью после того, как сервер её отклонил
- Исправлено: облачные сессии Cowork оставались в состоянии ожидания ввода, если запрос разрешения WebFetch для неодобренного URL пять минут оставался без ответа
- Исправлено: подсказки промптов не появлялись на телефоне, подключившемся к облачной сессии Cowork, начатой на другом устройстве
- Исправлено: кнопка мода иногда выполняла действие другой кнопки при нажатии в представлении, отрисованном до перезапуска Claude Code
- Исправлено: панель плагина ничего не показывала, если один элемент
Codeсодержал diff, который не удаётся разобрать; теперь он отображается как обычный код - Исправлено: LSP-серверы плагинов получали в
initializationOptionsиsettingsбуквальные плейсхолдеры${user_config.*}и${CLAUDE_PLUGIN_ROOT}вместо подставленных значений или значений по умолчанию из манифеста - Исправлено: хук
tool.callплагина ломал Bash, а поиск файлов читал не ту папку в субагентах, работающих в worktree - Исправлено: установка плагинов
git-subdirпадала или кэшировала неполный плагин на старых версиях git (до 2.39, например 2.34 в Ubuntu 22.04) - Исправлено: у плагинов, загруженных через
--plugin-dir, в/pluginне отображалась опция «Configure options» - Исправлено: фоновые сессии завершались, когда плагин перезагружали или отключали, пока у него ещё выполнялись таймер или чтение
- Исправлено: heredoc в песочнице с неквотированным разделителем (
python3 <<EOF) запрашивал одобрение при каждом запуске в авто-разрешении песочницы, хотя тело содержало только простой текст и простые ссылки$VAR - Исправлено: проверка разрешений инструмента Bash теперь запрашивает подтверждение перед присваиванием
BASHPID, значение которого оболочка вычислит как арифметическое выражение, а не пропускает его молча - Исправлено: полноэкранные сессии завершались с «unrecoverable interface error» при открытии диалога фоновых задач, когда плагин или мод показывал строки над промптом
- Исправлено: Claude сообщал о доставке сообщения другой сессии, хотя та его удерживала; теперь уведомление говорит, что сообщение не доставлено, и называет сессию, а в SDK-сессиях Claude может узнать об этом посреди хода
- Исправлено: спаны OpenTelemetry
claude_code.tool.blocked_on_userпоказывали источник или решениеunknownв сессиях-pи SDK, а также при одобрении через хук PreToolUse - Исправлено: запросы разрешений, оставшиеся без ответа в
-pили при прерванном ходе, не создавали событиеtool_decision - Исправлено: Edit и Retry в облачных сессиях Cowork отказывались работать с сообщением, отправленным до
/compact, хотя его история была сохранена - Исправлено: автономные сессии (
CLAUDE_CODE_RETRY_WATCHDOG) повторяли попытки часами после сбоя потока очень длинного ответа; теперь Claude Code снова использует стриминг и сдаётся после трёх таймаутов - Исправлено:
/loginсообщал «Login successful», когда учётные данные не удавалось сохранить в защищённое хранилище; теперь показывается ошибка и предлагается повторить попытку, если новый вход не вступил в силу (anthropics/claude-code#73861) - Исправлено: Stop во время получения учётных данных Bedrock иногда переводил сессию на запасную модель вместо завершения запроса
- Исправлено: при пробуждении ноутбука открывался второй вход через браузер для
gcpAuthRefresh/awsAuthRefresh, пока другой процесс Claude Code уже выполнял вход - Исправлено в командах агентов: агент, определённый в плагине и запущенный по имени, теперь работает со своими промптом, tools, disallowedTools и effort, а не со значениями по умолчанию
- Исправлено: headless-сессии (
-p/ SDK) иногда игнорировали SIGTERM, когда супервизор вродеtimeoutили systemd отправлял вместе с ним SIGCONT - Исправлено: перезапущенные облачные сессии восстанавливали модель, которую отклоняет принудительный список моделей организации
- Исправлено: вызовы инструментов MCP иногда выполнялись дважды, если результат удалённого сервера превышал 16 МБ или его не удавалось разобрать
- Исправлено: субагенты во вкладке Code в Claude Desktop не получали ни одного инструмента от настроенного пользователем MCP-сервера с именем
memory - Исправлено: Claude in Chrome спрашивал разрешение перед каждым скриншотом и чтением страницы на разрешённом вами сайте, когда авторежим недоступен (например, при
disableAutoModeили на старой модели); ввод текста, навигация и JavaScript по-прежнему требуют подтверждения - Исправлено:
claude plugin installзавершался ошибкой для плагинов из GitHub на macOS и Linux, где нет SSH-ключа GitHub: теперь клонирование переключается на HTTPS и выводит уведомление - Исправлено: записи
sandbox.credentials.filesдля файлов конфигурации git не действовали при включённомpermissions.blockReadsOutsideWorkingDirectories - Исправлено: Claude не учитывал дизайн-системы вашей организации при создании слайдов или дизайна через инструмент Artifact на тарифах Team и Enterprise или на машинах с управляемыми настройками
- Исправлено: на Windows переставала работать клавиатура после того, как Claude Code перезапускал сам себя (первый вход в шлюз приложений Claude, настройка провайдера,
/tui) - Исправлено: зависание при запуске агента, в
tools:которого перечислено очень много записейAgent(...) - Исправлено: сессии на Claude 3 Opus и Claude 3 Sonnet падали на каждом ходу после того, как в разговор попадал целый PDF
- Исправлено: автообновление через npm сообщало об успехе, когда нативный бинарный файл для платформы не удавалось скачать и устанавливалась только заглушка
claude - Исправлено: очистка Remote Control архивировала сессию, которая всё ещё подключена или только что была заново подключена другим процессом Claude Code
- Исправлено: для маркетплейсов плагинов вида
owner/repoпри сбое и SSH, и HTTPS показывалась только ошибка второй попытки; теперь показываются обе ошибки, а транспорт, который пробовали первым, указан сверху - Исправлено:
.claude/rulesс привязкой к путям и вложенные файлы CLAUDE.md не загружались, когда Write или Edit создавали или изменяли файл в их области (раньше их загружал только Read) - Исправлено: опасная команда
rm(например, для/или домашнего каталога) внутри скриптаbash -cилиsh -cвыполнялась без запроса в режиме bypassPermissions или по разрешающему правилу для shell (anthropics/claude-code#96300) - Исправлено: вызовы инструмента LSP зависали навсегда, если языковой сервер использует динамическую регистрацию возможностей или перестаёт отвечать; теперь запросы завершаются по тайм-ауту через 60 с (настраивается через
requestTimeoutдля каждого сервера) - Исправлено: хуки уведомлений
idle_promptсрабатывали, пока фоновые агенты ещё работали (anthropics/claude-code#93672) - Исправлено: хуки PreToolUse и PermissionRequest пропускались, если не удавалось найти их соответствие или сериализовать входные данные инструмента в JSON; теперь такой вызов блокируется
- Исправлено: первый запрос в новом окружении или после смены модели использовал встроенный лимит вывода и окно автосжатия вместо серверных; теперь этот запрос может ждать до 1,5 секунды
- Исправлено: подсказка «What should Claude do instead?» отображалась в строке Interrupted после отправки сообщений из очереди по ctrl+enter
- Исправлено:
/loginв сессии с--bareвыполнял вход, который сессия никогда не использует, и мог заменить сохранённый логин; теперь выводится, какие учётные данные работают - Исправлено: хук InstructionsLoaded не передавал agent_id и agent_type, когда доступ субагента к файлу загружал правило или вложенный CLAUDE.md; правила и вложенные CLAUDE.md, загруженные при доступе к файлам, теперь также сообщают effort
- Исправлено: инструмент Agent в
claude mcp serveвсегда сообщал об отсутствии доступных агентов и отклонял любой subagent_type - Исправлено: курсор терминала не следовал за вводимым текстом в поиске полноэкранного просмотра транскрипта и в поиске своих цветов в
/theme - Исправлено:
/permissionsв режиме скринридера: ввод номера правила теперь выбирает его, а не открывает поле поиска - Исправлено:
claude plugin testсообщал, что моды отключены удалённо, хотя на самом деле просто прочитал устаревшую сохранённую настройку
Другое 8
- [VSCode] Исправлено: коннектор claude.ai оставался в статусе «Needs authentication» после авторизации. Теперь в диалоге MCP-серверов есть кнопка Check connection
- [VSCode] Исправлено: опциональное сочетание клавиш New Conversation (Cmd/Ctrl+N) запускало новую беседу во всех видимых панелях Claude, а не только в той, где вы находитесь
- [VSCode] Исправлено: после архивации сессии, показанной в окне чата, оно открывало следующую сохранённую сессию. Теперь вместо этого начинается новая беседа
- [Cloud sessions] Исправлено: переключатель Cloud sessions в админских настройках Claude Code оставался заблокированным в выключенном положении, пока загружалась (или не загрузилась) несвязанная настройка безопасности
- [Cloud sessions] Исправлено: нажатие Stop во время запуска self-hosted раннера не отменяло сообщение в очереди, и оно могло выполниться, когда раннер уже стартовал
- [Claude Tag] Исправлено: в админских настройках Claude Tag для каналов с автоматически созданными настройками предлагалась опция «Remove this scope», которая всегда завершалась ошибкой
- [Claude Tag] Улучшено: Claude теперь следит и за связанным тредом Slack в другом канале, который он только прочитал, так что обновления оттуда доходят до зависящей от них беседы
- [Claude Tag] Улучшены сообщения об ошибках сохранения на странице Configure канала: при слишком длинных инструкциях канала предлагается сократить их, а при отказе из-за потери доступа больше не советуют повторить попытку
Перевод официального CHANGELOG.md Claude Code. Перевод автоматический, при расхождениях приоритет у оригинала на английском.