Claude Code · версия 2.1.295
Claude Code 2.1.295: что нового
Claude Code 2.1.295: onFailure: "block" для хуков, поддержка OSC 7501, новые возможности шлюза Claude apps и множество исправлений MCP, плагинов и фонового режима.
Новое 15
- Добавлен
onFailure: "block"для хуков типов command и HTTP: если хук не удалось запустить, он завершился по таймауту или с неожиданным кодом выхода, действие блокируется, а не пропускается - Добавлена поддержка Program Status Protocol (OSC 7501): терминалы, которые его реализуют, могут показывать, работает ли Claude Code, ждёт ли вас или уже закончил
- В выбор
/copyдобавлен цитируемый текст, так что черновик сообщения копируется без маркеров> - Добавлено предупреждение в
claude plugin install,enable,disableиmarketplace add, если файл настроек, в который они пишут, не загружается - Добавлена строка в stderr (когда это терминал), которая сообщает, чего ждёт запуск
claude -p, если он остаётся открытым после последнего хода - Добавлена поддержка
timeouts.upstream_ttfb_msдля облачных апстримов Bedrock, Vertex, Foundry и других в шлюзе Claude apps: заданное значение ограничивает время запуска потока, после чего выполняется переключение на резервный апстрим или возвращается 502 - Добавлено сообщение «Backgrounding cancelled», когда вы останавливаете ход, пока
←ждёт завершения текущего инструмента - Добавлен необязательный список
modelsдля каждого апстрима шлюза Claude apps: туда отправляются только перечисленные модели, в том числе при переключении на резервный апстрим; один*в записи работает как шаблон - Добавлена поддержка
forceLoginMethod: "gateway"иforceLoginGatewayUrlв пользовательских настройках на машинах без managed-настроек, чтобы/loginоткрывался на нужном шлюзе Claude apps - Добавлена подсказка в
claude plugin validate, если в README плагина нет строки установки: команда выводит строку для вставки и никогда не меняет код выхода, даже с--strict - Добавлен
upstream_request_idв событие аудитаinferenceшлюза Claude apps: ID запроса от Amazon Bedrock, Anthropic API или другого апстрима, полезный для обращений в поддержку - Добавлен
$.ui.notifyдля модов: показывает нативное уведомление через ваши настройки уведомлений и указывает, какой канал его отправил - Добавлена поддержка дочерних элементов у
Buttonв модах: строки иText, так что строка списка становится одним нажимаемым элементом с чипом или приглушённой подписью внутри - Добавлена переменная
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS, ограничивающая, как долго режим автоповторов без присмотра (CLAUDE_CODE_RETRY_WATCHDOG) пережидает ошибки 429 и 529 - Добавлен заголовок
request-idв успешные ответы инференса шлюза Claude apps, чтобыrequest_idв телеметрии Claude Code совпадал с журналом аудита шлюза
Улучшено 25
- Улучшен подсчёт токенов за шлюзом Claude apps на Amazon Bedrock, который используют
/contextи чтение больших файлов: шлюз теперь получает их через AWS CountTokens API вместо запроса к модели на один токен. Для этого выдайте правоbedrock:CountTokens - Улучшен шлюз Claude apps: пока база PostgreSQL доступна только для чтения, он каждые 30 секунд пишет предупреждение о том, что не работает и как это исправить
- Улучшен статус сессии, ожидающей разрешения, в Remote Control, claude.ai и десктопном приложении: MCP-инструмент теперь называется по серверу и читаемому имени, а не по идентификатору
mcp__server__tool - Улучшены фоновые запросы за шлюзом Claude apps: они используют Haiku 4.5 вместо модели сессии, а если шлюз не поддерживает Haiku 4.5, переключаются на модель сессии
- Улучшена обработка шлюзом Claude apps моделей, не указанных в
models:, в регионах Amazon Bedrock за пределами США. AWS всегда отклонял такие запросы; теперь шлюз пробует модель в вашем регионе, а при отказе в ошибке указано, какую модель добавить - Улучшены предупреждения о лимите использования
rate_limit_eventв headless-режиме: теперь они сообщают, включено ли у аккаунта дополнительное использование - Улучшен встроенный скилл
plugin-authoring: он больше не предлагает сессии без терминала запускать терминальные команды и рассказывает о распространении мода только по запросу - Улучшена обработка ввода Grep: поиск, отправленный с флагом grep
-l,-cили-r, теперь выполняется, а не завершает вызов ошибкой - Улучшены
claude plugin validateи загрузка плагинов: если модуль хуков отклонён из-за переопределённогоvarверхнего уровня, ошибка теперь указывает строку с переопределением, причину и способ исправления - Улучшен отказ инструмента Workflow для
scriptPath: теперь в нём сказано передавать скрипт напрямую черезscript— это работает в сессиях без инструмента Read - Улучшено сообщение для Claude, когда большой файл не удаётся загрузить без указания причины: теперь он сообщает об ошибке, а не уменьшает файл
- Изменено: описания MCP-инструментов, которые модель загружает через поиск инструментов, теперь обрезаются на 16 384 символах вместо 2 048
- Изменено: субагенты предзагружают не более 32 скиллов из поля
skills, каждый по одному разу; субагент с инструментом Skill всё равно может вызвать остальные - Изменено: Ctrl+C в пустом промпте подключённой фоновой сессии больше не трогает ожидающее пробуждение
/loop, поэтому двойное нажатие отключается от сессии, а цикл продолжает работать; чтобы остановить его, нажмите Esc - Изменено:
claude agents, остановленный вместе с фоновой службой (macOS или Linux без установленной службы): запущенные сессии теперь останавливаются примерно через минуту, если его не запустить снова, о чём выводится уведомление - Изменено: коннекторы claude.ai по умолчанию согласуют версию протокола MCP 2026-07-28 в установках, которые не получают флаги; отказаться можно через
MCP_PROTOCOL_NEGOTIATION=legacy - Изменено: страницы Artifact без собственного фона теперь отображаются на белом, а не на почти белом фоне
- Изменено: сообщение, которое видят Claude и вы, когда мод запрещает вызов инструмента уже после его выполнения: теперь в нём сказано, что инструмент выполнился, а плагин скрыл его результат
- Изменено: позиции табуляции теперь отсчитываются от начала текста, а не от левого края экрана: у ответа с отступом 2 первая позиция теперь на 8 ячейке вместо 6
- Изменено: при отключённой телеметрии запросы разрешений инструмента Artifact теперь содержат те же пять вопросов, что и в остальных установках, вместо запроса перед каждым чтением чужого артефакта и каждым изменением данных
- Изменено: запланированные запуски рутин и запуски через Run now в установках с отключённой телеметрией теперь публикуют новые приватные артефакты и обновляют ваши собственные без запроса, как и в остальных установках
- Изменено: уведомления (toasts) от модов вашей организации теперь показываются перед уведомлениями других модов, а не ждут за ними
- Изменено: шлюз приложений Claude теперь запускается с предупреждением и отдаёт ключ политики
desktop, которого нет в его встроенной схеме Claude Desktop, поэтому для новых настроек Desktop обновлять шлюз не нужно - Изменено для MCP-серверов по WebSocket (
ws): сообщение размером более 16 MiB больше не разбирается и закрывает соединение, как и в других транспортах, где такой лимит уже есть - Self-hosted runner: изменено поведение — раннер больше не передаёт
CCR_AUTO_MODE_ALLOW,CCR_AUTO_MODE_ENVIRONMENTиCCR_AUTO_MODE_SOFT_DENYв окружение сессии
Исправлено 87
- Исправлено: все запросы падали на модели с
[1m], когда шлюз, Bedrock, Vertex или Foundry отклоняли бета-флаг context-1m; теперь Claude Code повторяет запрос без него - Исправлено: текстовый вывод
claude -pтерял более ранние ответы, если фоновая работа запускала ещё один ход; теперь ответ каждого хода печатается по его завершении - Исправлено: удалённые MCP-серверы в headless- и SDK-сессиях оставались отключёнными после сбоя дольше 15 секунд или переподключались в плотном цикле к серверу, который обрывает каждое соединение сразу после подключения; повторные обрывы теперь обрабатываются с нарастающей задержкой до 30 секунд
- Исправлено: соединения с удалёнными MCP-серверами обрывались, если в ответе сервера с ошибкой случайно встречалось название сетевой ошибки
- Исправлено: MCP-серверы, повторяющие курсор пагинации, опрашивались по одной и той же странице до 20 раз при каждом подключении
- Исправлено: CSS-, JavaScript- и XML-файлы, возвращаемые MCP-инструментами, сохранялись как .bin, который инструмент Read отказывается читать; файлам шрифтов и иконок теперь тоже присваиваются собственные расширения
- Исправлено: вызовы инструмента Bash завершались ошибкой, когда модель передавала
command_descriptionвместоdescription - Исправлено: Claude in Chrome не применял правило запрета для сайта с портом 80 (
host:80) к обычным страницамhttp://на этом хосте - Исправлено: вкладка Errors в
/pluginпо Enter удаляла маркетплейс, который не удалось загрузить, вместе с его плагинами без предварительного подтверждения - Исправлено:
claude plugin marketplace addсообщал об успехе для маркетплейса, под именем которого нельзя установить ни один плагин; теперь такое добавление отклоняется - Исправлено:
CLAUDE_AUTO_BACKGROUND_TASKSпереводил субагента в фон, пока за ним ждала правка или shell-команда, из-за чего этот вызов запускался до завершения субагента - Исправлено: PushNotification сообщал, что пуш не отправлен, в сессиях
claude remote-controlсразу после сообщения с телефона, без переключателя в/configили при запуске изнутри Claude Code - Исправлено: файлы, отправленные из удалённых сессий, отклонялись как «could not be vouched for», когда их отправляли больше 256 за раз
- Исправлено: редкий сбой загрузки managed-настроек при запуске сразу после обновления логина
- Исправлено:
/tuiзавершался без сообщения или с необработанной системной ошибкой, если Claude Code не удавалось запустить снова - Исправлено: адрес ссылки, показанный текстом, скрывался стилем цвета или conceal, оставшимся включённым после ответа, в том числе при переносе в таблице или превью вопроса
- Исправлено: модели Fable из
availableModelsне появлялись в выборе/modelдля сессий, авторизованных в шлюзе Claude apps; теперь такая модель показывает встроенную строку вместо строкиmodelPicker, добавленной для той же модели - Исправлено: админский вид расходов шлюза Claude apps показывал старые группы и лимит группы разработчика после того, как его сессия перестала передавать группы
- Исправлено:
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICскрывал лимит расходов шлюза Claude apps в/usageи строке состояния. Запрос лимита расходов отправляется на шлюз, в который выполнен вход в сессии - Исправлено: субагентам в собственном связанном worktree показывались ветка git, статус и последние коммиты родительской сессии
- Исправлено: Claude останавливался в конце текущего инструмента, когда текст, введённый в промпт, отменял фоновый режим по
←; теперь Claude продолжает работать на переднем плане - Исправлено:
--toolsи--restrictedне применялись к встроенным инструментам, регистрируемым после запуска, а устаревшие названия инструментов попадали к инструментам вне набора вызывающего - Исправлено: прерывание не завершало ход до таймаута, пока Claude ждал список ресурсов MCP-сервера
- Исправлено: хук мода получал глубоко вложенный ввод инструмента, обрезанный без ошибки, из-за чего защитный хук мог пропустить содержимое, которого не видел
- Исправлено: Esc не останавливал самонастраиваемый
/loop, переведённый в фон по←; отмена ожидающего пробуждения теперь показывает уведомление - Исправлено: команды и хуки в фоновых сессиях наследовали
FORCE_COLOR=3, из-за чего в вывод, который читает Claude, попадали escape-коды цвета - Исправлено:
claude agentsзапускал новый фоновый сервис при выходе, если оба были остановлены при открытой сессии (например, при перезагрузке); это могло задерживать завершение работы и перезапускать прерванную сессию - Исправлено: кастомный агент с именем
workerотображался как «Agent» в уведомлениях об отказе в авто-режиме и в списках активности на экранах с деталями задач - Исправлено: проверка разрешений Bash для for-циклов по glob-шаблонам стала точнее
- Исправлено: форкнутые скиллы, вызванные из субагентов Workflow, доставляли результаты в основной диалог, а не вызвавшему их агенту
- Исправлено: in-process агенты-тиммейты завершали первый вызов SendMessage с ошибкой, пока не загружали инструмент через tool search
- Исправлено: при возобновлении сессии Claude сообщалось, что незавершённый фоновый воркфлоу мог быть остановлен через
TaskStop, хотя это никогда не может быть причиной - Исправлено: Claude не узнавал, что вы остановили долгий вызов MCP-инструмента из панели задач или через подключённый клиент
- Исправлено:
/loopфоновой сессии молча останавливался, если время следующего пробуждения наступало, пока процесс сессии был не запущен; теперь сессия сообщает об этом, и Claude тоже об этом уведомляется - Исправлено: «сырые» байты гиперссылок терминала в ответе или сообщении тиммейта отображались как кликабельная ссылка со скрытым адресом
- Исправлено: добавление или обновление маркетплейсов плагинов, в репозитории которых есть крупные git-сабмодули, завершалось ошибкой; теперь загружаются только сабмодули с файлами плагинов
- Исправлено: диалог
/advisorпоказывал галочку у сохранённой модели-советника, которая больше недоступна; теперь он открывается на «No advisor» - Исправлено: в уведомлении о вызове MCP-инструмента, перешедшем в фон, отображался сокращённый id задачи
- Исправлено:
~в vim-режиме уводил курсор за последний символ строки, из-за чего следующийxничего не делал, а3~заходил на следующую строку - Исправлено: после вставки текста с диакритикой, скопированного из macOS (например, имени файла), в середину промпта курсор оказывался на один символ правее нужного
- Исправлено: терминал зависал, а ctrl+c игнорировался, когда ответ состоял из десятков тысяч строк
- Исправлено: вызовы мода, выполняемые во время его перезагрузки при перезапуске воркера хуков плагина, обходили защитный хук другого мода с
.catch; теперь такие вызовы отклоняются - Исправлено: плагины, в модуле хуков которых код вложен на тысячи уровней, не загружались или не проходили валидацию с голым сообщением о переполнении стека
- Исправлено:
claude plugin testпропускал хукsession.append, который удаляет блоки вызовов инструментов, их результатов или размышлений, сохраняемые в реальной сессии - Исправлено: Claude не узнавал, что может возобновить фоновые субагенты через SendMessage, после того как сессию завершили и возобновили во второй раз
- Исправлено: файл считался уже прочитанным после Bash-команды вроде
cat, которая ничего не вывела - Исправлено: опции плагинов с именами
constructorилиprototypeвсегда читались как значение по умолчанию и не перезагружали плагин при изменении - Исправлено: горячая перезагрузка мода пропускала сохранение, сделанное во время чтения файлов мода при
/reload-pluginsили старте сессии - Исправлено: вопрос о горячей перезагрузке мода задавался заново на каждом ходу до конца сессии, если его подтверждали, не выбрав ответ
- Исправлено:
/model,/fastи/output-styleсохраняли настройку, не спрашивая хукconfig.setплагина - Исправлено: в выводе через pipe жирный текст отображался блеклым, если шёл сразу после тусклого
- Исправлено: ответы с цитатами, вложенность которых растёт каждые несколько строк, подвешивали терминал на секунды и съедали гигабайты памяти
- Исправлено: горячая перезагрузка мода пропускала сохранение, сделанное через несколько миллисекунд после предыдущей перезагрузки, и мод оставался на старой версии до следующего сохранения
- Исправлено: фоновые результаты Bash в
claude mcp serveне указывали файл вывода, а описание инструмента обещало уведомление, которое никогда не приходило - Исправлено: неизменный контекст асинхронного хука SessionStart повторно добавлялся в диалог при каждом возобновлении сессии
- Исправлено: переменные, записанные хуком SessionStart в
CLAUDE_ENV_FILE, не попадали в инструмент Bash после/resumeили/branchвнутри приложения - Исправлено:
allowed-toolsиeffortскилла терялись, если инструмент Skill завершался до окончания потока ответа, из-за чего в запусках-pBash-команды скилла отклонялись - Исправлено: подменённый кэш настроек, управляемых сервером, приводил к тому, что собственный плагин пользователя считался управляемым организацией на машинах, где управляемые настройки перечисляют или включают плагины
- Исправлено: сессиям Claude 3 Opus и Claude 3.x Sonnet предлагался tool search, который эти модели не поддерживают, когда feature-флаги недоступны
- Исправлено: сгенерированные файлы типов записывались в папку плагина из
--plugin-dirв сессиях-pи SDK; теперь они пишутся только там, где разрабатывается мод - Исправлено: текст с табуляциями или двунаправленными управляющими символами обрезался на краю экрана или рисовался поверх соседних строк
- Исправлено:
/modelсообщал, что выбор Max effort сохранён как значение по умолчанию для новых сессий, хотя Max действует только в текущей сессии - Исправлено: JSON-вывод асинхронного хука игнорировался, если он напечатан в несколько строк
- Исправлено: инструмент Read отклонял вызовы с пустым параметром
pagesвместо того, чтобы считать его не заданным - Исправлено: плагины уровня проекта не загружались в VS Code на Windows из-за регистра буквы диска (anthropics/claude-code#74612)
- Исправлено:
plugin installиuninstallв project- или local-области на Windows не находили запись об установке или создавали вторую, если регистр буквы диска отличался - Исправлено: сообщение из очереди терялось, если вернуть его в промпт через
↑илиEscсразу после←; теперь оно сохраняется в истории промптов - Исправлено: горячая перезагрузка модов отключалась на всю сессию, если SDK-хост закрывал вопрос о её включении до ответа; теперь вопрос задаётся до трёх раз
- Исправлено: промпт, который хук
prompt.submitмода переписал или отбросил, всё равно сохранялся в историю промптов и в записи очереди промптов транскрипта в исходном виде - Исправлено: неинтерактивные сессии сообщали о MCP-серверах, требующих аутентификации, даже когда запрос их не использует
- Исправлено: событие входа OpenTelemetry
claude_code.authне отправлялось при входе через шлюз Claude apps. Теперь событие экспортируется, если OpenTelemetry настроен на машине или сессия уже авторизована в шлюзе - Исправлено: плагин с очень большими интерфейсами приводил к выгрузке другого плагина при зависании воркера хуков плагинов
- Исправлено: Edit считал файл полностью прочитанным, если его содержимое изменилось, а время модификации не продвинулось
- Исправлено: короткий вывод команд с окончаниями строк Windows (CRLF) отображался в одной строке
- Исправлено: остановленная запланированная задача возвращалась при возобновлении после отката, а запланированная задача терялась при возобновлении после Esc или отката, следующих за сжатием контекста
- Исправлено: терминал зависал на секунды или минуты при подсветке синтаксиса кода с очень длинными строками, длинными сериями пустых строк или незакрытыми строками и heredoc
- Исправлено: временные файлы в
~/.claude/seed-admin, оставшиеся после прерванной загрузки/ultrareview, никогда не удалялись очисткой по сроку хранения - Исправлено: сессии Desktop и SDK отказывались переключаться обратно в авторежим до перезапуска после удаления
disableAutoModeиз настроек - Исправлено: хуки плагинов, синхронизированных с claude.ai, падали с ошибкой «Plugin directory does not exist» в долгих сессиях после того, как другая сессия синхронизировала обновление плагина
- Исправлено: промпт, отправленный после
/rewind, терялся, а удалённые ходы возвращались, если сессию переводили в фон или возобновляли после аварийного завершения - Исправлено: облачные сессии зависали, когда хук
session.receiveмода запрашивал разрешение перед передачей сообщения дальше - Исправлено: фоновые сессии macOS, перезапускающиеся вместе после обновления, иногда работали вне стабильной обёртки приложения, из-за чего могли снова появляться запросы на доступ к папкам
- Исправлено: поздно завершившийся вход или переподключение MCP в headless- и SDK-сессиях выдавал набор серверов, заданный через
setMcpServers(), за ваш собственный - Исправлено: смена канала автообновления в
/configсохранялась до того, как у хукаconfig.setплагина запрашивалось решение - macOS: исправлен подсчёт файлов при старте сессии, который мог затрагивать данные других приложений и вызывать запрос «доступ к данным других приложений», если сессия запускалась в домашней папке или выше
- Self-hosted runner: исправлено прерывание git fetch, пока git-сервер ещё сообщал о прогрессе на большом репозитории; ожидание можно настроить или отключить через
CLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MS - Исправлено: веб-поиск и проверки хуков
agentвыполнялись намного дольше при уровнях усилийxhighиmax
Другое 16
- [VSCode] Добавлена строка в чате для файлов, которые Claude отправляет вам: нажмите на имя файла, чтобы открыть его в редакторе; подпись Claude отображается под ним, а строка остаётся видимой в режиме Focus
- [VSCode] Исправлено: «Fork conversation from here» и восстановление разговора через Rewind завершались ошибкой «Message not found in session» после активности фонового агента или одной из собственных статусных строк панели
- [VSCode] Исправлено: Ctrl+Shift+Tab, Cmd+Shift+Tab и Alt+Shift+Tab в поле ввода чата дополнительно переключали режим разрешений, а Ctrl+Tab принимал предложенный промпт
- [VSCode] Исправлено: фокус клавиатуры «прыгал» между двумя одновременно видимыми представлениями Claude, из-за чего набранный текст мог попасть не в тот разговор
- [Облачные сессии] Исправлено: сообщение, отправленное сразу после разархивации облачной сессии, иногда оставалось без ответа, потому что для него не удавалось запустить контейнер
- [Облачные сессии] Исправлено: некоторые старые рутины начинали запуск, так и не передав Claude сохранённый промпт; теперь такие рутины снова выполняют свой промпт
- [Облачные сессии] Улучшена скорость, с которой облачная сессия догоняет состояние после обрыва соединения: пропущенная активность теперь появляется сразу целиком, а не строка за строкой
- [Облачные сессии] Улучшено поле скрипта настройки в форме облачного окружения: оно стало выше по умолчанию, растёт вместе со скриптом и меняет размер перетаскиванием
- [Claude Tag] Изменено: карточки подтверждения настроек, которые Claude публикует в канале Slack, теперь остаются активными 30 минут вместо 10
- [Claude Tag] Изменено: уведомление Claude о том, что канал, общий для рабочих пространств Enterprise Grid, использует настройки организации по умолчанию, теперь публикуется только при упоминании Claude и не чаще раза в месяц
- [Claude Tag] Исправлено: ссылки на каналы и @-упоминания в карточке «Continued from» форкнутого треда отображались как необработанные коды Slack
- [Claude Tag] Исправлено: статус Slack «Working» продолжал крутиться под тредом после того, как
@Claude !restartуже подтвердил перезапуск - [Claude Tag] Исправлено: @Claude от другого приложения или бота оставался без ответа в оживлённом канале, где Claude перестал читать сообщения без упоминания
- [Claude Tag] Добавлено подтверждение в настройках администратора Claude Tag перед тем, как добавление менеджера канала переведёт участника в Custom roles, что может лишить его другого доступа
- [Code Review] Исправлено: повторные ревью Code Review сообщали, что проблем не найдено, хотя прежние замечания оставались открытыми; теперь в комментарии указано, сколько их осталось
- [Code Review] Исправлено: Code Review по-прежнему пропускал правила из большого CLAUDE.md, когда pull request изменяет этот файл
Перевод официального CHANGELOG.md Claude Code. Перевод автоматический, при расхождениях приоритет у оригинала на английском.