Méthode
Passer une tâche de Claude Code à Codex sans perdre le contexte
Vous avez atteint votre limite Claude au milieu d'un refactoring, ou vous voulez un deuxième avis. Voici ce qui doit passer à l'agent suivant, et trois façons de le lui transmettre.
En bref
Aucun des deux agents ne charge la transcription de l'autre : vous transmettez la tâche par un brief, avec l'objectif et votre dernière instruction, le plan, les fichiers modifiés et l'état git, le code lui-même restant sur le disque. Gardez les règles communes dans AGENTS.md, committez votre travail en cours ou passez par git stash create, puis rédigez le brief vous-même, générez-le avec un outil comme hop, ou laissez une app comme Maude le construire au moment de basculer.
Vous pouvez passer de Claude Code à Codex au milieu d'une tâche sans tout recommencer, mais aucun des deux agents ne reprendra de lui-même la conversation de l'autre. Ce qui fait passer une tâche de l'un à l'autre, c'est un court brief : l'objectif, le plan, les fichiers modifiés, l'état git et votre dernière instruction, plus le code sur le disque. Vous pouvez rédiger ce brief à la main, le générer avec un petit outil, ou utiliser une app qui le construit pour vous au moment de basculer.
Pourquoi passer une tâche d'un agent de code à l'autre
- Vous atteignez une limite. C'est la raison la plus courante. Votre forfait Claude arrive au bout de son usage au milieu d'un refactoring, alors que votre forfait ChatGPT a encore de la marge. Attendre la réinitialisation coûte des heures, et repartir de zéro dans Codex coûte le contexte.
- Un deuxième avis. Un agent tourne en rond sur un bug. Un autre modèle qui lit le même code avec un contexte vierge repère souvent ce que le premier ne voyait plus. Demander à un agent de relire le diff d'un autre avant de committer ne coûte pas grand-chose non plus.
- Des forces différentes. Certains utilisent un agent pour planifier et un autre pour les longues modifications mécaniques, ou en gardent un pour un langage ou un framework qu'il gère bien selon eux. Qui fait mieux quoi change à chaque sortie de modèle : voyez-y votre jugement personnel, pas une règle.
Codex peut-il lire la session de Claude Code ?
Pas de lui-même. Les deux agents conservent leurs transcriptions complètes sous forme de fichiers JSONL sur le disque. Claude Code les écrit dans ~/.claude/projects/<project>/<session>.jsonl (documentation de Claude Code), et Codex dans des fichiers datés rollout-*.jsonl sous ~/.codex/sessions/. Chacun reprend ses propres sessions (claude --resume, codex resume), mais aucun ne documente le chargement de celles de l'autre. La commande /import de Claude Code récupère la configuration d'un autre agent, comme les fichiers d'instructions, les serveurs MCP et les skills. Elle ne récupère pas la conversation.
Vous pourriez indiquer au nouvel agent le fichier de transcription brut. En pratique, c'est un mauvais brief : il est long, plein de sorties d'outils, et noie la seule chose dont le nouvel agent a besoin, à savoir où vous en êtes et ce qui vient ensuite.
Le contexte qui doit être transmis
| Contexte | Pourquoi c'est important | D'où il vient |
|---|---|---|
| Objectif et dernière instruction | Le nouvel agent doit savoir ce que « terminé » veut dire et ce que vous avez demandé en dernier | Votre dernier prompt, mot pour mot |
| Plan / liste de tâches | Cela évite que l'agent replanifie un travail déjà cadré | La liste de tâches de l'agent sortant |
| Fichiers modifiés | Cela indique à l'agent où lire avant de modifier | Les modifications dans la transcription, plus git status |
| État git | Branche, HEAD et modifications non commitées. Sans eux, le nouvel agent risque de refaire le travail ou de committer par-dessus | git status, git diff --stat |
| Décisions et impasses | Pour que le nouvel agent ne retente pas une approche qui a déjà échoué | La conversation récente, ou un résumé écrit |
Les conventions du projet, comme les commandes de build et le style de code, n'ont rien à faire dans le brief. Elles ont leur place dans des fichiers d'instructions que les deux agents lisent déjà.
À la main : des instructions communes avec AGENTS.md et CLAUDE.md
Codex construit ses instructions à partir des fichiers AGENTS.md, depuis ~/.codex/ puis de la racine git jusqu'à votre dossier de travail (documentation AGENTS.md de Codex). Depuis la v2.1.277, Claude Code lit aussi AGENTS.md, mais par défaut uniquement quand il n'existe ni CLAUDE.md ni CLAUDE.local.md dans votre dossier de travail ou au-dessus (documentation mémoire de Claude Code). La configuration la plus simple que les deux agents lisent : gardez les règles communes dans AGENTS.md et, si vous avez besoin de règles propres à Claude, commencez votre CLAUDE.md par un import :
@AGENTS.md
## Claude Code
Use plan mode for changes under src/billing/.
L'inverse fonctionne aussi. Le réglage project_doc_fallback_filenames de Codex, dans ~/.codex/config.toml, lui permet de lire d'autres noms de fichiers quand aucun AGENTS.md n'est présent.
À la main : un document de passation et git
Avant de basculer, demandez à l'agent sortant de rédiger le brief tant qu'il a encore le contexte, s'il lui reste de l'usage :
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.
Rendez ensuite l'état du code sans ambiguïté. Committer le travail en cours sur une branche est l'option la plus claire. Si vous préférez ne pas committer, git stash create enregistre les modifications suivies non commitées comme un objet commit sans toucher à votre arbre de travail, ce qui vous donne un point fixe auquel comparer si l'agent suivant fait fausse route. Lancez l'autre agent dans le même dossier et dites-lui de lire HANDOFF.md et de relire les fichiers avant de les modifier.
Les outils qui l'automatisent
hop (MIT) fait tout cela en une commande : hop codex pour passer de Claude Code à Codex, hop cc pour l'inverse. Il lit directement les fichiers de session de l'agent source, donc il fonctionne même quand cet agent n'a plus de quota. Vous pouvez lancer ! hop codex depuis une session Claude Code bloquée. Il rédige un document de passation avec vos instructions, la branche git et la conversation récente, dans un budget de taille (48 Ko par défaut), et ouvre l'autre agent dans un nouvel onglet du terminal. Parmi les projets similaires : cli-handoff et session-handoff.
| Approche | Fonctionne sans quota | Effort par bascule | Transmet la conversation |
|---|---|---|---|
| AGENTS.md commun seul | Oui | Aucun, mais il transmet les conventions, pas l'état de la tâche | Non |
| HANDOFF.md rédigé par l'agent + git | Seulement si l'agent sortant répond encore | Un prompt et un commit | Sous forme de résumé |
| hop et CLI similaires | Oui | Une commande | Les derniers échanges, dans un budget |
| Une app avec bascule intégrée | Oui | Un tap | Selon l'app |
Comment fonctionne le passage de relais dans Maude
Maude fait tourner vos agents sur votre propre serveur, et une session n'est pas liée à un seul agent. Quand une session est inactive, vous pouvez la basculer, par exemple, de Claude Code vers Codex (ou OpenCode, Grok Build ou Antigravity) depuis le téléphone. Le daemon sur le serveur construit le brief à partir de l'historique même de la session, pas d'un résumé rédigé dans l'urgence :
- un cadre qui indique au nouvel agent qu'il prend le relais, que les fichiers sur le disque font foi et qu'il doit les relire avant de modifier
- votre dernière instruction, épinglée
- le plan ou la liste de tâches en cours
- les fichiers modifiés, d'après les modifications de l'agent plus les fichiers que git signale comme changés
- l'état git : branche, HEAD, statut court et diff stat. Le travail non commité est aussi capturé avec
git stash createet conservé sous une ref, sans toucher à votre arbre de travail - la conversation récente, mot pour mot, jusqu'à environ 120 000 caractères
- un lien vers la transcription complète, exportée en markdown dans
.maude/handoff/dans le projet et tenue à l'écart degit status
Le brief est placé devant votre prochain message au nouvel agent, et le chat affiche un séparateur que vous pouvez déplier pour lire exactement ce qui a été envoyé. Comme le brief est construit à partir de l'historique de la session, il ne dépend pas de la capacité de l'agent sortant à répondre, ce qui compte surtout quand il vient d'atteindre sa limite.
Revenir en arrière fonctionne autrement. Si l'agent auquel vous revenez a déjà travaillé dans cette session et sait reprendre une conversation, Maude reprend la conversation propre à cet agent et ne lui envoie que ce qui s'est passé pendant son absence. Il ne reçoit pas un second brief complet.
Maude n'est pas la seule app à le faire. Happier vous permet de changer de moteur en pleine conversation et donne au nouvel agent des outils pour lire la transcription précédente. AgentsRoom construit un résumé de passation avec les fichiers modifiés, l'activité de la session et la dernière réponse quand vous changez de fournisseur. Nous comparons les compromis dans Maude vs Happier. Pour choisir quels agents associer, voyez Claude Code vs Codex vs OpenCode.
Questions fréquentes
Codex peut-il lire la session de Claude Code ?
~/.claude/projects/, et Codex ne les charge pas. Vous transmettez la tâche par un brief : rédigez-le vous-même, générez-le avec un outil comme hop, ou utilisez une app qui le construit au moment de basculer.AGENTS.md et CLAUDE.md entrent-ils en conflit ?
AGENTS.md qu'en l'absence de CLAUDE.md. Pour partager un seul fichier, gardez vos règles dans AGENTS.md et placez @AGENTS.md en tête de CLAUDE.md. Codex lit AGENTS.md nativement.Et si j'atteins ma limite Claude en pleine tâche ?
Changer d'agent fait-il perdre mes modifications non commitées ?
git stash create au préalable vous donne un point fixe auquel comparer si l'agent suivant fait fausse route.