claude-code

Claude Code 2.1.260 показывает диффы рядом с чатом

Claude News

claude-code

Anthropic выпустила Claude Code 2.1.260 с панелью диффов, которая открывается сбоку от разговора в полноэкранном режиме и показывает незакоммиченные изменения по мере правок Claude. Панель включается командой /diff, полный список изменений опубликован в примечаниях к релизу на Github. Основной объём релиза приходится на исправления правил доступа, работы с моделями и фоновых сессий.

Коротко

  • Команда /cost и поле prompt_cache в строке состояния теперь называют вероятную причину промаха кэша промпта: изменились описания инструментов или системный промпт, либо сессия простаивала дольше TTL.
  • Правила Edit/Write/Read, в пути которых есть скобки, отбрасывались как невалидные и игнорировались песочницей Bash, из-за чего папки, помеченные как «только для чтения», оставались доступными для записи.
  • С фоновых команд, запущенных субагентами, снят лимит в один час: теперь они работают до завершения или остановки, а /ultrareview ждёт облачное ревью до 45 минут вместо 30.

Основная тяжесть релиза приходится не на новые возможности, а на правила доступа: несколько исправлений касаются случаев, когда запрет фактически не работал или, наоборот, ломал все правки файлов. Для команд, которые полагаются на управляемые настройки и песочницу как на границу безопасности, это выглядит как закрытие расхождения между тем, что написано в конфигурации, и тем, что реально исполняется. Вторая линия изменений, судя по всему, готовит инструмент к длинным сессиям на моделях с контекстом в 1M токенов.

Одно правило с незакрытой скобкой [ ломало все правки файлов ошибкой Invalid regular expression

Правило доступа к файлам с некомпилируемым шаблоном, например с незакрытой [, приводило к тому, что любая правка падала с ошибкой Invalid regular expression. Теперь такое запрещающее правило охраняет ровно тот путь, который в нём написан. Для правил вида Edit(C:\dir\(name)\**), где \( читается как экранированная скобка вместо разделителя пути, ошибка настроек подсказывает однозначное написание.

Проверки Bash автоматически одобряли zsh-команды, прятавшие подстановку команды в присваивании REPORTTIME, REPORTMEMORY или DIRSTACKSIZE; такие команды снова требуют подтверждения. Правила с текстом после закрывающей скобки, например Bash(ls) x, никогда ни с чем не совпадали и молча игнорировались, а теперь помечаются как ошибка настроек.

Glob и Grep проверяли наличие пути на диске до проверки прав; отсутствующий путь сообщается после решения о доступе, как это делает Read. Команды, набранные в bash-режиме (префикс «!»), выполняются вне песочницы даже при sandbox.allowUnsandboxedCommands: false, как в собственном терминале.

Claude Fable 5.1 появилась в выборе /model, а кэш промпта покрыл контекст после результатов инструментов

Выбор модели через /model не показывал Claude Fable 5.1 организациям, которым она доступна: модель принималась только при вводе /model claude-fable-5-1. Кэширование промпта на Claude Fable 5.1 не покрывало контекст, прикреплённый после результатов инструментов, и он пересылался как некэшированный ввод на каждом ходе с вызовом инструмента.

Агенты с model: fable игнорировали тег [1m] в закреплении ANTHROPIC_DEFAULT_FABLE_MODEL и молча работали с окном в 200K токенов. Смена уровня /effort на Claude Fable 5.1 в середине сессии перестала сбрасывать кэш промпта. Автосжатие для моделей с контекстом 1M изменено: сессии Opus и Fable сжимают контекст незадолго до предела в 1M токенов, а восстановительное сжатие на очень больших контекстах не отваливается по таймауту в 10 минут.

Переключение модели оставалось заблокированным до конца сессии после сбоя загрузки хуков плагина; каждое переключение перепроверяет состояние, а отказ называет причину. Remote Control принимал выбор модели с недопустимым именем, теперь такой выбор отклоняется с ошибкой сразу, вместо сбоя на следующем сообщении.

Управляемые настройки не загружались у пользователей claude.ai Enterprise и Team с остаточным API-ключом

Управляемые настройки не применялись у пользователей claude.ai Enterprise и Team, у которых оставался API-ключ от прежнего входа через /login. Команда /status показывала аккаунт claude.ai и настроенный API-ключ так, будто действуют оба; неиспользуемые учётные данные помечаются. Исправлены и записи managed skillOverrides по алиасу встроенного навыка, например checkup для /doctor.

В шлюз Claude apps добавлен параметр oidc.scope_on_refresh для провайдеров, возвращающих id_token при обновлении только при повторном запросе openid, и поддержка новых ключей десктопной политики, включая userPluginMarketplacesEnabled и userPluginUploadsEnabled. Обнаружение моделей Bedrock, подсчёт токенов и вызовы AWS SSO/STS падали с ошибкой unable to get local issuer certificate, когда корпоративный корневой сертификат лежит только в хранилище ОС.

Команда /reload-plugins добавлена в headless-сессии и появилась в списках команд Claude Code Desktop и SDK, а /advisor получил текстовую форму (/advisor, /advisor <model>, /advisor off) для десктопного приложения, Remote Control и сессий с -p и Agent SDK. Claude in Chrome следует административной настройке организации: при её отключении --chrome, /chrome и браузерные инструменты недоступны.

Судьба правила Read() в Bash Изменение из 2.1.259, распространявшее запрещающие правила Read() на аргументы Bash, откачено: под правилом Read(./**/build/**) отклонялась команда npm run build во всех режимах, а конструкции вида cd … && grep запрашивали подтверждение даже в автоматическом режиме. Вернётся ли эта проверка в переработанном виде, в примечаниях к релизу не сказано; сроки следующего обновления там тоже не названы.

Комментарии

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите через Google, чтобы оставить комментарий. Имя и аватар подставятся из вашего профиля Google, а комментарий появится после модерации.

Из Google мы используем только имя и аватар. Почту не сохраняем.