SpyBara
Go Premium

auto-mode-config.md 2026-09-09 22:58 UTC to 2026-09-10 23:00 UTC

This page contains 188 additions and 55 deletions.

2026
Thu 10 23:00 Sat 12 03:02 Fri 18 23:58

Настройка режима auto

Сообщите классификатору режима auto, какие репозитории, бакеты и домены доверяет ваша организация. Установите контекст окружения, переопределите правила блокировки и разрешения по умолчанию и проверьте вашу эффективную конфигурацию с помощью подкоманд CLI auto-mode.

Режим auto позволяет Claude Code работать без обычных запросов разрешений, маршрутизируя вызовы инструментов через классификатор, который блокирует все необратимое, деструктивное или направленное вне вашего окружения. Правила отказа и явного запроса оцениваются перед классификатором и по-прежнему блокируют или запрашивают. Используйте блок настроек autoMode, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.

По умолчанию классификатор доверяет только рабочему каталогу и настроенным удаленным репозиториям текущего репозитория. Действия, такие как отправка в исходный контроль вашей компании или запись в командный облачный бакет, блокируются до тех пор, пока вы не добавите их в autoMode.environment.

Для информации о том, как сеансы переходят в режим auto и что классификатор блокирует по умолчанию, см. режим auto на странице Permission modes. Эта страница является справочником по конфигурации.

На этой странице рассматривается, как:

Общие границы

Автоматический режим позволяет отправлять изменения в любую ветку репозитория, над которым вы работаете, включая ветку по умолчанию, и создавать pull request по умолчанию. Ветка, не являющаяся веткой по умолчанию, имя которой обозначает её как цель развёртывания или публикации, такая как production, release или gh-pages, не охватывается этим значением по умолчанию: классификатор оценивает отправку туда по собственным критериям, включая её как развёртывание в production. Содержимое отправки также по-прежнему проверяется, поэтому force push, секрет, попадающий в коммит, или изменение, которое отправило бы секреты за пределы репозитория при запуске CI или конвейера развёртывания, остаётся заблокированным.

Если вы хотите контрольную точку человека перед командами push и pull request от Claude, добавьте правила разрешений: рецепты ниже сохраняют автоматический режим включённым для всего остального.

Добавить контрольную точку человека

Наиболее прямой механизм — это permissions.ask. Правила ask с областью действия контента, подобные приведённым ниже, оцениваются перед классификатором и всегда вызывают запрос разрешения, даже в автоматическом режиме, потому что явное правило ask — это ваше заявленное намерение получить запрос для этого действия. Добавьте правила в ваши параметры:

{
  "permissions": {
    "ask": [
      "Bash(git push *)",
      "Bash(gh pr create *)"
    ]
  }
}

Эти правила соответствуют командам, которые начинаются с git push или gh pr create. Push, который Claude пишет другим способом, например git -C <dir> push или git -c <key>=<value> push, не соответствует правилу, поэтому он не проверяется. Для контрольной точки, которая проверяет полный текст команды, добавьте hook PreToolUse.

Выберите механизм, который соответствует тому, насколько строгой должна быть граница:

Граница Механизм Поведение в автоматическом режиме
Запрос перед действием permissions.ask Всегда запрашивает для команды, которая соответствует правилу с областью действия контента, подобному рецепту выше. Классификатор не может автоматически одобрить соответствующее действие.
Никогда не запускать действие permissions.deny Блокирует перед консультацией классификатора. Ни классификатор, ни намерение пользователя не могут переопределить это.
Одноразовая граница для этого сеанса Укажите это в разговоре, например "не отправляй, пока я не проверю" Классификатор блокирует соответствующие действия, но граница может быть потеряна, если компактирование контекста удалит сообщение, в котором она была указана. Используйте правило ask или deny для гарантии долговечности.

Где классификатор читает конфигурацию

Классификатор читает то же содержимое CLAUDE.md, которое загружает сам Claude, поэтому инструкция вроде "никогда не делайте force push" в файле CLAUDE.md вашего проекта управляет как Claude, так и классификатором одновременно. Начните с этого файла для соглашений проекта и правил поведения.

Для правил, которые применяются ко всем проектам, таких как доверенная инфраструктура или организационные правила запрета, используйте блок настроек autoMode. Классификатор читает autoMode из следующих областей:

