A flag tem dois raios de impacto, e quase tudo que se escreve sobre ela cobre apenas um. --dangerously-skip-permissions impede que o Claude Code pergunte antes de editar um arquivo ou executar um comando. A exposição óbvia é o seu sistema de arquivos. A que ninguém menciona é a sua cobrança: um agente que nunca para para perguntar também é um agente que nunca para de gastar, e falhas agentivas são loops.
Ambos podem ser contidos, e nenhum exige que você pare de usar a flag. Veja o que ela realmente faz e, em seguida, as três contenções que custam cerca de um minuto cada.
O que ela faz
Normalmente, o Claude Code pausa antes de uma ação consequente e espera aprovação. A flag desativa essa pausa durante toda a sessão. Ela não concede novas capacidades ao modelo e não altera o modelo — remove a etapa de revisão entre um plano e sua execução.
Por isso, a formulação honesta não é “essa flag é perigosa?”, mas o que esta sessão pode alcançar. O mesmo comando é irrelevante em um checkout temporário e genuinamente imprudente em um repositório com credenciais de produção no ambiente. A flag é constante; a exposição é o que você controla.
Contenção 1 — dê a ele seu próprio checkout
Esta é a mais barata e geralmente basta. Uma git worktree é um diretório de trabalho completo em sua própria branch, portanto uma edição não revisada vai para um lugar que você pode descartar, em vez de ficar sobre o seu trabalho.
# Containment that costs one command: give the agent its own checkout.
# A worktree is a real working directory on its own branch, so a runaway
# edit is contained to a branch you can delete rather than to your repo.
git worktree add -b agent/task-123 ../repo-agent-123
cd ../repo-agent-123
claude --dangerously-skip-permissions
# When it is done, review the branch like any other, then:
git worktree remove ../repo-agent-123A revisão ainda acontece — só acontece uma vez, em uma branch, em vez de quarenta vezes, em um prompt. Em geral, isso é um uso melhor da sua atenção do que aprovar gravações individuais de arquivos, que é o verdadeiro argumento a favor da flag, não a impaciência.
Contenção 2 — dê a ele sua própria credencial
Tudo que estiver no ambiente desse shell pode ser acessado pelo agente. A solução não é ter cuidado; é colocar menos coisas ali. Crie uma credencial para o agente em vez de reutilizar a que você tem em todos os lugares, para que interromper o agente seja uma revogação, e não a rotação de tudo o que você possui.
# A key per agent, not a key per human. Revoking one key stops one
# agent; revoking the key you use everywhere stops your whole day.
export ANTHROPIC_BASE_URL=https://api.kunavo.com
export ANTHROPIC_AUTH_TOKEN=sk-kn-... # created for this agent only
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5
claude --dangerously-skip-permissionsMantenha as linhas de modelo: o padrão integrado do Claude Code e seu alias opus resolvem ambos para o Opus mais recente; se a Kunavo ainda não oferecer esse modelo, um agente sem supervisão falhará na primeira solicitação com um 404. O alias sonnet solicita o Sonnet 5.5, que a Kunavo não oferece; portanto, sem a linha ANTHROPIC_DEFAULT_SONNET_MODEL, qualquer subagente configurado para model: sonnet, /model sonnet e a fase de execução do opusplan retornarão 404 da mesma forma. O alias opus é fixado no Opus 5.5 (claude-opus-5-5), que requer o Claude Code v2.1.280 ou posterior — execute claude update primeiro se sua versão for mais antiga. Na Kunavo, uma chave pode ser revogada individualmente — a revogação é verificada em cada solicitação autenticada, portanto uma chave revogada para de funcionar imediatamente, e não ao fim de um período de cobrança. Uma chave também pode ter seu próprio limite mensal de gastos e uma lista de permissões de IP, transformando “uma chave por agente” de mera organização em um limite real: a chave do agente pode ter um teto e ser fixada sem alterar a chave usada manualmente. Criar uma segunda chave não custa nada. Os detalhes da configuração estão em como obter uma chave de API para o Claude Code.
Contenção 3 — limite os gastos, não apenas o sistema de arquivos
Este é o eixo que o restante da internet deixa de fora. Pense no que um agente sem supervisão faz quando está falhando, e não quando está funcionando: ele tenta novamente. Cada nova tentativa é uma ida e volta faturada que não produziu nada, e o contexto de um agente de programação é grande, portanto essas idas e voltas não são baratas. Uma tarefa de vinte etapas é normal; um loop travado, não.
O que limita isso depende inteiramente de como você é cobrado. Uma assinatura limita por meio de uma janela de uso — um teto real, embora ele chegue como uma interrupção, e não como um aviso. Um cartão cadastrado não tem teto natural algum. No Kunavo, há dois, e o segundo é o que vale a pena definir antes de uma execução sem supervisão: o faturamento reduz um saldo pré-pago, portanto uma solicitação nunca pode consumir mais do que o saldo disponível, e uma chave pode ter seu próprio limite mensal de gastos. O limite é verificado antes da execução da solicitação, então o gasto excedente nunca acontece, em vez de ser percebido depois; ao ultrapassá-lo, a chamada é recusada com uma mensagem que identifica a chave, e não a carteira, e é redefinida no início do mês civil seguinte. Defina um na chave que o agente usa, e o pior caso deixa de ser “o saldo” e passa a ser um número escolhido por você.
A aritmética do custo esperado de uma execução — para que você possa distinguir uma sessão normal de um loop — está na página de preços do Claude Code, e os limites do Claude Pro e Max aborda o lado da assinatura da mesma questão.
Quando usar e quando não usar
| Situação | É razoável? |
|---|---|
| Worktree descartável, chave com escopo limitado, sem credenciais de produção no shell | Sim — é para isso que a flag serve |
| Contêiner ou VM que você pode descartar | Sim, e melhor ainda |
| Uma execução longa sem supervisão que você revisará como um único diff | Sim, com o saldo dimensionado para isso |
| Seu checkout principal com trabalho não confirmado nele | Não — faça commit ou stash primeiro e depois use um worktree |
| Um shell que contém credenciais de nuvem ou de produção | Não |
| Uma máquina que pode acessar a produção diretamente | Não |
O padrão nessa tabela é que todo “não” trata de alcance, e nenhum trata da flag. Corrija o alcance, e a flag deixa de ser a variável interessante — esse é o ponto.
Perguntas frequentes
O que --dangerously-skip-permissions faz no Claude Code?
Ele impede que o Claude Code peça aprovação antes de cada ação, portanto edições de arquivos e comandos shell são executados sem um prompt. O nome é preciso, não dramático: o prompt de permissão é a única coisa entre um plano criado pelo modelo e a execução desse plano, e a flag o remove durante toda a sessão. Ela não altera o que o modelo é capaz de fazer — apenas se uma pessoa vê cada etapa antes que ela aconteça.
É seguro usar --dangerously-skip-permissions?
É seguro na proporção do que a sessão pode alcançar. A flag não torna o modelo mais capaz; ela remove a etapa de revisão, portanto a pergunta real é o que um erro não revisado pode atingir: em qual diretório o agente começa, quais credenciais estão no ambiente e se a máquina tem acesso à produção. Em um checkout descartável com uma chave limitada, um erro não revisado é uma branch que você exclui. No seu repositório principal com suas credenciais de produção exportadas, não é. A mesma flag, uma exposição muito diferente.
Como executar o Claude Code sem prompts de permissão com segurança?
Contenha as três coisas que ele pode alcançar, nesta ordem. Dê a ele seu próprio checkout — uma git worktree em sua própria branch exige um comando e transforma uma edição ruim em uma branch que pode ser excluída. Dê a ele sua própria credencial, em vez da chave que você usa em todos os lugares, para que revogá-la pare um agente, não o seu dia inteiro. E não exporte para o shell em que ele roda credenciais que ele não precisa ver, porque tudo nesse ambiente é acessível. Nada disso exige um container, embora um container seja estritamente melhor se você tiver um.
Um agente autônomo pode gerar uma cobrança de API sem limite?
Este é o eixo que a maioria das discussões sobre a flag ignora. Um agente que nunca para para perguntar também nunca para de gastar, e loops agentivos falham na direção cara — um loop de novas tentativas são muitas idas e voltas cobradas sem resultado. Duas coisas limitam isso na Kunavo. A cobrança reduz um saldo pré-pago, em vez de cobrar um cartão, portanto o saldo é um teto rígido. E uma chave pode ter seu próprio limite mensal de gastos, verificado antes da execução da solicitação: ultrapassado o limite, a chamada é recusada com uma mensagem que identifica a chave, não a carteira, e o limite é redefinido no início do mês seguinte do calendário. Defina um limite na chave que você entrega ao agente e o pior caso será um número escolhido por você.
Qual é a diferença entre ignorar permissões e um modo de permissão?
Os modos de permissão do Claude Code permitem decidir antecipadamente quais categorias de ação exigem aprovação, mantendo uma pessoa no circuito para as ações arriscadas e fora dele para as rotineiras. A flag é a versão direta da mesma ideia, com tudo definido como permitido. Para execuções sem supervisão, a flag costuma ser o que você quer; para trabalho interativo, geralmente um modo é melhor, porque o atrito removido pela flag era o que capturava erros reais.
A flag funciona da mesma forma por meio de um gateway?
Sim — a flag é totalmente do lado do cliente. Ela determina se o Claude Code pergunta antes de agir e não tem relação com qual endpoint fornece o modelo. Apontar ANTHROPIC_BASE_URL para um gateway muda para onde as solicitações vão e quanto custam, não o que o agente pode fazer localmente. A única coisa que um endpoint muda é o segundo eixo acima: como o gasto é limitado.