Você instala o Codex CLI. Inicia animado. Diz pra ele: “conserte os testes quebrados deste repositório”. E começa o martírio:
Codex: I want to run pytest
Allow? (y/n)
Você digita y. Logo em seguida:
Codex: I want to modify test_user.py
Allow? (y/n)
De novo y. E de novo. E de novo. Cada arquivo que ele quer ler, cada comando que ele quer executar, cada linha que quer modificar. Permissão, permissão, permissão. É como trabalhar com um estagiário que te pergunta se pode ir ao banheiro.
Enquanto isso, Claude Code ou Cursor Agent fazem tudo sem incomodar. O que está acontecendo?
Acontece que o Codex vem configurado por padrão como um assistente paranoico. E faz sentido — é a decisão segura para um produto novo. Mas se você sabe o que está fazendo, esse modo conservador é insuportável para trabalho de verdade.
A boa notícia: isso se resolve em dois segundos.
O sistema de permissões: approval mode
O Codex usa um conceito chamado approval mode que controla quando ele precisa da sua permissão. Por padrão, ele pede pra tudo:
- Executar comandos
- Escrever arquivos
- Modificar código
- Criar novos arquivos
- Rodar testes
Em linguagem simples: por padrão, o Codex não faz absolutamente nada sem que você pressione y. É como um sudo para cada ação individual.
O resultado é que o que deveria ser um agente autônomo vira um diálogo interminável onde você é o elo mais lento da cadeia.
A solução: um flag e tudo resolvido
| |
É só isso. Com --approval-mode never, o Codex para de perguntar. Ele executa comandos diretamente, modifica arquivos sem pedir permissão, cria o que precisar criar. Ele se comporta como deveria: um agente que trabalha.
Quer que isso seja permanente? Você tem duas opções:
| |
| |
A partir de agora, toda vez que você iniciar o Codex, ele trabalhará sem interrupções.
O segundo problema: o sandbox
Mas tem um segundo motivo pelo qual o Codex trava. Mesmo que você desative as confirmações, o sandbox padrão pode ser tão restritivo que o agente não consegue nem escrever no repositório.
O modo ideal para desenvolvimento é o workspace-write:
- Lê o repositório inteiro
- Modifica arquivos existentes
- Cria novos arquivos
- Executa comandos dentro do projeto
O comando completo para um Codex funcional de verdade:
| |
Dois flags. Só isso. É a diferença entre um assistente que te pergunta se pode mover o mouse e um agente que faz o trabalho dele.
Criando um alias para evitar repetição
Se você trabalha no terminal (e se está usando o Codex CLI, imagino que sim), crie um alias:
| |
A partir de agora:
| |
E você terá um Codex que se comporta como um verdadeiro agente.
Modo one-shot: só lança e deixa ele trabalhar
Onde isso fica interessante é quando você passa a tarefa diretamente como argumento:
| |
Sem sessão interativa. Sem conversa. O Codex analisa o projeto, roda os testes, identifica erros, ajusta o código, roda os testes de novo e repete até dar tudo certo. Enquanto isso, você vai tomar um café.
Esse padrão — o agentic loop — é exatamente o que todos os coding agents modernos fazem internamente. Um loop que itera até o trabalho estar concluído. A diferença é que o Codex, por padrão, te coloca no meio do loop como um passo obrigatório. Com esses dois flags, você sai do caminho e deixa o loop fazer seu trabalho.
A comparação desconfortável com Claude Code
Aqui vem a parte que a OpenAI não gosta de ouvir: Claude Code já está configurado assim desde o começo.
| Aspecto | Codex CLI (padrão) | Codex CLI (ajustado) | Claude Code |
|---|---|---|---|
| Permissões | Pede para TUDO | Não pede nada | Pede só para operações destrutivas |
| Sandbox | Restritivo | workspace-write | Permissivo com confirmação seletiva |
| Modo CLI | Sim | Sim | Nativo, CLI-first |
| Modo one-shot | codex "prompt" | codex-agent "prompt" | claude --print "prompt" |
| Configuração necessária | 0 flags | 2 flags | 0 flags |
Claude Code tem uma abordagem mais equilibrada: permite que você trabalhe sem interrupções para 90% das operações, mas pede confirmação para coisas potencialmente destrutivas (excluir arquivos, executar comandos que alteram o sistema). É o equilíbrio que o Codex deveria ter por padrão.
Qual é o impacto prático? Com o Claude Code, você começa a trabalhar desde o primeiro minuto. Com o Codex, primeiro você tem que passar pelo ritual de configuração. Não leva muito tempo — são literalmente dois flags — mas é uma barreira de entrada desnecessária que frustra as pessoas nos primeiros cinco minutos.
O prompt que faz a diferença
Uma vez que o Codex tenha permissões, a qualidade do resultado depende 100% do prompt. Um prompt vago gera trabalho vago.
# Errado
Fix the tests.
# Certo
Fix the failing tests in this repository.
Work autonomously:
- inspect the repo structure
- run tests
- modify code to fix failures
- rerun tests
- repeat until all tests pass
Do not ask for confirmation.
A diferença é enorme. O primeiro prompt pode fazer o Codex corrigir um teste e parar. O segundo diz explicitamente para ele iterar até que tudo funcione. É a diferença entre dizer para um encanador “conserte isso” e dar uma lista detalhada do que está quebrado.
E isso vale para o Claude Code, o Cursor, qualquer agente. O approval mode elimina as interrupções. O prompt determina se o trabalho que ele faz sem interrupções é bom ou ruim.
Quando NÃO desativar as permissões
Seria irresponsável dizer “use --approval-mode never sempre” sem o aviso:
Não faça isso em repositórios de produção sem revisão posterior. Um agente autônomo que faz commit diretamente na main sem revisão é uma bomba-relógio. O modo autônomo é perfeito para:
- Branches de desenvolvimento onde você revisa o resultado
- Sessões interativas onde você observa o que está sendo feito
- Tarefas delimitadas: “conserte os testes”, “formate este módulo”, “atualize as dependências”
Para situações que impactam produção, o approval mode seletivo do Claude Code é mais sensato: trabalha livremente, mas pede permissão antes de apertar o botão de autodestruição.
O resumo em 30 segundos
Se o Codex CLI está te deixando maluco com pedidos de confirmação:
| |
| |
Dois parâmetros transformam um assistente inseguro em um agente autônomo. A configuração padrão do Codex é a mais segura, não a mais produtiva. Agora você já sabe onde desligar o interruptor.