Область Файл Используется для
Один разработчик ~/.claude/settings.json Личная доверенная инфраструктура
Организация Управляемые настройки Доверенная инфраструктура, распределённая всем разработчикам
Флаг --settings или Agent SDK Встроенный JSON Переопределения для каждого вызова для автоматизации

Классификатор не читает autoMode из настроек проекта в .claude/settings.json или .claude/settings.local.json. Оба файла находятся в директории репозитория, поэтому проверенный репозиторий или шаг сборки могли бы иначе внедрить свои собственные правила разрешения. До версии 2.1.207 классификатор также читал .claude/settings.local.json; переместите любой блок autoMode из этого файла в ~/.claude/settings.json. Исключение .claude/settings.local.json также закрывает случай, когда репозиторий фиксирует файл или локальный инструмент или шаг сборки записывает его.

Записи из каждой области объединяются. Разработчик может расширить environment, allow, soft_deny и hard_deny личными записями, но не может удалить записи, которые предоставляют управляемые настройки. Поскольку правила разрешения действуют как исключения из правил мягкой блокировки внутри классификатора, запись allow, добавленная разработчиком, может переопределить запись организационного soft_deny: комбинация является аддитивной, а не жёсткой границей политики.

Определение доверенной инфраструктуры

Для большинства организаций autoMode.environment — это единственное поле, которое вам нужно установить. Оно сообщает классификатору, какие репозитории, бакеты и домены являются доверенными: классификатор использует это для определения того, что означает "внешний", поэтому любой пункт назначения, не указанный в списке, является потенциальной целью утечки данных.

Начиная с Claude Code v2.1.198, claude auto-mode defaults выводит три вида записей окружения. Версии до v2.1.195 выводят только первые пять слотов доверия.

  • Context slots: описывают вашу организацию, стек и позицию безопасности, чтобы классификатор читал другие правила в вашем контексте. Каждый по умолчанию имеет значение None configured или консервативное предположение, указанное рядом:
    • Organization
    • Primary use of Claude Code: по умолчанию разработка программного обеспечения
    • Cloud provider(s)
    • Repository visibility: репозиторий считается приватным, если только его удаленный хост и имя не указывают иное или проверка видимости ранее в разговоре, который читает классификатор, не показывает, что он публичный. Классификатор читает ваши сообщения и команды, которые выполняет Claude, но не их вывод, поэтому доказательство должно быть чем-то, что он может прочитать, например вашим собственным сообщением, в котором репозиторий назван публичным; вывод gh repo view сам по себе не достигает его. Проверка доказательств из стенограммы требует Claude Code v2.1.200 или позже
    • Internal sharing / snippet hosting: публичные сервисы вставок и gist рассматриваются как находящиеся вне границы доверия, пока вы не назовете один из них
    • Org-specific CLIs
    • Secrets management
    • CI/CD deploy targets
    • Network posture
    • Host containment: по умолчанию обычная машина разработчика или CI runner с открытым интернетом. Если Claude Code работает в контейнере, виртуальной машине или поде с allow-list исходящих соединений или соседями, которых он не должен трогать, назовите разрешенные хосты, должна ли быть доступна конечная точка метаданных облака и какой облачный проект, кластер или реестр использует задача и под какой идентичностью. Пока эта запись не назовет эту идентичность, классификатор блокирует запросы на учетные данные самого хоста. Требует Claude Code v2.1.257 или позже
    • Protected deployment namespaces / environments: возвращается к эвристике Sensitive remote targets, пока вы их не назовете
    • Data retention / declassification
  • Trust slots: назовите то, что классификатор рассматривает как находящееся внутри вашей границы. Слоты — это Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services и Internal package registry. Записи репозитория и управления исходным кодом по умолчанию указывают на рабочий репозиторий и его настроенные удаленные хосты. Каждый другой слот доверия по умолчанию имеет значение None configured, поэтому ничего больше не является доверенным, пока вы это не добавите. Видимость репозитория охватывает только конфиденциальный материал: приватный репозиторий является приемлемым пунктом назначения для конфиденциального материала, но сделание репозитория приватным никогда не очищает секреты или личные или доверенные данные в нем, и классификатор рассматривает содержимое, перенесенное, переориентированное или впервые прочитанное из-за пределов рабочего репозитория, как не собственную работу этого репозитория. Это определение области требует Claude Code v2.1.203 или позже.
  • Sensitivity slots: назовите то, что защитные правила рассматривают как высокий риск. Слоты — это Sensitive data locations & audiences, Sensitive remote targets и Protected IaC scopes. Каждый по умолчанию использует широкую эвристику, например рассматривая любой хост или пространство имен, чье имя содержит prod или production, как чувствительный удаленный целевой объект, поэтому защитные правила активны до того, как вы что-либо настроите. Именование конкретных целей в слоте чувствительности заставляет эти правила применяться к названным целям вместо эвристики.

