SpyBara
Go Premium

sessions.md 2026-06-25 23:58 UTC to 2026-06-26 23:00 UTC

32 added, 10 removed.

2026
Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

Gestire le sessioni

Assegnare nomi, riprendere, creare rami e passare tra conversazioni di Claude Code. Copre --continue, --resume, --from-pr, il selezionatore /resume, la denominazione delle sessioni, l'esportazione dei trascritti e dove vengono archiviati i trascritti.

Una sessione è una conversazione salvata legata a una directory di progetto. Claude Code la archivia localmente mentre lavori, così puoi riprendere da dove hai lasciato, creare un ramo per provare un approccio diverso, o passare tra attività.

L'app desktop, Claude Code sul web e l'estensione VS Code mantengono ciascuno la propria cronologia delle sessioni. Questa pagina copre la CLI.

Riprendere una sessione

Le sessioni vengono salvate continuamente in file di trascritto locali mentre lavori, quindi puoi tornare a una dopo aver chiuso o eseguito /clear. Usa questi punti di ingresso:

Comando Cosa fa
claude --continue Riprende la sessione più recente nella directory corrente
claude --resume Apre il selezionatore di sessioni
claude --resume <name> Riprende direttamente la sessione denominata
claude --from-pr <number> Riprende la sessione collegata a quella pull request
/resume Passa a una conversazione diversa da una sessione attiva

Le sessioni create con claude -p o l'Agent SDK non vengono visualizzate nel selezionatore di sessioni, ma puoi comunque riprenderne una passando il suo ID di sessione a claude --resume <session-id>. Esegui questo dalla directory in cui è stata avviata la sessione: la ricerca dell'ID di sessione è limitata alla directory del progetto corrente e ai suoi git worktrees, quindi una sessione creata altrove segnala No conversation found with session ID: <session-id>.

Dove il selezionatore di sessioni cerca

Le sessioni vengono archiviate per directory di progetto. Per impostazione predefinita, il selezionatore di sessioni mostra le sessioni interattive dal worktree corrente, più le sessioni avviate altrove che hanno aggiunto la directory corrente con /add-dir. {/* min-version: 2.1.169 */}A partire dalla v2.1.169, lo spostamento di una sessione con /cd la trasferisce nell'archivio del progetto della nuova directory, quindi appare nel selezionatore di quella directory in seguito. Usa Ctrl+W per ampliare a tutti i worktree del repository o Ctrl+A per ampliare a ogni progetto su questa macchina.

Selezionare una sessione da un altro worktree dello stesso repository la riprende sul posto. Selezionare una sessione da un progetto non correlato copia un comando cd e resume negli appunti.

La ripresa per nome si risolve nel repository corrente e nei suoi worktree. Entrambi i moduli cercano una corrispondenza esatta e la riprendono direttamente anche se si trova in un worktree diverso:

Comando Corrispondenza esatta Nome ambiguo
claude --resume <name> Riprende direttamente Apre il selezionatore di sessioni con il nome pre-compilato come termine di ricerca
/resume <name> Riprende direttamente Segnala un errore; esegui /resume senza argomenti per aprire il selezionatore di sessioni

Assegnare nomi alle sessioni

Dai alle sessioni nomi descrittivi in modo che siano trovabili nel selezionatore di sessioni e riprendibili per nome. Questo è particolarmente importante quando stai lavorando su più attività in parallelo.

Quando Come impostare il nome
All'avvio claude -n auth-refactor
Durante una sessione /rename auth-refactor. Il nome appare anche sulla barra del prompt
Dal selezionatore di sessioni Evidenzia una sessione e premi Ctrl+R
Sull'accettazione del piano Accettare un piano in plan mode assegna un nome alla sessione dal contenuto del piano a meno che non ne abbia già impostato uno

Una volta che una sessione è denominata, torna a essa con claude --resume <name> o /resume <name>. Vedi Riprendere una sessione per come il comportamento della risoluzione dei nomi funziona nei worktree.

Usare il selezionatore di sessioni

Esegui /resume all'interno di una sessione, o claude --resume senza argomenti, per aprire il selezionatore di sessioni interattivo. Usa queste scorciatoie da tastiera per navigare, cercare e ampliare l'elenco:

Scorciatoia Azione
/ Naviga tra le sessioni
/ Espandi o comprimi le sessioni raggruppate
Enter Riprendi la sessione evidenziata
Space Anteprima del contenuto della sessione. Ctrl+V funziona anche su terminali che non lo catturano come incolla
Ctrl+R Rinomina la sessione evidenziata
/ o qualsiasi carattere stampabile diverso da Space Entra in modalità di ricerca e filtra le sessioni. Incolla un URL di pull o merge request di GitHub, GitHub Enterprise, GitLab o Bitbucket per trovare la sessione che l'ha creato
Ctrl+A Mostra le sessioni da tutti i progetti su questa macchina. Premi di nuovo per tornare al repository corrente
Ctrl+W Mostra le sessioni da tutti i worktree del repository corrente. Premi di nuovo per tornare al worktree corrente. Mostrato solo nei repository multi-worktree
Ctrl+B Filtra le sessioni dal ramo git corrente. Premi di nuovo per mostrare tutti i rami
Esc Esci dal selezionatore di sessioni o dalla modalità di ricerca

