Gemini CLI "Untrusted Command Flags Detected" no modo YOLO: como resolver
Voltar para o Blog
Artigointeligência artificialtecnologiaautomação

Gemini CLI "Untrusted Command Flags Detected" no modo YOLO: como resolver

Mafra13 de outubro de 20265 min de leitura

Você roda o Gemini CLI com --yolo, e mesmo assim ele para num git diff ou num npm test e pede aprovação com o aviso CRITICAL SECURITY WARNING: Untrusted Command Flags Detected. Na maioria dos casos é falso positivo da versão 0.63.0, a estável atual, e a correção já saiu na 0.64.0-preview.1.

Este guia explica por que o aviso aparece, como confirmar que é o seu caso e os dois caminhos para destravar o fluxo. Tudo foi conferido no código-fonte e nos releases do repositório google-gemini/gemini-cli em 13/10/2026.

O que significa "Untrusted Command Flags Detected"?

Significa que o Gemini CLI achou, no comando que o modelo quer rodar, um argumento que também apareceu num trecho marcado como não confiável da conversa. Ele trata isso como possível injeção de prompt e exige sua aprovação, mesmo no modo YOLO. O aviso completo:

⚠️ CRITICAL SECURITY WARNING: Untrusted Command Flags Detected
The following flags/arguments were sourced from external untrusted input (e.g., Buganizer ticket, external document):
  • .github/workflows/testhub.yml
Executing commands with flags sourced from untrusted input can execute arbitrary code on your machine.
Carefully verify these flags before approving.

A ideia é boa: se uma página da web ou a resposta de um MCP sugerir uma flag perigosa, o agente não deveria executá-la sozinho. O problema da 0.63.0 é a quantidade de alarme falso.

Por que o aviso aparece em comando inofensivo?

Porque na 0.63.0 a saída do próprio shell também entra como conteúdo não confiável, e qualquer caminho de arquivo que apareceu ali passa a contar como "suspeito". O agente roda ls, vê package.json, e no comando seguinte package.json já dispara o aviso.

No código da 0.63.0, as ferramentas de shell, web_fetch, busca na web e MCP embrulham o resultado em <untrusted_context>. O rastreador quebra esse texto em tokens, inclusive separando caminhos em cada /, e compara com os argumentos do próximo comando. Com isso, nome de arquivo do próprio projeto vira motivo de bloqueio.

VersãoComportamentoPublicada
0.62.0Não tem essa checagem29/09/2026
0.63.0 (estável, tag latest)Checagem nova, com falso positivo em caminho comum, mesmo no YOLO06/10/2026
0.64.0-preview.1 (tag preview)Inclui a correção do PR #2967209/10/2026
Nightly 0.65.0 a partir de 10/10Inclui a correçãodiária

Por que o modo YOLO não pula o aviso?

Porque a checagem roda depois da política de aprovação. Quando a política diz "pode rodar" e o comando tem risco de contaminação, o Gemini CLI troca a decisão: no modo interativo vira pedido de confirmação, e no modo não interativo (gemini -p) a chamada é negada. Em script ou CI, isso aparece como ferramenta bloqueada pela política, não como prompt.

Também não adianta escolher "permitir sempre": para comando marcado com esse risco, o Gemini CLI não salva a aprovação como regra. A cada ocorrência, ele pergunta de novo.

Fluxograma: o YOLO pediu confirmação com Untrusted Command Flags Detected, confira a versão com gemini --version, instale a versão corrigida com npm install -g @google/gemini-cli@preview; se não quiser preview, volte para a 0.62.0 com o auto update desligado
Do aviso à versão corrigida, em três passos e um ramo.

Como confirmar que é o falso positivo da 0.63.0?

Veja a versão instalada:

gemini --version

Se aparecer 0.63.0 e o aviso lista caminhos do seu próprio projeto (src/index.ts, package.json, um arquivo de workflow), é o caso descrito nas issues #29682 e #29676. Se o argumento listado veio de uma página que o agente leu agora há pouco, leia o comando antes de aprovar: aí o aviso está fazendo o trabalho dele.

Como resolver o "Untrusted Command Flags Detected"?

Instale a versão de preview, que já traz a correção. Se você usa o pacote do npm:

npm install -g @google/gemini-cli@preview
gemini --version

A segunda linha deve mostrar 0.64.0-preview.1 ou mais nova. O PR #29672, que entrou nessa versão, para de indexar pedaços de caminho, limita a comparação a padrões de risco real (URL, caminho absoluto, extensão de script) e libera flags de leitura como git -C, ls -la e grep -rn.

Prefere não usar preview? Volte para a 0.62.0

  1. Desligue a atualização automática, senão o Gemini CLI volta sozinho para a 0.63.0. No ~/.gemini/settings.json:
    {
      "general": {
        "enableAutoUpdate": false
      }
    }
    O mesmo ajuste aparece em /settings, como Enable Auto Update.
  2. Instale a versão anterior:
    npm install -g @google/gemini-cli@0.62.0
  3. Quando a tag latest passar da 0.63.0, religue o enableAutoUpdate e atualize.

Evite o atalho que circula na issue, de editar o pacote para a função de checagem sempre devolver false. Ele desliga a proteção inteira, inclusive contra flag injetada por página ou MCP de verdade.

E o aviso "Build Configuration Was Recently Modified"?

É outra checagem da mesma família, e a correção acima não mexe nela. Se o agente editou um arquivo de configuração de build na sessão e depois roda npm, make, pytest ou outro comando de build ou teste, o Gemini CLI mostra CAUTION: Build Configuration Was Recently Modified e pede confirmação. A issue #29687, aberta em 08/10/2026, relata que esse aviso se repete a cada comando e segue aberta.

Se você quer um agente de programação no terminal sem se preocupar com cota de token, a Verboo Code tem tokens ilimitados.

Gostou deste artigo?
Compartilhe conhecimento com sua rede.
// Leia também

Artigos relacionados