Claude Code

Como permitir que o Claude Code rode todos os comandos: modos de permissão, regras allow e pular permissões

Como faço o Claude Code parar de pedir permissão toda hora?

Pressione Shift+Tab para alternar entre os modos de permissão, inicie com claude --permission-mode <mode> ou pré-aprove comandos específicos com regras permissions.allow como Bash(npm run *) em .claude/settings.json. O modo auto roda sem confirmações de rotina enquanto um classificador revisa as ações; --dangerously-skip-permissions é só para containers ou VMs.

Esta página é uma tradução do guia em inglês. Comandos, chaves de configuração e código não foram alterados; em caso de diferença, vale a versão em inglês. Ler em inglês → · Outros idiomas: 简体中文 · 日本語 · 한국어 · Español

Saiba quando a configuração mudar

Quando uma configuração, flag ou regra de permissão dessas ferramentas mudar, você recebe um e-mail semanal (em inglês), conferido na documentação oficial.

Modos de permissão

  • default (rotulado Manual): pede confirmação no primeiro uso de cada ferramenta.
  • acceptEdits: aceita automaticamente edições de arquivos e comandos comuns de sistema de arquivos, como mkdir, touch, mv e cp, nos seus diretórios de trabalho.
  • plan: explora e roda comandos somente leitura, mas não edita seus arquivos de código.
  • auto: sem confirmações de rotina; um classificador em segundo plano verifica comandos de shell e requisições de rede em relação ao seu pedido. É o modo inicial nativo a partir da v2.1.283.
  • dontAsk: nega tudo que pediria confirmação, exceto ferramentas que você pré-aprovou.
  • bypassPermissions: pula as confirmações, inclusive gravações em caminhos protegidos como .git e .claude. Só para containers ou VMs isolados.

Trocar de modo

  • Durante uma sessão: pressione Shift+Tab para alternar default → acceptEdits → plan (e outros modos habilitados).
  • Para uma sessão: claude --permission-mode plan (ou default, acceptEdits, auto, dontAsk).
  • Como padrão: defina permissions.defaultMode em ~/.claude/settings.json.

Em vez disso, pré-aprove comandos exatos

Regras allow são mais seguras do que pular todas as verificações. Coloque o * depois do subcomando: Bash(git log *) permite só git log, enquanto Bash(git *) permite qualquer comando git. Regras deny sempre vencem.

.claude/settings.json

{
  "permissions": {
    "allow": ["Bash(npm run *)", "Bash(git commit *)"],
    "deny": ["Bash(git push *)"]
  }
}

Use /permissions dentro do Claude Code para ver todas as regras e de qual arquivo de configuração cada uma vem.

Execuções totalmente sem supervisão

Só dentro de um container ou VM, como usuário não root

claude -p "run the test suite and fix failures" --dangerously-skip-permissions

Ferramentas permitidas: --allowedTools e permissions.allow

--allowedTools (também escrito --allowed-tools) lista ferramentas que rodam sem confirmação durante uma sessão. Usa a mesma sintaxe de regras que permissions.allow em settings.json. --disallowedTools adiciona regras deny, e apenas o nome de uma ferramenta, como Edit, remove essa ferramenta da sessão.

Uma sessão com comandos git de leitura pré-aprovados

claude --allowedTools "Bash(git log *)" "Bash(git diff *)" "Read"
  • As regras são verificadas primeiro deny, depois ask, depois allow. Um deny amplo como Bash(aws *) bloqueia uma chamada mesmo quando uma regra allow mais restrita também corresponde.
  • Regras Bash entendem operadores de shell: Bash(safe-cmd *) não aprova safe-cmd && other-cmd. Cada subcomando precisa corresponder sozinho.
  • Bash(ls:*) é o mesmo que Bash(ls *). A forma :* só funciona no final de um padrão.
  • Ferramentas MCP: mcp__puppeteer permite todas as ferramentas do servidor puppeteer e mcp__puppeteer__puppeteer_navigate permite uma ferramenta. Globs de allow precisam de um nome de servidor literal, então uma regra allow mcp__* é ignorada com um aviso.
  • Buscas na web: WebFetch(domain:example.com) corresponde só a example.com. Adicione WebFetch(domain:*.example.com) para cobrir subdomínios.
  • Para limitar quais ferramentas nativas existem, use --tools "Bash,Edit,Read" em vez de uma lista allow.

Fontes

Documentação oficial (em inglês) usada para conferir este guia. Versão em inglês revisada em: 2026-10-18

Mais guias em português