Ogni riga mostra il nome della sessione se impostato, altrimenti il riassunto della conversazione o il primo prompt, insieme al tempo dall'ultima attività, al conteggio dei messaggi e al ramo git. Il percorso del progetto appare dopo aver ampliato a tutti i progetti con Ctrl+A.

Le sessioni con rami create con /branch, /rewind o --fork-session sono raggruppate sotto la loro sessione radice. Premi per espandere un gruppo.

Creare un ramo di una sessione

La creazione di un ramo crea una copia della conversazione finora e ti passa in essa, lasciando l'originale intatto. Usalo per provare un approccio diverso senza perdere il percorso su cui eri.

Da dentro una sessione, esegui /branch con un nome opzionale:

/branch try-streaming-approach

Dalla riga di comando, combina --continue o --resume con --fork-session:

claude --continue --fork-session

La sessione originale rimane invariata e disponibile nel selezionatore di sessioni. La conferma di /branch stampa due ID di sessione: il nuovo ramo in cui sei ora e l'originale. Per tornare all'originale, passa il suo ID a /resume, usa il selezionatore di sessioni, o esegui /resume <original-name>. I permessi che hai approvato con "allow for this session" non vengono trasferiti al nuovo ramo. Se riprendi la stessa sessione in due terminali senza creare un fork, i messaggi di entrambi si intercalano in un unico trascritto.

Per il rewind basato su checkpoint all'interno di una singola sessione, vedi Checkpointing.

Gestire il contesto all'interno di una sessione

Questi comandi controllano cosa c'è nella finestra di contesto senza lasciare la sessione:

  • /clear: ricomincia da capo con un contesto vuoto. La conversazione precedente viene salvata e riprendibile
  • /compact [instructions]: sostituisci la cronologia con un riassunto, facoltativamente focalizzato su ciò che specifichi
  • /context: mostra cosa sta attualmente consumando contesto

Per come la compattazione interagisce con CLAUDE.md, skills e regole, vedi la guida della finestra di contesto. Per strategie su quando cancellare rispetto a compattare, vedi Best practices.

Esportare e individuare i dati della sessione

Esegui /export per copiare la conversazione corrente negli appunti o salvarla come file di testo semplice, con messaggi e output degli strumenti renderizzati come testo leggibile. Passa un nome file per scrivere direttamente in quel file.

Accedere alle conversazioni da script

/export produce una trascrizione renderizzata per una persona da leggere. Le interfacce di seguito producono dati strutturati per uno script da analizzare: un risultato JSON da un'esecuzione, il percorso al file di trascrizione di una sessione, o un flusso live di eventi. Scegli in base a ciò che attiva lo script:

  • Esegui Claude una volta e cattura il risultato: invoca claude -p con --output-format json o stream-json per catturare il risultato, l'ID della sessione, l'utilizzo e il costo di un'esecuzione non interattiva come JSON strutturato.
  • Poni una domanda a una sessione esistente: passa un ID di sessione a claude -p --resume per inviare un prompt di follow-up, come una richiesta di riepilogo, e catturare la risposta strutturata.
  • Reagisci agli eventi della sessione: leggi il campo transcript_path che hooks e comandi della riga di stato ricevono come input. Un hook SessionEnd può archiviare la trascrizione quando una sessione termina.
  • Incorpora Claude in un'app TypeScript o Python: usa l'Agent SDK per ricevere ogni messaggio a livello di programmazione.

L'esempio di seguito utilizza la seconda interfaccia. Invia un prompt di follow-up a una sessione esistente e legge la risposta con jq:

claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'

Dove vengono archiviati i trascritti

Per impostazione predefinita, i trascritti vengono archiviati come JSONL in ~/.claude/projects/<project>/<session-id>.jsonl, dove <project> è il percorso della directory di lavoro con caratteri non alfanumerici sostituiti da -. Ogni riga è un oggetto JSON per un messaggio, uso dello strumento o voce di metadati. Il formato della voce è interno a Claude Code e cambia tra le versioni, quindi gli script che analizzano direttamente questi file possono interrompersi in qualsiasi rilascio. Per costruire sui dati della sessione, utilizza /export o le interfacce di script invece.

La posizione, la conservazione e il comportamento di scrittura sono configurabili:

Per Imposta Dove
Sposta l'archiviazione da ~/.claude CLAUDE_CONFIG_DIR Variabile di ambiente
Cambia la conservazione di 30 giorni cleanupPeriodDays settings.json
Sopprimere le scritture di trascritto in tutte le modalità CLAUDE_CODE_SKIP_PROMPT_HISTORY Variabile di ambiente
Sopprimere le scritture per un'esecuzione non interattiva --no-session-persistence Flag CLI con claude -p

Vedi anche

Queste pagine coprono la meccanica correlata delle sessioni e del parallelismo:

  • Worktrees: esegui sessioni parallele isolate su rami separati
  • Checkpointing: riavvolgi il codice e la conversazione a un punto precedente
  • Context window: cosa riempie il contesto e cosa sopravvive alla compattazione
  • Non-interactive mode: comportamento della sessione in claude -p