Перейти к основному содержанию
Auto mode позволяет Claude Code работать без запросов разрешения, маршрутизируя каждый вызов инструмента через классификатор, который блокирует все необратимое, деструктивное или направленное вне вашего окружения. Используйте блок настроек autoMode, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции. По умолчанию классификатор доверяет только рабочему каталогу и настроенным удаленным репозиториям текущего репо. Такие действия, как отправка в исходный контроль вашей компании или запись в командный облачный бакет, блокируются до тех пор, пока вы не добавите их в autoMode.environment. Информацию о том, как включить режим auto и что он блокирует по умолчанию, см. в разделе Permission modes. Эта страница является справочником по конфигурации. На этой странице рассматривается, как:

Where the classifier reads configuration

Классификатор читает то же содержимое CLAUDE.md, что загружает сам Claude, поэтому инструкция вроде “никогда не делай force push” в CLAUDE.md вашего проекта управляет как Claude, так и классификатором одновременно. Начните с этого для соглашений проекта и правил поведения. Для правил, которые применяются ко всем проектам, таких как доверенная инфраструктура или организационные правила отказа, используйте блок настроек autoMode. Классификатор читает autoMode из следующих областей:
ОбластьФайлИспользуется для
Один разработчик~/.claude/settings.jsonЛичная доверенная инфраструктура
Один проект, один разработчик.claude/settings.local.jsonДоверенные бакеты или сервисы для каждого проекта, в gitignore
ОрганизацияManaged settingsДоверенная инфраструктура, распределенная всем разработчикам
Флаг --settings или Agent SDKВстроенный JSONПереопределения для каждого вызова для автоматизации
Классификатор не читает autoMode из общих настроек проекта в .claude/settings.json, поэтому проверенный репо не может внедрить свои собственные правила разрешения. Записи из каждой области объединяются. Разработчик может расширить environment, allow и soft_deny личными записями, но не может удалить записи, которые предоставляют управляемые настройки. Поскольку правила разрешения действуют как исключения из правил блокировки внутри классификатора, запись allow, добавленная разработчиком, может переопределить запись организационного soft_deny: комбинация является аддитивной, а не жесткой границей политики.
Классификатор — это второй шлюз, который работает после системы разрешений. Для действий, которые никогда не должны выполняться независимо от намерения пользователя или конфигурации классификатора, используйте permissions.deny в управляемых настройках, который блокирует действие до того, как классификатор будет проверен, и не может быть переопределен.

Define trusted infrastructure

