claude-code

Claude Code 2.1.259 раздаёт MCP-серверы всей организации

Claude News

claude-code

Anthropic выпустила Claude Code 2.1.259 с настройкой managedMcpServers: администратор организации задаёт список HTTP/SSE MCP-серверов, который получают все пользователи, в том же формате записи, что и в .mcp.json. Записи, где указана команда для локального запуска, при этом пропускаются. Изменения перечислены в примечаниях к релизу на Github.

Коротко

  • Правила фильтрации изменились: allowedMcpServers ограничивает только серверы, которые добавляют сами пользователи, поэтому сервер из managed-mcp.json после обновления загрузится, и отключать его придётся через deniedMcpServers.
  • Флаг --permission-prompts none предназначен для headless-хостов без оператора: любой запрос на подтверждение отклоняется автоматически, а активный режим разрешений, включая auto, продолжает принимать решения по остальным операциям.
  • Параллельные сессии перестали молча перезаписывать правки друг друга в ~/.claude.json: доверие к рабочему каталогу не сбрасывается, а состояние MCP и проектов не теряется при одновременном запуске многих сессий.

Выпуск заметно смещён в сторону администраторов: раздача MCP-серверов из управляемых настроек и отказ запускаться при нечитаемом файле политик закрывают, судя по всему, один и тот же сценарий, когда правила организации молча не применялись на отдельной машине. Изменившийся смысл allowedMcpServers при этом делает обновление операцией с побочным эффектом: конфигурации, где сервер из managed-mcp.json отсекался фильтром разрешений, после установки версии придётся править вручную, иначе сервер окажется доступен пользователям.

Claude Code отказывается запускаться, если управляемый файл настроек не разбирается

Если управляемый файл настроек, drop-in, plist из MDM или значение в HKLM не удаётся разобрать, Claude Code отказывается стартовать и называет источник проблемы. Раньше такие настройки молча оставались неприменёнными. Отдельно исправлен forceRemoteSettingsRefresh: параметр игнорировался при старте, если политику уже успел применить помощник, настроенный через MDM или файл управляемых настроек.

Фоновая проверка подключения к GitHub, которая у пользователей claude.ai выполнялась при каждом запуске, запоминает результат между запусками. Метрики и события OpenTelemetry из облачных сессий перестали терять атрибуты user.email, organization.id и user.account_uuid. Команда claude plugin validate получила флаг --json и выдаёт отчёт о проверке в машиночитаемом виде.

Флаг --permission-prompts none предназначен для хостов, где подтверждать действия некому, и не отменяет режим разрешений: auto продолжает решать сам по каждому вызову. Настройка CLAUDE_CODE_MAX_CONTEXT_TOKENS перестала игнорироваться для идентификаторов моделей в стиле Vertex с суффиксом @YYYYMMDD, если версия модели незнакома Claude Code.

Правила запрета Read() в Bash охватили значения опций и составные команды

Правила запрета для Read() в Bash не срабатывали, когда файл передавался значением опции (--ignore-revs-file=.env, -f.env, @file), операндом git diff и git grep или в составной команде вида cd DIR && cat FILE. Теперь такие случаи учитываются, а grep -r и cp -r по каталогу с запрещённым файлом вызывают запрос.

Изоляция worktree перестала отклонять привычные циклы Bash, конвейеры с xargs и команды, обёрнутые в лаунчеры, которые не могут добраться до основного checkout. Кроме того, снято отклонение созданных хуками worktree на машинах, где git rev-parse завершается сообщением, отличным от not a git repository.

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

Stop в сессиях с удалённым управлением не останавливал фоновых агентов

Stop в сессиях с удалённым управлением не останавливал фоновых агентов и workflow. Снятые задачи остаются видимыми и доступными для повторной остановки, пока их процессы не завершатся. Возобновление запуска workflow, пока предыдущая остановленная копия ещё завершалась, могло приводить к дублированию агентов.

Флаг --resume падал, а --continue открывал пустой разговор, если в сохранённой сессии была запись вложения без содержимого. Разговор, у которого один раз отклонили размышления, получал отказ и на всех последующих ходах. Кеш промпта переставал действовать при обновлении OAuth-токена в сессиях с отключённой телеметрией.

Режим auto запускал ход на модели, которую не поддерживает, если во frontmatter команды или навыка была указана model:, а в интерактивных сессиях этот параметр вовсе игнорировался; теперь ход остаётся на модели сессии. MCP-серверы, которые отключались во время перечисления их инструментов при старте, отображались подключёнными без инструментов вместо сообщения об ошибке.

Насколько далеко зашла поддержка GitLab Claude Code распознаёт glab mr create, merge, close, reopen, note и update, поэтому merge request отображается как MR !N в свёрнутой сводке инструмента и обновляет значок MR в футере. Команда /install-github-app в репозитории GitLab объясняет, что работает только с GitHub, и отсылает к документации по GitLab CI/CD. Об аналоге приложения GitHub для GitLab в примечаниях к релизу ничего не сказано.

Комментарии

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

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

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

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