autoMode, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.
Эта страница является справочником по конфигурации. Включение и отключение режима auto рассматривается на странице Permission modes:
- Переключение на режим auto во время сеанса или выход из него: см. Переключение режимов разрешений
- Запуск сеанса в режиме auto: см. Запуск в другом режиме разрешений
autoMode.environment.
На этой странице рассматривается, как:
- Добавить контрольную точку человека для отправок и запросов на слияние с помощью
permissions.ask - Определить доверенную инфраструктуру с помощью
autoMode.environment - Создать записи окружения с помощью
/auto-mode-setup - Просмотреть отказы чтобы знать, что добавить дальше
Общие границы
Автоматический режим позволяет отправлять изменения в любую ветку репозитория, над которым вы работаете, включая ветку по умолчанию, и создавать pull request по умолчанию. Ветка, не являющаяся веткой по умолчанию, имя которой обозначает её как цель развёртывания или публикации, такая какproduction, release или gh-pages, не охватывается этим значением по умолчанию: классификатор оценивает отправку туда по собственным критериям, включая её как развёртывание в production. Содержимое отправки также по-прежнему проверяется, поэтому force push, секрет, попадающий в коммит, или изменение, которое отправило бы секреты за пределы репозитория при запуске CI или конвейера развёртывания, остаётся заблокированным.
Если вы хотите контрольную точку человека перед командами push и pull request от Claude, добавьте правила разрешений: рецепты ниже сохраняют автоматический режим включённым для всего остального.
Добавить контрольную точку человека
Наиболее прямой механизм — этоpermissions.ask. Правила ask с областью действия контента, подобные приведённым ниже, оцениваются перед классификатором и всегда вызывают запрос разрешения, даже в автоматическом режиме, потому что явное правило ask — это ваше заявленное намерение получить запрос для этого действия. Добавьте правила в ваши параметры:
git push или gh pr create. Push, который Claude пишет другим способом, например git -C <dir> push или git -c <key>=<value> push, не соответствует правилу, поэтому он не проверяется. Для контрольной точки, которая проверяет полный текст команды, добавьте hook PreToolUse.
Выберите механизм, который соответствует тому, насколько строгой должна быть граница:
Где классификатор читает конфигурацию
Классификатор читает то же содержимое CLAUDE.md, которое загружает сам Claude, поэтому инструкция вроде “никогда не делайте force push” в файле CLAUDE.md вашего проекта управляет как Claude, так и классификатором одновременно. Начните с этого файла для соглашений проекта и правил поведения. Для правил, которые применяются ко всем проектам, таких как доверенная инфраструктура или организационные правила запрета, используйте блок настроекautoMode. Классификатор читает autoMode из следующих областей:
Классификатор не читает
autoMode из настроек проекта в .claude/settings.json или .claude/settings.local.json. Оба файла находятся в директории репозитория, поэтому проверенный репозиторий или шаг сборки могли бы иначе внедрить свои собственные правила разрешения. Переместите любой блок autoMode из .claude/settings.local.json в ~/.claude/settings.json.
Записи из каждой области объединяются. Разработчик может расширить environment, allow, soft_deny и hard_deny личными записями, но не может удалить записи, которые предоставляют управляемые настройки. Поскольку правила разрешения действуют как исключения из правил мягкой блокировки внутри классификатора, запись allow, добавленная разработчиком, может переопределить запись организационного soft_deny: комбинация является аддитивной, а не жёсткой границей политики.
Классификатор — это вторая проверка, которая выполняется после системы разрешений. Для действий, которые никогда не должны выполняться независимо от намерения пользователя или конфигурации классификатора, используйте
permissions.deny в управляемых настройках, что блокирует действие до того, как классификатор будет проверен, и не может быть переопределено.Определение доверенной инфраструктуры
Для большинства организацийautoMode.environment — это единственное поле, которое вам нужно установить. Оно сообщает классификатору, какие репозитории, бакеты и домены являются доверенными: классификатор использует это для определения того, что означает “внешний”, поэтому любой пункт назначения, не указанный в списке, является потенциальной целью утечки данных.
claude auto-mode defaults выводит три вида записей окружения.
- Context slots: описывают вашу организацию, стек и позицию безопасности, чтобы классификатор читал другие правила в вашем контексте. Каждый по умолчанию имеет значение
None configuredили консервативное предположение, указанное рядом:- Organization
- Primary use of Claude Code: по умолчанию разработка программного обеспечения
- Cloud provider(s)
-
Repository visibility: репозиторий считается приватным, если только его удаленный хост и имя не указывают иное, или классификатор читает проверку видимости ранее в разговоре, показывающую, что он публичный.
В запросах классификатора, отправляемых самим Claude Code, классификатор читает ваши сообщения и команды, которые выполняет Claude, но не их вывод. Доказательство должно быть чем-то, что классификатор может прочитать, например вашим собственным сообщением, в котором репозиторий назван публичным; вывод
gh repo viewсам по себе не достигает его. - 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, поэтому ничего больше не является доверенным, пока вы это не добавите. Видимость репозитория охватывает только конфиденциальный материал: приватный репозиторий является приемлемым пунктом назначения для конфиденциального материала, но сделание репозитория приватным никогда не очищает секреты или личные или доверенные данные в нем, и классификатор рассматривает содержимое, перенесенное, переориентированное или впервые прочитанное из-за пределов рабочего репозитория, как не собственную работу этого репозитория. - Sensitivity slots: назовите то, что защитные правила рассматривают как высокий риск. Слоты — это Sensitive data locations & audiences, Sensitive remote targets и Protected IaC scopes. Каждый по умолчанию использует широкую эвристику, например рассматривая любой хост или пространство имен, чье имя содержит
prodилиproduction, как чувствительный удаленный целевой объект, поэтому защитные правила активны до того, как вы что-либо настроите. Именование конкретных целей в слоте чувствительности заставляет эти правила применяться к названным целям вместо эвристики.
"$defaults" в массив. Записи по умолчанию вставляются в эту позицию, поэтому ваши пользовательские записи могут идти до или после них.
Следующий пример сохраняет записи по умолчанию и добавляет репозитории, бакеты, домены и сервисы организации.
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: бакеты, базы данных или пути, которые содержат личные данные, конфиденциальные бизнес-данные, учетные данные, регулируемые данные или аналогичный чувствительный материал, и аудитории, с которыми данные в каждом месте могут быть общими, поэтому классификатор защищает эти места вместо угадывания из содержимого.
- Sensitive remote targets: пространства имен, хосты или контейнеры, которые считаются производством, поэтому удаленные оболочки и переадресация портов в них требуют вашего явного одобрения
- Protected IaC scopes: ресурсы инфраструктуры, применение или уничтожение которых всегда должно требовать от вас назвать изменение
- Additional context: ограничения регулируемой отрасли, многотенантная инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное
Генерирование записей окружения с помощью /auto-mode-setup
Запустите /auto-mode-setup, чтобы Claude Code создал черновик записей autoMode.environment и иногда также записей правил на основе вашего проекта и недавних сеансов в нём. Если вы примете черновик, Claude Code запишет его в ~/.claude/settings.json.
/auto-mode-setup требует план Pro, Max или Team и Claude Code версии 2.1.228 или позже. На нативной Windows требуется версия 2.1.233 или позже. Вы не можете запустить его в Claude Code в веб-браузере. Также требуется получение флагов функций, поэтому вы не можете запустить его в сеансе, где вы отключили получение флагов.Что читает /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:
/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.
allow, когда классификатор повторно помечает обычный паттерн, который исключения по умолчанию не охватывают. Чтобы усилить, добавьте в soft_deny для деструктивных рисков, специфичных для вашего окружения, которые пропускают значения по умолчанию, или в hard_deny для границ безопасности, которые никогда не должны быть пересечены.
Чтобы сохранить встроенные правила при добавлении своих собственных, включите буквальную строку "$defaults" в массив. Правила по умолчанию вставляются в эту позицию, поэтому ваши пользовательские правила могут идти до или после них, и вы продолжаете наследовать обновления по мере изменения встроенного списка в разных версиях.
Следующий пример сохраняет значения по умолчанию во всех четырех списках и добавляет правила, специфичные для организации, в каждый из них.
Установка любого из
environment, allow, soft_deny или hard_deny без "$defaults" заменяет весь список по умолчанию для этого раздела. Если вы установите массив без "$defaults", вы отбросите встроенные правила для этого раздела:soft_deny: каждое встроенное правило мягкой блокировки, включая force push,curl | bash, развертывание в production и обход режима autohard_deny: встроенное правило утечки данных
environment оставляет списки allow, soft_deny и hard_deny по умолчанию нетронутыми.
Опускайте "$defaults" только когда вы намерены взять полную ответственность за список. Чтобы сделать это безопасно, запустите claude auto-mode defaults, чтобы вывести встроенные правила, скопируйте их в файл настроек, затем просмотрите каждое правило в соответствии с вашим конвейером и допустимостью риска.
Редактирование правил из /permissions
Чтобы просмотреть и отредактировать правила классификатора и записи environment без открытия файла параметров, запустите /permissions и выберите вкладку Auto mode. Вкладка требует Claude Code версии 2.1.246 или более поздней версии и появляется только когда автоматический режим доступен для вашей сессии.
Claude Code показывает записи из управляемых параметров или флага --settings как доступные только для чтения и сохраняет каждое внесённое вами изменение на вкладке в ~/.claude/settings.json.
Маршрутизировать все команды shell через классификатор
По умолчанию узкие правила Bash и PowerShell, такие какBash(npm test), остаются в силе в режиме auto. Claude Code разрешает их до запуска классификатора, если только команда не содержит разрешённые домены для отдельных команд. Claude Code приостанавливает только широкие правила, которые предоставляют произвольное выполнение кода, такие как Bash(*) или интерпретаторы с подстановочными знаками, вместе с каждым правилом, которое называет Monitor, потому что команды Monitor выполняются через shell. Это означает, что узкое правило всё ещё может пропустить деструктивный аргумент без того, чтобы классификатор его увидел, например путь скрипта или флаг, который префикс правила не предусмотрел.
Установите autoMode.classifyAllShell в значение true, чтобы приостановить каждое правило разрешения Bash и PowerShell, пока активен режим auto, так чтобы классификатор оценивал каждую команду shell независимо от вашего списка разрешений, кроме критических путей удаления.
Проверьте значения по умолчанию и вашу эффективную конфигурацию
Подкомандыclaude auto-mode помогают вам проверить, валидировать и сбросить вашу конфигурацию.
Выведите встроенные правила environment, allow, soft_deny и hard_deny в формате JSON:
jq, передайте --label с началом метки правила, например claude auto-mode defaults --label 'Git Destructive'. Сопоставление выполняется без учёта регистра по префиксу метки каждого правила, а разделы без совпадений выводятся как пустые списки.
Выведите то, что классификатор фактически использует в формате JSON, с вашими параметрами, применёнными где установлены, и значениями по умолчанию в противном случае:
defaults и config выводят четыре списка правил как один объект JSON, с каждым правилом как строка прозы. Это усечённый пример:
allow, soft_deny, hard_deny и environment:
claude auto-mode critique проверяет их и отмечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.
Чтобы отменить ваши настройки и вернуться к встроенным значениям по умолчанию, запустите подкоманду reset, которая удаляет раздел autoMode из вашего файла пользовательских настроек:
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 · [Data Exfiltration] · /permissions, указывает инструмент и причину, а вкладка Recently denied перечисляет команду shell по описанию, которое для неё написал Claude. Чтобы программно захватить точный ввод этих отклонений, добавьте PermissionDenied hook, который получает его как tool_input.
Текст под вызовом говорит вам, есть ли что-то для исправления. Тусклая строка Not run · auto mode's check had no usable answer или текст, который сообщает о проблеме с самим классификатором, такой как Auto mode could not evaluate this action, означает, что Claude Code заблокировал вызов без вердикта от классификатора. Для строки Not run нажмите Ctrl+O, чтобы прочитать полное сообщение, затем см. Auto mode cannot determine the safety of an action или The server returned no safety verdict, чтобы узнать, что делать.
В противном случае строка Denied by auto mode classifier с причиной, такой как [Production Deploy] или Blocked by classifier, означает, что классификатор посчитал вызов небезопасным, поэтому выберите исправление исходя из того, к чему вызов пытался обратиться или что пытался сделать:
- Пункт назначения, который Claude нужен на протяжении всей задачи, такой как реестр пакетов, внутренний домен или хост репозитория: добавьте его в
autoMode.environment. - Команда, которую вы хотите запустить без проверки с этого момента: добавьте правило
allow. - Одноразовое действие, которое вы действительно намеревались выполнить: укажите это намерение в следующем сообщении и позвольте Claude повторить попытку.
allow из вкладки Auto mode диалога /permissions.
Текст в квадратных скобках, такой как [Data Exfiltration], — это название правила, которое совпал классификатор. Чтобы прочитать полный текст этого правила, см. Проверить значения по умолчанию и вашу эффективную конфигурацию.
Исправить повторяющиеся отклонения
Повторяющиеся отклонения для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения вautoMode.environment или запустите /auto-mode-setup, чтобы Claude Code составил записи, затем запустите claude auto-mode config, чтобы подтвердить, что изменение вступило в силу.
См. также
- Режимы разрешений: что такое автоматический режим, что он блокирует по умолчанию и какие сеансы начинаются в нём
- Управляемые параметры: развёртывание конфигурации
autoModeв вашей организации - Разрешения: правила разрешения, запроса и отказа, которые применяются до запуска классификатора
- Все параметры: каждый ключ параметров, включая
autoMode