Você instala o Codex CLI. O executa cheio de expectativas. Manda ele “corrigir os testes quebrados deste repositório”. E aí começa o suplício:
Codex: I want to run pytest
Allow? (y/n)
Você coloca y. Em seguida:
Codex: I want to modify test_user.py
Allow? (y/n)
Outra vez y. E outra vez. E outra vez. Cada arquivo que quer ler, cada comando que ele quer executar, cada linha que pretende modificar. Confirmação, confirmação, confirmação. É como trabalhar com um estagiário que pergunta se pode ir ao banheiro.
Enquanto isso, o Claude Code ou o Cursor Agent fazem o mesmo sem dizer uma palavra. O que está acontecendo?
Acontece que o Codex está configurado por padrão como um assistente paranoico. E faz sentido — é a escolha mais segura para um produto novo. Mas se você sabe o que está fazendo, esse modo conservador se torna 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 de sua autorização. Por padrão, ele pede permissão para tudo:
- Executar comandos
- Escrever arquivos
- Modificar código
- Criar novos arquivos
- Rodar testes
Dito de forma clara: por padrão, o Codex não pode fazer 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 se transforma em um diálogo interminável onde você acaba se tornando o elo mais lento da cadeia.
A solução: uma flag e pronto
codex --full-auto
A partir da versão 0.1.2, --full-auto é o atalho oficial que combina --approval-mode never e --sandbox workspace-write em uma única flag. Se você tem uma versão anterior, a forma longa ainda funciona:
codex --approval-mode never
Com qualquer uma das opções, o Codex para de perguntar. Ele executa comandos diretamente, modifica arquivos sem solicitar permissão, cria o que for necessário. Ele se comporta como o que deveria ser: um agente que trabalha.
Quer que isso seja permanente? Duas opções:
# Opção 1: comando de configuração
codex config set approval_mode never
# Opção 2: editar o arquivo diretamente
# ~/.codex/config.toml
approval_mode = "never"
A partir de agora, toda vez que você iniciar o Codex, ele trabalhará sem interrupções.
O segundo problema: o sandbox
Mas há um segundo motivo pelo qual o Codex pode ficar travado. Mesmo sem 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 que você quer para desenvolvimento é workspace-write:
- Lê todo o repositório
- Modifica arquivos existentes
- Cria novos arquivos
- Executa comandos dentro do projeto
A inicialização completa para um Codex que realmente funciona:
# Versão moderna (0.1.2+)
codex --full-auto
# Versão explícita (equivalente)
codex --approval-mode never --sandbox workspace-write
Duas flags — ou apenas uma, se você usar --full-auto. Isso é o que separa um assistente que te pergunta se pode mover o mouse de um agente que faz o seu trabalho.
Criando um alias para não repetir
Se você trabalha no terminal (e se está usando o Codex CLI, presumo que sim), crie um alias:
# Fish (versão moderna)
alias codex-agent "codex --full-auto"
# Fish (versão explícita)
# alias codex-agent "codex --approval-mode never --sandbox workspace-write"
# Bash/Zsh
alias codex-agent="codex --full-auto"
A partir de agora:
codex-agent
E você terá um Codex que se comporta como um agente de verdade.
Modo one-shot: execute e esqueça
Onde isso se torna interessante é quando você passa a tarefa diretamente como argumento:
codex-agent "Run the test suite, identify failing tests, \
fix the code and repeat until everything passes."
Sem sessão interativa. Sem conversa. O Codex analisa o projeto, executa os testes, identifica os erros, modifica o código, executa novamente e repete até que tudo passe. Você pode ir buscar um café.
Esse padrão — o agentic loop — é exatamente o que todos os coding agents modernos fazem por dentro. Um loop que itera até que o trabalho esteja concluído. A diferença é que o Codex, por padrão, insere você no meio do loop como um passo obrigatório. Com essas duas flags, você sai do caminho e deixa o loop fazer o que precisa.
A comparação desconfortável com Claude Code
Agora vem a parte que a OpenAI não gosta de ouvir: o Claude Code já vem configurado assim de fábrica.
| Aspecto | Codex CLI (padrão) | Codex CLI (ajustado) | Claude Code |
|---|---|---|---|
| Permissões | Pede para TUDO | Não pede nada | Pede apenas 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 | 0 flags | 2 flags | 0 flags |
O Claude Code tem uma abordagem mais equilibrada: permite que você trabalhe sem interrupções para 90% das operações, mas pede confirmação para ações potencialmente destrutivas (excluir arquivos, executar comandos que alteram o sistema). É o equilíbrio que o Codex deveria ter por padrão.
O resultado prático? Com o Claude Code, você está trabalhando desde o primeiro minuto. Com o Codex, primeiro é preciso passar pelo ritual de configuração. Não leva muito tempo — são literalmente duas flags — mas é uma barreira inicial desnecessária que frustra os usuários nos primeiros cinco minutos.
O prompt que faz a diferença
Depois que o Codex tem as permissões, a qualidade do resultado depende 100% do prompt. Um prompt genérico gera um trabalho genérico.
# Mal
Fix the tests.
# Bem
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 arrumar um teste e parar por aí. O segundo diz explicitamente para ele iterar até que tudo funcione. É a diferença entre dizer a um encanador “conserte isso” e dar uma lista do que está quebrado.
E isso vale igualmente para Claude Code, Cursor ou qualquer outro agente. O approval mode elimina as interrupções. O prompt determina se o trabalho feito sem interrupções será bom ou ruim.
Quando NÃO remover as permissões
Seria irresponsável dizer “use --approval-mode never sempre” sem avisar:
Não use em repositórios de produção sem revisão posterior. Um agente autônomo que realiza commit diretamente em main sem ninguém revisar é uma bomba-relógio. O modo autônomo é perfeito para:
- Branches de desenvolvimento onde você revisa o resultado
- Sessões interativas onde você está acompanhando o que ele faz
- Tarefas específicas: “corrigir testes”, “formatar este módulo”, “atualizar dependências”
Para ações que impactam produção, o approval mode seletivo do Claude Code é mais sensato: ele trabalha livremente, mas pede permissão antes de apertar botões críticos.
O resumo em 30 segundos
Se o Codex CLI está te deixando louco com confirmações:
# A forma rápida (0.1.2+)
codex --full-auto
# A forma explícita (equivalente)
codex --approval-mode never --sandbox workspace-write
# Permanente
codex config set approval_mode full-auto
Uma flag transforma um assistente nervoso em um agente autônomo. A configuração padrão do Codex é a mais segura, mas não a mais produtiva. Agora você sabe onde está o interruptor.
Este artigo foi publicado originalmente em espanhol e traduzido com a ajuda de IA.