Claude Code vs Codex: como testar os dois no seu projeto e decidir com evidência?

teste comparativo entre Claude Code vs Codex rodando a mesma tarefa no mesmo repositório
Resposta rápida

Claude Code vs Codex não se resolve por opinião de thread: resolve com teste no seu repositório. O protocolo é simples: uma tarefa real do backlog, critérios escritos ANTES (passou no teste, quantas idas e voltas, o que quebrou fora do escopo), cada agente isolado em seu próprio git worktree, mesmo conteúdo em CLAUDE.md e AGENTS.md, mesma coleira de permissão e modelo fixado dos dois lados. No fim, você fecha a conta pelos medidores nativos (/cost e /usage no Claude Code, /status no Codex) e roda a suíte de testes com o diff na mão

Fala aí, beleza? Escolher entre dois agentes de terminal lendo print de thread alheia é o jeito mais rápido de errar bonito

As duas ferramentas rodam DENTRO do seu repositório, com o seu histórico, as suas manias de arquitetura e aquele teste chato que ninguém arrumou ainda

Então o único dado que vale alguma coisa é o do seu código, não o benchmark que alguém postou

A boa notícia: dá pra montar um teste caseiro reproduzível, com critérios definidos antes de começar, e sair do achismo em uma tarde

Bora ver na prática?

Claude Code vs Codex: o que muda e precisa ser igualado no teste

Antes de comparar resultado, você precisa saber o que é DIFERENTE por natureza entre os dois

Cada linha dessa tabela é uma variável a controlar: se você deixar ela solta, o teste mede a sua configuração, não a ferramenta

O que Claude Code Codex CLI
Instalação npm install -g @anthropic-ai/claude-code, exige Node.js 18 ou superior e a documentação orienta a NÃO usar sudo; existe instalador nativo alternativo (`curl -fsSL https://claude.ai/install.sh \ bash`) quando o npm dá problema npm install -g @openai/codex e depois o comando codex
Modo não interativo claude -p "consulta" (ou --print), aceita --allowedTools; a flag --bare pula a autodescoberta de hooks, skills, plugins, servidores MCP e CLAUDE.md codex exec, com --json e --ephemeral disponíveis; joga o progresso no stderr e imprime só a mensagem final do agente no stdout; autentica em CI pela variável CODEX_API_KEY
Permissões Modos nomeados: default, acceptEdits, plan, auto e dontAsk; no plan a edição de arquivo nunca é aprovada automaticamente; regras ajustadas pelo /permissions Sandbox (o que ele PODE fazer) separado da política de aprovação (quando ele PERGUNTA): perfis read-only, workspace-write e danger-full-access; o modo somente leitura também é acionado pelo comando /permissions, que existe dos dois lados
Instruções persistentes Arquivos CLAUDE.md lidos no início de cada sessão, mais uma memória automática que o próprio Claude escreve entre sessões Arquivos AGENTS.md lidos antes de começar o trabalho, concatenados da raiz do projeto até o diretório atual, com limite padrão de 32 KiB definido por project_doc_max_bytes
Seleção de modelo claude --model claude-sonnet-4-6 ou claude --model claude-opus-4-6, ou a variável ANTHROPIC_MODEL; o Sonnet é o padrão Comando /model dentro da sessão
Medidor de consumo /cost mostra o gasto corrente da sessão quando se usa chave de API; /usage mostra o uso em tokens e, nos planos Pro, Max, Team e Enterprise, a fatia do limite do plano, alternando entre últimas 24 horas e últimos 7 dias /status exibe modelo ativo, política de aprovação, diretórios com permissão de escrita e uso atual de tokens
Domine o Claude Code do básico ao avançado
Pré-inscrição Formação Claude Code

Domine o Claude Code do básico ao avançado

Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!

Repara numa coisa: os dois têm modo não interativo, os dois têm coleira de permissão, os dois leem um arquivo de instrução do projeto

O nome muda, o conceito é primo

Se você quer o panorama de recursos antes de partir pro teste, tem um comparativo entre os dois agentes de terminal aqui do blog que cobre esse lado

O que você precisa antes de rodar o teste

