autoMode, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.
По умолчанию классификатор доверяет только рабочему каталогу и настроенным удаленным репозиториям текущего репо. Такие действия, как отправка в исходный контроль вашей компании или запись в командный облачный бакет, блокируются до тех пор, пока вы не добавите их в autoMode.environment.
Информацию о том, как включить режим auto и что он блокирует по умолчанию, см. в разделе Permission modes. Эта страница является справочником по конфигурации.
На этой странице рассматривается, как:
- Выбрать, где устанавливать правила в CLAUDE.md, пользовательских настройках и управляемых настройках
- Определить доверенную инфраструктуру с помощью
autoMode.environment - Переопределить правила блокировки и разрешения, когда значения по умолчанию не подходят для вашего конвейера
- Проверить вашу эффективную конфигурацию с помощью подкоманд
claude auto-mode - Просмотреть отказы, чтобы знать, что добавить дальше
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, чтобы вывести значения по умолчанию, затем включите их вместе с вашими собственными записями, чтобы расширить список, а не сузить его.
- Организация: название вашей компании и для чего в основном используется Claude Code, например разработка программного обеспечения, автоматизация инфраструктуры или инженерия данных
- Исходный контроль: каждая организация GitHub, GitLab или Bitbucket, в которую ваши разработчики отправляют код
- Облачные провайдеры и доверенные бакеты: имена бакетов или префиксы, из которых Claude должен иметь возможность читать и писать
- Доверенные внутренние домены: имена хостов для API, панелей управления и сервисов внутри вашей сети, например
*.internal.example.com - Ключевые внутренние сервисы: CI, реестры артефактов, внутренние индексы пакетов, инструменты для инцидентов
- Дополнительный контекст: ограничения регулируемой отрасли, многопользовательская инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное
Override the block and allow rules
Два дополнительных поля позволяют вам заменить встроенные списки правил классификатора:autoMode.soft_deny управляет тем, что блокируется, а autoMode.allow управляет тем, какие исключения применяются. Каждое из них — это массив описаний на прозе, читаемых как правила на естественном языке. Нет поля autoMode.deny; чтобы жестко заблокировать действие независимо от намерения, используйте permissions.deny, который работает перед классификатором.
Внутри классификатора приоритет работает в три уровня:
- Правила
soft_denyблокируют первыми - Правила
allowзатем переопределяют совпадающие блокировки как исключения - Явное намерение пользователя переопределяет оба: если сообщение пользователя прямо и конкретно описывает точное действие, которое Claude собирается выполнить, классификатор разрешает его даже когда совпадает правило
soft_deny
Установка любого из
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, чтобы получить полные списки по умолчанию, затем скопируйте и отредактируйте: никогда не начинайте с пустого списка.
environment оставляет списки allow и soft_deny по умолчанию нетронутыми.
Inspect the defaults and your effective config
Поскольку установка любого из трех массивов заменяет его значения по умолчанию, начните любую настройку с копирования полных списков по умолчанию. Три подкоманды CLI помогают вам проверить и подтвердить. Выведите встроенные правилаenvironment, allow и soft_deny как JSON:
allow и soft_deny:
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