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

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
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
- 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
- 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
- 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
- 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
- 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" 😀
- 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
- 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ó
- 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
- 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.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação A popularidade da automação de processos com o n8n está em alta, principalmente […]
