autoMode para dizer ao classificador quais repositórios, buckets e domínios sua organização confia, para que ele pare de bloquear operações internas rotineiras.
Auto mode está disponível para todos os usuários na API Anthropic. No Amazon Bedrock, Google Cloud Vertex AI e Microsoft Foundry, você deve primeiro definir
CLAUDE_CODE_ENABLE_AUTO_MODE. Se Claude Code relatar que o auto mode não está disponível para sua conta, verifique os requisitos completos, que também cobrem os modelos suportados e a habilitação de administrador nos planos Team e Enterprise.autoMode.environment.
Para saber como ativar o modo automático e o que ele bloqueia por padrão, consulte Permission modes. Esta página é a referência de configuração.
Esta página aborda como:
- Escolher onde definir regras em CLAUDE.md, configurações do usuário e configurações gerenciadas
- Definir infraestrutura confiável com
autoMode.environment - Substituir as regras de bloqueio e permissão quando os padrões não se adequam ao seu pipeline
- Inspecionar sua configuração efetiva com os subcomandos
claude auto-mode - Revisar negações para saber o que adicionar a seguir
Onde o classificador lê a configuração
O classificador lê o mesmo conteúdo CLAUDE.md que o próprio Claude carrega, portanto uma instrução como “nunca force push” no CLAUDE.md do seu projeto orienta tanto Claude quanto o classificador ao mesmo tempo. Comece ali para convenções de projeto e regras de comportamento. Para regras que se aplicam em todos os projetos, como infraestrutura confiável ou regras de negação em toda a organização, use o bloco de configuraçõesautoMode. O classificador lê autoMode dos seguintes escopos:
| Escopo | Arquivo | Use para |
|---|---|---|
| Um desenvolvedor | ~/.claude/settings.json | Infraestrutura confiável pessoal |
| Um projeto, um desenvolvedor | .claude/settings.local.json | Buckets ou serviços confiáveis por projeto, gitignored |
| Em toda a organização | Managed settings | Infraestrutura confiável distribuída para todos os desenvolvedores |
Flag --settings ou Agent SDK | JSON inline | Substituições por invocação para automação |
autoMode de configurações de projeto compartilhadas em .claude/settings.json, portanto um repositório verificado não pode injetar suas próprias regras de permissão.
As entradas de cada escopo são combinadas. Um desenvolvedor pode estender environment, allow, soft_deny e hard_deny com entradas pessoais, mas não pode remover entradas que as configurações gerenciadas fornecem. Como as regras de permissão atuam como exceções às regras de bloqueio suave dentro do classificador, uma entrada allow adicionada por um desenvolvedor pode substituir uma entrada soft_deny da organização: a combinação é aditiva, não um limite de política rígida.
O classificador é um segundo portão que é executado após o sistema de permissões. Para ações que nunca devem ser executadas, independentemente da intenção do usuário ou da configuração do classificador, use
permissions.deny em configurações gerenciadas, que bloqueia a ação antes do classificador ser consultado e não pode ser substituída.Definir infraestrutura confiável
Para a maioria das organizações,autoMode.environment é o único campo que você precisa definir. Ele diz ao classificador quais repositórios, buckets e domínios são confiáveis: o classificador o usa para decidir o que significa “externo”, portanto qualquer destino não listado é um alvo potencial de exfiltração.
A lista de ambiente padrão confia no repositório de trabalho e seus remotes configurados. Para adicionar suas próprias entradas junto com esse padrão, inclua a string literal "$defaults" no array. As entradas padrão são inseridas nessa posição, portanto suas entradas personalizadas podem vir antes ou depois delas.
- Organização: o nome da sua empresa e para que Claude Code é usado principalmente, como desenvolvimento de software, automação de infraestrutura ou engenharia de dados
- Controle de código-fonte: todas as organizações GitHub, GitLab ou Bitbucket para as quais seus desenvolvedores fazem push
- Provedores de nuvem e buckets confiáveis: nomes de buckets ou prefixos dos quais Claude deve ser capaz de ler e escrever
- Domínios internos confiáveis: nomes de host para APIs, painéis e serviços dentro de sua rede, como
*.internal.example.com - Serviços internos principais: CI, registros de artefatos, índices de pacotes internos, ferramentas de incidentes
- Contexto adicional: restrições de indústria regulada, infraestrutura multi-tenant ou requisitos de conformidade que afetam o que o classificador deve tratar como arriscado
Substituir as regras de bloqueio e permissão
Três campos adicionais permitem que você substitua as listas de regras integradas do classificador:autoMode.hard_deny para limites de segurança incondicionais, autoMode.soft_deny para ações destrutivas que a intenção do usuário pode contornar, e autoMode.allow para exceções. Cada um é uma matriz de descrições em prosa, lidas como regras em linguagem natural. Para bloqueios baseados em padrões de ferramentas que são executados antes do classificador, use permissions.deny.
Dentro do classificador, a precedência funciona em quatro camadas:
- Regras
hard_denybloqueiam incondicionalmente. A intenção do usuário e exceçõesallownão se aplicam. - Regras
soft_denybloqueiam em seguida. A intenção do usuário e exceçõesallowpodem substituir estas. - Regras
allowentão substituem regrassoft_denycorrespondentes como exceções. - A intenção explícita do usuário substitui os bloqueios soft restantes: se a mensagem do usuário descreve direta e especificamente a ação exata que Claude está prestes a executar, o classificador a permite mesmo quando uma regra
soft_denycorresponde.
allow quando o classificador sinalizar repetidamente um padrão rotineiro que as exceções padrão não cobrem. Para apertar, adicione a soft_deny para riscos destrutivos específicos do seu ambiente que os padrões perdem, ou a hard_deny para limites de segurança que nunca devem ser ultrapassados.
Para manter as regras integradas enquanto adiciona as suas próprias, inclua a string literal "$defaults" na matriz. As regras padrão são inseridas nessa posição, portanto suas regras personalizadas podem vir antes ou depois delas, e você continua a herdar atualizações conforme a lista integrada muda entre versões.
Definir qualquer um de
environment, allow, soft_deny ou hard_deny sem "$defaults" substitui a lista padrão inteira para essa seção. Uma matriz soft_deny sem "$defaults" descarta todas as regras de bloqueio integradas, incluindo force push, curl | bash e implantações em produção. Uma matriz hard_deny sem "$defaults" descarta as regras integradas de exfiltração de dados e bypass de auto-mode.environment sozinho deixa as listas padrão allow, soft_deny e hard_deny intactas. Omita "$defaults" apenas quando você pretender assumir a propriedade total da lista. Para fazer isso com segurança, execute claude auto-mode defaults para imprimir as regras integradas, copie-as para seu arquivo de configurações e depois revise cada regra em relação ao seu próprio pipeline e tolerância ao risco.
Inspecione os padrões e sua configuração efetiva
Três subcomandos CLI ajudam você a inspecionar e validar sua configuração. Imprima as regrasenvironment, allow, soft_deny e hard_deny integradas como JSON:
allow, soft_deny e hard_deny personalizadas:
claude auto-mode config após salvar suas configurações para confirmar que as regras efetivas são o que você espera, com "$defaults" expandido no lugar. Se você escreveu regras personalizadas, claude auto-mode critique as revisa e sinaliza entradas que são ambíguas, redundantes ou provavelmente causarão falsos positivos. Se você precisar remover ou reescrever uma regra integrada em vez de adicionar ao lado dela, salve a saída de claude auto-mode defaults em um arquivo, edite as listas e cole o resultado em seu arquivo de configurações no lugar de "$defaults".
Review denials
Quando o modo automático nega uma chamada de ferramenta, a negação é registrada em/permissions na aba Recently denied. Pressione r em uma ação negada para marcá-la para retry: quando você sair do diálogo, Claude Code envia uma mensagem dizendo ao modelo que ele pode tentar novamente essa chamada de ferramenta e retoma a conversa.
Negações repetidas para o mesmo destino geralmente significam que o classificador está perdendo contexto. Adicione esse destino a autoMode.environment, depois execute claude auto-mode config para confirmar que teve efeito.
Para reagir a negações programaticamente, use o hook PermissionDenied.
See also
- Permission modes: o que é modo automático, o que ele bloqueia por padrão e como ativá-lo
- Managed settings: implante a configuração
autoModeem toda a sua organização - Permissions: regras de permissão, pergunta e negação que se aplicam antes do classificador ser executado
- Settings: a referência de configurações completa, incluindo a chave
autoMode