4 4
5# Gestire le sessioni5# Gestire le sessioni
6 6
7> Assegnare nomi, riprendere, creare rami e passare tra conversazioni di Claude Code. Copre `--continue`, `--resume`, `--from-pr`, il selezionatore `/resume`, la denominazione delle sessioni e dove vengono archiviati i trascritti.7> 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.
8 8
9Una 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à.9Una 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à.
10 10
11L'[app desktop](/it/desktop#work-in-parallel-with-sessions), [Claude Code sul web](/it/claude-code-on-the-web) e l'[estensione VS Code](/it/vs-code#resume-past-conversations) mantengono ciascuno la propria cronologia delle sessioni. Questa pagina copre la CLI:11L'[app desktop](/it/desktop#work-in-parallel-with-sessions), [Claude Code sul web](/it/claude-code-on-the-web) e l'[estensione VS Code](/it/vs-code#resume-past-conversations) mantengono ciascuno la propria cronologia delle sessioni. Questa pagina copre la CLI.
12
13* [Riprendere](#resume-a-session) una conversazione precedente per flag, nome o PR
14* [Assegnare nomi](#name-your-sessions) alle sessioni in modo da poterle trovare in seguito
15* [Sfogliare](#use-the-session-picker) le sessioni con il selezionatore `/resume`
16* [Creare un ramo](#branch-a-session) di una conversazione per provare un approccio diverso
17* [Esportare](#export-and-locate-session-data) i trascritti e trovarli su disco
18 12
19<h2 id="resume-a-session">13<h2 id="resume-a-session">
20 Riprendere una sessione14 Riprendere una sessione
125 119
126Esegui `/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.120Esegui `/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.
127 121
128I trascritti vengono archiviati come JSONL in `~/.claude/projects/<project>/<session-id>.jsonl`, dove `<project>` è derivato dal percorso della directory di lavoro. Ogni riga è un oggetto JSON per un messaggio, uso dello strumento o voce di metadati. Per archiviare le sessioni in un luogo diverso da `~/.claude`, imposta [`CLAUDE_CONFIG_DIR`](/it/env-vars). Questi file locali vengono rimossi dopo 30 giorni per impostazione predefinita; cambia questo con [`cleanupPeriodDays`](/it/settings#available-settings).122<h3 id="access-conversations-from-scripts">
123 Accedere alle conversazioni da script
124</h3>
125
126`/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:
127
128* **Esegui Claude una volta e cattura il risultato**: invoca `claude -p` con [`--output-format json` o `stream-json`](/it/headless#get-structured-output) per catturare il risultato, l'ID della sessione, l'utilizzo e il costo di un'esecuzione non interattiva come JSON strutturato.
129* **Poni una domanda a una sessione esistente**: passa un ID di sessione a [`claude -p --resume`](/it/headless#continue-conversations) per inviare un prompt di follow-up, come una richiesta di riepilogo, e catturare la risposta strutturata.
130* **Reagisci agli eventi della sessione**: leggi il campo `transcript_path` che [hooks](/it/hooks#common-input-fields) e [comandi della riga di stato](/it/statusline#available-data) ricevono come input. Un hook `SessionEnd` può archiviare la trascrizione quando una sessione termina.
131* **Incorpora Claude in un'app TypeScript o Python**: usa l'[Agent SDK](/it/agent-sdk/overview) per ricevere ogni messaggio a livello di programmazione.
132
133L'esempio di seguito utilizza la seconda interfaccia. Invia un prompt di follow-up a una sessione esistente e legge la risposta con `jq`:
134
135```bash theme={null}
136claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'
137```
138
139<h3 id="where-transcripts-are-stored">
140 Dove vengono archiviati i trascritti
141</h3>
142
143Per 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](#access-conversations-from-scripts) invece.
144
145La posizione, la conservazione e il comportamento di scrittura sono configurabili:
129 146
130Per sopprimere completamente le scritture di trascritto, imposta [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/it/env-vars), o in modalità non interattiva usa `--no-session-persistence`.147| Per | Imposta | Dove |
148| ---------------------------------------------------------- | ------------------------------------------------------ | ------------------------ |
149| Sposta l'archiviazione da `~/.claude` | [`CLAUDE_CONFIG_DIR`](/it/env-vars) | Variabile di ambiente |
150| Cambia la conservazione di 30 giorni | [`cleanupPeriodDays`](/it/settings#available-settings) | `settings.json` |
151| Sopprimere le scritture di trascritto in tutte le modalità | [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/it/env-vars) | Variabile di ambiente |
152| Sopprimere le scritture per un'esecuzione non interattiva | [`--no-session-persistence`](/it/cli-reference) | Flag CLI con `claude -p` |
131 153
132<h2 id="see-also">154<h2 id="see-also">
133 Vedi anche155 Vedi anche