Cómo pasar de Claude Code a Codex a mitad de tarea sin perder el contexto
¿Has llegado al límite de uso de Claude o quieres una segunda opinión de Codex? Guarda el contexto en el repositorio, no en el chat: un AGENTS.md que leen los dos agentes, un HANDOFF.md que regeneras en cada cambio y git como fuente de verdad.
- CLI
- 0.2.17
- Ref de preview
- a2c45c8
En resumen
No puedes mover una conversación de Claude Code en curso a Codex. Las dos herramientas guardan las sesiones por separado y ninguna importa el historial de chat de la otra. Lo que sí puedes mover es todo lo importante, siempre que viva en el repositorio:
- Un único archivo de instrucciones que leen los dos agentes: pon las reglas del proyecto en
AGENTS.md. Codex lo lee de forma nativa, y la versión actual de Claude Code también (directamente o mediante un@AGENTS.mdimportado enCLAUDE.md). - Una nota de traspaso que regeneras en cada cambio: pide al agente saliente que escriba
HANDOFF.md(objetivo, qué está hecho, qué sigue, qué probó y falló, preguntas abiertas). - Git como fuente de verdad: haz commit o stash en una rama WIP antes de cambiar, para que el agente entrante lea diffs y no tu memoria de ellos.
Así el cambio lleva unos dos minutos y el nuevo agente empieza con un resumen escrito en lugar de con un repositorio en frío.
El problema
Lo típico: llevas dos horas de refactorización con Claude Code, salta el límite de 5 horas y Codex está ahí mismo, con otro plan. O Claude lleva un rato dando vueltas a un bug y quieres que lo mire otro modelo.
Abrir Codex en la misma carpeta funciona, pero los primeros diez minutos se van en volver a explicar: qué estás construyendo, qué enfoque ya descartaste, por qué ese test se salta a propósito. Y el agente entrante volverá a hacer, tan tranquilo, lo que le acabas de decir al otro que no hiciera.
La solución no es una herramienta ingeniosa. Es decidir que el contexto vive en archivos, no en un chat.
Enfoques habituales
- Pegar en Codex el último trozo de la transcripción de Claude. Funciona una vez. También arrastra ruido (salida de herramientas, planes abandonados) y deja fuera lo que ya se ha desplazado.
- Pedir a Codex que "mire el git log y lo deduzca". Vale para trabajo terminado, no sirve para trabajo a medias ni para decisiones que nunca se convirtieron en código.
- Mantener dos archivos de instrucciones a mano.
CLAUDE.mdyAGENTS.mdse desincronizaron en una semana.
Paso 1: un archivo de instrucciones para los dos agentes
Codex lee AGENTS.md del repositorio (y de los directorios superiores). Para Claude Code, a fecha de 2026-10-11, la documentación de memoria de Anthropic dice:
- Si el repositorio tiene un
AGENTS.mdy no hayCLAUDE.mdniCLAUDE.local.mden tu directorio de trabajo o por encima, Claude Code leeAGENTS.mddirectamente (requiere Claude Code v2.1.277 o posterior). - Si sí tienes un
CLAUDE.md, Claude solo leeCLAUDE.mdpor defecto. Cuidado con esto: basta con añadir unCLAUDE.local.mdpara notas personales para que Claude deje de leer tuAGENTS.md. - Un
CLAUDE.mdpuede importar otros archivos con la sintaxis@path, y unAGENTS.mdimportado se carga junto a él.
La configuración que funciona con ambos, también con versiones antiguas de Claude Code:
<!-- CLAUDE.md -->
@AGENTS.md
## Claude-only notes
- (anything that genuinely only applies to Claude Code, e.g. hook or subagent notes)Después pon todo lo compartido en AGENTS.md: comandos de build y tests, estilo de código, "no toques migrations/ a mano", dónde está la documentación. Que sea breve. Anthropic recomienda menos de 200 líneas por archivo, y los dos agentes siguen peor los archivos de instrucciones largos.
Si prefieres no tener CLAUDE.md, puedes borrarlo y dejar que Claude lea AGENTS.md directamente. Ejecuta /config en Claude Code y revisa el ajuste Project instructions si no tienes claro qué archivos está cargando. Al empezar la sesión, Claude muestra una línea como AGENTS.md loaded: ... cuando lo detecta.
Paso 2: escribe una nota de traspaso antes de cambiar
Antes de que el agente saliente pierda el contexto (o antes de llegar al límite, si lo ves venir), pídele que escriba la nota. Un prompt reutilizable:
Write HANDOFF.md at the repo root for another coding agent taking over this task.
Sections, in this order:
1. Goal (one paragraph, what "done" means)
2. Current state (what works, what's half-done, which files)
3. Next steps (numbered, smallest first)
4. Tried and rejected (approach + why it failed, so it isn't retried)
5. Gotchas (env vars, flaky tests, things that look wrong but are intentional)
6. Open questions for the human
Only facts you verified in this session. No code blocks longer than 10 lines; point to files instead.Dos reglas la hacen útil:
- Regenérala en cada cambio, en lugar de ir añadiendo para siempre. Una nota de traspaso desfasada es peor que ninguna.
- Decide si la confirmas. En una rama solo tuya, hacer commit de
HANDOFF.mden la rama WIP es práctico. En repositorios compartidos, añádela a.git/info/excludepara que nunca acabe en una PR.
Paso 3: mete el trabajo en git
git checkout -b wip/refactor-auth # if you aren't on a branch already
git add -A
git commit -m "WIP: auth refactor, handoff to codex" --no-verifyAhora el agente entrante puede ejecutar git log -p -1 o git diff main... y ver exactamente qué ha cambiado, en lugar de fiarse de un resumen. (Haz squash de los commits WIP antes de abrir la PR.)
Paso 4: arranca Codex con un primer prompt concreto
codexRead AGENTS.md and HANDOFF.md, then run `git diff main...` to see the work so far.
Summarize back to me in 5 bullets what you think the task is and what you'll do next.
Don't change any files until I confirm.El paso de "primero devuélveme un resumen" es un seguro barato: si el resumen está mal, corrige HANDOFF.md, no la conversación, y así el siguiente cambio también sale ganando.
Volver más tarde es el mismo ciclo al revés: haz que Codex reescriba HANDOFF.md, haz commit y arranca Claude Code (claude --continue reanuda la conversación anterior de Claude en esa carpeta, si también quieres su contexto antiguo).
Dónde encaja Happier: dos formas de cambiar
Si quieres cambiar de agente sin soltar el móvil, Happier es una app de código abierto para ejecutar y orquestar Claude Code, Codex y otros agentes entre dispositivos, desde el móvil, el escritorio o la web. Al cambiar de agente tienes dos caminos:
Camino 1: el método de los archivos del repositorio (pasos 1-4)
Es el método universal que funciona en cualquier sitio, con o sin Happier:
- Qué te da: control total, portabilidad entre herramientas y el contexto en git, donde tu equipo puede verlo
- Cuándo usarlo: al cambiar de máquina, en traspasos dentro del equipo o cuando quieres que el agente entrante empiece de cero con un resumen claro
El trabajo de verdad lo hacen los archivos (AGENTS.md, HANDOFF.md, commit WIP). Si usas Happier, simplemente puedes lanzar la nueva sesión desde el móvil en lugar de volver al portátil.
Camino 2: cambiar sobre la marcha dentro de Happier
Desde Happier 0.2.11 puedes usar Continue with another Agent para pasar una sesión de Happier existente de un agente a otro sin salir de ella:
- Qué se traspasa: un resumen acotado, solo de texto, de los últimos turnos de la conversación. Las imágenes, el contenido de los archivos y la salida de las herramientas no se traspasan.
- Qué debes saber: es un resumen de la conversación, no una memoria compartida entre proveedores. El agente entrante recibe el contexto de "esto es lo que estábamos hablando", pero no tendrá el historial completo de la sesión ni el razonamiento detrás de decisiones anteriores.
- Cuándo usarlo: para pedir otra opinión rápida ("¿qué opina Codex?"), cuando te atascas en un bug o cuando quieres seguir la misma línea de pensamiento con otro modelo
Enfoque combinado: incluso al cambiar sobre la marcha, los pasos 1-3 siguen importando. AGENTS.md mantiene las instrucciones coherentes, HANDOFF.md recoge decisiones que no deberían quedar enterradas en los turnos de conversación y un commit WIP deja ver al agente entrante exactamente qué cambió.
Grupos de cuentas (mismo agente, otra cuenta)
Esto es aparte del cambio de agente: si cambias por un límite de uso y tienes una segunda cuenta propia para el mismo agente (tu suscripción personal y la del trabajo, las dos tuyas y las dos con tu sesión), los grupos de cuentas de Happier pueden pasar la sesión a la otra cuenta y continuar. No se cambia nada hasta que creas un grupo a propósito, y los grupos no suben ningún límite ni acortan ningún reinicio.
Para quién es
- Quien tiene un plan de Claude y otro de ChatGPT y cambia cuando se agota uno
- Quien usa un segundo agente para revisar o para mirar "con ojos nuevos" un bug atascado
- Equipos en los que cada persona prefiere un agente distinto en el mismo repositorio
Errores comunes
- Dos archivos de instrucciones mantenidos a mano. Importa, no copies.
- Un
CLAUDE.local.mdque desactiva en silencioAGENTS.mdpara Claude (ver paso 1). - Notas de traspaso llenas de código pegado. Señala archivos y rangos de líneas. El agente entrante puede leerlos.
- Cambiar a mitad de una edición. Deja que termine el turno actual o entregarás un archivo a medio escribir sin ninguna explicación.
- Fiarte más del resumen que del diff. La nota dice lo que el agente cree que hizo, y
git diffdice lo que hizo.
Solución de problemas
Claude Code ignora AGENTS.md
Comprueba si hay un CLAUDE.md, .claude/CLAUDE.md o CLAUDE.local.md en la carpeta o en alguna superior. Si existe, Claude lo lee a él por defecto. Añádele @AGENTS.md o cambia Project instructions en /config.
Codex no sigue las reglas de AGENTS.md
Confirma que has lanzado Codex desde dentro del repositorio, para que encuentre el archivo. Los archivos muy largos se siguen peor, así que recórtalo. Pasa los detalles puntuales de la tarea a HANDOFF.md.
El nuevo agente rehace trabajo descartado
Tu sección "Tried and rejected" falta o es vaga. Indica el enfoque y el motivo en una línea cada uno.
Preguntas frecuentes
¿Puedo importar una conversación de Claude Code en Codex?
No como conversación. Guardan las sesiones por separado. Pasa el contexto mediante archivos (AGENTS.md, HANDOFF.md) y git.
¿Codex lee CLAUDE.md?
La convención de Codex es AGENTS.md. No cuentes con que lea CLAUDE.md: haz de AGENTS.md el archivo compartido y que CLAUDE.md lo importe.
¿Debería hacer commit de HANDOFF.md?
En una rama WIP personal, sí, y es útil. En ramas compartidas, exclúyelo localmente con .git/info/exclude.
¿Sirve para OpenCode, Gemini CLI u otros?
El patrón sí: la mayoría de las CLI de agentes ya leen AGENTS.md o te dejan indicarles un archivo. Consulta la documentación de cada herramienta para ver el nombre exacto del archivo.