Passa al contenuto principale

Checkpoint e Rewind

Intermedio
What you'll learn
  • Capire cosa cattura un checkpoint — e cosa silenziosamente non cattura
  • Aprire il menu di rewind in due modi e scegliere ogni volta l'azione di ripristino giusta
  • Distinguere 'restore' (annulla lo stato) da 'summarize' (comprimi il contesto)
  • Sapere esattamente perché i checkpoint completano Git ma non lo sostituiscono mai

L'idea di fondo​

Quando lasci Claude libero su una modifica ambiziosa e di ampia portata, la domanda più temibile è "e se qualcosa va storto a tre modifiche di distanza?". I checkpoint sono la risposta: Claude Code scatta automaticamente uno snapshot del tuo codice prima di ogni turno che avvii, così puoi tornare a uno stato precedente invece di sbrogliare a mano un refactoring lasciato a metà.

Pensalo come un annulla locale per l'intera sessione — una rete di sicurezza che ti permette di dire "sì, prova l'approccio audace" senza timore.

Come vengono creati i checkpoint​

I checkpoint non si creano: nascono in automatico.

Guided walkthrough1 of 4
  1. Ogni prompt che avvia un turno cattura lo stato del tuo codice prima che gli strumenti di modifica dei file di Claude entrino in azione. Nessun comando, nessuna configurazione, nessuna cerimonia.

Aprire il menu di rewind​

Ci sono due modi per entrarci:

Guided walkthrough1 of 2
  1. Digita il comando slash dal prompt. Funziona sempre. /checkpoint e /undo sono alias dello stesso comando, quindi usa il nome che ti viene in mente.

Apri il menu di rewind

/rewind
Watch out
  • I nomi degli alias sono più amichevoli che letterali: /checkpoint non scatta uno snapshot su richiesta (gli snapshot sono automatici) e /undo non annulla da solo l'ultima modifica. Tutti e tre i nomi aprono lo stesso menu, dove scegli comunque il punto e l'azione.

Il menu elenca ogni prompt che hai inviato in questa sessione. Scegli il punto su cui agire, poi scegli un'azione.

Restore e summarize: la distinzione chiave​

È qui che si fa confusione. Il menu offre due tipi di azione:

  • Le azioni Restore cambiano lo stato su disco e/o nella conversazione — annullano.
  • Le azioni Summarize non toccano mai i tuoi file — comprimono la conversazione per liberare spazio nella finestra di contesto.
Watch out
  • Restore = annulla (ripristina codice, conversazione o entrambi). Summarize = comprimi il contesto (i file su disco restano intatti).
  • Usa restore quando una modifica ha rotto qualcosa. Usa summarize quando la sessione è gonfia ma il codice va bene.

Le azioni di restore​

Guided walkthrough1 of 3
  1. Ripristina sia i file sia la cronologia della chat al punto selezionato — un vero 'riavvolgimento del tempo' a quel momento.

