Você configurou a flag --dangerously-skip-permissions no Claude Code, mas o Claude ainda manda uma mensagem no chat perguntando "Posso executar esta operação?" Parece familiar?

O instinto é pensar "o bypass não está funcionando" — mas não é isso que está acontecendo. O sistema de permissões do Claude Code tem duas camadas independentes, e o modo bypass só controla uma delas.

Este artigo cobre tudo: desde "o que é o bypass de verdade" até a diferença entre as duas camadas de permissão, os tipos de operações em que o Claude pergunta por conta própria e formas práticas de reduzir as confirmações ao automatizar tarefas.

1. O que é "bypass" afinal?

Em software, "bypass" significa pular o fluxo normal de confirmação ou aprovação para prosseguir diretamente. Pense no botão "comprar agora" de uma loja online que pula a tela de revisão — isso é um bypass do fluxo de confirmação.

No modo padrão do Claude Code, um diálogo de confirmação aparece antes de qualquer edição de arquivo ou execução de comando shell.

# Modo padrão: confirmação antes de cada ação
$ claude
> Please fix index.js
[Claude] May I edit this file? [y/n]

O modo de bypass de permissões pula (bypassa) esse fluxo de confirmação.

# Modo bypass: sem diálogos de confirmação
$ claude --dangerously-skip-permissions
# or
$ claude --permission-mode bypass

Note que a flag inclui a palavra dangerously. A Anthropic posiciona este modo como destinado apenas a containers ou ambientes isolados — não é recomendado para o desenvolvimento local do dia a dia. Para uma análise completa dos riscos do modo bypass, veja Modo bypass do Claude Code: riscos e uso seguro.

2. O verdadeiro motivo: o sistema de permissões de 2 camadas

A resposta para "por que a confirmação aparece mesmo com o bypass ativado" é que o sistema de permissões do Claude Code é construído sobre duas camadas independentes.

Sistema de permissões do Claude Code: estrutura de 2 camadas com IU de permissões de ferramentas (Camada 1) e julgamento de segurança da IA (Camada 2). O modo bypass só desativa a Camada 1.

Confundir essas duas camadas é a causa raiz do equívoco de que "o bypass não está funcionando". Vamos ver cada uma em detalhes.

3. Camada 1: IU de permissões de ferramentas (controlável com bypass)

A primeira camada é o diálogo de confirmação exibido antes da execução de uma ferramenta — a IU interativa que aparece quando o Claude Code está prestes a editar um arquivo ou executar um comando shell.

FerramentaExemplo de diálogo de confirmação
Edição de arquivo"Posso modificar index.js?"
Execução de Bash"Posso executar npm install?"
Acesso à web"Posso acessar https://...?"

É exatamente essa a camada que o modo bypass desativa. Com --dangerously-skip-permissions, nenhum desses diálogos aparece e o Claude pode executar ferramentas livremente. Nesse sentido, o modo bypass está funcionando corretamente.

Observação: existem 5 modos de permissão

O Claude Code tem cinco modos de permissão: default, acceptEdits, plan, auto e bypassPermissions. O bypass (bypassPermissions) é o menos restritivo. Para mais detalhes sobre cada modo, veja o artigo explicativo do modo bypass.

4. Camada 2: julgamento de segurança da IA (não controlável com bypass)

A segunda camada é o julgamento de segurança autônomo do Claude. Ela é completamente separada da IU de confirmação de ferramentas.

Quando o Claude determina que uma operação pode ter consequências significativas, ele envia uma mensagem de confirmação no chat como texto simples. Isso não é um mecanismo de execução de ferramentas — é o comportamento conversacional do Claude como IA.

--dangerously-skip-permissions pula os diálogos de IU da Camada 1, mas não tem nenhum efeito sobre esse julgamento de IA da Camada 2 — porque a Camada 2 é um princípio comportamental integrado ao próprio modelo do Claude.

Equívoco comum

"Ativei o modo bypass, mas o Claude parou → o bypass não está funcionando"
→ Mais precisamente: "A IU da Camada 1 está desativada, mas o julgamento de IA da Camada 2 está solicitando confirmação." O bypass está funcionando normalmente.

5. Padrões de operações em que o Claude pergunta por conta própria

Operações por tipo: tabela comparativa mostrando se a Camada 1 (IU de permissões de ferramentas) ou a Camada 2 (julgamento de segurança da IA) trata a confirmação

Os critérios internos do Claude para "devo confirmar isso" se enquadram em três categorias principais.

① Irreversibilidade

Operações que não podem ser desfeitas deixam o Claude mais cauteloso. Exclusão permanente de arquivos, git push --force e DROP TABLE são exemplos clássicos. Como os erros são difíceis de recuperar, o Claude faz uma pausa e pergunta.

② Raio de impacto

Ações que afetam ambientes de produção, grandes quantidades de arquivos ou outros usuários geram verificações mais frequentes. Modificar um único arquivo local raramente provoca uma pergunta; alterar o schema de um banco de dados de produção quase sempre provoca.

③ Risco de segurança

Operações que enviam arquivos .env, tokens de autenticação ou chaves de API para sistemas externos são sinalizadas como alto risco de segurança pelo Claude, que perguntará antes de prosseguir.

Esses julgamentos estão integrados ao modelo de IA do Claude e não podem ser completamente desativados via configuração. Para saber mais sobre como os agentes de IA são projetados para operar com segurança, veja O que é um agente de IA?.

6. Por que duas camadas? A filosofia de design

