Você aperta Enter num prompt de permissão do Claude Code Desktop achando que aprovou um comando, e o comando vira regra permanente do repositório. Desde a versão 2.37337.1 do app (13/10/2026), o botão principal do prompt é Always allow, e o Allow once foi para o menu da seta ao lado.
Este guia mostra onde essa regra fica salva, como apagar a que entrou sem querer e como impedir que comandos arriscados sejam liberados de novo por um clique automático. A mudança de interface está relatada na issue #102136 do repositório oficial, com confirmação de usuários no macOS, Windows e Linux; a parte de configuração foi conferida na documentação oficial de permissões em 19/10/2026.
O que mudou no prompt de permissão do Claude Code Desktop?
O botão grande, o que recebe o clique e o Enter por reflexo, agora salva uma regra permanente. Aprovar só aquela vez exige abrir o menu ou usar outro atalho.
| Opção | Onde está | Atalho no macOS | O que faz |
|---|---|---|---|
| Always allow | Botão principal | ⇧⌘↩ | Salva uma regra allow que vale para sessões futuras no repositório |
| Allow once | Menu da seta | ⌘↩ | Aprova só esta execução, não grava nada |
| Allow and switch to Auto | Menu da seta | sem atalho relatado | Aprova e troca a sessão para o modo Auto |
Os atalhos acima vêm de dois relatos independentes na issue, ambos no macOS. Não há relato do atalho equivalente no Windows e no Linux até 19/10/2026. A mesma inversão já tinha sido reportada na issue #48550, fechada por inatividade sem correção.

Onde o Claude Code salva a regra do "Always allow"?
No arquivo .claude/settings.local.json da raiz do repositório git, dentro de permissions.allow. A documentação diz que aprovação permanente de comando Bash e de domínio do WebFetch vai para esse arquivo e vale para sessões futuras em qualquer pasta do repositório, inclusive worktrees.
Há exceções: fora de um repositório git, quando a raiz do repositório é a sua pasta home, ou no Windows, o arquivo fica na pasta em que a sessão começou, ao lado do .claude/settings.json. O app Desktop lê os mesmos arquivos de configuração que o CLI, segundo a documentação do Desktop.
Um usuário relatou na issue que, numa única sessão, o botão principal gravou estas duas regras:
{
"permissions": {
"allow": [
"Bash(gh api *)",
"Bash(python3 -I -c ' *)"
]
}
}
A primeira libera qualquer chamada gh api, inclusive as que escrevem no GitHub. Por isso vale conferir o arquivo depois de qualquer sessão no Desktop.
Como ver e apagar as regras salvas sem querer?
Abra o arquivo e procure as regras que você não escolheu. Na raiz do repositório:
cat .claude/settings.local.json
Se tiver jq instalado, liste só as regras liberadas:
jq '.permissions.allow' .claude/settings.local.json
Apague as linhas que não quer manter, salve o arquivo e pronto. Se preferir uma interface, abra o Claude Code no terminal dentro do mesmo repositório e rode:
/permissions
O diálogo lista todas as regras com o arquivo de origem de cada uma, e você remove a que quiser. A documentação diz que a mudança vale a partir da próxima chamada de ferramenta, mesmo com o agente trabalhando.
O .claude/settings.local.json não vai para o seu commit: o Claude Code adiciona o arquivo às exclusões globais do git na primeira vez que o cria. Então uma regra errada não vaza para o time, mas também não aparece no git diff. Você só descobre se abrir o arquivo.
Como impedir que um comando arriscado seja liberado de novo?
Crie regras ask para os comandos que você quer aprovar sempre na mão. A documentação define a ordem de avaliação como deny, depois ask, depois allow: uma regra ask que casa com o comando faz o prompt aparecer mesmo quando existe uma regra allow para ele, em qualquer arquivo.
Coloque no arquivo de usuário, ~/.claude/settings.json (no Windows, %USERPROFILE%\.claude\settings.json), para valer em todos os projetos:
{
"permissions": {
"ask": [
"Bash(python3 *)",
"Bash(gh api *)",
"Bash(git push *)",
"Bash(psql *)"
]
}
}
Se o arquivo já existir, junte a chave ask ao bloco permissions que está lá, sem apagar o resto. Troque a lista pelos comandos que tocam banco, rede ou produção no seu dia a dia.
Para o que nunca deve rodar, use deny no lugar de ask. Deny vence tudo, e uma regra allow não abre exceção dentro dele.
Confira se a proteção pegou
Peça ao agente, no Desktop, para rodar um comando da lista, por exemplo python3 -c "print(1)". O prompt de permissão tem que aparecer mesmo que o .claude/settings.local.json ainda tenha uma regra allow para python3. Se não aparecer, abra /permissions no terminal e veja se a regra ask foi carregada.
Regra ask para tudo não é exagero?
É, e um dos comentários da issue aponta exatamente isso: listar centenas de comandos em ask não escala. A regra ask serve para a lista curta do que pode causar estrago. Para o resto, o hábito que resolve é o atalho do Allow once (⌘↩ no macOS) e uma olhada no .claude/settings.local.json no fim do dia.
A Anthropic já corrigiu?
Não até 19/10/2026. A issue #102136 segue aberta, com usuários pedindo a volta do Allow once como botão principal ou uma opção para escolher o padrão. Até sair uma versão que mude isso, o botão principal continua gravando regra.
No terminal, o prompt de comando da Verboo Code tem Yes como primeira opção, que aprova só aquela execução; "don't ask again" é uma escolha separada, e as regras ficam em .verboo/settings.local.json, visíveis no /permissions.