Checklist honesto, sem romantizar: tem custo de entrada de um lado, e do outro nem tanto

  • Conta paga da Anthropic: o Claude Code requer plano Pro, Max, Team, Enterprise ou conta de Console; o plano gratuito do Claude NÃO dá acesso
  • Preço de entrada: o Pro sai por US$ 20 por mês na cobrança mensal (US$ 200 pagos de uma vez no anual); o Max é definido por múltiplo de uso sobre o Pro, você escolhe entre 5x ou 20x o uso do Pro por sessão de 5 horas, com limites de saída maiores
  • Do lado do Codex: ele está incluído nos planos ChatGPT, inclusive Free, Go, Plus, Pro, Business, Edu e Enterprise, com limites de uso variando por plano; nos individuais listados na página de preços, Free é US$ 0 por mês, Go US$ 8 por mês e Plus US$ 20 por mês
  • Node.js 18 ou superior, porque a instalação via npm do Claude Code pede isso
  • Repositório com git de verdade, porque o isolamento do teste vai depender de worktree
  • Um teste automatizado que JÁ rode verde antes de você começar

Esse último item é o mais ignorado e o mais importante

Se a suíte já está vermelha antes do agente encostar no código, você não tem critério de "passou", tem opinião 🙂

Protocolo de teste: passo a passo para comparar as duas no seu repositório

A lógica aqui é a de experimento: uma variável por vez, tudo o mais igualado

Se você mudar tarefa, contexto e modelo ao mesmo tempo, o resultado não diz nada

  1. Escolha uma tarefa real e média do seu backlog

Nada de "faça um todo list", nada de refatorar o monorepo inteiro

Tarefa média é aquela que você mesmo faria em uma ou duas horas, com contexto de verdade

O erro comum deste passo: escolher tarefa de brinquedo, onde qualquer modelo acerta e o teste não discrimina nada

  1. Escreva os critérios ANTES de rodar qualquer coisa

Quatro colunas resolvem: passou no teste (sim ou não), número de idas e voltas até chegar lá, arquivos tocados fora do escopo, e o que quebrou

Critério escrito depois vira torcida, não medição

O erro comum deste passo: definir "qual código ficou mais bonito" como critério; isso não é mensurável e você vai puxar pro lado da ferramenta que já gosta

  1. Isole cada sessão em seu próprio git worktree

A documentação do Claude Code trata worktree exatamente pra isso: cada sessão em um diretório de trabalho separado, com branch própria, compartilhando histórico e remoto do mesmo repositório

Assim a edição de um agente não encosta no arquivo do outro

git worktree add ../teste-claude -b teste/claude-code
git worktree add ../teste-codex -b teste/codex

O erro comum deste passo: rodar os dois na mesma pasta em sequência, com o segundo já vendo o estrago (ou o acerto) do primeiro

  1. Iguale o contexto dos dois lados

O Claude Code lê CLAUDE.md, o Codex lê AGENTS.md concatenando da raiz do projeto até o diretório atual

Ou você coloca o MESMO conteúdo nos dois, ou tira o contexto dos dois

cp CLAUDE.md AGENTS.md

Se quiser o teste no osso, sem nada carregado por baixo, o Claude Code tem a flag que pula a autodescoberta de hooks, skills, plugins, servidores MCP e o próprio CLAUDE.md:

claude -p "sua tarefa aqui" --bare

O erro comum deste passo (e é o que mais invalida teste por aí): comparar um lado com CLAUDE.md rico, cheio de convenção do projeto, contra um AGENTS.md vazio

Aí você não comparou agente, comparou briefing

Vale lembrar também do limite: o Codex tem teto padrão de 32 KiB pro conjunto de AGENTS.md, definido por project_doc_max_bytes

Se o seu arquivo de instrução é um monstro, parte dele pode simplesmente não entrar

E se o contexto do lado do Claude depender de skill, cuidado: skill que não funciona no projeto é um clássico que faz o teste medir a coisa errada

  1. Iguale a coleira de permissão

Agente com permissão ampla de um lado e travado do outro sempre "ganha" no lado solto

No Claude Code você tem os modos default, acceptEdits, plan, auto e dontAsk, ajustáveis pelo /permissions

O /permissions existe dos dois lados, viu? No Codex é ele que aciona o modo somente leitura

Já o preset de automação local de menor risco do Codex sai por flag na hora de abrir a sessão:

codex --sandbox workspace-write --ask-for-approval on-request

