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.
Esta página é a referência de configuração. Ativar e desativar o modo automático é coberto na página Modos de permissão:
- Mudar para modo automático no meio da sessão, ou sair dele: consulte Mudar modos de permissão
- Iniciar uma sessão em modo automático: consulte Iniciar em um modo de permissão diferente
autoMode.environment.
Esta página cobre como:
- Adicionar um checkpoint humano para pushes e pull requests com
permissions.ask - Definir infraestrutura confiável com
autoMode.environment - Gerar entradas de ambiente com
/auto-mode-setup - Revisar negações para saber o que adicionar a seguir
Limites comuns
O modo automático permite pushes para qualquer branch do repositório em que você está trabalhando, incluindo a branch padrão, e criação de pull request por padrão. Uma branch não padrão cujo nome a marca como alvo de deploy ou publicação, comoproduction, release ou gh-pages, não é coberta por esse padrão: o classificador julga um push lá em seus próprios termos, incluindo como um deploy de produção. O conteúdo do push ainda é verificado, portanto um force push, um segredo entrando no commit ou uma mudança que enviaria segredos fora do repositório quando CI ou um pipeline de deploy o executa permanece bloqueado.
Se você quiser um checkpoint humano antes dos comandos push e pull request do Claude, adicione regras de permissão: as receitas abaixo mantêm o modo automático ativado para tudo mais.
Adicionar um checkpoint humano
O mecanismo mais direto épermissions.ask. Regras ask com escopo de conteúdo como as abaixo são avaliadas antes do classificador e sempre forçam um prompt de permissão, mesmo em modo automático, porque uma regra ask explícita é sua intenção declarada de ser solicitado para essa ação. Adicione as regras em suas settings:
git push ou gh pr create. Um push que Claude escreve de outra forma, como git -C <dir> push ou git -c <key>=<value> push, não corresponde à regra, portanto não é checkpointed. Para um checkpoint que inspeciona o texto completo do comando, adicione um hook PreToolUse.
Escolha o mecanismo que corresponde ao quão firme o limite precisa ser:
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 lá 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:
O classificador não lê
autoMode das configurações do projeto em .claude/settings.json ou .claude/settings.local.json. Ambos os arquivos residem no diretório do repositório, portanto um repositório verificado ou uma etapa de compilação poderia injetar suas próprias regras de permissão. Mova qualquer bloco autoMode em .claude/settings.local.json para ~/.claude/settings.json.
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 pelo 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 nas configurações gerenciadas, que bloqueia a ação antes do classificador ser consultado e não pode ser substituída.Defina infraestrutura confiável
Para a maioria das organizações,autoMode.environment é o único campo que você precisa definir. Ele informa 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.
claude auto-mode defaults imprime três tipos de entrada de ambiente.
- Context slots: descrevem sua organização, stack e postura de segurança para que o classificador leia as outras regras em seu contexto. Cada um é padronizado para
None configuredou para a suposição conservadora nomeada ao lado:- Organization
- Primary use of Claude Code: padronizado para desenvolvimento de software
- Cloud provider(s)
-
Repository visibility: um repositório é assumido como privado a menos que seu host remoto e nome indiquem o contrário, ou o classificador leia uma verificação de visibilidade anterior na conversa mostrando que é público.
Nas solicitações do classificador enviadas pelo Claude Code em si, o classificador lê suas mensagens e os comandos que Claude executa, não sua saída. A evidência deve ser algo que o classificador possa ler, como sua própria mensagem nomeando o repositório como público; a saída de um
gh repo viewpor si só não o alcança. - Internal sharing / snippet hosting: serviços públicos de paste e gist são tratados como fora do limite de confiança até você nomear um
- Org-specific CLIs
- Secrets management
- CI/CD deploy targets
- Network posture
- Host containment: padronizado para uma máquina de desenvolvedor comum ou executor de CI com internet aberta. Se Claude Code é executado em um container, VM ou pod com uma lista de permissão de egresso ou vizinhos que não deve tocar, nomeie os hosts permitidos, se o endpoint de metadados da nuvem deve ser alcançável e qual projeto de nuvem, cluster ou registro a tarefa usa e sob qual identidade. Até que esta entrada nomeie essa identidade, o classificador bloqueia solicitações pelas credenciais do próprio host. Requer Claude Code v2.1.257 ou posterior
- Protected deployment namespaces / environments: volta para a heurística de Sensitive remote targets até você nomeá-los
- Data retention / declassification
- Trust slots: nomeiam o que o classificador trata como dentro de seu limite. Os slots são Trusted repo, Source control, Trusted internal domains, Trusted cloud buckets, Key internal services e Internal package registry. As entradas de repo e source-control são padronizadas para o repositório de trabalho e seus remotes configurados. Todos os outros slots de confiança são padronizados para
None configured, portanto nada mais é confiável até você adicioná-lo. A visibilidade de um repositório abrange apenas material confidencial: um repositório privado é um destino aceitável para material confidencial, mas tornar um repositório privado nunca limpa segredos ou dados pessoais ou confiados nele, e o classificador trata o conteúdo portado, repontado ou lido pela primeira vez de fora do repositório de trabalho como não sendo trabalho do próprio repositório. - Sensitivity slots: nomeiam o que as regras de proteção tratam como alto risco. Os slots são Sensitive data locations & audiences, Sensitive remote targets e Protected IaC scopes. Cada um é padronizado para uma heurística ampla, como tratar qualquer host ou namespace cujo nome carregue
prodouproductioncomo um alvo remoto sensível, portanto as regras de proteção estão ativas antes de você configurar qualquer coisa. Nomear destinos concretos em um slot de sensibilidade faz com que essas regras se apliquem aos destinos nomeados em vez da heurística.
"$defaults" no array. As entradas padrão são inseridas nessa posição, portanto suas entradas personalizadas podem ir antes ou depois delas.
O exemplo a seguir mantém as entradas padrão e adiciona repositórios, buckets, domínios e serviços de uma organização.
claude auto-mode config para confirmar que as regras efetivas incluem suas entradas.
As entradas são prosa, não regex ou padrões de ferramenta. O classificador as lê como regras em linguagem natural. Escreva-as da forma como você descreveria sua infraestrutura para um novo engenheiro. Uma seção de ambiente completa cobre:
- Organization: o nome da sua empresa e para o que Claude Code é principalmente usado, como desenvolvimento de software, automação de infraestrutura ou engenharia de dados
- Source control: cada GitHub, GitLab ou Bitbucket org para o qual seus desenvolvedores fazem push
- Cloud providers and trusted buckets: nomes ou prefixos de bucket que Claude deve ser capaz de ler e escrever
- Trusted internal domains: nomes de host para APIs, dashboards e serviços dentro de sua rede, como
*.internal.example.com - Key internal services: CI, registros de artefatos, índices de pacotes internos, ferramentas de incidentes
- Internal package registry: o registro npm, PyPI ou outro privado que as instalações devem rotear, para que instalações que o contornem para um registro público sejam bloqueadas
- Sensitive data locations & audiences: os buckets, bancos de dados ou caminhos que contêm dados pessoais, dados comerciais confidenciais, credenciais, dados regulados ou material similarmente sensível, e os públicos com os quais os dados em cada local podem ser compartilhados, para que o classificador proteja esses locais em vez de adivinhar pelo conteúdo.
- Sensitive remote targets: os namespaces, hosts ou containers que contam como produção, portanto shells remotos e port-forwards neles precisam de sua aprovação explícita
- Protected IaC scopes: os recursos de infraestrutura cujo apply ou destroy sempre deve exigir que você nomeie a mudança
- Additional context: restrições de indústria regulada, infraestrutura multi-tenant ou requisitos de conformidade que afetam o que o classificador deve tratar como arriscado
Gerar entradas de ambiente com /auto-mode-setup
Execute /auto-mode-setup para que Claude Code elabore entradas de autoMode.environment e, às vezes, também entradas de regras, a partir do seu projeto e de suas sessões recentes nele. Se você aceitar o rascunho, Claude Code o escreve em ~/.claude/settings.json.
/auto-mode-setup requer um plano Pro, Max ou Team e Claude Code v2.1.228 ou posterior. No Windows nativo, requer v2.1.233 ou posterior. Você não pode executá-lo em Claude Code na web. Ele também precisa de busca de sinalizadores de recurso, portanto você não pode executá-lo em uma sessão onde você desativou a busca de sinalizadores.O que /auto-mode-setup lê
Se ~/.claude/settings.json já contiver entradas de autoMode, Claude Code começa perguntando se deve adicionar à sua lista de ambiente ou substituí-la, e mantém as regras que você escreveu de qualquer forma. Claude Code então pergunta como você usa este projeto e oferece duas verificações opcionais antes de verificar qualquer coisa. Na verificação, Claude Code sempre lê estas fontes:
CLAUDE.md,README.md, arquivos de configuração e remotes git do projeto- Suas configurações de
autoModeepermissions.allow - Os hosts, buckets e nomes de comando dos comandos que Claude executou em suas sessões recentes neste projeto, nunca suas mensagens
- A primeira palavra de cada comando no seu histórico de shell
- Os hosts remotos e nomes dos repositórios sob seu diretório home
Revisar e salvar o rascunho
Claude Code verifica em segundo plano e então mostra o rascunho. Você o aceita ou descarta como um todo, portanto edite~/.claude/settings.json depois para ajustar entradas individuais. Quando você aceita, Claude Code escreve o rascunho e o reconcilia com as configurações que você já tem:
- Claude Code escreve a lista de
environmentsem"$defaults", porque o rascunho especifica as entradas integradas que deixou inalteradas - Claude Code inclui
"$defaults"em cada uma das listasallow,soft_denyehard_denyàs quais o rascunho adiciona entradas, a menos que você já tenha escrito uma listaallowsem ela, portanto as regras integradas que você não substituiu permanecem em vigor - Após salvar, Claude Code oferece remover regras de
permissions.allowem~/.claude/settings.jsonque o modo automático ignora, comoBash(*), ou que aprovam automaticamente comandos destrutivos
claude auto-mode config para ver o resultado efetivo.
Desativar /auto-mode-setup
Depois que o modo automático bloqueou várias ações e você ainda não tem entradas de autoMode.environment, Claude Code mostra um diálogo intitulado “Ensinar ao modo automático sobre seu ambiente?” no final de um turno e oferece executar /auto-mode-setup para você. Para parar a oferta mas manter o comando, selecione Não mostrar novamente naquele diálogo.
Para desativar tanto o comando quanto a oferta, adicione esta entrada skillOverrides a ~/.claude/settings.json:
/auto-mode-setup é um comando integrado em vez de um skill agrupado, portanto esta entrada skillOverrides ainda se aplica a ele, mas disableBundledSkills não o desativa.
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: limites de segurança incondicionaisautoMode.soft_deny: ações destrutivas que a intenção do usuário pode contornarautoMode.allow: exceções às regras de bloqueio soft
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.
O exemplo a seguir mantém os padrões em todas as quatro listas e adiciona regras específicas da organização a cada uma.
Definir qualquer um de
environment, allow, soft_deny ou hard_deny sem "$defaults" substitui a lista padrão inteira para essa seção. Se você definir uma matriz sem "$defaults", descartará as regras integradas para essa seção:soft_deny: todas as regras de bloqueio soft integradas, incluindo force push,curl | bash, implantações em produção e bypass de auto-modehard_deny: a regra integrada de exfiltração de dados
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.
Editar regras de /permissions
Para visualizar e editar regras do classificador e entradas environment sem abrir um arquivo de configurações, execute /permissions e selecione a aba Auto mode. A aba requer Claude Code v2.1.246 ou posterior, e aparece apenas quando o modo automático está disponível para sua sessão.
Claude Code mostra entradas de configurações gerenciadas ou a flag --settings como somente leitura, e salva todas as alterações que você faz na aba em ~/.claude/settings.json.
Rotear todos os comandos shell através do classificador
Por padrão, as regras estreitas de Bash e PowerShell, comoBash(npm test), permanecem em vigor no modo automático. Claude Code as resolve antes do classificador ser executado, a menos que o comando tenha domínios permitidos por comando. Claude Code suspende apenas as regras amplas que concedem execução arbitrária de código, como Bash(*) ou intérpretes com caracteres curinga, juntamente com cada regra que nomeia Monitor, porque os comandos Monitor são executados através do shell. Isso significa que uma regra estreita ainda pode deixar um argumento destrutivo passar sem o classificador vê-lo, por exemplo um caminho de script ou sinalizador que o prefixo da regra não antecipou.
Defina autoMode.classifyAllShell como true para suspender cada regra de permissão de Bash e PowerShell enquanto o modo automático estiver ativo, para que o classificador avalie cada comando shell independentemente da sua lista de permissões, exceto remoções de caminho crítico.
Inspecione os padrões e sua configuração efetiva
Os subcomandosclaude auto-mode ajudam você a inspecionar, validar e redefinir sua configuração.
Imprima as regras environment, allow, soft_deny e hard_deny integradas como JSON:
jq, passe --label com o início do rótulo da regra, como claude auto-mode defaults --label 'Git Destructive'. A correspondência é um prefixo case-insensitive no rótulo de cada regra, e seções sem correspondência são impressas como listas vazias.
Imprima o que o classificador realmente usa como JSON, com suas configurações aplicadas onde definidas e padrões caso contrário:
defaults quanto config imprimem as quatro listas de regras como um único objeto JSON, com cada regra como uma string em prosa. Este é um exemplo truncado:
allow, soft_deny, hard_deny e environment:
claude auto-mode critique as revisa e sinaliza entradas que são ambíguas, redundantes ou provavelmente causarão falsos positivos.
Para descartar suas personalizações e retornar aos padrões integrados, execute o subcomando reset, que remove a seção autoMode do seu arquivo de configurações do usuário:
Reset auto mode configuration to defaults? antes de escrever; passe --yes para pular a confirmação. Reset altera apenas ~/.claude/settings.json: regras autoMode de managed settings ou a flag --settings ainda se aplicam.
Revisar negações
Para revisar e tentar novamente ações que o classificador do modo automático negou, abra/permissions e selecione a aba Recently denied, onde Claude Code registra cada negação. Pressione r em uma ação negada para marcá-la para retry: quando você sair do diálogo, Claude Code envia uma mensagem informando ao modelo que ele pode tentar novamente essa chamada de ferramenta e retoma a conversa.
Quando o classificador produz nenhum veredicto sobre a ação, porque uma verificação de segurança separada do modo automático recusou a própria solicitação do classificador ou sua resposta não foi analisada, Claude Code nega a ação sem registrá-la em Recently denied. A entrada de erro vinculada cobre o que Claude é informado e como executar a ação se você precisar dela.
Corrigir uma negação com uma regra de permissão, uma entrada de ambiente ou um retry
Para ver o que o classificador bloqueou, encontre a chamada de ferramenta na conversa. Se a chamada aparecer encurtada ou dobrada em uma linha de resumo comoRan 3 shell commands, pressione Ctrl+O para abrir o visualizador de transcrição, que a expande.
Dois outros lugares na tela que relatam negações omitem o comando ou URL: o aviso perto da caixa de entrada, como bash denied by auto mode · [Data Exfiltration] · /permissions, fornece a ferramenta e o motivo, e a aba Recently denied lista um comando shell pela descrição que Claude escreveu para ele. Para capturar a entrada exata dessas negações programaticamente, adicione um hook PermissionDenied, que a recebe como tool_input.
O texto sob a chamada informa se há algo a corrigir. Uma linha esmaecida Not run · auto mode's check had no usable answer, ou texto que relata um problema com o próprio classificador, como Auto mode could not evaluate this action, significa que Claude Code bloqueou a chamada sem um veredicto do classificador. Para uma linha Not run, pressione Ctrl+O para ler a mensagem completa e, em seguida, veja Auto mode cannot determine the safety of an action ou The server returned no safety verdict para saber o que fazer.
Caso contrário, uma linha lendo Denied by auto mode classifier com um motivo como [Production Deploy] ou Blocked by classifier significa que o classificador julgou a chamada insegura, então escolha a correção do que a chamada estava tentando alcançar ou fazer:
- Um destino que Claude precisa durante toda a tarefa, como um registro de pacotes, um domínio interno ou um host de repositório: adicione-o a
autoMode.environment. - Um comando que você deseja executar sem revisão a partir de agora: adicione uma regra
allow. - Uma ação única que você pretendia: declare essa intenção em sua próxima mensagem e deixe Claude tentar novamente.
allow a partir da aba Auto mode do diálogo /permissions.
O texto entre colchetes, como [Data Exfiltration], é o nome da regra que o classificador correspondeu. Para ler a redação completa dessa regra, veja Inspecionar os padrões e sua configuração efetiva.
Corrigir negações repetidas
Negações repetidas para o mesmo destino geralmente significam que o classificador está perdendo contexto. Adicione esse destino aautoMode.environment, ou execute /auto-mode-setup para que Claude Code rascunhe as entradas, depois execute claude auto-mode config para confirmar que a mudança entrou em vigor.
Veja também
- Modos de permissão: o que é o modo automático, o que ele bloqueia por padrão e quais sessões começam nele
- Configurações gerenciadas: implante a configuração
autoModeem toda a sua organização - Permissões: regras de permitir, perguntar e negar que se aplicam antes do classificador ser executado
- Todas as configurações: todas as chaves de configurações, incluindo
autoMode