Filosofia de design do sistema de 2 camadas: analogia do prestador de serviços — dar uma chave reserva (permissão de ferramenta) não impede o prestador de usar seu próprio julgamento

Aqui está uma analogia que torna o design de duas camadas intuitivo.

Imagine que você contrata um pedreiro para reformar um cômodo e lhe dá uma chave reserva, dizendo "você pode fazer o que precisar." Isso equivale a conceder permissões de ferramenta.

Mas quando o pedreiro está prestes a derrubar uma parede e pergunta "Esta parede é estrutural? Tem certeza de que quer que eu a remova?" — ele está perguntando com base no seu próprio julgamento profissional, não porque perdeu a chave.

Dar a chave a ele não impede o pedreiro de pensar. O seu julgamento profissional e a consciência de segurança operam de forma independente da chave.

O Claude funciona da mesma forma. O modo bypass dá ao Claude "a chave para usar ferramentas", mas não interrompe o julgamento de IA do Claude. Na verdade, o Claude fazer uma pausa antes de operações de alto risco é um recurso de segurança intencional, não uma falha.

7. Formas práticas de reduzir as confirmações

Em pipelines de CI/CD e outros cenários de automação, pode ser necessário que o Claude conclua as tarefas sem parar. Aqui estão as abordagens mais eficazes.

Abordagem 1: usar o CLAUDE.md para fornecer contexto

Crie um arquivo CLAUDE.md na raiz do seu projeto explicando o ambiente e as restrições. Quando o Claude entende que "este é um ambiente seguro e isolado", a frequência de confirmações cai significativamente.

# About This Environment

This repository runs inside a CI/CD pipeline test environment.
- Runtime: fully isolated Docker container
- Production impact: none
- All changes are rollback-safe

Please proceed without asking for extra confirmation.

Abordagem 2: dar instruções pequenas e específicas

Instruções vagas aumentam a incerteza do Claude e geram mais confirmações.

Tipo de instruçãoExemploFrequência de confirmação
Vaga"Limpe este projeto"Alta
Específica"Delete todos os arquivos .log dentro de /tmp/"Baixa
Vaga"Faça o deploy"Alta
Específica"Execute npm run deploy:staging no ambiente de staging"Baixa

Abordagem 3: experimentar o modo auto primeiro

Antes de recorrer ao modo bypass completo, experimente o modo auto. Ele executa um classificador de segurança em segundo plano enquanto aprova automaticamente a maioria das operações. Se o único motivo pelo qual você usa o bypass é "estou cansado das confirmações", o modo auto pode ser suficiente.

Aviso importante

Nenhuma configuração pode reduzir o julgamento de segurança do Claude a zero absoluto. Isso é intencional — não é um bug nem uma limitação. Para operações de alto risco, o Claude pedir confirmação é o comportamento correto. Aceite isso como parte do design.

8. Resumo

ItemDetalhe
O que é o bypassPular os diálogos de confirmação pré-ferramenta (Camada 1)
O que o bypass desativaA IU de permissões de ferramentas ("Posso executar este comando?")
O que o bypass NÃO desativaO julgamento de segurança de IA do Claude (confirmação enviada como texto no chat)
Critérios de confirmação do ClaudeIrreversibilidade, raio de impacto, risco de segurança
Como reduzir confirmaçõesContexto no CLAUDE.md / instruções específicas / modo auto
Por que duas camadasPermissão de ferramenta e julgamento de IA são conceitos fundamentalmente distintos

Quando o Claude pede confirmação mesmo no modo bypass, não significa que o bypass parou de funcionar — dois sistemas independentes simplesmente estão fazendo seu trabalho. Entender essa distinção ajuda a prever o comportamento do Claude Code com precisão e a utilizá-lo de forma mais eficiente.

Para entender as diferenças entre os produtos Claude, veja Claude.ai vs Claude Code: qual é a diferença?.

FAQ

Posso obter zero confirmações com o modo bypass?

Você pode desativar os diálogos de IU de execução de ferramentas (Camada 1), mas não pode eliminar completamente as confirmações do julgamento de segurança de IA da Camada 2. Isso é um recurso de segurança intencional. No entanto, documentar bem seu ambiente no CLAUDE.md e dar instruções específicas pode reduzir significativamente a frequência com que o Claude pergunta.

O Claude pedir confirmação é um bug?

Não. O modo bypass pula a IU de permissões de ferramentas, não o julgamento de IA do Claude. O Claude fazer uma pausa antes de operações irreversíveis, ambientes de produção ou dados sensíveis é um comportamento de segurança intencional — não uma falha. Não é "o bypass não funcionando", é "dois sistemas operando de forma independente".

Como evito que o Claude pare em pipelines de CI/CD?

Três coisas funcionam bem: ① declare explicitamente no CLAUDE.md ou no prompt do sistema que "este é um ambiente de CI/CD completamente isolado e todas as operações são executadas com segurança", ② dê instruções de tarefa pequenas e específicas (instruções vagas geram mais confirmações), ③ combine o modo bypass com isolamento de container Docker. Observe que mesmo com os três passos, o Claude pode fazer alguma pausa.

Consigo distinguir visualmente um diálogo de ferramenta da confirmação do Claude?

Sim. Os diálogos de permissão de ferramentas da Camada 1 aparecem no terminal do Claude Code como IU interativa, como "Allow bash command? [y/n]". As confirmações do julgamento de IA da Camada 2 aparecem como texto de conversa normal do Claude (por exemplo, "Isso vai modificar o banco de dados de produção — pode ser?"). O formato de exibição é completamente diferente, então é fácil distingui-los depois que você se familiariza.