O erro comum deste passo: deixar um em modo plan (onde ele lê, explora e propõe, mas não edita o código-fonte) e o outro com escrita liberada, e depois concluir que "um entrega e o outro só fala" 😀

  1. Fixe o modelo dos dois lados e ANOTE qual foi

No Claude Code dá pra fixar por flag ou por variável de ambiente, lembrando que o Sonnet é o padrão:

claude --model claude-opus-4-6
# ou
export ANTHROPIC_MODEL=claude-sonnet-4-6

No Codex a troca é por comando dentro da sessão, com /model

O erro comum deste passo: não registrar o modelo no resultado; três semanas depois ninguém lembra o que rodou e a planilha vira lenda

  1. Rode e NÃO ajude

Prompt idêntico, copiado e colado, sem dica extra, sem "ah, mas olha aquele arquivo lá"

Se você socorrer um dos dois no meio, acabou o experimento

O erro comum deste passo: cutucar o agente que você prefere com um empurrãozinho e contar isso como uma ida e volta só

  1. Feche a conta pelos medidores nativos

No Claude Code, /cost mostra o gasto corrente da sessão quando se usa chave de API, e /usage mostra o uso em tokens e a fatia do limite do plano (Pro, Max, Team e Enterprise), alternando entre últimas 24 horas e últimos 7 dias

No Codex, /status traz modelo ativo, política de aprovação, diretórios com permissão de escrita e uso atual de tokens

O erro comum deste passo: esperar número idêntico e comparável dos dois lados; os medidores existem, mas não são a mesma régua, então trate como ordem de grandeza

  1. Rode a suíte de testes e leia o diff inteiro

O diff é onde mora a verdade: arquivo tocado fora do escopo, dependência adicionada por conta própria, teste "consertado" pra passar

O erro comum deste passo: olhar só o verde da suíte e não abrir o diff; passar no teste mexendo no teste é o truque mais velho do mundo haha

Que tarefa escolher para o teste (e o que cada tipo revela)

Cada tipo de tarefa mede uma habilidade diferente

O ideal é rodar o protocolo em pelo menos duas categorias, senão você tira conclusão geral de uma amostra bem específica

Bug pequeno com teste já existente

Mede precisão e número de idas e voltas

O critério de sucesso já está escrito por você mesmo: o teste que estava vermelho fica verde, e nada mais muda

É o cenário mais limpo pra medir, e por isso o melhor primeiro round

Refatoração espalhada por vários arquivos

Mede leitura de contexto e estrago colateral

Aqui o que interessa não é "funcionou", é quantos arquivos ele tocou que ninguém pediu pra tocar

O diff faz o trabalho de juiz sozinho

Feature nova com dependência externa

Mede se o agente planeja antes de sair codando

No Claude Code dá pra forçar essa separação com o modo plan, onde ele lê, explora e propõe sem editar o código-fonte

No Codex, o equivalente prático é rodar o perfil read-only antes de liberar escrita

Compare os DOIS planos primeiro, depois deixe cada um executar o seu

Tarefa repetível pra script ou CI

Mede se a ferramenta serve pro seu pipeline, não só pro seu terminal

É aqui que entram o claude -p (com --allowedTools pra controlar o que fica liberado) e o codex exec

claude -p "rode o lint e corrija apenas os erros de formatação" --allowedTools "Bash,Edit"
codex exec --json "rode o lint e corrija apenas os erros de formatação"

Detalhe que importa muito em CI: o codex exec joga o progresso no stderr e imprime só a mensagem final do agente no stdout

Ou seja, dá pra capturar a saída limpa sem filtrar ruído na mão

E pra autenticar em ambiente automatizado, o Codex usa a variável CODEX_API_KEY

Como ler o resultado sem se enganar

Agora a parte que quase ninguém escreve: o que esse teste NÃO prova

Ele prova como cada ferramenta se comportou naquela tarefa, naquele repositório, com aquele modelo, naquele dia

Ele não prova qual é "melhor" no absoluto, e quem te vender isso está vendendo

Sobre custo, cuidado com a conta de padaria

No Codex, o quanto uma tarefa consome varia com o tamanho e a complexidade do trabalho, com o modelo e com onde a tarefa roda: script pequeno gasta uma fração da cota, base grande com sessão longa gasta bem mais

