Workflow
Passare un'attività da Claude Code a Codex senza perdere il contesto
Hai raggiunto il limite di Claude a metà di un refactoring, oppure vuoi un secondo parere. Ecco cosa deve arrivare all'agente successivo, e tre modi per farcelo arrivare.
In breve
Nessuno dei due agenti carica la trascrizione dell'altro, quindi l'attività la trasferisci con un brief: l'obiettivo e la tua ultima istruzione, il piano, i file modificati e lo stato di git, mentre il codice resta su disco. Tieni le regole comuni in AGENTS.md, fai il commit del lavoro in corso oppure usa git stash create, poi scrivi il brief tu, generalo con uno strumento come hop o lascia che un'app come Maude lo costruisca quando cambi agente.
Puoi passare da Claude Code a Codex nel mezzo di un'attività senza ricominciare da capo, ma nessuno dei due agenti riprenderà da solo la conversazione dell'altro. A trasferire un'attività è un breve brief: l'obiettivo, il piano, i file modificati, lo stato di git e la tua ultima istruzione, più il codice su disco. Puoi scrivere quel brief a mano, generarlo con un piccolo strumento o usare un'app che lo costruisce per te quando cambi agente.
Perché passare un'attività da un agente di coding all'altro
- Hai raggiunto un limite. È il motivo più comune. Il tuo piano Claude esaurisce l'utilizzo nel mezzo di un refactoring, mentre il piano ChatGPT ha ancora margine. Aspettare il reset costa ore, e ripartire da zero in Codex costa il contesto.
- Un secondo parere. Un agente gira in tondo su un bug. Un modello diverso che legge lo stesso codice con un contesto pulito spesso nota ciò che il primo non vedeva più. Anche chiedere a un agente di rivedere il diff di un altro prima del commit costa poco.
- Punti di forza diversi. C'è chi usa un agente per pianificare e un altro per lunghe modifiche meccaniche, o ne tiene uno per un linguaggio o un framework che secondo la sua esperienza gestisce bene. Chi è più bravo in cosa cambia a ogni nuovo modello, quindi consideralo un tuo giudizio personale, non una regola.
Codex può leggere la sessione di Claude Code?
Non da solo. Entrambi gli agenti conservano le trascrizioni complete come file JSONL su disco. Claude Code le scrive in ~/.claude/projects/<project>/<session>.jsonl (documentazione di Claude Code), e Codex in file datati rollout-*.jsonl sotto ~/.codex/sessions/. Ciascuno riprende le proprie sessioni (claude --resume, codex resume), ma nessuno dei due documenta il caricamento di quelle dell'altro. Il comando /import di Claude Code porta con sé la configurazione di un altro agente, come file di istruzioni, server MCP e skill. La conversazione no.
Potresti indicare al nuovo agente il file grezzo della trascrizione. In pratica è un pessimo brief: è lungo, pieno di output degli strumenti e seppellisce l'unica cosa che serve al nuovo agente, cioè a che punto sei e cosa viene dopo.
Quale contesto deve passare
| Contesto | Perché conta | Da dove viene |
|---|---|---|
| Obiettivo e ultima istruzione | Il nuovo agente deve sapere cosa significa «fatto» e cosa hai chiesto per ultimo | Il tuo ultimo prompt, parola per parola |
| Piano / lista di attività | Evita che l'agente ripianifichi un lavoro già definito | La lista di attività dell'agente uscente |
| File modificati | Dice all'agente dove leggere prima di modificare | Le modifiche nella trascrizione, più git status |
| Stato di git | Branch, HEAD e modifiche non committate. Senza, il nuovo agente rischia di rifare il lavoro o di committarci sopra | git status, git diff --stat |
| Decisioni e vicoli ciechi | Così il nuovo agente non riprova un approccio già fallito | La conversazione recente, o un riepilogo scritto |
Le convenzioni del progetto, come i comandi di build e lo stile del codice, non dovrebbero proprio stare nel brief. Il loro posto è nei file di istruzioni che entrambi gli agenti leggono già.
Fai-da-te: istruzioni condivise con AGENTS.md e CLAUDE.md
Codex costruisce le sue istruzioni a partire dai file AGENTS.md, da ~/.codex/ e dalla radice git giù fino alla tua cartella di lavoro (documentazione AGENTS.md di Codex). Dalla v2.1.277 anche Claude Code legge AGENTS.md, ma di default solo quando non esiste un CLAUDE.md o un CLAUDE.local.md nella cartella di lavoro o sopra di essa (documentazione sulla memoria di Claude Code). La configurazione più semplice letta da entrambi gli agenti: tieni le regole comuni in AGENTS.md e, se ti servono regole solo per Claude, inizia il tuo CLAUDE.md con un import:
@AGENTS.md
## Claude Code
Use plan mode for changes under src/billing/.
Funziona anche nell'altra direzione. L'impostazione project_doc_fallback_filenames di Codex in ~/.codex/config.toml gli permette di leggere altri nomi di file quando non c'è un AGENTS.md.
Fai-da-te: un documento di passaggio e git
Prima di cambiare, chiedi all'agente uscente di scrivere il brief finché ha ancora il contesto, se gli resta un po' di utilizzo:
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.
Poi rendi lo stato del codice inequivocabile. Fare il commit del lavoro in corso su un branch è l'opzione più chiara. Se preferisci non committare, git stash create registra le modifiche tracciate non committate come oggetto commit senza toccare l'albero di lavoro, e ti dà un punto fisso con cui confrontare se il prossimo agente sbaglia strada. Avvia l'altro agente nella stessa cartella e digli di leggere HANDOFF.md e di rileggere i file prima di modificarli.
Strumenti che lo automatizzano
hop (MIT) fa tutto con un comando: hop codex per passare da Claude Code a Codex, hop cc per il contrario. Legge direttamente i file di sessione dell'agente di partenza, quindi funziona anche quando quell'agente ha esaurito la quota. Puoi eseguire ! hop codex da dentro una sessione di Claude Code bloccata. Scrive un documento di passaggio con le tue istruzioni, il branch git e la conversazione recente, entro un limite di dimensione (48 KB di default), e apre l'altro agente in una nuova scheda del terminale. Tra i progetti simili ci sono cli-handoff e session-handoff.
| Approccio | Funziona a quota esaurita | Impegno per ogni cambio | Trasferisce la conversazione |
|---|---|---|---|
| Solo AGENTS.md condiviso | Sì | Nessuno, ma trasferisce le convenzioni, non lo stato dell'attività | No |
| HANDOFF.md scritto dall'agente + git | Solo se l'agente uscente risponde ancora | Un prompt e un commit | Come riepilogo |
| hop e CLI simili | Sì | Un comando | Gli ultimi turni, entro un limite |
| Un'app con cambio integrato | Sì | Un tocco | Dipende dall'app |
Come funziona il passaggio in Maude
Maude esegue i tuoi agenti sul tuo server, e una sessione non è legata a un solo agente. Quando una sessione è inattiva puoi passarla, per esempio, da Claude Code a Codex (o OpenCode, Grok Build o Antigravity) dal telefono. Il daemon sul server costruisce il brief a partire dal registro della sessione, non da un riepilogo scritto di fretta:
- un'introduzione che dice al nuovo agente che sta subentrando, che i file su disco sono la fonte di verità e che deve rileggerli prima di modificarli
- la tua ultima istruzione, in evidenza
- il piano o la lista di attività corrente
- i file modificati, dalle modifiche dell'agente più i file che git segnala come cambiati
- lo stato di git: branch, HEAD, status breve e diff stat. Anche il lavoro non committato viene salvato con
git stash createe conservato sotto un ref, senza toccare l'albero di lavoro - la conversazione recente, parola per parola, fino a circa 120.000 caratteri
- un riferimento alla trascrizione completa, esportata in markdown in
.maude/handoff/nel progetto e tenuta fuori dagit status
Il brief viene anteposto al tuo prossimo messaggio al nuovo agente, e la chat mostra un separatore che puoi espandere per leggere esattamente cosa è stato inviato. Poiché il brief è costruito dal registro della sessione, non dipende dal fatto che l'agente uscente sia in grado di rispondere, cosa che conta soprattutto quando ha appena raggiunto il limite.
Tornare indietro funziona diversamente. Se l'agente a cui torni ha già lavorato in questa sessione e supporta la ripresa, Maude riprende la conversazione di quell'agente e gli invia solo ciò che è successo mentre era assente. Non riceve un secondo brief completo.
Maude non è l'unica app a farlo. Happier ti permette di cambiare motore a metà conversazione e dà al nuovo agente gli strumenti per leggere la trascrizione precedente. AgentsRoom costruisce un riepilogo di passaggio con i file modificati, l'attività della sessione e l'ultima risposta quando cambi provider. Confrontiamo i compromessi in Maude vs Happier. Per scegliere quali agenti abbinare, vedi Claude Code vs Codex vs OpenCode.
Domande frequenti
Codex può leggere la sessione di Claude Code?
~/.claude/projects/, e Codex non le carica. L'attività la trasferisci con un brief: scrivilo tu, generalo con uno strumento come hop o usa un'app che lo costruisce quando cambi agente.AGENTS.md e CLAUDE.md vanno in conflitto?
AGENTS.md solo quando non c'è un CLAUDE.md. Per condividere un solo file, tieni le regole in AGENTS.md e metti @AGENTS.md in cima a CLAUDE.md. Codex legge AGENTS.md nativamente.E se raggiungo il limite di Claude a metà lavoro?
Cambiare agente mi fa perdere le modifiche non committate?
git stash create ti dà un punto fisso con cui confrontare se il prossimo agente sbaglia strada.