autoMode, чтобы сообщить этому классификатору, какие репозитории, бакеты и домены доверяет ваша организация, чтобы он перестал блокировать обычные внутренние операции.
Режим auto доступен всем пользователям на каждом поставщике, включая Anthropic API, Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry и сеансы шлюза приложений Claude. Если Claude Code сообщает, что режим auto недоступен для вашей учетной записи, проверьте полные требования, которые также охватывают поддерживаемые модели и включение Owner на планах Team и Enterprise. В версиях с v2.1.158 по v2.1.206 режим auto на Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry и сеансах шлюза приложений Claude требовал установки
CLAUDE_CODE_ENABLE_AUTO_MODE=1; v2.1.207 удалил это требование.autoMode.environment.
Для информации о том, как включить режим auto и что он блокирует по умолчанию, см. Режимы разрешений. Эта страница является справочником по конфигурации.
На этой странице рассматривается, как:
- Добавить контрольную точку человека для отправок и запросов на слияние с помощью
permissions.ask - Выбрать, где устанавливать правила в CLAUDE.md, пользовательских настройках и управляемых настройках
- Определить доверенную инфраструктуру с помощью
autoMode.environment - Переопределить правила блокировки и разрешения когда значения по умолчанию не подходят для вашего конвейера
- Маршрутизировать все команды shell через классификатор с помощью
autoMode.classifyAllShell - Проверить вашу эффективную конфигурацию с помощью подкоманд
claude auto-mode - Просмотреть отказы чтобы знать, что добавить дальше
Общие границы
Автоматический режим позволяет отправлять изменения в вашу рабочую ветку, обычные отправки в ветку по умолчанию репозитория и создание pull request по умолчанию. Классификатор блокирует отправку только когда она несет риск, например при force push или содержимом, которое обходит установленный вами процесс проверки. Если вы хотите контрольную точку человека перед каждой отправкой или pull request, добавьте правила разрешений: рецепты ниже сохраняют автоматический режим включенным для всего остального. Наиболее прямой механизм — этоpermissions.ask. Правила ask с областью действия контента, подобные приведенным ниже, оцениваются перед классификатором и всегда вызывают запрос разрешения, даже в автоматическом режиме, потому что явное правило ask — это ваше заявленное намерение получить запрос для этого действия. Добавьте правила в ваши параметры:
Где классификатор читает конфигурацию
Классификатор читает то же содержимое CLAUDE.md, которое загружает сам Claude, поэтому инструкция вроде “никогда не делайте force push” в файле CLAUDE.md вашего проекта управляет как Claude, так и классификатором одновременно. Начните с этого файла для соглашений проекта и правил поведения. Для правил, которые применяются ко всем проектам, таких как доверенная инфраструктура или организационные правила запрета, используйте блок настроекautoMode. Классификатор читает autoMode из следующих областей:
Классификатор не читает
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: комбинация является аддитивной, а не жёсткой границей политики.
Классификатор — это вторая проверка, которая выполняется после системы разрешений. Для действий, которые никогда не должны выполняться независимо от намерения пользователя или конфигурации классификатора, используйте
permissions.deny в управляемых настройках, что блокирует действие до того, как классификатор будет проверен, и не может быть переопределено.Define trusted infrastructure
Для большинства организацийautoMode.environment — это единственное поле, которое вам нужно установить. Оно сообщает классификатору, какие репозитории, бакеты и домены являются доверенными: классификатор использует его для определения того, что означает “внешний”, поэтому любой пункт назначения, не указанный в списке, является потенциальной целью утечки данных.
Начиная с Claude Code v2.1.198, claude auto-mode defaults выводит три вида записей окружения. Версии до v2.1.195 выводят только первые пять слотов доверия.
- Слоты контекста: описывают вашу организацию, стек и позицию безопасности, чтобы классификатор читал другие правила в вашем контексте. В отличие от двух других видов, слоты контекста не имеют собственных правил, которые их нацеливают. Каждый по умолчанию имеет значение
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: публичные сервисы paste и gist рассматриваются как находящиеся вне границы доверия до тех пор, пока вы их не назовете
- Org-specific CLIs
- Secrets management
- Default / protected branches:
mainиmasterрассматриваются как защищенные до тех пор, пока вы не назовете другие - CI/CD deploy targets
- Network posture
- Protected deployment namespaces / environments: возвращается к эвристике Sensitive remote targets до тех пор, пока вы их не назовете
- Data retention / declassification
- Слоты доверия: называют то, что классификатор рассматривает как находящееся внутри вашей границы. Слоты — это Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services и Internal package registry. Записи repo и source-control по умолчанию указывают на рабочий репозиторий и его настроенные удаленные репозитории. Все остальные слоты доверия по умолчанию имеют значение
None configured, поэтому ничего больше не доверяется до тех пор, пока вы это не добавите. Видимость репозитория охватывает только конфиденциальный материал: приватный репозиторий является приемлемым пунктом назначения для конфиденциального материала, но сделание репозитория приватным никогда не очищает секреты, личные данные или доверенные данные в нем, и классификатор рассматривает содержимое, перенесенное, переориентированное или впервые прочитанное из-за пределов рабочего репозитория, как не являющееся собственной работой этого репозитория. Это определение области требует Claude Code v2.1.203 или позже. - Слоты чувствительности: называют то, что защитные правила рассматривают как высокий риск. Слоты — это Sensitive data locations & audiences, Sensitive remote targets и Protected IaC scopes. Каждый по умолчанию использует широкую эвристику, например рассматривая любой хост или пространство имен, чье имя содержит
prodилиproduction, как чувствительную удаленную цель, поэтому защитные правила активны до того, как вы что-либо настроите. Указание конкретных целей в слоте чувствительности заставляет эти правила применяться к названным целям вместо эвристики.
"$defaults" в массив. Записи по умолчанию вставляются в эту позицию, поэтому ваши пользовательские записи могут идти до или после них.
Следующий пример сохраняет записи по умолчанию и добавляет репозитории, бакеты, домены и сервисы организации.
- Организация: название вашей компании и для чего в основном используется Claude Code, например разработка программного обеспечения, автоматизация инфраструктуры или инженерия данных
- Исходный контроль: каждая организация GitHub, GitLab или Bitbucket, в которую ваши разработчики отправляют код
- Облачные провайдеры и доверенные бакеты: имена бакетов или префиксы, из которых Claude должен иметь возможность читать и писать
- Доверенные внутренние домены: имена хостов для API, панелей управления и сервисов внутри вашей сети, например
*.internal.example.com - Ключевые внутренние сервисы: CI, реестры артефактов, внутренние индексы пакетов, инструменты для инцидентов
- Внутренний реестр пакетов: приватный npm, PyPI или другой реестр, через который должны проходить установки, поэтому установки, которые обходят его для публичного реестра, блокируются
- Sensitive data locations & audiences: бакеты, базы данных или пути, которые содержат личные данные, конфиденциальные бизнес-данные, учетные данные, регулируемые данные или аналогичный чувствительный материал, и аудитории, с которыми данные в каждом местоположении могут быть общими, поэтому классификатор защищает эти местоположения вместо того, чтобы угадывать из содержимого. Claude Code v2.1.195 через v2.1.197 называют эту запись PII / regulated-data locations и охватывают только местоположения, которые содержат личные или регулируемые данные, без измерения аудитории
- Sensitive remote targets: пространства имен, хосты или контейнеры, которые считаются production, поэтому удаленные оболочки и port-forwards в них требуют вашего явного одобрения
- Protected IaC scopes: ресурсы инфраструктуры, чьи apply или destroy всегда должны требовать от вас назвать изменение
- Дополнительный контекст: ограничения регулируемой отрасли, многопользовательская инфраструктура или требования соответствия, которые влияют на то, что классификатор должен рассматривать как рискованное
Override the block and allow rules
Три дополнительных поля позволяют вам заменить встроенные списки правил классификатора: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, чтобы вывести встроенные правила, скопируйте их в файл настроек, затем просмотрите каждое правило в соответствии с вашим конвейером и допустимостью риска.
Route all shell commands through the classifier
По умолчанию узкие правила разрешения Bash и PowerShell, такие какBash(npm test), переносятся в режим auto и разрешаются перед запуском классификатора. Режим auto приостанавливает только широкие правила, которые предоставляют произвольное выполнение кода, такие как Bash(*) или подстановочные интерпретаторы. Это означает, что узкое правило все еще может пропустить деструктивный аргумент без того, чтобы классификатор его видел, например путь скрипта или флаг, который префикс правила не предусмотрел.
Установите autoMode.classifyAllShell в true, чтобы приостановить каждое правило разрешения Bash и PowerShell, пока активен режим auto, так чтобы классификатор оценивал каждую команду shell независимо от вашего списка разрешений.
autoMode.classifyAllShell требует Claude Code v2.1.193 или позже. Более ранние версии игнорируют ключ и продолжают переносить узкие правила разрешения shell в режим auto.Inspect the defaults and your effective config
Три подкоманды CLI помогают вам проверить и подтвердить вашу конфигурацию. Выведите встроенные правилаenvironment, allow, soft_deny и hard_deny как JSON:
jq, передайте --label с началом метки правила, например claude auto-mode defaults --label 'Git Destructive'. Сопоставление выполняется без учёта регистра по префиксу метки каждого правила, а разделы без совпадений выводятся как пустые списки. Требуется Claude Code v2.1.208 или более поздняя версия.
Выведите то, что классификатор фактически использует как JSON, с вашими настройками, применяемыми где установлены, и значениями по умолчанию в противном случае:
allow, soft_deny и hard_deny:
claude auto-mode config после сохранения ваших настроек, чтобы подтвердить, что эффективные правила — это то, что вы ожидаете, с развёрнутым "$defaults" на месте. Если вы написали пользовательские правила, claude auto-mode critique просматривает их и помечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.
Если вам нужно удалить или переписать встроенное правило вместо того, чтобы добавить его рядом, сохраните вывод claude auto-mode defaults в файл, отредактируйте списки и вставьте результат в файл настроек вместо "$defaults".
Review denials
Когда режим auto отказывает в вызове инструмента, отказ записывается в/permissions на вкладке Recently denied. Нажмите r на отклоненном действии, чтобы отметить его для повтора: когда вы выйдете из диалога, Claude Code отправит сообщение, сообщающее модели, что она может повторить этот вызов инструмента и возобновить разговор.
В Claude Code v2.1.193 и позже причина отказа классификатора для каждого отказа появляется рядом с заблокированным вызовом инструмента в расшифровке, в уведомлении об отказе и под каждой записью на вкладке Recently denied. Используйте причину, чтобы решить, является ли исправление записью environment, исключением allow или повтором с явным намерением в вашем следующем сообщении.
Повторные отказы для одного и того же пункта назначения обычно означают, что классификатору не хватает контекста. Добавьте этот пункт назначения в autoMode.environment, затем запустите claude auto-mode config, чтобы подтвердить, что это вступило в силу.
Чтобы реагировать на отказы программно, используйте hook PermissionDenied.
See also
- Permission modes: что такое режим auto, что он блокирует по умолчанию и как его включить
- Managed settings: развертывание конфигурации
autoModeпо всей организации - Permissions: правила разрешения, запроса и отказа, которые применяются перед запуском классификатора
- Settings: полный справочник настроек, включая ключ
autoMode