Чтобы добавить свои собственные записи наряду с значениями по умолчанию, включите буквальную строку "$defaults" в массив. Записи по умолчанию вставляются в эту позицию, поэтому ваши пользовательские записи могут идти до или после них.

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

{
  "autoMode": {
    "environment": [
      "$defaults",
      "Source control: github.example.com/acme-corp and all repos under it",
      "Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
      "Trusted internal domains: *.corp.example.com, api.internal.example.com",
      "Key internal services: Jenkins at ci.example.com, Artifactory at artifacts.example.com"
    ]
  }
}

После сохранения параметров запустите claude auto-mode config, чтобы подтвердить, что эффективные правила включают ваши записи.

Записи — это проза, а не regex или шаблоны инструментов. Классификатор читает их как правила на естественном языке. Пишите их так, как вы описали бы вашу инфраструктуру новому инженеру. Тщательный раздел окружения охватывает:

  • Organization: название вашей компании и для чего в основном используется Claude Code, например разработка программного обеспечения, автоматизация инфраструктуры или инженерия данных
  • Source control: каждая организация GitHub, GitLab или Bitbucket, в которую разработчики отправляют код
  • Cloud providers and trusted buckets: имена бакетов или префиксы, из которых Claude должен иметь возможность читать и писать
  • Trusted internal domains: имена хостов для API, панелей управления и сервисов внутри вашей сети, например *.internal.example.com
  • Key internal services: CI, реестры артефактов, внутренние индексы пакетов, инструменты для работы с инцидентами
  • Internal package registry: приватный npm, PyPI или другой реестр, через который должны маршрутизироваться установки, поэтому установки, которые обходят его для публичного реестра, блокируются
  • Sensitive data locations & audiences: бакеты, базы данных или пути, которые содержат личные данные, конфиденциальные бизнес-данные, учетные данные, регулируемые данные или аналогичный чувствительный материал, и аудитории, с которыми данные в каждом месте могут быть общими, поэтому классификатор защищает эти места вместо угадывания из содержимого. Claude Code v2.1.195 через v2.1.197 называют эту запись PII / regulated-data locations и охватывают только места, которые содержат личные или регулируемые данные, без измерения аудитории
  • Sensitive remote targets: пространства имен, хосты или контейнеры, которые считаются производством, поэтому удаленные оболочки и переадресация портов в них требуют вашего явного одобрения
  • Protected IaC scopes: ресурсы инфраструктуры, применение или уничтожение которых всегда должно требовать от вас назвать изменение
  • Additional context: ограничения регулируемой отрасли, многотенантная инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное

Записи Internal package registry, Sensitive data locations & audiences, Sensitive remote targets и Protected IaC scopes требуют Claude Code v2.1.195 или позже. Более ранние версии по-прежнему читают их как простой контекст, но не имеют встроенных правил, которые их нацеливают.

Полезный начальный шаблон: заполните поля в скобках и удалите любые строки, которые не применяются.

{
  "autoMode": {
    "environment": [
      "$defaults",
      "Organization: {COMPANY_NAME}. Primary use: {PRIMARY_USE_CASE, e.g. software development, infrastructure automation}",
      "Source control: {SOURCE_CONTROL, e.g. GitHub org github.example.com/acme-corp}",
      "Cloud provider(s): {CLOUD_PROVIDERS, e.g. AWS, GCP, Azure}",
      "Trusted cloud buckets: {TRUSTED_BUCKETS, e.g. s3://acme-builds, gs://acme-datasets}",
      "Trusted internal domains: {TRUSTED_DOMAINS, e.g. *.internal.example.com, api.example.com}",
      "Key internal services: {SERVICES, e.g. Jenkins at ci.example.com, Artifactory at artifacts.example.com}",
      "Additional context: {EXTRA, e.g. regulated industry, multi-tenant infrastructure, compliance requirements}"
    ]
  }
}