Для большинства организаций autoMode.environment — это единственное поле, которое вам нужно установить. Оно сообщает классификатору, какие репозитории, бакеты и домены являются доверенными: классификатор использует его для определения того, что означает “внешний”, поэтому любой пункт назначения, не указанный в списке, является потенциальной целью утечки данных. Установка environment заменяет список окружения по умолчанию, который включает запись, доверяющую рабочему репо и его удаленным репозиториям. Запустите claude auto-mode defaults, чтобы вывести значения по умолчанию, затем включите их вместе с вашими собственными записями, чтобы расширить список, а не сузить его.
{
  "autoMode": {
    "environment": [
      "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 Code, например разработка программного обеспечения, автоматизация инфраструктуры или инженерия данных
  • Исходный контроль: каждая организация GitHub, GitLab или Bitbucket, в которую ваши разработчики отправляют код
  • Облачные провайдеры и доверенные бакеты: имена бакетов или префиксы, из которых Claude должен иметь возможность читать и писать
  • Доверенные внутренние домены: имена хостов для API, панелей управления и сервисов внутри вашей сети, например *.internal.example.com
  • Ключевые внутренние сервисы: CI, реестры артефактов, внутренние индексы пакетов, инструменты для инцидентов
  • Дополнительный контекст: ограничения регулируемой отрасли, многопользовательская инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное
Полезный начальный шаблон: заполните поля в скобках и удалите все строки, которые не применяются.
{
  "autoMode": {
    "environment": [
      "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}"
    ]
  }
}
Чем более специфичный контекст вы предоставите, тем лучше классификатор сможет различать обычные внутренние операции и попытки утечки данных. Вам не нужно заполнять все сразу. Разумный процесс развертывания: начните со значений по умолчанию и добавьте организацию исходного контроля и ключевые внутренние сервисы, что решает наиболее распространенные ложные срабатывания, такие как отправка в ваши собственные репо. Затем добавьте доверенные домены и облачные бакеты. Заполните остальное по мере появления блокировок.

Override the block and allow rules

Два дополнительных поля позволяют вам заменить встроенные списки правил классификатора: autoMode.soft_deny управляет тем, что блокируется, а autoMode.allow управляет тем, какие исключения применяются. Каждое из них — это массив описаний на прозе, читаемых как правила на естественном языке. Нет поля autoMode.deny; чтобы жестко заблокировать действие независимо от намерения, используйте permissions.deny, который работает перед классификатором. Внутри классификатора приоритет работает в три уровня:
  • Правила soft_deny блокируют первыми
  • Правила allow затем переопределяют совпадающие блокировки как исключения
  • Явное намерение пользователя переопределяет оба: если сообщение пользователя прямо и конкретно описывает точное действие, которое Claude собирается выполнить, классификатор разрешает его даже когда совпадает правило soft_deny
Общие запросы не считаются явным намерением. Просьба Claude “очистить репо” не авторизует force-push, но просьба “force-push эту ветку” авторизует.
Установка любого из environment, allow или soft_deny заменяет весь список по умолчанию для этого раздела. Если вы установите soft_deny с одной записью, каждое встроенное правило блокировки отбрасывается: force push, утечка данных, curl | bash, развертывание в production и все остальные правила блокировки по умолчанию становятся разрешены. Чтобы безопасно настроить, запустите claude auto-mode defaults, чтобы вывести встроенные правила, скопируйте их в файл настроек, затем просмотрите каждое правило в соответствии с вашим конвейером и допустимостью риска. Удаляйте только правила для рисков, которые ваша инфраструктура уже смягчает.
Чтобы ослабить: удалите правила из soft_deny, когда значения по умолчанию блокируют что-то, что ваш конвейер уже защищает с помощью проверки PR, CI или промежуточных окружений, или добавьте в allow, когда классификатор повторно помечает обычный паттерн, который исключения по умолчанию не охватывают. Чтобы усилить: добавьте в soft_deny для рисков, специфичных для вашего окружения, которые пропускают значения по умолчанию, или удалите из allow, чтобы удержать исключение по умолчанию к правилам блокировки. Во всех случаях запустите claude auto-mode defaults, чтобы получить полные списки по умолчанию, затем скопируйте и отредактируйте: никогда не начинайте с пустого списка.
{
  "autoMode": {
    "environment": [
      "Source control: github.example.com/acme-corp and all repos under it"
    ],
    "allow": [
      "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": [
      "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",
      "...copy full default soft_deny list here first, then add your rules..."
    ]
  }
}
Каждый раздел заменяет только свои собственные значения по умолчанию, поэтому установка только environment оставляет списки allow и soft_deny по умолчанию нетронутыми.

Inspect the defaults and your effective config

Поскольку установка любого из трех массивов заменяет его значения по умолчанию, начните любую настройку с копирования полных списков по умолчанию. Три подкоманды CLI помогают вам проверить и подтвердить. Выведите встроенные правила environment, allow и soft_deny как JSON:
claude auto-mode defaults
Выведите то, что классификатор фактически использует как JSON, с вашими настройками, применяемыми где установлены, и значениями по умолчанию в противном случае:
claude auto-mode config
Получите отзыв AI о ваших пользовательских правилах allow и soft_deny:
claude auto-mode critique
Сохраните вывод claude auto-mode defaults в файл, отредактируйте списки в соответствии с вашей политикой и вставьте результат в файл настроек. После сохранения запустите claude auto-mode config, чтобы подтвердить, что эффективные правила — это то, что вы ожидаете. Если вы написали пользовательские правила, claude auto-mode critique просматривает их и помечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.

Review denials

Когда режим auto отказывает в вызове инструмента, отказ записывается в /permissions на вкладке Recently denied. Нажмите r на отклоненном действии, чтобы отметить его для повтора: когда вы выйдете из диалога, Claude Code отправит сообщение, сообщающее модели, что она может повторить этот вызов инструмента и возобновить разговор. Повторные отказы для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в autoMode.environment, затем запустите claude auto-mode config, чтобы подтвердить, что это вступило в силу. Чтобы реагировать на отказы программно, используйте hook PermissionDenied.

See also

  • Permission modes: что такое режим auto, что он блокирует по умолчанию и как его включить
  • Managed settings: развертывание конфигурации autoMode по всей организации
  • Permissions: правила разрешения, запроса и отказа, которые применяются перед запуском классификатора
  • Settings: полный справочник настроек, включая ключ autoMode