Os modos de permissão controlam se Claude pede permissão antes de agir. Diferentes tarefas exigem diferentes níveis de autonomia: você pode querer supervisão total para trabalho sensível, interrupções mínimas para uma refatoração longa, ou acesso somente leitura ao explorar uma base de código.
Esta página cobre como:
Switch permission modes
Você pode alternar modos a qualquer momento durante uma sessão, na inicialização ou como padrão persistente. O mecanismo depende de onde você está executando Claude Code.
CLI
JetBrains
VS Code
Desktop
Web and mobile
Durante uma sessão: pressione Shift+Tab para ciclar através de default → acceptEdits → plan → auto. O modo atual aparece na barra de status. auto não aparece no ciclo até que você passe --enable-auto-mode na inicialização. Auto também requer um plano Team (ou Enterprise/API em breve disponível) e Claude Sonnet 4.6 ou Opus 4.6, então a opção pode permanecer indisponível mesmo com a flag. Se bypassPermissions também estiver habilitado, ele aparece no ciclo entre plan e auto.Na inicialização: passe o modo como uma flag CLI:claude --permission-mode plan
Como padrão: defina defaultMode em seu arquivo de configurações:{
"permissions": {
"defaultMode": "acceptEdits"
}
}
Não-interativamente: a mesma flag funciona com -p para execuções com script:claude -p "refactor auth" --permission-mode acceptEdits
dontAsk nunca está no ciclo Shift+Tab. bypassPermissions aparece no ciclo apenas se você iniciou a sessão com --permission-mode bypassPermissions, --dangerously-skip-permissions, ou --allow-dangerously-skip-permissions. A terceira flag adiciona o modo ao ciclo sem ativá-lo, então você pode compô-lo com um modo inicial diferente como --permission-mode plan. Defina qualquer um destes na inicialização ou em seu arquivo de configurações. O plugin JetBrains inicia Claude Code no terminal do IDE, então alternar modos funciona da mesma forma que na CLI: pressione Shift+Tab para ciclar, ou passe --permission-mode ao iniciar.
Durante uma sessão: clique no indicador de modo na parte inferior da caixa de prompt para alternar modos.Como padrão: defina claudeCode.initialPermissionMode nas configurações do VS Code, ou use o painel de configurações da extensão Claude Code.A UI do VS Code usa rótulos amigáveis que mapeiam para as chaves de configurações abaixo:| Rótulo da UI | Chave de configurações |
|---|
| Ask permissions | default |
| Auto accept edits | acceptEdits |
| Plan mode | plan |
| Auto | auto |
| Bypass permissions | bypassPermissions |
Auto e Bypass permissions aparecem apenas depois que você habilita Allow dangerously skip permissions nas configurações da extensão. Auto também requer um plano Team e Claude Sonnet 4.6 ou Opus 4.6, então a opção pode permanecer indisponível mesmo com o toggle ativado.Veja o guia do VS Code para detalhes específicos da extensão. Durante uma sessão: use o seletor de modo ao lado do botão enviar. Você pode alterá-lo antes ou durante uma sessão.A UI do Desktop usa rótulos amigáveis que mapeiam para as chaves de configurações abaixo:| Rótulo da UI | Chave de configurações |
|---|
| Ask permissions | default |
| Auto accept edits | acceptEdits |
| Plan mode | plan |
| Auto | auto |
| Bypass permissions | bypassPermissions |
Auto e Bypass permissions aparecem no seletor apenas depois que você os habilita nas configurações do Desktop. Veja o guia do Desktop para detalhes. Durante uma sessão: use o dropdown de modo ao lado da caixa de prompt em claude.ai/code ou no aplicativo móvel Claude.Para sessões de Claude Code na web executadas em VMs em nuvem da Anthropic, o dropdown oferece Auto accept edits e Plan mode. Ask permissions e Auto não estão disponíveis para sessões em nuvem.Para sessões de Remote Control executadas em sua máquina local, o dropdown oferece Ask permissions, Auto accept edits e Plan mode. Você também pode definir o modo inicial quando inicia o host local:claude remote-control --permission-mode acceptEdits
Prompts de permissão aparecem em claude.ai para aprovação.
Os modos de permissão são definidos através da UI, flags CLI ou arquivos de configurações. Dizer a Claude “pare de pedir permissão” no chat não altera o modo. Veja Permissions para como os modos interagem com regras de permitir, pedir e negar.
Available modes
Cada modo faz um tradeoff diferente entre conveniência e supervisão. Escolha aquele que corresponde à sua tarefa.
| Modo | O que Claude pode fazer sem pedir | Melhor para |
|---|
default | Ler arquivos | Começando, trabalho sensível |
acceptEdits | Ler e editar arquivos | Iterando em código que você está revisando |
plan | Ler arquivos | Explorando uma base de código, planejando uma refatoração |
auto | Todas as ações, com verificações de segurança de fundo | Tarefas de longa duração, reduzindo fadiga de prompt |
bypassPermissions | Todas as ações, sem verificações | Apenas contêineres e VMs isolados |
dontAsk | Apenas ferramentas pré-aprovadas | Ambientes bloqueados |
Analyze before you edit with plan mode
Plan mode diz a Claude para pesquisar e propor alterações sem fazê-las. Claude lê arquivos, executa comandos shell para explorar, faz perguntas esclarecedoras e escreve um arquivo de plano, mas não edita seu código-fonte. Prompts de permissão funcionam da mesma forma que o modo padrão: você ainda aprova comandos Bash, solicitações de rede e outras ações que normalmente solicitariam.
When to use plan mode
Plan mode é útil quando você quer que Claude pesquise e proponha uma abordagem antes de fazer alterações:
- Implementação multi-etapa: quando um recurso requer edições em muitos arquivos
- Exploração de código: quando você quer pesquisar a base de código antes de alterar qualquer coisa
- Desenvolvimento interativo: quando você quer iterar na direção com Claude
Start and use plan mode
Entre em plan mode para uma única solicitação prefixando seu prompt com /plan, ou alterne toda a sessão para plan mode pressionando Shift+Tab para ciclar através dos modos de permissão. Você também pode iniciar em plan mode a partir da CLI:
claude --permission-mode plan
Este exemplo inicia uma sessão de planejamento para uma refatoração complexa:
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claude analisa a implementação atual e cria um plano. Refine com acompanhamentos:
What about backward compatibility?
How should we handle database migration?
Quando o plano está pronto, Claude o apresenta e pergunta como proceder. A partir desse prompt você pode:
- Aprovar e iniciar em modo automático
- Aprovar e aceitar edições
- Aprovar e revisar manualmente cada edição
- Continuar planejando, que envia seu feedback de volta a Claude para outra rodada
Cada opção de aprovação também oferece limpar o contexto de planejamento primeiro.
Eliminate prompts with auto mode
Auto mode está disponível em planos Team, com suporte Enterprise e API sendo lançado em breve. Em Team e Enterprise, um administrador deve habilitá-lo em configurações de administrador do Claude Code antes que os usuários possam ativá-lo. Requer Claude Sonnet 4.6 ou Claude Opus 4.6, e não está disponível em Haiku, modelos claude-3 ou provedores de terceiros (Bedrock, Vertex, Foundry).
Auto mode permite que Claude execute ações sem mostrar prompts de permissão. Antes de cada ação ser executada, um modelo classificador separado revisa a conversa e decide se a ação corresponde ao que você pediu: ele bloqueia ações que escalem além do escopo da tarefa, direcionem infraestrutura que o classificador não reconhece como confiável, ou pareçam ser impulsionadas por conteúdo hostil encontrado em um arquivo ou página da web. Para uma análise mais profunda de como o classificador é projetado, veja o anúncio do auto mode.
Auto mode é uma visualização de pesquisa. Reduz prompts mas não garante segurança. Fornece mais proteção que bypassPermissions mas não é tão completo quanto revisar manualmente cada ação. Use-o para tarefas onde você confia na direção geral, não como substituto para revisão em operações sensíveis.
Modelo: o classificador é executado em Claude Sonnet 4.6, mesmo se sua sessão principal usar um modelo diferente.
Custo: chamadas do classificador contam para seu uso de tokens da mesma forma que chamadas de sessão principal. Cada ação verificada envia uma porção da transcrição da conversa mais a ação pendente para o classificador. O custo extra vem principalmente de comandos shell e operações de rede, já que ações somente leitura e edições de arquivo em seu diretório de trabalho não acionam uma chamada do classificador.
Latência: cada verificação do classificador adiciona uma viagem de ida e volta antes da ação ser executada.
How actions are evaluated
Cada ação passa por uma ordem de decisão fixa. O primeiro passo correspondente vence:
- Ações correspondentes às suas regras de permitir ou negar resolvem imediatamente
- Ações somente leitura e edições de arquivo em seu diretório de trabalho são auto-aprovadas
- Tudo mais vai para o classificador
- Se o classificador bloqueia, Claude recebe o motivo e tenta uma abordagem alternativa
Ao entrar em auto mode, Claude Code descarta qualquer regra de permitir que é conhecida por conceder execução de código arbitrário: acesso shell abrangente como Bash(*), intérpretes de script com caracteres curinga como Bash(python*) ou Bash(node*), comandos de execução do gerenciador de pacotes, e qualquer regra Agent. Essas regras auto-aprovariam os comandos e delegações de subagente mais capazes de causar dano antes do classificador jamais vê-los. Regras estreitas como Bash(npm test) são mantidas. As regras descartadas são restauradas quando você sai do auto mode.
O classificador recebe mensagens de usuário e chamadas de ferramenta como entrada, com o próprio texto de Claude e resultados de ferramenta removidos. Ele também recebe seu conteúdo CLAUDE.md, então ações descritas em suas instruções de projeto são consideradas em decisões de permitir e bloquear. Como resultados de ferramenta nunca chegam ao classificador, conteúdo hostil em um arquivo ou página da web não pode manipulá-lo diretamente. O classificador avalia a ação pendente contra um conjunto personalizável de regras de bloquear e permitir, verificando se a ação é uma escalação excessiva além do que você pediu, um erro sobre o que é seguro tocar, ou uma partida repentina de sua intenção declarada que sugere que Claude pode ter sido direcionado por algo que leu.
Diferentemente de suas regras de permissão, que correspondem a nomes de ferramenta e padrões de argumento, o classificador lê descrições em prosa do que bloquear e permitir: ele raciocina sobre a ação em contexto em vez de corresponder sintaxe.
How auto mode handles subagents
Quando Claude gera um subagente, o classificador avalia a tarefa delegada antes do subagente iniciar. Uma descrição de tarefa que parece perigosa por si só, como “deletar todos os ramos remotos correspondentes a este padrão”, é bloqueada no tempo de geração.
Dentro do subagente, auto mode é executado com as mesmas regras de bloquear e permitir que a sessão pai. Qualquer permissionMode que o subagente define em seu próprio frontmatter é ignorado. As próprias chamadas de ferramenta do subagente passam pelo classificador independentemente.
Quando o subagente termina, o classificador revisa seu histórico de ação completo. Um subagente que era benigno no tempo de geração poderia ter sido comprometido durante a execução por conteúdo que leu. Se a verificação de retorno sinaliza uma preocupação, um aviso de segurança é adicionado aos resultados do subagente para que o agente principal possa decidir como proceder.
What the classifier blocks by default
Pronto para uso, o classificador confia em seu diretório de trabalho e, se você estiver em um repositório git, os remotos configurados desse repositório. Tudo mais é tratado como externo: as organizações de controle de fonte da sua empresa, buckets em nuvem e serviços internos são desconhecidos até que você diga ao classificador sobre eles.
Bloqueado por padrão:
- Baixar e executar código, como
curl | bash ou scripts de repositórios clonados
- Enviar dados sensíveis para endpoints externos
- Deploys e migrações de produção
- Exclusão em massa no armazenamento em nuvem
- Concessão de permissões IAM ou repositório
- Modificação de infraestrutura compartilhada
- Destruição irreversível de arquivos que existiam antes da sessão começar
- Operações destrutivas de controle de fonte como force push ou push direto para
main
Permitido por padrão:
- Operações de arquivo local em seu diretório de trabalho
- Instalação de dependências já declaradas em seus arquivos de lock ou manifestos
- Leitura de
.env e envio de credenciais para sua API correspondente
- Solicitações HTTP somente leitura
- Push para o ramo em que você começou ou um que Claude criou
Para ver as listas de regras padrão completas conforme o classificador as recebe, execute claude auto-mode defaults.
Se auto mode bloqueia algo rotineiro para sua equipe, como push para o repositório de sua própria organização ou escrita em um bucket da empresa, é porque o classificador não sabe que esses são confiáveis. Administradores podem adicionar repositórios confiáveis, buckets e serviços internos via configuração autoMode.environment: veja Configure the auto mode classifier para o guia de configuração completo.
When auto mode falls back
O design de fallback mantém falsos positivos de descarrilar uma sessão: um bloqueio equivocado custa a Claude uma tentativa, não seu progresso. Se o classificador bloqueia uma ação 3 vezes seguidas ou 20 vezes total em uma sessão, auto mode pausa e Claude Code retoma prompts para cada ação. Esses limites não são configuráveis.
- CLI: você vê uma notificação na área de status. Aprovar a ação solicitada reseta os contadores de negação, então você pode continuar em auto mode
- Modo não-interativo com a flag
-p: aborta a sessão, já que não há usuário para solicitar
Bloqueios repetidos geralmente significam uma de duas coisas: a tarefa genuinamente requer ações que o classificador é construído para parar, ou o classificador está perdendo contexto sobre sua infraestrutura confiável e tratando ações seguras como arriscadas. Se os bloqueios parecem falsos positivos, ou se o classificador perde algo que deveria ter capturado, use /feedback para relatar. Se bloqueios estão acontecendo porque o classificador não reconhece seus repositórios ou serviços como confiáveis, peça a um administrador para configurar infraestrutura confiável em configurações gerenciadas.
Modo dontAsk nega automaticamente toda ferramenta que não é explicitamente permitida. Apenas ações correspondentes às suas regras de permitir /permissions ou configurações permissions.allow podem ser executadas. Se uma ferramenta tem uma regra ask explícita, a ação também é negada em vez de solicitar. Isso torna o modo totalmente não-interativo, adequado para pipelines CI ou ambientes restritos onde você pré-define exatamente o que Claude tem permissão para fazer.
claude --permission-mode dontAsk
Skip all checks with bypassPermissions mode
Modo bypassPermissions desabilita todos os prompts de permissão e verificações de segurança. Cada chamada de ferramenta é executada imediatamente sem qualquer verificação. Use apenas em ambientes isolados como contêineres, VMs ou devcontainers sem acesso à internet, onde Claude Code não pode causar dano ao seu sistema host.
claude --permission-mode bypassPermissions
A flag --dangerously-skip-permissions é equivalente a --permission-mode bypassPermissions:
claude -p "refactor the auth module" --dangerously-skip-permissions
Modo bypassPermissions não oferece proteção contra injeção de prompt ou ações não intencionais. Para uma alternativa mais segura que ainda mantém verificações de segurança de fundo, use auto mode. Administradores podem bloquear este modo definindo permissions.disableBypassPermissionsMode para "disable" em configurações gerenciadas.
Compare permission approaches
A tabela abaixo resume as diferenças-chave em como cada modo lida com aprovações. plan é omitido já que restringe o que Claude pode fazer em vez de como aprovações funcionam.
| default | acceptEdits | auto | dontAsk | bypassPermissions |
|---|
| Prompts de permissão | Edições de arquivo e comandos | Apenas comandos | Nenhum a menos que fallback dispare | Nenhum, bloqueado a menos que pré-permitido | Nenhum |
| Verificações de segurança | Você revisa cada ação | Você revisa comandos | Classificador revisa comandos | Apenas suas regras pré-aprovadas | Nenhum |
| Uso de token | Padrão | Padrão | Mais alto, de chamadas do classificador | Padrão | Padrão |
Customize permissions further
Os modos de permissão definem o comportamento de aprovação de linha de base. Para controle sobre ferramentas ou comandos individuais, camada configuração adicional no topo do modo ativo.
Regras de permissão são a primeira parada. Adicione entradas allow, ask ou deny ao seu arquivo de configurações para pré-aprovar comandos seguros, forçar um prompt para arriscados, ou bloquear ferramentas específicas inteiramente. Regras se aplicam em cada modo exceto bypassPermissions, que pula a camada de permissão inteiramente, e são correspondidas por nome de ferramenta e padrão de argumento. Veja Manage permissions para sintaxe e exemplos.
Hooks cobrem lógica que regras de correspondência de padrão não podem expressar. Um hook PreToolUse é executado antes de cada chamada de ferramenta e pode permitir, negar ou escalar com base no conteúdo do comando, caminhos de arquivo, hora do dia, ou uma resposta de um serviço de política externa. Um hook PermissionRequest intercepta o diálogo de permissão em si e responde em seu nome. Veja Hooks para configuração.
See also
- Permissions: regras de permissão, sintaxe, políticas gerenciadas
- Hooks: lógica de permissão personalizada, scripting de ciclo de vida
- Security: salvaguardas de segurança e melhores práticas
- Sandboxing: isolamento de sistema de arquivos e rede para comandos Bash
- Non-interactive mode: executar Claude Code programaticamente com a flag
-p