Чем более конкретный контекст вы предоставляете, тем лучше классификатор может различать обычные внутренние операции и попытки утечки данных.

Вам не нужно заполнять все сразу. Разумный план развертывания: начните с значений по умолчанию и добавьте организацию управления исходным кодом и ключевые внутренние сервисы, что решает наиболее распространенные ложные срабатывания, такие как отправка в собственные репозитории. Затем добавьте доверенные домены и облачные бакеты. Заполните остальное по мере возникновения блокировок.

Генерирование записей окружения с помощью `/auto-mode-setup`

Запустите /auto-mode-setup, чтобы Claude Code создал черновик записей autoMode.environment и иногда также записей правил на основе вашего проекта и недавних сеансов в нём. Если вы примете черновик, Claude Code запишет его в ~/.claude/settings.json.

Что читает `/auto-mode-setup`

Если ~/.claude/settings.json уже содержит записи autoMode, Claude Code начинает с вопроса о том, добавить ли записи в ваш список окружения или заменить его, и в любом случае сохраняет написанные вами правила. Затем Claude Code спрашивает, как вы используете этот проект, и предлагает два необязательных сканирования перед тем, как начать сканирование. При сканировании Claude Code всегда читает эти источники:

  • CLAUDE.md, README.md, файлы конфигурации и git remotes вашего проекта
  • Ваши параметры autoMode и permissions.allow
  • Имена хостов, бакетов и команд из команд, которые Claude запустил в ваших недавних сеансах в этом проекте, никогда ваши сообщения

Два необязательных сканирования добавляют по одному источнику каждое:

  • Первое слово каждой команды в истории вашей оболочки
  • Удалённые хосты и имена репозиториев в вашем домашнем каталоге

Проверка и сохранение черновика

Claude Code сканирует в фоновом режиме, затем показывает вам черновик. Вы принимаете или отклоняете его целиком, поэтому отредактируйте ~/.claude/settings.json впоследствии, чтобы отрегулировать отдельные записи. Когда вы принимаете, Claude Code записывает черновик и согласовывает его с параметрами, которые у вас уже есть:

  • Claude Code записывает список environment без "$defaults", потому что черновик указывает встроенные записи, которые он оставил без изменений
  • Claude Code включает "$defaults" в каждый из списков allow, soft_deny и hard_deny, к которым черновик добавляет записи, если вы уже не написали список allow без него, поэтому встроенные правила, которые вы не заменили, остаются в силе
  • После сохранения Claude Code предлагает удалить правила permissions.allow в ~/.claude/settings.json, которые автоматический режим игнорирует, такие как Bash(*), или которые автоматически одобряют деструктивные команды

Затем запустите claude auto-mode config, чтобы увидеть эффективный результат.

Отключение `/auto-mode-setup`

Когда автоматический режим заблокировал несколько действий и у вас всё ещё нет записей autoMode.environment, Claude Code показывает диалоговое окно с названием "Teach auto mode about your environment?" в конце хода и предлагает запустить /auto-mode-setup для вас. Чтобы остановить предложение, но сохранить команду, выберите Don't show again в этом диалоговом окне.

Чтобы отключить как команду, так и предложение, добавьте эту запись skillOverrides в ~/.claude/settings.json:

{
  "skillOverrides": {
    "auto-mode-setup": "off"
  }
}

/auto-mode-setup — это встроенная команда, а не bundled skill, поэтому эта запись skillOverrides всё ещё применяется к ней, но disableBundledSkills не отключает её.

Переопределить правила блокировки и разрешения

Три дополнительных поля позволяют вам заменить встроенные списки правил классификатора:

  • autoMode.hard_deny: безусловные границы безопасности
  • autoMode.soft_deny: деструктивные действия, которые намерение пользователя может отменить
  • autoMode.allow: исключения из правил мягкой блокировки

Каждое из них — это массив описаний на прозе, читаемых как правила на естественном языке. Для инструментов на основе паттернов с жесткими блокировками, которые работают перед классификатором, используйте permissions.deny.

