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.

AspectoCodex CLI (padrão)Codex CLI (ajustado)Claude Code
PermissõesPede para TUDONão pede nadaPede apenas para operações destrutivas
SandboxRestritivoworkspace-writePermissivo com confirmação seletiva
Modo CLISimSimNativo, CLI-first
Modo one-shotcodex "prompt"codex-agent "prompt"claude --print "prompt"
Configuração0 flags2 flags0 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.