Claude Code · версия 2.1.277
Claude Code 2.1.277: что нового
Claude Code 2.1.277: добавляет поддержку AGENTS.md и заголовки для шлюзов, а также исправляет множество сбоев, зависаний и ошибок в плагинах, Edit и обновлениях.
Новое 4
- Добавлена поддержка AGENTS.md: в проекте без CLAUDE.md Claude Code читает AGENTS.md; изменить это можно в
/configв разделе «Project instructions» - Добавлена переменная
CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1для шлюзов Claude apps, у которых единственный выход наружу — прямой прокси: каждый исходящий запрос передаёт прокси имя хоста, а не резолвит его локально - Добавлен необязательный словарь
headers:для апстримов шлюза Claude apps, чтобы отправлять статические заголовки на прокси, который вы запускаете перед провайдером - Добавлена строка о том, что обновление фоновой задачи ожидает, если задача завершилась, пока открыта панель вроде
/tasks
Улучшено 17
- Улучшен запуск сессии для SDK и headless-режима (
-p): первый ход больше не ждёт поиска CLAUDE.md по каталогам - Улучшены сообщения об ошибках loopback в шлюзе приложений Claude: теперь в них упоминается
CLAUDE_GATEWAY_ALLOW_LOOPBACK - Улучшен раздел Installed в
/plugin: MCP-сервер, показанный отдельно от своего плагина, теперь указывает, какому плагину принадлежит - Улучшена команда
claude plugin installдля уже установленного плагина: она сообщает, если маркетплейс предлагает более новую версию, и называет командуclaude plugin update - Улучшена строка переполнения уведомлений при запуске под логотипом: вместо «+N more · /status» теперь пишется «N more notices hidden»
- Улучшена обработка промптов: невидимые форматирующие символы Unicode и символы-теги удаляются из промпта, а очищенный промпт показывается на проверку перед отправкой
- Улучшен
/ultrareview, когда проверять нечего: сообщения объясняют, какой именно это случай, предлагают команду для ревью последнего коммита, а первый коммит нового репозитория теперь проверяется целиком - Улучшена обработка ссылок на артефакты: Claude читает ссылки на артефакты claude.ai через инструмент Artifact, а не WebFetch, если этот инструмент доступен
- Улучшен запрос разрешения на опасный rm: он называет помеченную команду rm и предлагает защиту
${VAR:?}, чтобы headless-запуски могли восстановиться - Улучшены запросы разрешений инструмента Artifact: предложения стали короче, страницы и артефакты называются по заголовку или имени файла, а ссылки идут после текста
- Изменено: Fable теперь всегда отображается в
/modelна Anthropic API и затеняется, только если отключён настройками вашей организации - Изменены инструкции по песочнице Bash на Bedrock, Vertex и Foundry: теперь используется формулировка как у first-party, где песочница представлена как граница того, что было выдано задаче
- Изменено поведение
/ultrareviewв неинтерактивных сессиях: он отказывается работать, если у репозитория нет базовой ветки или общей истории - Изменено: результаты субагентов теперь попадают к главному агенту под заголовком, помечающим их как вывод субагента, с отступом у результата, чтобы текст в результате субагента не мог сойти за собственные инструкции сессии
- Изменено: вычисляемые промпты
agent()в скриптах workflow на Bedrock, Vertex и Foundry теперь доходят до субагента как текст, написанный скриптом, чтобы классификатор безопасности не принимал их за пользователя - Удалён фоновый запрос Haiku для автозаголовка из запусков
claude -pвне SDK или IDE - Удалён устаревший инструмент TaskOutput: Claude читает выходной файл фоновой задачи через Read, а настройка
taskOutputMaxCharsиTASK_MAX_OUTPUT_LENGTHбольше ни на что не влияют
Исправлено 48
- Исправлено: сессии
claude -pи Agent SDK могли зависнуть без результата после внутренней ошибки; теперь они сообщают об ошибке и завершаются с кодом 1 - Исправлено: разговор падал на каждом запросе с ошибкой «text content blocks must be non-empty», если в предыдущем ответе ассистента рядом с другим содержимым был пустой текстовый блок, в том числе после
--resume - Исправлено: неожиданный выход из аккаунта, когда на той же машине запускается более старая сборка Claude Code (например, CLI, встроенный в расширение IDE) вместе с текущей
- Исправлено: интерактивный запуск зависал или показывал ошибку у пользователей
ANTHROPIC_API_KEY, если в~/.claude.jsonбыло некорректное значениеcustomApiKeyResponses - Исправлено: проверки обновлений падали с ошибкой каждые 30 минут, а
claude updateзависал при заданной минимальной или максимальной версии, если прокси возвращал некорректную версию; некорректныйminimumVersionтеперь игнорируется - Исправлено:
claude updateдля установок через winget или apk сообщал «up to date», когда не удавалось определить версию - Исправлено:
claude plugin installиногда завершался ошибкой и ломал установленную копию при переустановке версии плагина, которую использовала сессия или другая программа; неизменённая копия теперь не затрагивается - Исправлено: Grep и Glob сообщали об отсутствии совпадений, когда поиск не мог запуститься из-за нехватки процессов, памяти или файловых дескрипторов; теперь они возвращают соответствующую ошибку
- Исправлено: инструмент Write молча завершал ход как отклонённое разрешение, если целевой путь — существующая директория; теперь он выдаёт понятную ошибку
- Исправлено: инструмент Edit воспринимал экранированный обратный слеш, за которым следует текст
uXXXX, как escape-последовательность\uXXXX, из-за чего правка не-ASCII символа могла переписать экранированную последовательность с обратным слешем - Исправлено: инструмент Edit сообщал «Invalid regular expression: regular expression too large» вместо «String not found in file», когда очень большая правка с не-ASCII текстом не совпадала с содержимым файла
- Исправлено: ход преждевременно завершался с ошибкой «Path contains null bytes», если путь к файлу в вызове инструмента содержал
\u0000, записанный как escape-последовательность; экранированные управляющие символы теперь остаются буквальным текстом - Исправлено: фоновые сессии (
claude --bg) завершались, когда LSP-сервер плагина выходил или закрывал свой stdin - Исправлено: сбой («Type error») при открытии
/mcpили/plugin manage, если в~/.claude.jsonбыло некорректное значениеclaudeAiMcpEverConnected - Исправлено: сбой при запуске, если в
~/.claude.jsonбыло некорректное значениеtheme - Исправлено: сбой («unrecoverable interface error»), когда в промпте был текст с терминальными кодами цвета, например промпт, вызванный из истории, или текст, загруженный из внешнего редактора
- Исправлено: сбой при возобновлении сессии, в сохранённой истории которой сообщение ассистента хранится как обычная строка
- Исправлено: сессии на медленных или сильно загруженных машинах иногда завершались с сообщением «Claude Code exited after an unrecoverable interface error» при появлении первого спиннера
- Исправлено: редкий случай, когда экран переставал обновляться до конца сессии после внутренней ошибки отрисовки
- Исправлено: редкий случай в Windows, когда ход мог остановиться с ошибкой вроде «Out of memory» сразу после ответа Claude, из-за чего вызовы инструментов из этого ответа не выполнялись
- Исправлено: в сессиях, продолженных после
/clear(перезапуск,--continue,--resume), терялась часть первого сообщения, если хук SessionStart выводил текст, что приводило к полному промаху кэша промпта - Исправлено: сообщения от других агентов (например, SendMessage от субагента), пришедшие посреди хода, отображались под строкой «Ran N shell commands», а не там, где пришли
- Исправлено: уведомление «copied» не появлялось после выделения текста мышью в полноэкранном пикере
/resumeи других панелях, закрывающих область промпта - Исправлено:
$TMPDIRраскрывался в пустую строку в командах Bash, выполняемых вне песочницы при включённой песочнице - Исправлено: WebFetch и WebSearch в облачных сессиях Cowork не сообщали Claude, почему запрос отклонён, например из-за исчерпанного лимита загрузок или политики администратора
- Исправлено: ретранслятор телеметрии шлюза Claude apps игнорировал имя хоста или домен коллектора из
NO_PROXYпри заданном прокси - Исправлено: одна некорректная запись в
strictKnownMarketplacesилиblockedMarketplacesмолча отключала всю корпоративную политику маркетплейсов - Исправлено: неудачные автообновления оставляли крупные скачанные файлы в
~/.cache/claude/staging - Исправлено:
/pluginне удалял терминальные управляющие символы из сообщений на вкладке Installed, например из ошибки неудачного обновления плагина - Исправлено: сбой
/plugin→ Installed и/skills, когда скилл или устаревшая команда названы как встроенное свойство Object, напримерconstructorилиtoString - Исправлено:
/pluginзакрывался без сообщения, если все установки при множественном выборе завершились неудачно - Исправлено: удалённые плагины снова появлялись в
/pluginInstalled как строки «failed to load», а Remove не убирал такую строку - Исправлено: плагины из официального маркетплейса записывались в
installed_plugins.jsonбез коммита, а после обновления плагина с закреплённым коммитом вinstalled_plugins.jsonоставался старый коммит - Исправлено: превью перезагрузки плагинов держало все просмотренные копии архива плагина распакованными до выхода и перезаписывало кэшированный архив
--plugin-url, к которому перезагрузка обращается при неудачной загрузке - Исправлено: учёт сессий Remote Control завершался ошибкой, если в
~/.claude.jsonбыла некорректная запись-заполнитель - Исправлено: сообщение об ошибке после отзыва входа в claude.ai винило истёкший профиль Anthropic; теперь оно начинается с
/login - Исправлено: набранный или вставленный текст иногда перемешивался во входном поле диспетчера
claude agentsпри автоповторе клавиш или очень быстром вводе - Исправлен сбой («unrecoverable interface error») при возобновлении сессии, в сохранённом транскрипте которой есть сводка stop-хука без корректного списка хуков
- Исправлено: Enter на выбранной строке панели агентов ничего не делал, если
keybindings.jsonпереопределяет Enter в контексте Chat, например наchat:queueSubmit - Исправлено: чтение страниц PDF на Windows завершалось ошибкой, если путь к рабочей папке длинный (около 120 символов и больше)
- Исправлено: при headless-возобновлении (
claude -p --resume, SDK, перезагрузка окна расширения VS Code) счётчики стоимости и использования сессии начинались с нуля; теперь headless-сессии сохраняют свои итоги при выходе - Исправлена незагрузка проектных скиллов из основного репозитория в сессиях
--worktree, когда.claude/skillsне отслеживается git - Исправлено: glob в
sandbox.excludedCommandsисключал из песочницы всю составную команду Bash, даже если совпадала только одна её часть; теперь должны совпадать все части - Исправлено: возобновлённые субагенты и тиммейты заново рендерили уже загруженные определения инструментов MCP, из-за чего ломалось кэширование промптов для этого агента
- Исправлено: при публикации артефакта с превышением лимита запросов Claude получал указание прекратить повторные попытки; теперь ему сообщается, что ничего не опубликовано и когда можно повторить публикацию
- Исправлено: вложения, записанные ранее в разговоре, заново рендерились после возобновления или перезапуска, из-за чего терялся extended thinking и промахивался кэш промптов
- Исправлено: при входе через Console после отказа сервера создать API-ключ показывалось только «Request failed with status code 400»; теперь выводится сообщение сервера
- Исправлено: сообщения, набранные пока Claude ещё работает, иногда игнорировались моделью
Другое 18
- [VSCode] Добавлена строка Sign out в меню панели и
/logoutв меню набираемых команд - [VSCode] Фоновые оболочки и другие выполняющиеся задачи добавлены на карту агентов, у каждой есть кнопка Stop, а набранный
/tasksоткрывает эту карту - [VSCode] Добавлена кнопка Copy response для ответов и набираемая команда
/copy - [VSCode] Добавлено одноразовое уведомление об автоматической архивации неактивных сессий и действие «Unarchive all» в группе архивных сессий
- [VSCode] Стоимость и использование токенов сессии добавлены в диалог Account & usage и менеджер сессий там, где лимиты плана не применяются (Vertex, Bedrock, Foundry, API-ключ)
- [VSCode] Исправлено: строка меню «General config» показывала справку по
/configвместо открытия настроек; также набранные/mcp,/hooks,/memory,/rewindи похожие команды теперь открывают свои диалоги - [VSCode] Исправлено: уровень, выбранный на слайдере effort, не сохранялся в последующих сессиях на модели, для которой уровень уже был сохранён через
/effort - [VSCode] Исправлено: режим Auto пропадал из выбора режимов в разговорах, открытых в уже использованной панели, если сохранённая настройка модели — псевдоним в другом регистре, например «Sonnet»
- [VSCode] Исправлено:
/fastне сохранял быстрый режим по умолчанию, из-за чего он терялся при перезапуске Claude Code расширением - [Claude Code on the web] Добавлены разделы Personal и Organization в выбор окружения на тарифах Team и Enterprise; администраторы теперь могут делиться личным окружением с организацией
- [Claude Code on the web] Изменено: на тарифах Team и Enterprise окружения организации открываются во вкладке Code как сводка только для чтения, а редактирование доступно в Admin settings → Cloud environments
- [Claude Code on the web] Исправлено: облачное окружение, сохранённое с настройкой Custom network access без доменов, молча возвращалось к Trusted. Теперь диалог требует указать хотя бы один домен
- [Claude Code on the web] Параметр администратора Claude Code «Web» переименован в «Cloud sessions», а дублирующая строка Mobile (только для чтения) под ним удалена
- [Claude Tag] Исправлено: рутины, созданные в канале Slack при общеорганизационной установке Enterprise Grid, при запуске не могли читать другие публичные каналы своего рабочего пространства
- [Claude Tag] Исправлено: ссылки «Learn more» у пресетов учётных данных в наборах доступа Claude Tag теперь ведут на страницу настройки учётных данных соответствующего вендора, а не на общую справку по API
- [Claude Tag] Изменён пресет учётных данных Pylon в наборах доступа Claude Tag: администраторы теперь могут указать для него EU-хост Pylon
- [Claude Tag] Исправлены формы учётных данных Google Cloud в наборах доступа Claude Tag: при отклонении файла ключа теперь объясняется причина, сайт и области доступа (scopes) остаются заблокированными, а при отклонённой ротации вставленный ключ сохраняется
- [Claude Tag] Исправлено: в журнале сетевых событий в настройках администратора Claude Tag не отображался статус ответа для запросов через подключения с подписью AWS, клиентскими сертификатами или пользовательским CA
Перевод официального CHANGELOG.md Claude Code. Перевод автоматический, при расхождениях приоритет у оригинала на английском.