Клодыч В Telegram ↗

Claude Code · версия 2.1.89

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

Claude Code 2.1.89: решение defer для хуков PreToolUse, хук PermissionDenied, рендеринг без мерцания и множество исправлений стабильности.

Релиз Новое: 5Улучшено: 8Исправлено: 30Другое: 9

Новое 5

  • Добавлено решение "defer" для разрешений в хуках PreToolUse: headless-сессии могут приостановиться на вызове инструмента и продолжиться через -p --resume, после чего хук оценит вызов заново
  • Добавлена переменная окружения CLAUDE_CODE_NO_FLICKER=1 для включения рендеринга в альтернативном экране без мерцания с виртуализированной прокруткой
  • Добавлен хук PermissionDenied, который срабатывает после отказов классификатора в авторежиме. Верните {retry: true}, чтобы сообщить модели, что можно повторить попытку
  • Именованные субагенты добавлены в подсказки при упоминании через @
  • Добавлена переменная MCP_CONNECTION_NONBLOCKING=true для режима -p: она полностью отключает ожидание подключения MCP. Кроме того, подключения серверов из --mcp-config теперь ограничены 5 секундами, а не ждут самый медленный сервер

Улучшено 8

  • Улучшена свёрнутая сводка инструментов: для ls/tree/du теперь показывается "Listed N directories" вместо "Read N files"
  • Улучшен инструмент Bash: он предупреждает, если команда форматтера или линтера изменяет ранее прочитанные файлы, что помогает избежать ошибок правки устаревшего содержимого
  • Улучшено ранжирование подсказок при упоминании через @: файлы исходного кода теперь выше ресурсов MCP с похожими названиями
  • Улучшен промпт инструмента PowerShell: добавлены рекомендации по синтаксису с учётом версии (5.1 и 7+)
  • Изменено: Edit теперь работает с файлами, которые просматривались через Bash с помощью sed -n или cat, без предварительного вызова Read
  • Изменено: вывод хука длиннее 10 000 символов теперь сохраняется на диск, а в контекст попадает путь к файлу и превью на 2 000 символов вместо прямой вставки всего вывода
  • Изменено: cleanupPeriodDays: 0 в settings.json теперь отклоняется с ошибкой валидации — раньше это молча отключало сохранение транскриптов
  • Изменено: сводки рассуждений (thinking summaries) больше не генерируются по умолчанию в интерактивных сессиях — чтобы вернуть их, установите showThinkingSummaries: true в settings.json

Исправлено 30

  • Исправлено: правила Edit(//path/) и Read(//path/) теперь проверяют реальную цель симлинка, а не только запрошенный путь
  • Исправлено: голосовой push-to-talk не активировался для некоторых комбинаций с модификаторами, а голосовой режим в Windows падал с ошибкой "WebSocket upgrade rejected with HTTP 101"
  • Исправлено: инструменты Edit/Write в Windows удваивали CRLF и удаляли жёсткие переносы строк Markdown (два пробела в конце строки)
  • Исправлена ошибка кеша схем StructuredOutput, из-за которой при использовании нескольких схем около 50% запросов завершались сбоем
  • Исправлена утечка памяти: большие JSON-входные данные оставались в ключах LRU-кеша в долгих сессиях
  • Исправлено падение при удалении сообщения из очень больших файлов сессий (более 50 МБ)
  • Исправлено: LSP-сервер после падения оставался в «зомби»-состоянии. Теперь он перезапускается при следующем запросе, а не отказывает до перезапуска сессии
  • Исправлено: записи истории промптов с CJK-символами или эмодзи молча терялись, если попадали на границу 4 КБ в ~/.claude/history.jsonl
  • Исправлено: /stats занижал число токенов, не учитывая субагентов, и терял исторические данные старше 30 дней при смене формата кеша статистики
  • Исправлено: зависания -p --resume, когда входные данные отложенного инструмента превышают 64 КБ или маркер отложенного вызова отсутствует, а также -p --continue, который не возобновлял отложенные инструменты
  • Исправлено: ссылки claude-cli:// не открывались на macOS
  • Исправлено: ошибки инструментов MCP обрезались до первого блока содержимого, если сервер возвращал ошибку из нескольких элементов
  • Исправлено: напоминания скиллов и другой системный контекст терялись при отправке сообщений с изображениями через SDK
  • Исправлено: хуки PreToolUse/PostToolUse теперь получают file_path как абсолютный путь для инструментов Write/Edit/Read, как и описано в документации
  • Исправлен бесконечный цикл автосжатия: теперь определяется, что контекст снова заполняется до лимита сразу после сжатия три раза подряд, и вместо лишних вызовов API выводится понятная ошибка
  • Исправлены промахи кеша промптов в долгих сессиях, вызванные изменением байтов схем инструментов посреди сессии
  • Исправлено: вложенные файлы CLAUDE.md повторно добавлялись в контекст десятки раз в долгих сессиях с чтением множества файлов
  • Исправлено падение --resume, когда в транскрипте есть результат инструмента от старой версии CLI или от прерванной записи
  • Исправлено вводящее в заблуждение сообщение "Rate limit reached" при ошибке прав доступа (entitlement) от API: теперь показывается реальная ошибка с полезными подсказками
  • Исправлено: фильтрация по условию if в хуках не срабатывала для составных команд (ls && git push) и команд с префиксами переменных окружения (FOO=bar git push)
  • Исправлено: свёрнутые значки групп поиска и чтения дублировались в истории прокрутки терминала при интенсивном параллельном использовании инструментов
  • Исправлено: invalidates в уведомлениях не сразу убирал текущее отображаемое уведомление
  • Исправлено: промпт ненадолго пропадал после отправки, если во время обработки приходили фоновые сообщения
  • Исправлено: текст на деванагари и с другими комбинируемыми знаками обрезался в ответах ассистента
  • Исправлены артефакты отрисовки в терминалах с основным экраном после сдвигов раскладки
  • Исправлено: голосовой режим не запрашивал доступ к микрофону на macOS с Apple Silicon
  • Исправлено: в Windows Terminal Preview 1.25 Shift+Enter отправлял сообщение вместо вставки новой строки
  • Исправлены периодические подёргивания интерфейса при потоковом выводе в iTerm2 внутри tmux
  • Исправлено: инструмент PowerShell ошибочно сообщал о сбое, когда команды вроде git push писали прогресс в stderr в Windows PowerShell 5.1
  • Исправлено возможное падение из-за нехватки памяти при использовании инструмента Edit на очень больших файлах (>1 ГиБ)

Другое 9

  • Авторежим: отклонённые команды теперь показывают уведомление и появляются на вкладке Recent в /permissions, где их можно повторить клавишей r
  • Задокументировано событие хука TaskCreated и его блокирующее поведение
  • Сохранены уведомления о задачах при переводе работающей команды в фон через Ctrl+B
  • Инструмент PowerShell в Windows: аргументы внешних команд, содержащие одновременно двойную кавычку и пробел, теперь запрашивают подтверждение вместо автоматического разрешения (усиление защиты от разбиения аргументов в PS 5.1)
  • /env теперь применяется и к командам инструмента PowerShell (раньше влиял только на Bash)
  • В /usage для тарифов Pro и Enterprise скрыта избыточная полоса «Current week (Sonnet only)»
  • При вставке изображения больше не добавляется пробел в конце
  • Вставка !command в пустой промпт теперь включает bash-режим, как и при наборе ! вручную
  • Добавлена команда /buddy к 1 апреля — вылупите маленькое существо, которое наблюдает, как вы пишете код
Следить за обновлениями через RSS

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

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