E desde 2 de abril de 2026 a OpenAI alinhou o preço do Codex ao uso de tokens da API, no lugar da cobrança por mensagem, valendo pra planos Plus, Pro, ChatGPT Business novos e existentes e pra novos Enterprise

No Claude Code tem outra pegadinha de orçamento: o terminal compartilha os limites de uso com o resto do plano

Traduzindo: conversa longa no app come a cota que ia sobrar pra você codar

Se você rodar o teste depois de uma tarde inteira de chat, o resultado do medidor mente sobre a tarefa

E tem o prazo de validade

A família GPT-5.6 está disponível no Codex em três variantes: Sol (acabamento e detalhe), Terra (uso diário) e Luna (trabalho repetível e mais barato)

Ao mesmo tempo, gpt-5.2 e gpt-5.3-codex já estão descontinuados no Codex com login de ChatGPT, e gpt-5.4 e gpt-5.4-mini se aposentam nesse mesmo cenário em 31 de agosto de 2026, com substituição recomendada por gpt-5.6-terra e gpt-5.6-luna

Então o seu teste de hoje pode não ser comparável ao seu teste de daqui a alguns meses, porque o pedaço de baixo mudou

A regra que salva: registre versão da CLI e modelo usado ao lado de cada resultado

Sem isso, o teste vira folclore de equipe, aquele "a gente testou uma vez e o X era melhor" que ninguém consegue reproduzir

Conclusão

Claude Code vs Codex deixa de ser discussão de opinião no momento em que existe uma planilha com critério escrito antes, custo medido pelos medidores nativos e diff aberto

O protocolo é sempre o mesmo: tarefa real do backlog, critérios definidos antes, dois worktrees isolados, mesmo conteúdo em CLAUDE.md e AGENTS.md, mesma coleira de permissão, modelo fixado e anotado, prompt idêntico, e no fim /cost, /usage e /status pra fechar a conta

Próximo passo concreto: separa uma tarefa do backlog desta semana, cria os dois worktrees e roda hoje mesmo

E repete a medição toda vez que trocar de modelo ou de plano, porque é exatamente aí que o resultado antigo para de valer…

até o próximo post! =)

Perguntas frequentes

Claude Code funciona no plano gratuito do Claude?

Não. O Claude Code exige plano pago: Pro, Max, Team, Enterprise ou conta de Console. O plano gratuito do Claude não dá acesso à ferramenta, então esse custo de entrada precisa entrar na conta antes de qualquer teste.

O Codex é mais barato que o Claude Code para testar no dia a dia?

O Codex vem incluído em planos ChatGPT que vão do Free (US$ 0) ao Go (US$ 8) e ao Plus (US$ 20), com limites variando por plano. O Claude Code começa no Pro a US$ 20 por mês, sem versão gratuita, então a entrada custa mais mesmo no plano básico.

Qual a diferença entre CLAUDE.md e AGENTS.md nesse teste comparativo?

O Claude Code lê arquivos CLAUDE.md no início de cada sessão e ainda mantém uma memória automática escrita por ele mesmo entre sessões. Já o Codex lê arquivos AGENTS.md antes de começar o trabalho, concatenando da raiz do projeto até o diretório atual, com limite padrão de 32 KiB.

Dá para automatizar a comparação Claude Code vs Codex em CI, sem interação manual?

Dá, os dois têm modo não interativo. O Claude Code usa claude -p com –allowedTools para controlar as ferramentas liberadas, e o Codex usa codex exec, autenticando em CI pela variável CODEX_API_KEY, com progresso no stderr e a resposta final no stdout.

O Codex cobra por mensagem ou por uso de tokens?

Desde 2 de abril de 2026 a OpenAI alinhou o preço do Codex ao uso de tokens da API, substituindo a cobrança por mensagem. Isso vale para planos Plus, Pro, ChatGPT Business novos e existentes, e para novos Enterprise.

Preciso me preocupar com o modelo ficar desatualizado depois de rodar o teste?

Sim, principalmente no Codex com login ChatGPT: gpt-5.2 e gpt-5.3-codex já saíram de linha, e gpt-5.4 e gpt-5.4-mini se aposentam em 31 de agosto de 2026, com gpt-5.6-terra e gpt-5.6-luna como substitutos recomendados. Refazer o teste meses depois pode comparar modelos diferentes dos originais.



Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares