Claude Code bypass permissions: o que muda e como usar
Entenda o bypass de permissões do Claude Code, quais proteções continuam ativas e como reduzir confirmações ou usar um devcontainer com isolamento.
Publicado em

Usar Claude Code bypass permissions dispensa as aprovações rotineiras, mas dá para reduzir as interrupções sem liberar toda chamada de ferramenta. O comando claude --dangerously-skip-permissions seleciona bypassPermissions e elimina essas aprovações, inclusive as verificações normais que protegem arquivos de configuração sensíveis. Reserve esse modo para um ambiente isolado. Se o problema do dia a dia é o excesso de pedidos de confirmação, comece pelo modo automático ou por regras de permissão bem delimitadas.
Claude Code bypass permissions: o que esse parâmetro desativa?
--dangerously-skip-permissions e --permission-mode bypassPermissions selecionam o mesmo modo. O Claude pode alterar arquivos, executar comandos no shell e fazer outras chamadas de ferramentas sem as pausas habituais para aprovação. Esse modo também permite gravar em caminhos protegidos. Na primeira execução interativa, aparece um aviso de responsabilidade; se você não aceitar, o Claude Code é encerrado. Documentação da Anthropic sobre bypass
Imagine que as permissões sejam um balcão de aprovação, e o isolamento, as paredes de uma oficina. Tirar o balcão não ergue paredes. Na prática, você ganha uma sessão de trabalho sem interrupções, mas perde a oportunidade de barrar uma ação ruim antes que ela seja executada.
A lógica do trabalho muda: em vez de aprovar cada operação, você prepara o ambiente antes e revisa o resultado depois. Isso não garante que o código esteja correto nem torna inofensivas as instruções maliciosas.

Quais controles continuam valendo?
O termo “skip” não significa que todos os controles desaparecem. As diferenças abaixo explicam por que uma execução que deveria seguir sozinha ainda pode parar ou recusar uma ação:
Na última linha, a configuração exata de leitura é permissions.blockReadsOutsideWorkingDirectories: true. Comandos Bash reconhecidos como comandos de leitura de arquivos ainda podem pedir confirmação fora dos diretórios permitidos; bloqueios impostos pelo sandbox se comportam de outra forma. Em uma execução não interativa com -p e bypass, as chamadas que ainda exigiriam confirmação são negadas. Ações que nenhum modo aprova automaticamente, configuração de leitura fora do diretório
Hooks de bloqueio em PreToolUse também continuam participando da aprovação de ferramentas. Há uma exceção específica para EndConversation: regras de negação e de solicitação de aprovação não o restringem enquanto houver outra ferramenta disponível. Mods instalados podem substituir algumas decisões de permissão que não vêm de políticas gerenciadas. Por isso, os controles obrigatórios de uma equipe devem ficar nessas políticas. Administradores podem proibir o bypass com "permissions": {"disableBypassPermissionsMode": "disable"}. Uma sessão iniciada com --restricted também recusa o modo bypass. Precedência de hooks e regras, configuração para desativar o bypass
O modo bypass permite gravar em caminhos protegidos
Não presuma que alterações em .git ou .claude continuarão exigindo confirmação. O modo bypass permite gravar em caminhos protegidos. Essa proteção é diferente das verificações de exclusão de diretórios críticos descritas acima.
A lista de caminhos protegidos da Anthropic inclui:
Há exceções com escopo limitado dentro de .claude, como os worktrees do próprio Claude, os arquivos do plano atual, o espaço temporário de sessões em segundo plano e certos arquivos Markdown de memória. Em sessões comuns nos modos Manual e acceptEdits, gravações em caminhos protegidos pedem confirmação; o modo automático as encaminha ao classificador. Uma regra de permissão em um arquivo de configuração não pode pré-aprovar essas gravações. Caminhos protegidos e exceções
Quatro alternativas mais seguras para reduzir as interrupções
Escolha o controle de acordo com a interrupção. Para a maioria dos desenvolvedores, vale ajustar a política de aprovação antes de recorrer ao bypass.
Use o modo automático para programar no dia a dia
Inicie uma sessão com claude --permission-mode auto. Um classificador — um modelo separado que analisa as ações propostas — cuida das decisões rotineiras de aprovação. Para tornar esse modo o padrão persistente no terminal, incorpore "permissions": {"defaultMode": "auto"} a ~/.claude/settings.json.
Colocar esse valor em .claude/settings.json ou .claude/settings.local.json não ativa o modo. O modo automático também depende dos modelos compatíveis e das configurações da organização, e regras explícitas de solicitação de aprovação continuam pedindo confirmação. Ele reduz interrupções, mas não garante segurança. Configuração do modo padrão, requisitos do modo automático
Nosso guia do modo automático do Claude Code explica quando esse modelo de revisão se encaixa no seu fluxo de trabalho.
Libere tarefas rotineiras e bloqueie ações específicas
Use permissions.allow para comandos que você já revisou e permissions.deny para operações que quer bloquear. O Claude Code avalia primeiro as regras de negação, depois as de solicitação de aprovação e, por último, as de permissão. Uma permissão ampla não anula uma negação que corresponda à chamada. Regras de permissão
Para um repositório confiável, o exemplo abaixo combina permissões específicas com um hook de bloqueio. Incorpore-o a .claude/settings.json, preservando as chaves existentes. Ele inicia deliberadamente as sessões de terminal no modo Manual, para que as permissões listadas controlem as aprovações. Confira o que os scripts de teste e lint do projeto executam antes de autorizá-los.
{
"permissions": {
"defaultMode": "default",
"allow": ["Bash(npm test)", "Bash(npm run lint)"],
"deny": ["Bash(git push *)", "Read(./.env)", "Read(./.env.*)"]
},
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"if": "Bash(rm *)",
"command": "echo 'Use the approved cleanup task instead.' >&2; exit 2"
}]
}]
}
}Use .claude/settings.local.json para ajustes pessoais do projeto; se criar o arquivo por conta própria, adicione-o a .gitignore. Abra /permissions para consultar as regras ativas e os arquivos de origem. Escopo das configurações
Esses padrões não isolam o sistema de arquivos nem a rede. Variações na forma de escrever um comando podem escapar de um padrão Bash, e scripts arbitrários podem ler arquivos indiretamente mesmo com regras de negação para as ferramentas de arquivo. Mantenha segredos fora do ambiente e use controles de sandbox quando o acesso precisar ser impossível. Limites das regras de Bash, limites das regras de arquivo
Use o modo de planejamento antes de uma mudança ampla
Comece com claude --permission-mode plan ou defina "permissions": {"defaultMode": "plan"} nas configurações do projeto. O Claude explora o projeto e propõe o trabalho antes que as edições no código-fonte sejam aprovadas. A configuração de nível superior "useAutoModeDuringPlan": false desativa a aprovação de comandos de planejamento pelo classificador. Assim, comandos que não fazem parte do conjunto integrado de operações somente de leitura precisam da sua aprovação. Configuração do modo de planejamento
Inicie uma nova sessão de planejamento sem parâmetros que habilitem o bypass. Em uma sessão interativa de terminal na qual o bypass está disponível, o modo de planejamento não aplica seus bloqueios habituais de edição e comandos. Isso inclui a disponibilidade criada por --allow-dangerously-skip-permissions, que permite selecionar o bypass depois, sem ativá-lo imediatamente. Modo de planejamento e disponibilidade do bypass
Use hooks para bloquear comandos específicos
O handler de hooks.PreToolUse do exemplo usa matcher: "Bash", type: "command" e if: "Bash(rm *)". Quando a condição corresponde à chamada, o comando de shell exibe um motivo e encerra com o status 2, bloqueando a chamada da ferramenta. Não é necessário um script separado. Esse pequeno comando de shell é um exemplo nosso, construído com os campos de hook e o status de saída de bloqueio documentados pela Anthropic. Configuração de hooks, códigos de saída que bloqueiam a execução
Isso bloqueia chamadas de rm que correspondam ao padrão, mas não todas as formas possíveis de excluir um arquivo. Uma equipe pode substituí-lo por um validador revisado para seus próprios comandos de deploy ou limpeza. Mantenha as verificações específicas o bastante para serem compreendidas e testadas. Nossa página sobre hooks do Claude Code aborda configuração e depuração de hooks.

Em quais ambientes a Anthropic permite o bypass?
A tabela de configurações comuns da Anthropic exige um contêiner, uma VM ou um ambiente de execução com sandbox, com um usuário sem privilégios de root no Linux e no macOS. A seção sobre bypass descreve ambientes isolados que não podem danificar o sistema hospedeiro e destaca ambientes sem acesso à internet. Já o guia de devcontainer apresenta uma configuração conectada, com acesso de saída restrito aos serviços necessários ao Claude. Trate o acesso irrestrito à rede como uma exposição à parte. Isolamento exigido, restrições de rede do devcontainer
No Linux e no macOS, iniciar o bypass como root ou por meio de sudo normalmente é recusado. A documentação registra uma exceção automática dentro de um sandbox reconhecido; a abordagem documentada com devcontainer usa uma conta sem privilégios de root. Não resolva um erro relacionado a root enfraquecendo esse limite.
Como preparar o devcontainer de referência
Use uma cópia de trabalho descartável de um repositório confiável. Com Docker, VS Code e a extensão Dev Containers instalados, comece pelo projeto de referência da Anthropic:
git clone https://github.com/anthropics/claude-code.git claude-code-isolated
code claude-code-isolated- No VS Code, execute Dev Containers: Reopen in Container. A referência combina a CLI, volumes persistentes e um firewall de saída. Confira se
remoteUserindica uma conta sem privilégios de root. - No terminal do contêiner, execute
id -ue confirme que o resultado não é0. Executeclaudepara fazer login e, depois, encerre essa sessão. - No mesmo terminal do contêiner, execute
claude -p "Inspect this repository and summarize its structure. Do not change files." --dangerously-skip-permissions. - Para usar seu próprio projeto, copie o diretório
.devcontainer/da referência para uma cópia de trabalho descartável e adapte o Dockerfile às ferramentas do projeto. Revise o diff do espaço de trabalho após cada tarefa.
Esse procedimento segue o fluxo do contêiner de referência da Anthropic. A referência é um exemplo funcional, não uma imagem-base com manutenção contínua. Mantenha as restrições de saída ou forneça controles de rede equivalentes.
O espaço de trabalho montado continua permitindo gravação de dentro do contêiner, e essas alterações chegam ao sistema hospedeiro. Evite montar ~/.ssh, arquivos de credenciais de nuvem ou diretórios sem relação com a tarefa. Um projeto malicioso ainda pode vazar tudo o que estiver acessível ali dentro, inclusive credenciais do Claude. Use repositórios confiáveis e acompanhe o trabalho. Limites do devcontainer
Sessões na nuvem ignoram o bypass definido como padrão
Sessões na nuvem ignoram silenciosamente defaultMode: "bypassPermissions" e defaultMode: "dontAsk" em arquivos de configuração. Elas começam no modo exibido no seletor de modos da nuvem. Uma configuração JSON versionada no repositório não consegue forçar uma sessão na nuvem a usar bypass. Comportamento dos modos na nuvem
Seu arquivo local ~/.claude/settings.json não é levado para uma sessão na nuvem hospedada pela Anthropic. As configurações do repositório também têm limites: sessões que abrangem vários repositórios não carregam as regras de permissão e os hooks de cada um. Verifique a política que está de fato ativa no ambiente de nuvem, em vez de presumir que a configuração do terminal foi transferida. Configurações em sessões na nuvem
Escolha o modo de acordo com o trabalho
Em geral, a mudança que mais compensa é eliminar aprovações repetitivas de um fluxo de trabalho que já existe. Estas são escolhas práticas, na ordem em que eu começaria:
Para o caso de CI, claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" é o ponto de partida documentado pela Anthropic. Ele nega operações que, de outra forma, pediriam confirmação. Configurações comuns
Consulte nossas boas práticas de Claude Code junto com o modo escolhido. As permissões controlam a execução; a verificação determina se vale a pena manter o resultado.
Duas ferramentas úteis que uma equipe poderia criar
Um verificador de configuração de permissões é a oportunidade mais promissora. O DataForSEO estima 720 buscas mensais nos EUA por “claude code permissions”. Isso indica uma dificuldade para encontrar informações, não uma intenção de compra comprovada. Uma equipe de plataforma para desenvolvedores poderia criar um pequeno verificador que explicasse o escopo das configurações, sinalizasse valores de defaultMode ignorados e mostrasse o alcance de regras amplas de comandos antes de integrar colegas ao fluxo. A primeira entrega útil seria um relatório com sugestões de ajuste. O desafio é mantê-lo atualizado à medida que o comportamento das configurações do Claude Code muda.
Uma ferramenta para iniciar execuções descartáveis poderia atender equipes com tarefas recorrentes sem supervisão. A mesma consulta de demanda estima 260 buscas mensais nos EUA por “claude code docker”. Um MVP poderia validar um modelo de contêiner revisado, as montagens permitidas, a execução sem privilégios de root e a política de saída de rede. Depois, reuniria o diff e os logs resultantes para a pessoa responsável pela manutenção. Seu valor estaria na consistência da configuração. O limite é que essa ferramenta não torna seguro o código de um repositório não confiável nem garante isolamento só porque o Docker está presente.
Ambas são oportunidades de ferramentas internas que precisam ser validadas com usuários reais. Nenhuma exige transformar o bypass no padrão das máquinas dos desenvolvedores.
O que dangerously skip permissions faz no Claude?
Seleciona bypassPermissions, elimina aprovações rotineiras de ferramentas e permite gravar em caminhos protegidos. Bloqueios explícitos e as proteções documentadas de interação obrigatória continuam relevantes. Confira as distinções detalhadas acima antes de presumir que uma execução não pode parar.
Como fazer o Claude parar de pedir permissão?
Para programar no dia a dia, experimente claude --permission-mode auto. Para um fluxo previsível, pré-aprove comandos revisados com permissions.allow, mantenha bloqueios específicos e use hooks quando precisar verificar comandos. O modo de planejamento serve para explorar o projeto antes das edições.
Como ignorar as permissões no Claude Code?
Só depois de preparar o ambiente isolado, execute claude --dangerously-skip-permissions dentro dele. claude --permission-mode bypassPermissions é equivalente. Siga a configuração de devcontainer sem privilégios de root descrita acima; não adicione ao shell do dia a dia um alias que ative o bypass de forma irrestrita.
Para colocar em prática na segunda-feira: escolha um fluxo de trabalho repetitivo, revise os comandos que ele realmente executa e configure a política de aprovação mais restrita que permita concluí-lo. Passe para um contêiner descartável apenas quando a tarefa exigir execução sem supervisão além do que essa política permite.
Se sua equipe precisa criar e manter esse fluxo de trabalho, podemos ajudar com sistemas de IA em produção.
- Publicado
- Categoria
- Build
- Idioma







