Claude Code v2.1.285: новые переменные, плагины и исправления
Версия: v2.1.285
Крупное:
Добавлена переменная окружения CLAUDE_CODE_DISABLE_WEB_FETCH для отключения инструмента WebFetch
Добавлена команда claude --desktop для открытия десктопного приложения Claude в текущей директории или в сессии с --continue / --resume
Добавлена команда claude plugin configure для показа опций плагина и того, какие не заданы, либо сохранения новых значений из stdin с --values-stdin
Добавлен оператор .= в claude plugin install --config, позволяющий задать собственные настройки встроенного .mcpb MCP-сервера при установке, чтобы он запускался без захода в /plugin → Configure
Добавлена управляемая настройка allowedProviders для ограничения доступных машине API-провайдеров (Anthropic API, кастомный endpoint, Bedrock, Mantle, Vertex AI, Foundry, Claude Platform on AWS или Cloud gateway)
Claude in Chrome: нативный хост теперь сообщает имя компьютера, поэтому подключённые браузеры можно помечать по компьютеру вместо «Browser 1» / «Browser 2»
Bedrock и Vertex AI: сессии переключаются на более старую доступную модель того же уровня вместо отказа, когда администратор убирает доступ к модели по умолчанию; заголовки и сводки сессий тоже переключаются
Ошибки маркетплейса плагинов теперь называют причину отказа git-адреса вместо ссылки на корпоративную политику
Улучшена валидация git-URL для плагинов, маркетплейсов и remote текущего репозитория
Результаты Artifact tool теперь предлагают публиковать в том же шаге, что и запись или редактирование страницы, что экономит один round trip
Remote Control: побочный вопрос /btw к сессии, размещённой в приложении вроде Claude Desktop, теперь видит текущий ход, а не только последний завершённый
Улучшены изображения, отправляемые Claude как BMP, HEIC, HEIF, AVIF или TIFF: приложения Claude теперь показывают превью там, где Claude Code может их конвертировать
Субагенты в auto mode: запуск субагента теперь завершается сразу после передачи отчёта вызывающему, вместо лишних ходов, которые никого не достигают
Проверки моделей при старте Bedrock и Vertex: модели, недоступные аккаунту, запоминаются на срок до суток вместо повторной проверки при каждом запуске
Результаты публикации Artifact tool используют меньше токенов: примечание об обновлении артефакта короче, а место поиска артефактов больше не повторяется после каждой публикации
SDK liveness во время нестримингового fallback-запроса: при включённых частичных сообщениях событие потока ping теперь отправляется каждые 30 секунд в Anthropic API, Claude Platform on AWS и шлюзах
/resume и claude --resume для сессии, работающей в фоне, теперь открывают её вместо отказа, а промпт, переданный с claude --resume "prompt", отправляется ей как следующий ход
Улучшена производительность на каждый ход при большом числе deny-правил разрешений и MCP-инструментов
Улучшена отзывчивость при выходе из представления транскрипта ctrl+o в длинных сессиях при отключённом полноэкранном рендеринге
Проверки моделей при старте Bedrock, Vertex и Mantle теперь отправляют те же заголовки User-Agent, x-app и session ID, что и обычные запросы
MCP-инструменты: инструмент, устанавливающий собственный _meta['anthropic/alwaysLoad'] в false, остаётся отложенным, даже если его сервер --mcp-config, Agent SDK или плагина настроен на alwaysLoad
Фоновые команды Bash и PowerShell теперь останавливаются по лимиту времени (их timeout с run_in_background, по умолчанию 30 мин, максимум 2 ч); Claude уведомляется об остановке
Code Review: ревью pull request и /ultrareview теперь выполняются при включённом disableWorkflows, если только машина, выполняющая ревью, не задала его собственным администратором (MDM или файл управляемых настроек)
Сессии за кастомным ANTHROPIC_BASE_URL теперь используют 1M-контекст моделей, у которых он есть (Opus 4.7+, Sonnet 5+, Fable); запустите /autocompact 200k, если ваш шлюз останавливается на 200K
Сессии Team и Enterprise, а также сессии, чей план входа Claude Code не может определить, теперь удерживают WebFetch до загрузки политики организации, если её не удалось загрузить при старте
/memory: Auto-memory больше нельзя включить из фоновой сессии или из сессии, запущенной собственными инструментами Claude Code; выключение там по-прежнему работает
Одноразовое предложение сделать auto mode режимом разрешений по умолчанию теперь показывается и на сторонних провайдерах и при выключенной телеметрии, когда пользовательские настройки по умолчанию задают другой режим
Сессии claude -p и Python Agent SDK на сторонних провайдерах или при выключенной телеметрии теперь стартуют в auto mode, когда режим разрешений не настроен, как интерактивные сессии; --permission-mode по-прежнему переопределяет это
Запросы Bedrock, Mantle и Claude Platform on AWS к базовому URL с нестандартным портом теперь включают порт в подписываемый SigV4 заголовок Host
Имя MCP-сервера widgets зарезервировано в облачных сессиях и на self-hosted раннерах: собственный сервер под этим именем или близким написанием вроде widgets_ больше не загружается, переименуйте его
/ultrareview на macOS и Linux теперь исключает символические ссылки при загрузке локального чекаута; чекаут, чья текущая ветка — символическая ссылка, теперь отклоняется с объяснением
Windows: env в проектных и локальных настройках больше не задаёт переменные ALLUSERSPROFILE, SystemDrive или CommonProgramFiles; задавайте их в пользовательских или управляемых настройках
/tasks теперь сворачивает фоновую работу, которую Claude Code выполняет для себя, в одну строку «System tasks»; нажмите Enter на ней, чтобы показать эти задачи
/ultrareview на macOS и Linux теперь требует git 2.31 или новее для загрузки локального репозитория; чекауты, сделанные с --separate-git-dir, теперь отклоняются вместо загрузки старым методом
Загрузки /ultrareview на macOS и Linux теперь отправляют partial clone как снимок рабочего дерева на git 2.31 или новее вместо отката или отказа, когда версия git выглядела слишком старой
Загрузки /ultrareview на macOS и Linux теперь отклоняют, а не извлекают partial clone, у которого отсутствуют некоторые файлы рабочего дерева, на старых версиях git; клон, сделанный без --filter, загружается
Проверки моделей при старте Bedrock, Vertex и Mantle теперь идентифицируют себя как Claude Code, как и другие запросы Claude Code
claude mcp get теперь скрывает команду, аргументы и значения окружения stdio MCP-серверов, предоставленных плагинами; имена переменных по-прежнему показываются
/claude-api больше нельзя запускать из клиентов Remote Control
/config chrome=true теперь направляет в панель /config вместо включения Claude in Chrome по умолчанию; /config chrome=false по-прежнему выключает его, когда он был включён
Настройки песочницы: проектные настройки не могут расширить или отключить требуемую администратором песочницу, заменить прокси за управляемым deny-списком, расширить строгий allowlist или вновь открыть управляемые read-denies
[VSCode] Добавлено примечание под последним сообщением восстановленной вкладки, когда перезагрузка окна прервала его и ответа не последует
[VSCode] Добавлена форма опций плагина в Manage plugins: установка плагина с опциями запрашивает незаданные, а шестерёнка в его строке меняет их позже
[VSCode] Добавлен инструмент диагностики по запросу, чтобы Claude в панели мог читать текущие ошибки и предупреждения панели Problems в любой момент, а не только сразу после редактирования файла
[VSCode] Улучшен диалог Manage plugins: неудачное действие с плагином теперь открывает всплывающее окно с объяснением и, где есть, предлагает исправление
[VSCode] Диалог Manage plugins теперь спрашивает перед удалением маркетплейса или выключением плагина, который включает общий .claude/settings.json вашего проекта
[Cloud sessions] MCP_DISCOVERY_CACHE=1, заданный в переменных облачного окружения, а не в файле настроек, теперь переиспользует списки инструментов ваших коннекторов после перезапуска сессии; остальные MCP-серверы больше не кешируются и подключаются при старте
[Claude Tag] Добавлены прямые сообщения с Claude для участников на плане Enterprise со Standard или Usage-Based Chat seat, у которых также есть Cowork; seat, включающий Claude Code, больше не требуется
[Code Review] Улучшена проверка Code Review: теперь сообщается, когда REVIEW.md вашего репозитория не был применён, например на очень большом pull request или когда REVIEW.md — символическая ссылка
Минорное:
Исправлено claude -p с CLAUDE_CODE_FORK_SUBAGENT=1: собственный вызов Agent субагента теперь выполняется на переднем плане, поэтому субагент получает результат дочернего процесса
Исправлена установка и обновление плагинов и маркетплейсов по SSH, игнорировавшие ssh-программу, заданную в GIT_SSH или в core.sshCommand конфига git
Исправлен отказ Claude Code запускаться, когда ОС запрещает чтение файла управляемых настроек; теперь он предупреждает и запускается без политик этого файла. Другие ошибки чтения и неразбираемые файлы останавливают каждую сессию
Исправлены облачные сессии, перезапущенные после компактирования разговора, отказывавшие в следующем обновлении артефакта, который сессия уже читала или публиковала
Исправлены claude plugin disable и enable с полным id name@marketplace, менявшие запись настроек в другом регистре вместо собственной записи установленного плагина
Исправлены файлы, прикреплённые к сообщению, отправленному через Remote Control, терявшиеся после одной неудачной загрузки; сетевые ошибки, таймауты и ошибки сервера теперь повторяются до двух раз
Исправлено переключение моделей в середине сессии запросом set_model (например, setModel из Agent SDK), оставлявшее новую модель на встроенном лимите выходных токенов и окне авто-компакта до перезапуска
Исправлены отредактированные логи и транскрипты, показывавшие часть пароля URL, содержащего @, или весь его, когда URL пишет свой @ как %40
Исправлены запросы пароля SSH и нового хоста при выборках worktree и /teleport, захватывавшие терминал; теперь эти выборки быстро завершаются ошибкой вместо запроса
Исправлено выключение MCP-сервера, добавленного в середине сессии в сессиях SDK и -p, оставлявшее его инструменты доступными
Исправлено claude -p --permission-prompt-tool: запрос разрешения фонового субагента теперь идёт в инструмент промпта вместо автоматического отказа
Исправлены claude mcp list и claude mcp get, а также ошибка «не найдено» у claude mcp remove, login и logout, печатавшие переводы строк и терминальные escape-последовательности из имён и значений MCP-серверов
Исправлено авто-разрешение песочницы, запрашивавшее одобрение при каждом запуске многих inline-скриптов (python3 -c, node -e) только из-за наличия =
Исправлено, что форк-субагенты не сохраняли режим plan или dontAsk сессии: форк теперь работает под режимом разрешений родителя и не может выйти из plan mode
Исправлено, что claude remote-control --help говорил, будто --[no-]chrome по умолчанию берётся из настройки /chrome машины; порождённые сессии держат Claude in Chrome выключенным, если не передан --chrome
Исправлены фоновые субагенты в auto mode, запрашивавшие второй, избыточный ответ после каждого отчёта
Исправлено, что создание облачной сессии и /remote-env читали только 20 новейших окружений аккаунта
Исправлено, что Remote Control помечал сообщение прочитанным сразу по прибытии вместо начала работы Claude над ним, и терял сообщение, ещё стоявшее в очереди при выходе из терминала (теперь оно приходит при следующем resume)
Исправлена установка плагина через claude plugin install или /plugin, помещавшая его в кеш или папку данных другого установленного плагина, когда их id отличаются только ., -, @ или (macOS, Windows) регистром; теперь установка отклоняется
Исправлено, что хуки и колбэки разрешений SDK видели отсутствующий или устаревший план на ExitPlanMode, когда план был написан в том же ответе
Исправлено, что первый ответ в облачных сессиях приходил на десятки миллисекунд позже — регрессия в 2.1.283
Исправлено, что сессии, аутентифицирующиеся через ANTHROPIC_AUTH_TOKEN к Anthropic API, никогда не загружали политику организации
Исправлено, что неудачный вызов agent(), parallel() или pipeline(), который скрипт workflow ожидает позже или вовсе не ожидает, трактовался как необработанное отклонение промиса, что могло завершить фоновую сессию
Исправлено, что синхронные хуки подвешивали Claude Code, пока фоновый процесс, запущенный хуком (например, some-daemon &), держал свой вывод открытым; теперь хук завершается вскоре после выхода собственного процесса
Исправлено, что WebFetch сообщал о проверке безопасности домена с ограничением скорости как о сетевой блокировке или блокировке корпоративной политикой
Исправлено, что полноэкранный транскрипт ctrl+o ненадолго зависал при открытии на ходах с сотнями чтений файлов или поисков; вызовы инструментов, ещё выполнявшиеся при открытии транскрипта, теперь показывают результаты по завершении
Исправлено, что ошибки Amazon Bedrock modelTimeoutException и serviceUnavailableException в середине потока показывали сырое тело JSON вместо сообщения об ошибке
Исправлено, что /autofix-pr и /schedule говорили, будто Claude GitHub App не установлено в репозитории, чей статус установки ещё не проверялся
Исправлено, что закрытие строки (x) в /artifacts отвязывало её файл от артефакта, из-за чего повторная публикация того же файла создавала новый артефакт вместо обновления
Исправлено, что публикации Artifact tool после отката разговора (Esc Esc) перезаписывали более новое содержимое файла, которое Claude читал только в откаченных ходах; теперь публикация отклоняется, пока Claude не перечитает файл
Исправлено, что правило разрешения Artifact («не спрашивать снова») позволяло Artifact tool публиковать файл за пределами рабочих директорий без запроса; добавьте папку файла через --add-dir, чтобы правило её покрывало
Исправлено, что /cost и SDK modelUsage сообщали о ходе под неверной моделью, когда сервер отвечал на отказ другой fallback-моделью, чем ожидал клиент
Исправлено, что Artifact tool при публикации страницы позволял Claude перезаписывать её исходный файл без повторного чтения, когда предыдущее чтение Claude было прервано или файл изменился с тех пор
Исправлено, что auto mode пропускал свой классификатор для загрузок ассетов Artifact tool и чтений чужого артефакта, когда вы одобряли этот артефакт ранее в другом режиме разрешений
Исправлена вводящая в заблуждение ошибка «core.worktree is set» от /ultrareview, когда папку проекта кратковременно не удавалось прочитать
Исправлено, что /ultrareview на macOS и Linux не мог загрузить рабочее дерево из git worktree, чей per-worktree конфиг задаёт core.longpaths
Исправлено, что Artifact tool иногда сообщал о публикации как о конфликте с другой сессией после повтора временной ошибки сервера, когда первая попытка на самом деле удалась
Исправлено, что загрузки /ultrareview включали незакоммиченные изменения файлов с учётными данными, чьё имя содержит двоеточие перед расширением, например server:8443.key
Исправлен редкий сбой аутентификации, когда две сессии одновременно восстанавливали блокировку обновления логина, оставленную упавшим процессом
Исправлено, что проверка разрешений инструмента PowerShell пропускала deny- и ask-правила и кешировала этот сбой для последующих проверок, когда его парсер команд не запускался (например, при нехватке памяти на машине)
Исправлено, что загрузки /ultrareview на macOS и Linux работали медленно на некоторых необычных именах файлов, а их проверка файлов учётных данных пропускала имена файлов или папок с множеством меток резервных копий или редакторов
Исправлено, что отменённая команда оболочки или хук всё ещё запускались и выполнялись до конца, когда отмена приходила во время их настройки
Исправлено в vim mode: после редактирования во внешнем редакторе (Ctrl+G) x или r в NORMAL mode больше не ломают плейсхолдер вставленного текста в конце промпта
Исправлено, что ответы, заблокированные выходным контент-фильтром API, повторно отправлялись и повторялись, иногда минутами, вместо немедленного показа ошибки фильтра
Исправлено, что плагины молча пропускали встроенный .mcpb MCP-сервер, всё ещё требующий настройки: /plugin, сообщение об установке и claude plugin install теперь сообщают об этом и указывают на Configure
Исправлено, что компактирование или возобновление сессии падало, открывалось без истории или аварийно завершалось, когда сохранённый транскрипт содержит маркер компактирования или запись пробуждения цикла с отсутствующими или искажёнными полями
WSL: исправлен отказ /ultrareview загружать чекаут на Linux-томе, когда имя изменённого файла содержит двоеточие или заканчивается точкой или пробелом
Исправлено, что CLAUDE_CODE_RESUME_INTERRUPTED_TURN повторно запускал ход, завершившийся на --max-turns
Исправлен вход в систему, который мог ждать вечно после того, как браузер показал успех
Windows: исправлена загрузка /ultrareview связанного worktree репозитория, корень которого находится в вашей домашней папке, в некоторых случаях
Исправлено, что облачные сессии сообщали об отсутствии папки загрузок до того, как был загружен хоть один файл
Исправлено, что ответ, отправленный из claude agents фоновой сессии, ждущей запроса разрешения, иногда одобрял ожидающую команду
Исправлено, что claude attach, logs, stop, respawn и rm запускали новую сессию с именем команды в качестве промпта, когда опции шли перед ней, например из алиаса оболочки
Исправлено, что claude mcp list пропускал WebSocket (ws) MCP-серверы; теперь каждый перечисляется со своим URL и статусом работоспособности
Исправлено, что claude mcp get не показывал Type, Command, Args или Environment для stdio-серверов, чья запись конфига опускает поле type
Исправлено, что allow-правила .claude/settings.local.json удерживались вне git-репозитория, когда настроен вывод trace2 git
Исправлено, что каркас запуска eval и построитель отчётов /claude-api писали через символическую или жёсткую ссылку, подложенную в выходной файл
Исправлено, что каркас запуска eval /claude-api учитывал ответы, обрезанные на max_tokens, в средних оценках; теперь они помечаются как усечённые и считаются отдельно
Исправлено, что показывался в терминале как буквальный текст, когда ответ использует его для отступа текста, например меток строк в markdown-таблице
Исправлено кратковременное зависание (до секунды) на середине длинных сессий вне полноэкранного режима, возвращавшееся после /clear или /compact
Исправлено, что одобренный Edit никогда не проходил, когда его цель — устройство, например файл, символически связанный с /dev/null, а одобрение пришло из diff-представления IDE или изменило правку
Исправлено, что неудачный API-запрос повторялся до 21 раза, когда стриминг продолжал сбоить; нестриминговый fallback теперь делит бюджет повторов запроса вместо получения свежего набора повторов
[VSCode] Исправлено, что нажатие Enter после ввода слэш-команды запускало несвязанный пункт меню, выбранный нечётким совпадением, или не делало ничего
[VSCode] Исправлена потеря открытым транскриптом агента его новых сообщений во время длинной сессии
[VSCode] Исправлено, что сообщение с цитатой тега Claude Code или IDE теряло остальной текст в чате
[VSCode] Исправлено, что сообщение, отправленное во время работы Claude, исчезало из разговора после повторного открытия сессии
[VSCode] Исправлено, что вкладка Web в списке сессий показывала сессии предыдущего аккаунта после смены аккаунта
[VSCode] Исправлено, что восстановленные вкладки повторно запускали прерванный ход, когда VS Code запускался с установленным CLAUDE_CODE_RESUME_INTERRUPTED_TURN, даже при выключенном Continue After Reload
[VSCode] Исправлено, что Escape останавливал выполняющийся ход вместо закрытия меню команд после клика по одной из его строк
[VSCode] Исправлено, что открытие Past conversations заменяло живую беседу её сохранённой копией
[VSCode] Исправлено, что вкладка Claude, перезагруженная после перезапуска расширения, оставалась пустой вместо сообщения о том, как восстановиться
[VSCode] Исправлено, что открытие беседы, уже открытой в другом окне или приложении, запускало её вторую копию без предупреждения; теперь сначала спрашивает
[VSCode] Исправлено, что причина блокировки или остановки промпта хуком исчезала после перезагрузки окна
[VSCode] Исправлены вкладки, застрявшие на беседе, которую нельзя возобновить: ошибка теперь сообщает об этом и предлагает начать новую беседу
[VSCode] Исправлено, что каждое чтение, запись и правка файла зависали на десять минут и затем пропускались, когда редактор переставал отвечать на автоматическое сохранение расширения перед запуском инструмента
[VSCode] Исправлено, что карта агентов помечала субагента моделью сессии вместо модели, на которой он реально работал (например, при CLAUDE_CODE_SUBAGENT_MODEL_FORCE или собственной model агента)
[VSCode] Исправлено удаление плагина из диалога Manage plugins, удалявшее не ту установку или дававшее сбой для плагина, установленного для проекта
[VSCode] Исправлено, что вход в систему оставался на шаге кода авторизации после возврата и повторного выбора того же метода входа
[VSCode] Исправлено зависание панели чата, когда длинная сессия обрезает свои старейшие строки
[VSCode] Исправлено исчезновение беседы из сессии при работе множества агентов
[VSCode] Исправлено, что вкладка редактора сохраняла старое имя после переименования сессии через /rename, хуком SessionStart или на claude.ai
[VSCode] Исправлено, что представление транскрипта карты агентов пропускало сообщения, отправленные работающему агенту
[Cloud sessions] Исправлено, что Run now у рутины показывал текст внутренней ошибки, когда запуск отклоняется до старта; теперь показывается то же объяснение, что и в уведомлении о сбое рутины
[Claude Tag] Исправлено, что настройка Default model в админ-настройках и на странице Configure канала предлагала модели, недоступные вашей организации, из-за чего сохранения или новые сессии давали сбой
[Claude Tag] Исправлено, что примечание под сообщениями Claude в Slack о том, что он ответил на fallback-модели и почему, исчезало, когда Claude позже редактировал это сообщение
[Code Review] Исправлено, что меню организации в диалоге «Add a repository» в Code Review показывало лишь несколько ваших организаций GitHub; теперь оно подгружает больше при прокрутке