Claude Code · версия 2.1.257
Claude Code 2.1.257: что нового
Claude Code 2.1.257: модель Claude Fable 5.1, настройки формата времени, новые защитные правила авто-режима и множество исправлений агентов, MCP и Remote Control.
Новое 8
- Добавлена модель Claude Fable 5.1 (
claude-fable-5-1), теперь используется как модель Fable по умолчанию: контекст 1M, $10/$50 за Mtok, чтение из кеша — $0.25/Mtok - Добавлены настройки "Time format" (
timeFormat) иtimeZone: 12-часовой формат, 24-часовой, 24-часовой UTC или шаблон strftime для часов в конце хода и временных меток в просмотре транскрипта - В авто-режим добавлено правило Containment Escape: получение облачных metadata-учётных данных, обход egress-ограничений и доступ между тенантами больше не одобряются автоматически, если ваше окружение явно не помечает их как ожидаемые
- Добавлена переменная
CLAUDE_CODE_SUBAGENT_MODEL_FORCE: применяетCLAUDE_CODE_SUBAGENT_MODEL(или основную модель) ко всем субагентам, игнорируя переопределения модели при запуске и в определении агента - Добавлена клавиша
sв/effort, позволяющая изменить уровень усилий только для текущей сессии, как в/model - Добавлено предупреждение в
/doctorоб устаревших файлах-масках песочницы, оставшихся после принудительно завершённой сессии - Добавлен одноразовый запрос в авто-режиме перед первым чтением файла за пределами рабочих директорий, а также возможность блокировать такие чтения (
permissions.blockReadsOutsideWorkingDirectories) - Добавлена поддержка
description, передаваемого шлюзом, для найденных пунктов в списке/model(CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY); у пунктов без описания по-прежнему отображается "From gateway"
Улучшено 23
- Улучшена производительность отрисовки: меньше работы по перерисовке на каждом ходу в длинных диалогах, стриминг больше не замедляется по мере роста ответа, а обновления фоновых агентов не перерисовывают весь экран
- Улучшена отзывчивость поля ввода промпта за счёт уменьшения объёма отрисовки на каждое нажатие клавиши
- Улучшена диагностика policy helper: ошибки обновления теперь видны в
/status, при отказе от диалога managed-настроек выводится причина выхода из Claude Code, а таймауты helper сообщаются именно как таймауты - Улучшена команда
/code-review --comment: теперь она публикует замечания в merge request на GitLab черезglab mr note, а не сообщает, что цель не поддерживается - Улучшены уведомления: запрос MCP elicitation или разрешения, стоящий в очереди под другим диалогом, теперь отправляет уведомление о простое на рабочем столе с той же задержкой, что и видимый запрос
- Улучшен подробный вывод и вывод транскрипта: уведомления о завершении асинхронных хуков, пришедшие одновременно, теперь отображаются в одной строке, а не по строке на каждый хук
- Улучшена команда
claude self-hosted-runner --configure-git: теперь она также включает согласование git push, так что первый push новой ветки из устаревшего клона загружает только новые коммиты, а не всё дерево - Улучшена передача сигналов живости SDK-хостам, пока ответ удерживается keep-alive-сообщениями шлюза, чтобы долгое ожидание при увеличенном
CLAUDE_STREAM_IDLE_TIMEOUT_MSне принималось за зависшую сессию - Улучшены отладочные логи и логи ошибок MCP-подключения и OAuth: учётные данные в URL сервера или заголовках запроса теперь скрываются
- Улучшена команда
/fork: новая фоновая сессия сохраняет кеш промпта исходного разговора, так как инструкции по worktree теперь приходят сообщением, а не изменением системного промпта - Улучшено автодополнение эмодзи: теперь поддерживаются оставшиеся алиасы шорткодов GitHub/Slack (
:satisfied:,:telephone:,:collision:, …) - Изменено поведение
--effort: он снимает ограничение на уровень усилий по умолчанию для новой модели только в текущей сессии, а не навсегда; уровень, выбранный на claude.ai для сессии Remote Control, теперь применяется и во время этого ограничения - Изменено поведение
policyHelperв MDM илиmanaged-settings.json, перекрытого при запуске кешированными серверными управляемыми настройками: он запускается (или завершается) сразу, как только при получении настроек выясняется, что они удалены, а не при следующем запуске - Изменена работа
managedSourcesBehavior: "merge": значенияsandbox.credentials.awsPairsиsandbox.ripgrepтеперь берутся целиком из управляемого источника с наивысшим приоритетом, который их задаёт, а не объединяются из значений разных источников - Изменено обнаружение моделей через шлюз (
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1): оно выполняется, даже если заданCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, поскольку обращается только к вашему шлюзу - Изменено поведение
claude --resume <session-id> --bg: если сессию сейчас никто не выполняет, она продолжается под своим же ID, а не молча запускается её копия; создание копии теперь сопровождается уведомлением - Изменена навигация по истории
/btw: вместо←/→используютсяShift+←/Shift+→(или[/]) — так можно переходить по недавним побочным вопросам и возвращаться к актуальному ответу - Изменено:
defaultMode: "bypassPermissions"в.claude/settings.jsonили.claude/settings.local.jsonтеперь игнорируется, как и"auto"; задавайте его в пользовательских или управляемых настройках либо передавайте--permission-mode - Изменено:
fableиbestв сессиях Claude apps gateway пока по-прежнему указывают на Fable 5, так как шлюзы, ещё не настроенные под Fable 5.1, его отклоняют; чтобы использовать Fable 5.1, выберите его в/model - Изменено:
--add-dir,/add-dirиadditionalDirectoriesтеперь отказываются работать с сетевыми путями (UNC-шары, автомонтирования/net/<host>) и выводят сообщение, не обращаясь к ним; в Windows используйте букву подключённого диска - Изменено: запросы входа и обновления токена в Claude apps gateway теперь проверяют закреплённый TLS-сертификат шлюза, как это уже делает получение управляемых настроек
- Изменено для облачных сессий Cowork и claude.ai: чтение артефакта, который вам не принадлежит, теперь всегда требует подтверждения, даже в auto-режиме
- Удалено объяснение команды по Ctrl+E в запросах разрешений для Bash и PowerShell
Исправлено 63
- Исправлено: настройки из папки
.claude/, созданной после запуска, не подхватывались до перезапуска - Исправлено: сессии, запущенные из agent view, открытого через
←, всегда стартовали в режиме разрешений исходной сессии и игнорировалиdefaultModeцелевой директории иpermissionModeагента - Исправлено: переназначения Ctrl+G в
keybindings.jsonигнорировались вclaude agents; Ctrl+S / Ctrl+T теперь можно переназначить через новый контекстAgents - Исправлено: фоновые сессии не запускались при самообновлении npm-установок на macOS, а также на Windows, когда устаревший lock-файл демона указывал на переиспользованный id процесса
- Исправлено: спиннер работы останавливался, пока ответ стримился за панелью слеш-команды
- Исправлено: поле
detailвstate.jsonфоновой сессии повторяло её собственный промпт запуска после запланированного пробуждения - Исправлено: в
claude agentsфоновая сессия, которой вы отправили новый промпт, оставалась погребённой в Completed после повторного завершения; теперь Completed сортируется по времени последнего завершения - Исправлено:
claude --bgиз только что удалённой директории сообщал "backgrounded" и оставлял строку упавшей сессии; теперь выводится причина и команда завершается с кодом 1 - Исправлено: при подключении Remote Control посреди сессии повторно отправлялось определение инструмента Bash, что приводило к промаху кеша промпта
- Исправлено: дважды указанный пользовательский заголовок
Authorizationпереопределял настроенные учётные данные в Bedrock, Mantle, Vertex и WIF, а мастер настройки Vertex подхватывал оставшийся профиль Anthropic из~/.config/anthropic - Исправлено: шлюз приложений Claude отправлял лишние хостовые заголовки
Authorizationили заголовки профиля в Foundry, Vertex и Bedrock, а апстримы Foundry Entra ID не запускались при заданномANTHROPIC_FOUNDRY_API_KEY - Исправлено: оставшийся API-ключ или токен аутентификации Anthropic отправлялся вместе с ключом подписки Foundry в режиме API-ключа
- Исправлено: рутины
/schedule, промпт которых сохранялся без роли сообщения, запускались и им нечего было выполнять - Исправлено:
claude agentsне сообщал, что фоновая сессия ждёт вашего одобрения сообщения от другой сессии, и не показывал, кто его отправил - Исправлено: промпт, отложенный через Ctrl+S внутри открытой фоновой сессии, терялся, когда сессия переходила в простой или останавливалась и затем открывалась снова
- Исправлено: настройки телеметрии (OTEL), переданные через server-managed settings, игнорировались при «тёплых» запусках, в том числе в Code-сессиях десктопного приложения
- Исправлено: запрос разрешения от тиммейта обрабатывался дважды, когда запись в почтовый ящик лидера была кратковременно заблокирована
- Исправлено: под выполняющимся ходом появлялась фантомная дублирующая строка слеш-команды, пока стримился автоматически продолженный ответ команды
- Исправлено: значения
timeoutMsиrefreshIntervalMsвpolicyHelperвыше максимума таймера (2147483647) вызывали сбои или перезапуск каждую миллисекунду; теперь они ограничиваются максимумом - Исправлено: счётчик токенов замирал или еле двигался после переключения на транскрипт другого субагента; теперь счётчики фоновых субагентов и тиммейтов обновляются в реальном времени во время стриминга ответа
- Исправлено: сетевые хосты песочницы с точкой в конце (
example.com.): запись вdeniedDomainsне блокировала такой хост внутри песочницы, а «больше не спрашивать» для него продолжало вызывать запросы - Исправлено: отклонение запроса согласия Remote Control (Esc или
nвclaude remote-control) засчитывалось как согласие, и следующий запрос подключался без вопроса - Исправлено:
/mcpпри переподключении и включении всё ещё подключал MCP-сервер из файла настроек, который управляемый список разрешений/запретов MCP илиstrictPluginOnlyCustomization, загруженные после запуска, должны блокировать - Исправлено:
claude mcp removeоставлял сохранённые OAuth-учётные данные удалённого сервера, когдаstrictPluginOnlyCustomizationограничивает MCP серверами только из плагинов - Исправлено: сессии Remote Control (
claude remote-control), запущенные из приложения Claude, игнорировали выбранную модель и работали на модели по умолчанию на машине - Исправлено:
--disallowedToolsи правила запрета сессии отбрасывались после первой перезагрузки настроек при включённомallowManagedPermissionRulesOnly - Исправлено:
--resumeпоказывал фоновый диалог дважды, а--continueоткрывал его зависшую копию до перевода в фон; теперь--continueтакже открывает завершённые фоновые сессии - Исправлено: в полноэкранном режиме нельзя было кликом раскрыть вывод shell-команды
! - Исправлено: фоновые сессии, продолжавшие работать на старом бинарнике Claude Code, накапливались при автообновлениях вместо того, чтобы завершаться
- Исправлено:
claude agents --jsonненадолго переводил терминал в raw-режим и при выходе сбрасывал настройки терминала, установленные другой программой - Исправлено: сессии со стилем вывода Proactive зацикливались, выдавая пустые сообщения и повторно читая логи, вместо ожидания, пока запущенная ими фоновая команда или Monitor ещё работает
- Исправлено: субагенты останавливались, когда ответ обрывался посреди стрима из-за сна компьютера, разрыва соединения или ошибки сервера; теперь они автоматически продолжают работу, а не завершаются с неполным ответом
- Исправлено:
←ничего не делала в панели/btwвнутри сессииclaude agents. Теперь она возвращает к списку агентов (даже посреди ответа), а при повторном открытии сессии панель восстанавливается - Исправлено: в сессиях с заданной моделью-advisor фоновые запросы (сжатие контекста,
/recap, подсказки промпта) не попадали в кэш промптов и каждый раз заново отправляли весь диалог без кэша - Исправлено:
claude -pзавершался примерно через 5 секунд после финального результата, хотя запущенный моделью Monitor всё ещё работал. Теперь он ждёт, пока наблюдение сработает или истечёт таймаут - Исправлено: правило
permissions.askпропускалось в авто-режиме, если подходящая команда выполнялась внутри составной команды или subshell, и команда запускалась без запроса подтверждения - Исправлено: плагины могли читать файлы за пределами своей директории через объявленный путь к команде, агенту, скиллу, хукам или другому компоненту, являющийся симлинком. Такие пути теперь отклоняются с ошибкой
- Исправлено:
/add-dirотклонял директорию внутри текущей рабочей директории. Теперь он загружает скиллы, команды и агентов из неё так же, как--add-dirпри запуске - Исправлено: главному агенту не сообщалось о возобновлении субагента, которого вы остановили из просмотра его транскрипта
- Исправлено: падение при вставке текста с ANSI-цветами (например, лога CI) в диалоги вроде
/feedback - Исправлено:
claude mcp add/removeзависал или исчерпывал память, если.mcp.jsonпроекта является FIFO или симлинком на файл устройства. Теперь команда быстро завершается с понятным сообщением о том, что делать - Исправлено: неограниченный рост памяти при подаче не-JSONL данных в
claude -p --input-format stream-json. Теперь команда быстро завершается с понятной ошибкой - Исправлено: при переводе хода в фон (
←или Ctrl+B) во время работы субагента или другого инструмента фоновая сессия иногда считала этот инструмент отклонённым вместо того, чтобы запустить его заново - Исправлено: deny-правила
Read()/Edit()для Bash не применялись к редиректам< fileи к читающим командам вродеtacиegrep. Теперь deny-правило на любой аргумент или цель редиректа блокирует команду - Исправлено: возобновление субагента или отправка ему сообщения завершались ошибкой «No transcript found», если транскрипт вырос больше 5 МБ (например, после чтения множества изображений)
- Исправлено: сессии с изоляцией в worktree отказывались выполнять циклы Bash, чтение
$VAR,"$(…)"и heredoc, не связанные с git, ссылаясь на то, что их «слишком сложно проверить на то, что они остаются внутри worktree» - Исправлено:
/modelи/effortпоказывали предупреждение о кэше промптов после отката диалога до пустого состояния - Исправлено: промахи кэша промптов на каждом ходу в длинных сессиях с большим количеством скриншотов после превышения лимита размера изображений на запрос
- Исправлено: в diff-просмотре запроса разрешения на Edit эмодзи и символы из нескольких кодпоинтов отображались с неверной шириной
- Исправлено: ошибки подключения к MCP-серверу по WebSocket логировались как «[object ErrorEvent]» вместо настоящей ошибки
- Исправлено: фоновые сессии не открывались с ошибкой «Couldn't start the background service», пока другой процесс Claude Code скачивал обновление через npm. Теперь запуск дожидается окончания загрузки
- Исправлено: фоновые команды, отсоединившиеся от своей оболочки (например, под
timeoutилиsetsid), продолжали работать после остановки задачи или выхода из Claude Code - Исправлено: Claude не получал уведомления, когда вы останавливали фоновую команду из панели задач или через подключённый клиент
- Исправлено: при остановке фонового субагента его мониторы продолжали работать
- Исправлено: git-команды в песочнице внутри связанного worktree теряли доступ на запись к общей директории
.gitрепозитория послеcdв поддиректорию - Исправлено: запросы Bedrock и Bedrock Mantle «замолкали» во время долгих фаз скрытого размышления на Opus 4.7 и новее, из-за чего таймауты простоя обрывали соединение. Теперь в стриме передаются события прогресса
- Исправлено: запуск Claude Code после того, как шлюз Claude apps истёк или отозвал вашу сессию. Теперь выводится сообщение о завершении сессии и предлагается
/loginвместо сообщения о сетевой ошибке - Исправлено: облачные сессии теряли git/GitHub-учётные данные до конца сессии, если сетевой прокси сессии не запускался при старте. Теперь запуск повторяется в фоне, и доступ восстанавливается
- Исправлено: после прерванного запуска фонового демона в системной временной директории оставались папки
cc-daemon-*. Теперь их удаляет очистка поcleanupPeriodDays - Исправлено: проверки разрешений Bash автоматически одобряли некоторые условные выражения
[[ ]], которые zsh разбирает иначе, чем bash. Теперь для таких команд запрашивается подтверждение - Исправлено: диалог одобрения managed-настроек показывал общее предупреждение вместо формулировки про телеметрию, если настройки также отключали детальную трассировку или логирование тел API-запросов либо включали экспорт трассировок
- Исправлено: участники agent-team в панелях tmux/iTerm2 иногда оставались открытыми после подтверждения запроса на завершение
- Исправлено: беспарольный вход через Console («Sign in with your Console account») не применял серверные настройки вашей организации, а
/statusне показывал Organization для такого входа
Другое 10
- [VSCode] Добавлены сворачиваемые заголовки разделов ACCOUNT & USAGE и SESSION MANAGER в панель списка сессий: с email аккаунта, индикатором использования и ссылкой View details, открывающей диалог использования
- [VSCode] Добавлена плашка модели в футер поля ввода: показывает текущую модель и открывает выбор модели со строкой Effort и страницей «More models»
- [VSCode] Добавлен переключатель сворачивания для раздела Ungrouped в списке сессий
- [VSCode] Добавлен выбор стиля вывода в меню команд, включая пользовательские стили
- [VSCode] Исправлено: в развёртываниях со сторонними провайдерами (Bedrock, Vertex и др.) по-прежнему показывались функции только для claude.ai (удалённые сессии, диктовка, использование) и выполнялись обращения к claude.ai по оставшемуся логину
- [VSCode] Исправлено: индикатор использования в панели списка сессий оставался пустым после загрузки панели; теперь сразу показывается последнее известное значение
- [VSCode] Исправлено: переключатель «Enable Remote Control for all sessions» теперь применяется и к уже открытым сессиям, а не только к новым
- [VSCode] Исправлены объявления для скринридеров: управляющий символ перед блоком кода или заголовком больше не приводит к пропуску видимых строк, а маркеры жирного шрифта, охватывающие заголовок, больше не сопоставляются неверно
- [VSCode] Изменено меню действий: слеш-команды теперь показываются в диалоге «Slash commands» с фильтром, а не списком в самом меню; выбранная команда сразу запускается; такой же фильтр появился в диалоге серверов MCP
- [VSCode] Изменено: «Delete session» заменено на «Archive session» — архивные сессии перемещаются в сворачиваемую группу «Archived sessions» внизу списка, где доступно действие Unarchive
Перевод официального CHANGELOG.md Claude Code. Перевод автоматический, при расхождениях приоритет у оригинала на английском.