Claude Code v2.1.283: управление моделями, MCP и плагинами
Версия: v2.1.283
Крупное:
Добавлен заголовок x-claude-code-prompt-id в gateway hint headers, чтобы LLM-шлюзы могли группировать запросы одного пользовательского промпта; включается через CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
Добавлена управляемая настройка availableModelsMatch: при значении "exact" запись в availableModels разрешает только указанную версию модели, поэтому новые релизы остаются заблокированными до их добавления в список
Добавлена управляемая настройка deniedModels для блокировки конкретных моделей, даже если availableModels их разрешает
Вывод MCP-инструментов, WebFetch и WebSearch добавлен в событие span tool.output OpenTelemetry при OTEL_LOG_TOOL_CONTENT=1
Добавлена команда /doctor prompt-audit (также /checkup prompt-audit) для аудита файлов CLAUDE.md, skills, агентов и команд на паттерны промптинга, написанные для старых моделей
Добавлено разворачивание по клику для усечённых сообщений из других сессий в полноэкранном режиме
Добавлено поле path в записи об ошибках загрузки --plugin-dir в stream-json system/initplugin_errors, указывающее директорию, которая не загрузилась
Добавлен опциональный блок load_test_mode в конфигурацию шлюза Claude apps: запросы формируются и подписываются, но не отправляются наверх, а клиенты получают заготовленный ответ, что позволяет проводить нагрузочное тестирование развёртывания
Добавлен upstream-провайдер mantle в шлюз Claude apps для эндпоинта Mantle Amazon Bedrock
Улучшен список инструментов /mcp: показывает больше инструментов сразу, прокручивается клавишами страниц и мышью, помечает инструменты, заблокированные организацией, значком предупреждения
Улучшены результаты MCP-инструментов: изображения, возвращаемые MCP-инструментами, теперь также сохраняются в файл, чтобы Bash, Read и другие инструменты могли их открыть
Улучшен /tasks: строки показывают значок статуса, имя и все факты, заголовок и подсказки клавиш остаются на экране при большом числе задач, список получил клавиши постраничной навигации, колесо мыши и клики
Улучшены списки в /help, /hooks, /copy, /chrome, /memory, /ide, /release-notes, /rewind, /diff, /remote-env, /plugin и других пикерах: клавиши страниц, колесо мыши и клики
Улучшены списки рядом с полем поиска, такие как /skills и /artifacts: указатель отрисовывается тусклым, пока клавиши у поля поиска, чтобы подсвечивался только один указатель
Улучшен спиннер компакции: таймер теперь запускается с началом компакции и считает токены резюме по мере их стриминга, заменяя процентную шкалу
Улучшена страница браузера, показываемая после входа в MCP-сервер: центрированная вёрстка, тёмная тема и новые иллюстрации
Улучшен ответ инструмента Skill, когда skill принадлежит плагину, который не загрузился: Claude сообщает, что плагин не удалось загрузить, вместо того чтобы называть skill неустановленным
Улучшен prompt-audit по конфигурации Claude Code: устаревшие пути, устаревшие команды и противоречащие файлы инструкций теперь возглавляют отчёт, а ключевые слова thinking, документированные Claude Code, сохраняются
Улучшено восстановление из installed_plugins.json, который вообще не читается: его содержимое сохраняется в файл рядом перед пересборкой, и claude plugin list называет этот файл
Улучшено чтение базы данных артефактов: упорядоченный запрос, возвращающий полную страницу, теперь сообщает, что это одна страница, и как прочитать остальное
Улучшена задержка первого ответа: шаг компиляции паттернов, выполнявшийся в конце первого ответа сессии, теперь выполняется во время стриминга ответа
Улучшена задержка первого запроса за счёт переиспользования предварительно установленного соединения с API
Улучшен запуск: claude -p и Claude Code Remote больше не загружают интерактивный интерфейс, а правила классификатора auto-режима и инструмент Artifact загружаются при первом использовании, а не при запуске
Улучшен запуск для аккаунтов claude.ai, чьи возможности инструмента Artifact ещё неизвестны, как при первом запуске: промпт больше не ждёт до 1,5 с для их проверки; первое сообщение ждёт при необходимости
Изменено: интерактивные сессии у сторонних провайдеров или с отключённой телеметрией теперь запускаются в auto-режиме, когда режим разрешений не настроен; permissions.defaultMode по-прежнему имеет приоритет
Изменён диалог запуска /ultrareview: теперь сообщает, что проверка локальной ветки может загрузить незакоммиченные изменения в отслеживаемые файлы
Изменены строка Opus в пикере /model и имя модели Default: убрано «(1M context)» там, где у Opus уже есть контекстное окно 1M; само окно не изменилось
Изменено: предложения промптов в терминале появляются реже после 20 неиспользованных подряд; использование одного возвращает их
Изменено: --system-prompt и --append-system-prompt принимают текстовую форму и форму -file вместе; текст из файла идёт первым
Изменено: правила запрета Skill(anthropic-skills:) теперь также блокируют этот skill, когда Claude Desktop поставляет его как плагин, а запреты Skill(skill:) сопоставляются с алиасом и отображаемым именем skill
Изменено: списки /rewind и /diff перемещаются по тем же действиям привязок клавиш, что и все остальные списки (select:*); переназначения messageSelector:*/diff:* по-прежнему работают
Изменено: список запусков /workflows теперь подбирает размер как другие списки: половина терминала inline, и сохраняет заголовок на экране, когда промпт показывается ниже
Изменено: claude plugin eval требует git 2.31 или новее, когда git установлен; запуск на более старом git отклоняется с сообщением, называющим версию
Изменено отслеживание артефактов: watch, включённый автоматически (не запрошенный вами), теперь завершается через 3,5 часа без активности; публикация или повторное отслеживание артефакта снова его включает
Self-hosted runner: изменён git в lifecycle hooks — пропускает Git LFS pre-push хук репозитория, игнорирует записываемый системный core.hooksPath и не подписывает коммиты без --configure-git
Self-hosted runner: изменены GIT_SSL_CAINFO и GIT_SSL_NO_VERIFY под управляемым Anthropic git: собственный git раннера всегда проверяет маршрут git Anthropic, а строки предупреждений сообщают, что где применяется
Отменено резервирование имени claude-ai из 2.1.282: skills, команды, workflows и skills и промпты MCP-серверов с таким именем снова загружаются, а правила Skill(claude-ai:*) — обычные префиксные правила
[Cloud sessions] Улучшено добавление репозитория в запущенную облачную сессию: приватный репозиторий, который ваш GitHub-аккаунт может читать, но не может пушить, теперь подключается для чтения
[Cloud sessions] Изменено: новые расписания routine по умолчанию назначаются на несколько минут после часа, с примечанием, что routines, установленные ровно на час, могут запускаться с задержкой в несколько минут
[Claude Tag] Добавлена админ-настройка «Channels Claude can search», ограничивающая поиск Claude в Slack публичными каналами, в которые он добавлен, настраивается для организации, workspace или канала
[Claude Tag] Добавлена кнопка Back to Slack на странице, показываемой после подключения вашего аккаунта Claude, возвращающая вас в ветку, из которой вы начали
Минорное:
Исправлено: SDK-сессии теряли отложенный вызов инструмента или завершённый результат инструмента, когда ход заканчивался рано, зависший запрос подтверждения после перезапуска воркера и result.usage нестримингового фолбэка
Исправлено: уведомления о прогрессе MCP отбрасывались, когда долго выполняющийся вызов инструмента переходил в фон; фоновая задача теперь показывает последний прогресс
Исправлено: stdio MCP-серверы оставались запущенными, когда сессия завершалась, пока они ещё запускались
Исправлено: краткий HTTP 404 от stateless удалённого MCP-сервера (например, прокси в процессе переразвёртывания) делал этот сервер непригодным до конца сессии, при этом он всё ещё отображался как подключённый
Исправлено: вход в MCP для сервера без валидного URL завершался непрозрачной ошибкой SDK; /mcp больше не предлагает Authenticate для таких серверов
Исправлено: недельный лимит Fable не отображался в /usage и счётчиках использования VS Code при отключённой телеметрии
Исправлено: /model принимал Sonnet 4.6 или Sonnet 5 с [1m], когда id содержал дату или суффикс -v1:0, в случаях, когда простой id отклонялся
Исправлено: пикер /model показывал захардкоженную версию и цену Haiku, когда ANTHROPIC_DEFAULT_HAIKU_MODEL закрепляет другую модель
Исправлено: динамические workflows, запущенные во время фолбэка модели, запускали каждого агента на фолбэк-модели вместо повторной попытки с настроенной моделью
Исправлено: DISABLE_PROMPT_CACHING_HAIKU не имел эффекта, когда Haiku — основная модель сессии
Исправлено: claude plugin validate сообщал, что Claude Code принимает имя плагина или marketplace, которое он не может установить; такие имена в marketplace.json теперь не проходят валидацию
Исправлено: claude plugin validate пропускал плагины, у которых пути outputStyles, themes, monitors или lspServers отсутствуют или указывают за пределы директории плагина
Исправлено: claude plugin details показывал 0 MCP-серверов для плагинов, объявляющих свои серверы в plugin.json
Исправлено: claude plugin marketplace remove не сообщал, какие установленные плагины он удалил вместе с marketplace; теперь он их перечисляет
Исправлено: claude plugin uninstall удалял второй из двух установленных плагинов, чьи id отличаются только регистром, вместе с его опциями и секретами, когда у названного не было записи в enabledPlugins на этом уровне
Исправлено: плагины без объявленной версии молча восстанавливались на новейшем коммите источника, а не на установленном, когда их кэшированные файлы отсутствовали
Исправлено: установленные пользователем плагины и marketplaces не загружались с ошибкой «cache-miss» после перемещения домашней или конфигурационной директории, например в bind-mounted devcontainers
Исправлено: installed_plugins.json не показывал плагины, когда содержит запись с невалидным id плагина; такой файл снова загружается
Исправлено: installed_plugins.json перезаписывался, теряя записи, когда содержит запись, которую эта версия не может прочитать; команды claude plugin теперь называют запись и сообщают, как восстановить
Исправлено: диалоги разрешений в режиме экранного диктора читали команды и пути в кавычках так, будто это собственный текст диалога
Исправлено: /context не учитывал инструкции MCP-серверов: теперь они появляются отдельной строкой и учитываются в общем итоге
Исправлено: markdown-ссылки в терминале Warp отображались как обычный текст вместо кликабельных гиперссылок
Исправлено: claude mcp add, add-json и remove сообщали об успехе, когда пользовательский или локальный конфигурационный файл не удавалось записать, например внутри песочницы
Исправлено: первые слова ответа в облачной сессии иногда появлялись с задержкой вместо стриминга по мере написания Claude
Исправлено: встроенное руководство по привязкам клавиш Claude сообщало, что аккорды истекают через 1 секунду вместо 3, и называло cmd алиасом meta, что могло создавать сочетания cmd+, которые большинство терминалов никогда не отправляют
Исправлено: keybindings.json молча принимал модификатор с опечаткой, например ctl+k; теперь он предупреждает в журнале отладки и предлагает исправление
Исправлено: подсказки в футере по-прежнему говорили «Enter to view» после того, как footer:openSelected был переназначен или отвязан в keybindings.json
Исправлено: быстро набранные вместе клавиши (type-ahead, автоповтор, всплески по ssh или tmux) иногда обрабатывались по устаревшему состоянию
Исправлено: чекауты worktree не проходили проверку сертификата (например, при загрузках Git LFS), когда CA-сертификат передавался git как пары окружения GIT_CONFIG_COUNT
Исправлено: git в песочнице просил credential helpers сохранить логин прокси песочницы, что печатало «failed to store»
Исправлено: управляемые настройки sandbox полностью игнорировались, когда одно вложенное значение было невалидным; невалидное значение теперь отклоняется fail closed, а остальной блок всё ещё применяется
Исправлено: правки Claude в его собственных заметках auto-memory блокировались как записи в чувствительные файлы, когда Claude Code был запущен в поддиректории git-репозитория
Исправлено: Remote Control был недоступен на платных планах, когда телеметрия отключена через DISABLE_TELEMETRY или DO_NOT_TRACK
Исправлено: меню /remote-control обрезало подсказку с QR-кодом посреди слова в узких терминалах
Исправлено: в vim-режиме . терял перенос строки Shift+Enter, оставлял курсор внутри буквы с диакритикой и повторял более старое изменение после 3J или J в Visual-режиме на последней строке
Исправлено: размещение курсора в vim-режиме: вызов промпта длиннее 10 000 символов в normal-режиме больше не оставляет курсор за концом, а V затем p теперь попадает на первый непробельный символ
Исправлено: vim-режим J соединял строки с другим интервалом, чем Vim (например, пробел перед ) или после таба), а 3J или J в Visual-режиме на последней строке не перемещал курсор как в Vim
Windows: исправлено: инструмент PowerShell позволял cmd /c rd, rmdir, del или erase удалять корни дисков, домашнюю папку и другие папки, которые Remove-Item отклоняет
[VSCode] Исправлено: индикатор режима разрешений показывал Default, пока сессия продолжала работать в auto или bypass-режиме после неудачного автоматического переключения из него; переключение теперь повторяется до успеха
[VSCode] Исправлено: сессия, телепортированная из веба, теряла сообщения, отправленные во время работы Claude
[VSCode] Исправлено: веб-сессия оставалась скрытой из списка сессий, а на её месте открывался пустой чат, когда более старая версия сохранила её пустую локальную копию
[VSCode] Исправлено: переоткрытая сессия разбивала ход на сообщении, полученном Claude в середине хода, например при автоматическом продолжении
[VSCode] Исправлено: перезагруженная сессия показывала откатанный ход или только строки до компакции
[VSCode] Исправлено: пилюля агентов в футере рисовала значок не по центру, со статусной точкой у края, в узких панелях
[VSCode] Исправлено: поле ввода чата показывало текст чуть ниже курсора и выделения после вставки строк, заканчивающихся переносом строки, в длинный промпт
[Cloud sessions] Исправлено: облачные сессии иногда повторяли уже завершённый шаг, например публиковали дублирующий комментарий или push, после восстановления из перезапуска на стороне сервера
[Claude Tag] Исправлено: страница настройки канала не перечисляла коннекторы или плагины, когда канал получает свой access bundle через правило attach; привязанные правилом бандлы теперь показываются
[Claude Tag] Исправлено: поиск репозиториев в access bundle пропускал репозитории в установках GitHub App, ограниченных большим списком выбранных репозиториев
[Claude Tag] Исправлено: Claude иногда публиковал один и тот же ответ дважды, когда новое сообщение прерывало его в середине ответа
[Claude Tag] Исправлено: routines канала переставали работать в старых приватных каналах, чей Slack channel ID изменился, например после шаринга через Slack Connect
[Claude Tag] Исправлено: разговоры в канале с настройкой «Channel only» все завершались, когда присоединялся не-гостевой участник, а Slack медлил с подтверждением его членства
[Code Review] Исправлено: запросы «@claude review» замолкали, когда GitHub не возвращал pull request: запрос повторяется один раз, а комментарий объясняет, если он всё ещё не удался
[Code Review] Исправлена оплата за проверку, остановившуюся по лимиту времени без ничего проверенного: теперь она отображается как незавершённая, не тарифицируется и повторяется один раз