Principais destaques
- 🔁 O comando
/fewer-permission-prompts do Claude Code analisa o histórico das suas sessões recentes e sugere uma lista de permissões automática, sem exigir que você desative completamente o sistema de aprovação.
- 🛡️ Ele é seletivo por padrão: comandos de leitura já auto-aprovados (como
grep, find, ls) e comandos arriscados ou que alteram estado (como rm, mkdir, docker exec) ficam de fora da sugestão automaticamente.
- ✍️ A lista gerada precisa ser revisada antes de aceita, já que padrões amplos demais (como liberar
Bash sem restrição) podem acabar concedendo mais acesso do que você pretendia.
Quem usa o Claude Code no dia a dia conhece o ritmo: você pede para ele rodar um comando de build, ele pede permissão. Você pede para editar um arquivo de configuração, ele pede de novo.
Você aprova os mesmos comandos de terminal e operações de arquivo dezenas de vezes por sessão, e depois de um tempo isso começa a parecer clicar na mesma caixa de diálogo repetidamente.
O modelo de permissões do Claude Code existe por um bom motivo: você não quer um agente de IA rodando comandos de shell arbitrários sem supervisão. Mas existe um meio-termo entre aprovar cada ação individualmente e ativar o modo totalmente automático com a flag --dangerously-skip-permissions. O comando /fewer-permission-prompts é justamente esse meio-termo.
Este guia explica exatamente como usá-lo, o que observar ao revisar suas sugestões e como construir uma lista de permissões que realmente se encaixa no seu fluxo de trabalho.
⚙️ Como o sistema de permissões do Claude Code funciona
Antes de entrar no comando em si, vale entender o que o Claude Code está fazendo quando pede permissão. Ele atua como um agente autônomo capaz de ler e escrever arquivos, rodar comandos de shell, buscar na web e interagir com seu ambiente de desenvolvimento. Toda vez que quer realizar uma ação em uma dessas categorias, ele consulta um modelo de permissões para decidir se segue automaticamente ou pausa para perguntar.
Os níveis de permissão, em linhas gerais:
- ❓ Padrão (pergunta sempre): o Claude Code solicita aprovação antes de qualquer ação potencialmente impactante; é o modo mais seguro e o padrão para sessões novas
- ✅ Aprovação por sessão: ao aprovar uma ação, você pode liberar aquele comando pelo resto da sessão atual, sem salvar essa preferência
- 📋 Lista de permissões persistente: ferramentas, comandos ou padrões específicos ficam gravados no arquivo de configurações e são liberados automaticamente em toda sessão futura
- 🚀 Modo totalmente automático: a flag
--dangerously-skip-permissionsignora todas as verificações; útil em ambientes de CI confiáveis, arriscado em qualquer outro lugar
A lista de permissões persistente fica no arquivo settings.json, seja de forma global em ~/.claude/settings.json, ou por projeto em .claude/settings.json.
😤 Por que o fluxo de aprovação padrão se torna cansativo
Para sessões exploratórias ou em bases de código desconhecidas, o fluxo padrão de aprovação é genuinamente útil: você quer ver cada ação antes que ela aconteça. Mas depois de um tempo trabalhando em um mesmo projeto, os pedidos de permissão deixam de ser informativos e passam a ser fricção pura. Você aprova npm run test toda vez. Aprova cat package.json toda vez. Aprova git status toda vez. Nada disso é mais surpresa, você aprovaria sem nem ler.
O problema do modo totalmente automático é que ele remove toda a supervisão de uma vez. Você pode estar confortável em aprovar automaticamente git status e npm run lint, mas provavelmente não quer aprovar automaticamente operações destrutivas de arquivo ou requisições de rede arbitrárias. É essa lacuna que o /fewer-permission-prompts resolve.
🔍 O que o comando /fewer-permission-prompts realmente faz
É uma skill nativa do Claude Code, acionada dentro de uma sessão. Quando invocado, ele:
- 📂 Vasculha os registros de transcrição das sessões recentes, encontrados em
~/.claude/projects/<diretorio>/*.jsonl, limitando-se às 50 sessões mais recentes - 🔎 Extrai todas as chamadas de Bash e de ferramentas MCP, agrupando por comando e subcomando (por exemplo,
git log,gh pr view,mcp__slack__read_thread) - 🚫 Exclui automaticamente comandos de leitura que já são auto-aprovados por padrão pelo próprio Claude Code, como
grep,findels - ⚠️ Exclui também comandos que podem levar à execução arbitrária de código, como
python3oudocker exec, e comandos que alteram estado, comomkdirourm - 📝 Apresenta uma lista de adições propostas ao seu arquivo de configurações, antes de escrever qualquer coisa
O nome “fewer” se refere a menos pedidos de permissão em sessões futuras, não a menos permissões no total. O comando foi pensado para reduzir interrupções em ações que você já demonstrou que sempre aprova, deixando o resto sujeito ao fluxo normal de aprovação. É uma abordagem de baixo para cima: em vez de decidir de antemão o que liberar, você trabalha normalmente, aprova as coisas conforme aparecem, e depois usa o comando para transformar essas escolhas reais em configurações persistentes.
📋 Passo a passo: usando o comando para montar sua lista de permissões
Passo 1: trabalhe normalmente por uma sessão completa
Não tente rodar o comando cinco minutos depois de começar a trabalhar em um projeto novo. O valor dele depende da qualidade do histórico que está sendo analisado. Percorra uma tarefa representativa, algo que envolva a mistura típica de comandos e operações de arquivo que você faria naquele projeto: rodar testes, ler arquivos de configuração, editar código-fonte, checar o estado do git, instalar dependências. Deixe o Claude Code pedir permissão a cada vez, aprovando o que você sempre aprovaria e recusando ou ajustando o que mereceria revisão.
Passo 2: rode o comando
Em qualquer ponto depois de acumular algum histórico de sessão, digite:
/fewer-permission-prompts
O Claude Code vai analisar a sessão e responder com um resumo: quantas invocações distintas de ferramentas aconteceram, quais delas você aprovou toda vez que apareceram, quais você recusou ou ajustou pelo menos uma vez, e uma proposta de adição à sua configuração de permissões. Comandos ou ferramentas que você recusou mesmo que uma única vez ficam fora da proposta, já que uma aprovação inconsistente sinaliza que a ação depende de contexto e não deveria ser liberada automaticamente.
Passo 3: revise a lista proposta
Essa é a parte que a maioria pula, e ela importa. Antes de aceitar a proposta, leia cada item. O Claude Code está inferindo padrões a partir das suas aprovações, mas não lê sua mente. Alguns pontos de atenção:
- 🌐 Padrões amplos demais: se a proposta sugerir liberar edições de arquivo de forma genérica, isso é mais amplo do que você provavelmente pretende; prefira restringir a pastas ou extensões específicas
- 🎲 Comandos pontuais: às vezes você aprova algo uma única vez durante a sessão que não gostaria de ver auto-aprovado dali para frente, como um comando de migração de banco de dados ou um script de limpeza destrutivo; se aparecer na proposta, remova
- 💻 Padrões de comando de shell: essa é a parte mais delicada; um comando específico como
Bash(npm run test)é seguro, mas um padrão amplo comoBash(npm run *)já é mais arriscado, eBash(*)equivale, na prática, a desligar as permissões inteiramente para o terminal
Passo 4: aceite, edite ou rejeite
O Claude Code oferece três opções nesse momento: aceitar (gravando as entradas propostas diretamente no arquivo de configurações), editar (abrindo a proposta para ajuste antes de gravar), ou rejeitar (descartando a proposta sem alterar nada). Escolha editar, a menos que tenha certeza absoluta de que a proposta está exatamente certa.
Passo 5: confira o arquivo de configurações
Depois de aceitar, verifique diretamente o settings.json:
json
{
"permissions": {
"allow": [
"Bash(npm run test)",
"Bash(npm run lint)",
"Bash(git status)",
"Bash(git diff)",
"Read(**)",
"Edit(src/**)"
]
}
}
Confirme que as entradas correspondem ao que você pretendia. Se algo parecer estranho, edite o arquivo diretamente, já que é um JSON simples e fácil de ajustar à mão.
🗂️ Gerenciando sua lista de permissões ao longo do tempo
Configurações de projeto vs. globais
O Claude Code suporta dois escopos de configuração: global (~/.claude/settings.json), que se aplica a toda sessão na sua máquina, e de projeto (.claude/settings.json na raiz do projeto), que se aplica apenas ali. Use as configurações de projeto para ferramentas e comandos específicos daquele contexto, e reserve as configurações globais para o que for genuinamente universal. Tenha cuidado ao colocar muita coisa nas configurações globais: uma lista que fazia sentido para um projeto pode ser permissiva demais aplicada a outro.
Rodando o comando novamente após mudanças de fluxo
Sua lista de permissões não é uma configuração de uma vez só. À medida que o projeto evolui, seus fluxos de trabalho também mudam: novas dependências, novos comandos de teste, novos scripts de CI vão gerar novos pedidos de permissão. Vale rodar o comando periodicamente após mudanças significativas de fluxo, e também é útil ao começar em um projeto novo: passe algumas sessões trabalhando com aprovação total, depois use o comando para consolidar o que aprendeu.
Removendo entradas que não são mais necessárias
É possível remover entradas do settings.json manualmente a qualquer momento. Não existe um comando dentro do Claude Code para exclusão, basta abrir o arquivo, remover a linha e salvar. As mudanças entram em vigor na próxima sessão.
⚠️ Erros comuns a evitar
- 🐣 Liberar demais cedo demais: rodar o comando depois de uma sessão curta e única pode gerar uma proposta muito estreita (faltando comandos importantes) ou muito ampla (baseada em aprovações feitas sem muita reflexão); trabalhe pelo menos uma sessão completa e representativa antes de usar o comando
- 🚫 Aceitar padrões como
Bash(*): se o comando algum dia propuser um padrão de bash irrestrito, rejeite; isso é, na prática, o mesmo que--dangerously-skip-permissionspara acesso ao terminal - 📤 Versionar o
.claude/settings.jsonsem revisão: se as configurações de projeto forem enviadas ao controle de versão, todo membro da equipe que usar o Claude Code vai herdar essa lista de permissões; isso pode ser útil para compartilhar convenções da equipe, mas significa que seus hábitos pessoais de aprovação podem se aplicar a todo mundo - 🔌 Esquecer das permissões de ferramentas MCP: se você usa o Claude Code com servidores MCP conectados, essas ferramentas também aparecem no fluxo de permissão e são capturadas pela análise do comando; entenda o que cada ferramenta MCP faz antes de adicioná-la à lista, já que uma aprovação ampla para uma ferramenta poderosa pode ter consequências significativas
O comando /fewer-permission-prompts resolve um incômodo real de quem usa o Claude Code com frequência: a repetição de aprovar os mesmos comandos sessão após sessão, sem precisar abrir mão da supervisão que o sistema de permissões oferece.
Ao analisar seu histórico real de aprovações, ele propõe uma lista de permissões específica e revisável, deixando de fora, por padrão, comandos já considerados seguros e comandos potencialmente arriscados.
O ponto mais importante é nunca aceitar a proposta às cegas: revisar padrões amplos demais, remover comandos pontuais que não deveriam ser automáticos, e nunca liberar um padrão de bash irrestrito são hábitos que mantêm o equilíbrio entre menos fricção no dia a dia e segurança real sobre o que o agente pode fazer sem supervisão.