Le due opzioni di restore del codice compaiono solo quando il checkpoint selezionato ha effettivamente modifiche ai file tracciate da ripristinare. Se dopo quel punto non è stata catturata alcuna modifica ai file, il menu offre solo Restore conversation, le due opzioni summarize e Never mind (che torna all'elenco dei messaggi senza cambiare nulla).

Dopo aver ripristinato la conversazione (o scelto "Summarize from here"), il prompt originale del messaggio selezionato viene rimesso nel campo di input così puoi reinviarlo o modificarlo.

Le azioni di summarize​

Entrambe comprimono una parte della conversazione in un riassunto generato dall'AI — come un /compact mirato in cui scegli quale lato del messaggio selezionato comprimere.

Guided walkthrough1 of 2
  1. I messaggi PRIMA di quello selezionato restano intatti. Il messaggio selezionato e tutto ciò che segue diventano un riassunto. Usalo per scartare una digressione mantenendo il contesto iniziale in pieno dettaglio.

In entrambi i casi i messaggi originali restano nella trascrizione della sessione, quindi Claude può ancora consultarne i dettagli, e dove c'erano i messaggi compressi compare un indicatore Summarized conversation. Per orientare su cosa si concentra il riassunto, evidenzia un'opzione Summarize con le frecce e scrivi le istruzioni dove la riga riporta add context (optional), poi premi Invio — scegliere l'opzione con il suo tasto numerico riassume subito, senza istruzioni.

Per l'intero flusso, vedi Gestione del contesto — le azioni summarize di /rewind sono un bisturi, dove /compact è un pennello largo.

What you'll learn
  • Summarize ti tiene nella stessa sessione. Per diramarti e provare un approccio diverso lasciando intatta la sessione originale, usa invece /branch oppure claude --continue --fork-session.

Tornare indietro oltre un /clear​

Se hai eseguito /clear in precedenza nello stesso processo di Claude Code, il menu di rewind mostra una voce in più in alto: /resume <session-id> (previous session). Selezionala per tornare alla conversazione che era attiva prima di /clear.

Dove i checkpoint si fermano — i limiti che fanno male​

I checkpoint sembrano magici finché non lo sono più. Queste lacune contano:

Guided walkthrough1 of 7
  1. Il tracciamento è per file, e un file vi entra solo quando Claude lo modifica con i suoi strumenti di modifica file. Una volta successo, /rewind annulla anche ciò che i comandi Bash fanno in seguito a quello stesso file — un formattatore o un generatore che riscrive un file già modificato è riavvolgibile. Un file toccato solo da Bash non è tracciato e resta com'è, quindi un file cancellato con rm che Claude non ha mai modificato richiede Git. Il menu lo riflette: sotto ogni prompt conta le modifiche ai file che Claude aveva già modificato, qualunque cosa le abbia prodotte.

Checkpoint e Git: usali entrambi​

Risolvono problemi diversi, quindi abbinali.

Checkpoint (/rewind)Git
AmbitoUna sessioneCronologia dell'intero progetto
GranularitàPer prompt che avvia un turno, automaticaPer commit, deliberata
Traccia le modifiche fatte via bash?Solo sui file che Claude ha già modificatoSì (una volta in staging/commit)
DurataUltimi 100 checkpoint, ripuliti ~30 giorni dopo la sessionePermanente
Condivisibile / collaborativoNoSì
Modello mentale"Annulla locale""Cronologia permanente"
Pro tip
  • Fai commit con Git degli stati funzionanti prima di un'esecuzione rischiosa e di ampia portata — è il tuo pavimento durevole.
  • Usa /rewind per recuperare rapidamente nella sessione tra un commit e l'altro senza inquinare la cronologia Git.
  • Affidati a Git per i file che Claude non modifica mai direttamente — quelli toccati solo da bash distruttivo (rm/mv) o da un subagent in background. Il rewind copre un file solo dopo che Claude lo ha modificato con i propri strumenti per i file.

Quando usarlo​

Guided walkthrough1 of 4
  1. Prova un'implementazione audace e, se non ti piace, ripristina codice e conversazione al punto di biforcazione e prova un'altra strada.

Verifica te stesso

0/3
  1. Claude non ha mai modificato `config.old.json` con i suoi strumenti per i file, poi l'ha cancellato con `rm` in un comando bash. `/rewind` può riportarlo indietro?
  2. Il tuo codice va bene, ma una lunga digressione di debug ha riempito la finestra di contesto. Quale azione è adatta?
  3. Come viene creato un checkpoint?
Vocabolario di checkpoint e rewind
Premi Invio o Spazio per girare la carta. Usa le frecce sinistra e destra per spostarti tra le carte.Termine mostrato.
1 / 6
Key takeaways
  • I checkpoint sono snapshot automatici scattati prima di ogni prompt che avvia un turno — un annulla locale per la sessione. Ne vengono conservati 100, poi ripuliti ~30 giorni dopo la sessione.
  • Apri il menu di rewind con /rewind (alias: /checkpoint, /undo) o con doppio Esc su un input vuoto; elenca ogni prompt che hai inviato.
  • Le azioni restore annullano lo stato (codice, conversazione o entrambi); le azioni summarize comprimono il contesto e non toccano mai i file.
  • Il tracciamento è per file e inizia quando Claude lo modifica con i suoi strumenti per i file — dopo di che si riavvolgono anche le modifiche Bash a quel file. I file che Claude non ha mai modificato (solo bash, esterni, concorrenti, la maggior parte di quelli dei subagent) NON sono tracciati, e i percorsi con symlink o hard link vengono saltati al restore.
  • I checkpoint completano Git, non lo sostituiscono: pensa 'annulla locale' contro 'cronologia permanente e condivisibile'.

Avanti​

  • Gestione del contesto — /compact, /clear e come si inserisce summarize nel quadro generale
  • Plan Mode — indaga e approva un piano prima che le modifiche partano, così fai rewind più di rado
  • Permessi — l'altra metà dell'esecuzione sicura di compiti ambiziosi