Fluxo de trabalho
Passe uma tarefa do Claude Code para o Codex sem perder o contexto
Seu limite do Claude acabou no meio de uma refatoração, ou você quer uma segunda opinião. Veja o que precisa ir para o próximo agente e três formas de levar isso até ele.
Resposta rápida
Nenhum dos agentes carrega a transcrição do outro, então você leva a tarefa adiante com um resumo: o objetivo e a sua última instrução, o plano, os arquivos alterados e o estado do git, com o código em si no disco. Mantenha as regras compartilhadas no AGENTS.md, faça commit ou git stash create do trabalho em andamento e depois escreva o resumo você mesmo, gere-o com uma ferramenta como o hop ou deixe que um app como o Maude o monte na hora da troca.
Você pode trocar do Claude Code para o Codex no meio de uma tarefa sem começar do zero, mas nenhum dos agentes vai retomar a conversa do outro sozinho. O que leva a tarefa adiante é um resumo curto: o objetivo, o plano, os arquivos alterados, o estado do git e a sua última instrução, além do código no disco. Você pode escrever esse resumo à mão, gerá-lo com uma pequena ferramenta ou usar um app que o monta para você na hora da troca.
Por que passar uma tarefa de um agente de código para outro
- Você bateu num limite. Esse é o motivo mais comum. O uso do seu plano Claude acaba no meio de uma refatoração, e o seu plano do ChatGPT ainda tem folga. Esperar o reset custa horas, e começar do zero no Codex custa o contexto.
- Uma segunda opinião. Um agente ficou andando em círculos num bug. Um modelo diferente lendo o mesmo código com o contexto limpo muitas vezes enxerga o que o primeiro deixou de ver. Pedir a um agente que revise o diff de outro antes do commit também sai barato.
- Pontos fortes diferentes. Há quem use um agente para planejar e outro para edições longas e mecânicas, ou mantenha um para uma linguagem ou framework com que ele se sai bem. Qual é melhor em quê muda a cada lançamento de modelo, então trate isso como julgamento seu, não como regra.
O Codex consegue ler a sessão do Claude Code?
Não sozinho. Os dois agentes guardam transcrições completas como arquivos JSONL no disco. O Claude Code as grava em ~/.claude/projects/<project>/<session>.jsonl (documentação do Claude Code), e o Codex em arquivos rollout-*.jsonl datados em ~/.codex/sessions/. Cada um retoma as próprias sessões (claude --resume, codex resume), mas nenhum documenta como carregar as do outro. O comando /import do Claude Code traz a configuração de outro agente, como arquivos de instruções, servidores MCP e skills. Ele não traz a conversa.
Você poderia apontar o novo agente para o arquivo bruto da transcrição. Na prática, isso é um resumo ruim: é longo, cheio de saída de ferramentas e esconde a única coisa de que o novo agente precisa, que é saber onde você está e o que vem a seguir.
Que contexto precisa ir junto
| Contexto | Por que importa | De onde vem |
|---|---|---|
| Objetivo e última instrução | O novo agente precisa saber o que significa "pronto" e o que você pediu por último | O seu último prompt, palavra por palavra |
| Plano / lista de tarefas | Evita que o agente replaneje um trabalho que já está definido | A lista de tarefas do agente que está saindo |
| Arquivos alterados | Diz ao agente onde ler antes de editar | As edições na transcrição, mais o git status |
| Estado do git | Branch, HEAD e mudanças sem commit. Sem isso, o novo agente pode refazer trabalho ou fazer commit por cima dele | git status, git diff --stat |
| Decisões e becos sem saída | Para o novo agente não tentar de novo uma abordagem que já falhou | A conversa recente ou um resumo escrito |
As convenções do projeto, como comandos de build e estilo de código, não deveriam estar no resumo. O lugar delas é nos arquivos de instruções que os dois agentes já leem.
Faça você mesmo: instruções compartilhadas com AGENTS.md e CLAUDE.md
O Codex monta as instruções a partir de arquivos AGENTS.md, do ~/.codex/ e da raiz do git até o seu diretório de trabalho (documentação do AGENTS.md no Codex). Desde a v2.1.277, o Claude Code também lê o AGENTS.md, mas por padrão só quando não existe CLAUDE.md nem CLAUDE.local.md no seu diretório de trabalho ou acima dele (documentação de memória do Claude Code). A configuração mais simples que os dois agentes leem: mantenha as regras compartilhadas no AGENTS.md e, se precisar de regras só para o Claude, comece o seu CLAUDE.md com um import:
@AGENTS.md
## Claude Code
Use plan mode for changes under src/billing/.
O caminho inverso também funciona. A configuração project_doc_fallback_filenames em ~/.codex/config.toml permite que o Codex leia outros nomes de arquivo quando não há um AGENTS.md.
Faça você mesmo: um documento de handoff e o git
Antes de trocar, peça ao agente que está saindo para escrever o resumo enquanto ainda tem o contexto, se ainda lhe restar algum uso:
Write HANDOFF.md for another coding agent taking over this task:
the goal, what is done, what is in progress or broken, decisions
and dead ends, files touched, and the exact next steps.
Don't change any other file.
Depois, deixe o estado do código sem ambiguidade. Fazer commit do trabalho em andamento numa branch é a opção mais clara. Se preferir não fazer commit, git stash create registra as mudanças rastreadas sem commit como um objeto de commit sem mexer na sua árvore de trabalho, o que te dá um ponto fixo para comparar caso o próximo agente se perca. Abra o outro agente no mesmo diretório e diga para ele ler o HANDOFF.md e reler os arquivos antes de editar.
Ferramentas que automatizam isso
O hop (MIT) faz isso com um comando: hop codex para ir do Claude Code ao Codex, hop cc para o caminho inverso. Ele lê diretamente os arquivos de sessão do agente de origem, então funciona mesmo quando esse agente está sem cota. Você pode rodar ! hop codex de dentro de uma sessão travada do Claude Code. Ele escreve um documento de handoff com as suas instruções, a branch do git e a conversa recente, dentro de um limite de tamanho (48 KB por padrão), e abre o outro agente numa nova aba do terminal. Projetos parecidos incluem o cli-handoff e o session-handoff.
| Abordagem | Funciona sem cota | Esforço por troca | Leva a conversa |
|---|---|---|---|
| Só um AGENTS.md compartilhado | Sim | Nenhum, mas leva as convenções, não o estado da tarefa | Não |
| HANDOFF.md escrito pelo agente + git | Só se o agente que está saindo ainda responder | Um prompt e um commit | Como resumo |
| hop e CLIs parecidas | Sim | Um comando | Turnos recentes, com limite de tamanho |
| Um app com troca integrada | Sim | Um toque | Depende do app |
Como funciona o handoff no Maude
O Maude roda os seus agentes no seu próprio servidor, e uma sessão não fica presa a um agente. Enquanto a sessão está ociosa, você pode trocá-la, por exemplo, do Claude Code para o Codex (ou OpenCode, Grok Build ou Antigravity) pelo celular. O daemon no servidor monta o resumo a partir do registro da própria sessão, não de um resumo escrito às pressas:
- um enquadramento dizendo ao novo agente que ele está assumindo a tarefa, que os arquivos no disco são a fonte da verdade e que ele deve reler antes de editar
- a sua última instrução, fixada
- o plano ou a lista de tarefas atual
- os arquivos alterados, a partir das edições do agente mais os arquivos que o git aponta como modificados
- o estado do git: branch, HEAD, status curto e diff stat. O trabalho sem commit também ganha um snapshot com
git stash create, guardado sob uma ref, sem mexer na sua árvore de trabalho - a conversa recente, literalmente, até cerca de 120.000 caracteres
- um link para a transcrição completa, exportada em markdown para
.maude/handoff/no projeto e mantida fora dogit status
O resumo vai na frente da sua próxima mensagem para o novo agente, e o chat mostra um divisor que você pode expandir para ler exatamente o que foi enviado. Como o resumo é montado a partir do registro da sessão, ele não depende de o agente que está saindo conseguir responder, o que faz toda a diferença quando ele acabou de bater no limite.
Voltar é diferente. Se o agente para o qual você volta já trabalhou nesta sessão e suporta retomada, o Maude retoma a conversa desse próprio agente e envia só o que aconteceu enquanto ele esteve fora. Ele não recebe um segundo resumo completo.
O Maude não é o único app que faz isso. O Happier permite trocar de engine no meio da conversa e dá ao novo agente ferramentas para ler a transcrição anterior. O AgentsRoom monta um resumo de handoff com os arquivos modificados, a atividade da sessão e a última resposta quando você troca de provedor. Comparamos os prós e contras em Maude vs Happier. Para escolher quais agentes combinar, veja Claude Code vs Codex vs OpenCode.
Perguntas frequentes
O Codex consegue ler a sessão do Claude Code?
~/.claude/projects/, e o Codex não as carrega. Você leva a tarefa adiante com um resumo: escreva você mesmo, gere com uma ferramenta como o hop ou use um app que o monte na hora da troca.AGENTS.md e CLAUDE.md entram em conflito?
AGENTS.md quando não há um CLAUDE.md. Para compartilhar um único arquivo, mantenha as regras no AGENTS.md e coloque @AGENTS.md no início do CLAUDE.md. O Codex lê o AGENTS.md nativamente.E se o meu limite do Claude acabar no meio da tarefa?
Trocar de agente faz eu perder as mudanças sem commit?
git stash create antes te dá um ponto fixo para comparar caso o próximo agente se perca.