Внутри классификатора приоритет работает в четыре уровня:

  • Правила hard_deny блокируют безусловно. Намерение пользователя и исключения allow не применяются.
  • Правила soft_deny блокируют далее. Намерение пользователя и исключения allow могут переопределить эти правила.
  • Правила allow затем переопределяют совпадающие правила soft_deny как исключения.
  • Явное намерение пользователя переопределяет оставшиеся мягкие блокировки: если сообщение пользователя прямо и конкретно описывает точное действие, которое Claude собирается выполнить, классификатор разрешает его даже когда совпадает правило soft_deny.

Общие запросы не считаются явным намерением. Просьба Claude "очистить репо" не авторизует force-push, но просьба Claude "force-push эту ветку" авторизует.

Чтобы ослабить, добавьте в allow, когда классификатор повторно помечает обычный паттерн, который исключения по умолчанию не охватывают. Чтобы усилить, добавьте в soft_deny для деструктивных рисков, специфичных для вашего окружения, которые пропускают значения по умолчанию, или в hard_deny для границ безопасности, которые никогда не должны быть пересечены.

Чтобы сохранить встроенные правила при добавлении своих собственных, включите буквальную строку "$defaults" в массив. Правила по умолчанию вставляются в эту позицию, поэтому ваши пользовательские правила могут идти до или после них, и вы продолжаете наследовать обновления по мере изменения встроенного списка в разных версиях.

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

{
  "autoMode": {
    "environment": [
      "$defaults",
      "Source control: github.example.com/acme-corp and all repos under it"
    ],
    "allow": [
      "$defaults",
      "Deploying to the staging namespace is allowed: staging is isolated from production and resets nightly",
      "Writing to s3://acme-scratch/ is allowed: ephemeral bucket with a 7-day lifecycle policy"
    ],
    "soft_deny": [
      "$defaults",
      "Never run database migrations outside the migrations CLI, even against dev databases",
      "Never modify files under infra/terraform/prod/: production infrastructure changes go through the review workflow"
    ],
    "hard_deny": [
      "$defaults",
      "Never send repository contents to third-party code-review APIs"
    ]
  }
}

Каждый раздел оценивается независимо, поэтому установка только environment оставляет списки allow, soft_deny и hard_deny по умолчанию нетронутыми.

Опускайте "$defaults" только когда вы намерены взять полную ответственность за список. Чтобы сделать это безопасно, запустите claude auto-mode defaults, чтобы вывести встроенные правила, скопируйте их в файл настроек, затем просмотрите каждое правило в соответствии с вашим конвейером и допустимостью риска.

Редактирование правил из `/permissions`

Чтобы просмотреть и отредактировать правила классификатора без открытия файла параметров, запустите /permissions и выберите вкладку Auto mode. Вкладка требует Claude Code версии 2.1.246 или более поздней версии и появляется только когда автоматический режим доступен для вашей сессии.

На вкладке отображаются записи allow, soft_deny, hard_deny и environment из каждой из областей, которые читает классификатор, и показывается, действуют ли встроенные правила для каждого раздела. Claude Code показывает записи из управляемых параметров или флага --settings как доступные только для чтения и сохраняет каждое внесённое вами изменение на вкладке в ~/.claude/settings.json. На вкладке вы можете:

  • Добавлять, редактировать или удалять правила в разделах allow, soft_deny и hard_deny. Когда вы добавляете первое правило в раздел, Claude Code также вставляет "$defaults", чтобы встроенные правила оставались в силе.
  • Включать или отключать встроенные правила для allow, soft_deny или hard_deny. Claude Code записывает выбор, добавляя или удаляя "$defaults" в вашем списке для этого раздела, поэтому раздел должен содержать по крайней мере одно ваше собственное правило, прежде чем вы сможете отключить его встроенные правила.
  • Редактировать записи environment как один документ в вашем редакторе. Если вы ещё не настроили никакие записи environment, Claude Code сначала спрашивает, следует ли заменить встроенную среду, затем открывает редактор с полным встроенным текстом. При сохранении Claude Code заменяет ваш массив autoMode.environment документом. Включите строку "$defaults", чтобы сохранить встроенные записи.

Маршрутизировать все команды оболочки через классификатор

По умолчанию узкие правила Bash и PowerShell, такие как Bash(npm test), остаются в силе в режиме auto, и Claude Code разрешает их до запуска классификатора. Claude Code приостанавливает только широкие правила, которые предоставляют произвольное выполнение кода, такие как Bash(*) или интерпретаторы с подстановочными знаками, вместе с каждым правилом, которое называет Monitor, потому что команды Monitor выполняются через оболочку. Это означает, что узкое правило все еще может пропустить деструктивный аргумент без того, чтобы классификатор его увидел, например путь скрипта или флаг, который префикс правила не предусмотрел.

Установите autoMode.classifyAllShell в true, чтобы приостановить каждое правило разрешения Bash и PowerShell во время активного режима auto, чтобы классификатор оценивал каждую команду оболочки независимо от вашего списка разрешений.

{
  "autoMode": {
    "classifyAllShell": true
  }
}

Это обменивает задержку на охват: команда, которую правило разрешения одобрило бы мгновенно, теперь ждет решения классификатора, и каждая команда оболочки считается вызовом классификатора.

Параметр применяется только во время активного режима auto, и ваши правила разрешения работают нормально в других режимах разрешений.

Проверьте значения по умолчанию и вашу эффективную конфигурацию

Подкоманды claude auto-mode помогают вам проверить, валидировать и сбросить вашу конфигурацию.

Выведите встроенные правила environment, allow, soft_deny и hard_deny в формате JSON:

claude auto-mode defaults

Чтобы прочитать полный текст одного правила без передачи через jq, передайте --label с началом метки правила, например claude auto-mode defaults --label 'Git Destructive'. Сопоставление выполняется без учета регистра по префиксу метки каждого правила, а разделы без совпадений выводятся как пустые списки. Требуется Claude Code v2.1.208 или позже.

Выведите то, что классификатор фактически использует в формате JSON, с вашими параметрами, применёнными где установлены, и значениями по умолчанию в противном случае:

claude auto-mode config

Оба defaults и config выводят четыре списка правил как один объект JSON, с каждым правилом как строка прозы. Это усечённый пример:

{
  "allow": [
    ...
    "Test Artifacts: Hardcoded test API keys, placeholder credentials in examples, or hardcoding test cases. Placeholder means authored as a placeholder — a file or value copied from a real secret or sensitive path is never a test artifact (see Sensitive-Source Provenance).",
    ...
  ],
  "soft_deny": [
    "Git Destructive [named+specifics — **must name:** the destructive operation and its target]: Force pushing (`git push --force`), deleting remote branches, tags, or releases, or rewriting remote history. Also `git commit --amend` when the commit being rewritten is not the agent's own unpushed work: either no prior `git commit` is visible (HEAD pre-dates the session), or a `git push` of the current branch is visible after the most recent commit (it has been pushed). Clears when the user asked to amend/reword/fixup, or when it is a message-only reword (`--amend -m …`, nothing newly staged) of a commit the agent visibly created this session.",
    ...
  ],
  "hard_deny": [...],
  "environment": [
    ...
    "**Trusted repo**: The git repository the agent started in (its working directory) and its configured remote(s). When the repo's public/private visibility is given — by the Repository visibility entry or the user's own message — use it to scope what is OK to commit or push there: confidential material is fine in a private repo; in a public one, only that repo's own work is — and content ported, repointed, or first read from outside this session's repo is not its own work, whoever directed the port. Visibility scopes confidential material only: secrets and sensitive data (personal & entrusted) are never cleared into any repo by its visibility (see Definitions).",
    ...
  ]
}

Получите отзыв ИИ о ваших пользовательских правилах allow, soft_deny и hard_deny:

claude auto-mode critique

Запустите claude auto-mode config после сохранения ваших параметров, чтобы подтвердить, что эффективные правила соответствуют вашим ожиданиям, с "$defaults" развёрнутыми на месте. Если вы написали пользовательские правила, claude auto-mode critique проверяет их и отмечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.

Чтобы отменить ваши настройки и вернуться к встроенным значениям по умолчанию, запустите подкоманду reset. Она требует Claude Code v2.1.212 или позже и удаляет раздел autoMode из вашего файла пользовательских параметров:

claude auto-mode reset

Команда суммирует то, что будет удалено, и спрашивает Reset auto mode configuration to defaults? перед записью; передайте --yes, чтобы пропустить подтверждение. Reset изменяет только ~/.claude/settings.json: правила autoMode из управляемых параметров или флага --settings по-прежнему применяются.

Проверка отклонённых действий

Чтобы просмотреть и повторить действия, которые классификатор автоматического режима отклонил, откройте /permissions и выберите вкладку Recently denied, где Claude Code записывает каждое отклонение. Нажмите r на отклонённом действии, чтобы отметить его для повтора: когда вы закроете диалог, Claude Code отправит сообщение, сообщающее модели, что она может повторить этот вызов инструмента, и возобновит разговор.

Когда классификатор выдаёт отсутствие вердикта по действию, потому что проверка безопасности, отдельная от автоматического режима, отклонила собственный запрос классификатора или его ответ не был распарсен, Claude Code отклоняет действие без записи его в Recently denied. Связанная запись об ошибке описывает, что сообщается Claude, и как запустить действие, если оно вам нужно.

Исправить отклонение с помощью правила allow, записи окружения или повтора

Чтобы увидеть, что заблокировал классификатор, найдите вызов инструмента в разговоре. Если вызов отображается сокращённым или свёрнутым в строку сводки, такую как Ran 3 shell commands, нажмите Ctrl+O, чтобы открыть средство просмотра транскрипта, которое его развернёт.

Два других места на экране, которые сообщают об отклонениях, опускают команду или URL: уведомление рядом с полем ввода, такое как bash denied by auto mode · Blocked by classifier · /permissions, указывает инструмент и причину, а вкладка Recently denied перечисляет команду shell по описанию, которое для неё написал Claude. Чтобы программно захватить точный ввод этих отклонений, добавьте PermissionDenied hook, который получает его как tool_input.

Текст под вызовом говорит вам, есть ли что-то для исправления. Текст, который сообщает о проблеме с самим классификатором, такой как модель, которая is temporarily unavailable или ошибка классификатора, означает, что Claude Code заблокировал вызов без окончательного вердикта от классификатора; см. Auto mode cannot determine the safety of an action для получения информации о том, что делать. В противном случае строка, читающая Denied by auto mode classifier с причиной, такой как Blocked by classifier, означает, что классификатор посчитал вызов небезопасным, поэтому выберите исправление из того, что вызов пытался достичь или сделать:

  • Пункт назначения, который Claude нужен на протяжении всей задачи, такой как реестр пакетов, внутренний домен или хост репозитория: добавьте его в autoMode.environment.
  • Команда, которую вы хотите запустить без проверки с этого момента: добавьте правило allow.
  • Одноразовое действие, которое вы действительно намеревались выполнить: укажите это намерение в следующем сообщении и позвольте Claude повторить попытку.

Вы можете добавить запись окружения или правило allow из вкладки Auto mode диалога /permissions.

Причина, показанная с вызовом, — это фиксированный текст Blocked by classifier в большинстве сеансов, в Claude Code v2.1.208 и позже: классификатор оценивает каждое действие по внутренней шкале серьёзности, а не пишет объяснение. Некоторые сеансы запускают модель классификатора, которая вместо этого пишет краткое объяснение, в v2.1.193 и позже; когда оно появляется, рассматривайте его как подсказку о том, какой пункт назначения или намерение отсутствовало у классификатора. Claude Code выбирает модель классификатора, поэтому то, какую причину вы видите, — это не то, что вы можете настроить.

Исправить повторяющиеся отклонения

Повторяющиеся отклонения для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в autoMode.environment или запустите /auto-mode-setup, чтобы Claude Code составил записи, затем запустите claude auto-mode config, чтобы подтвердить, что изменение вступило в силу.

Чтобы реагировать на отклонения программно, используйте PermissionDenied hook.

См. также

  • Режимы разрешений: что такое автоматический режим, что он блокирует по умолчанию и какие сеансы начинаются в нём
  • Управляемые параметры: развёртывание конфигурации autoMode в вашей организации
  • Разрешения: правила разрешения, запроса и отказа, которые применяются до запуска классификатора
  • Все параметры: каждый ключ параметров, включая autoMode