Checkpoint e Rewind
- 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 di eseguire una modifica ambiziosa e su vasta scala, la domanda più spaventosa è "e se va storto dopo tre modifiche di profondità?" Il checkpointing è la risposta: Claude Code cattura automaticamente uno snapshot del tuo codice prima di ogni modifica, così puoi tornare indietro a qualsiasi stato precedente invece di districare a mano un refactoring lasciato a metà.
Consideralo un annulla locale per l'intera sessione — una rete di sicurezza che ti permette di dire "sì, prova l'approccio audace" senza paura.
Come vengono creati i checkpoint
Non sei tu a creare i checkpoint — avvengono automaticamente.
- Ogni prompt dell'utente cattura lo stato del tuo codice prima dell'esecuzione degli strumenti di modifica dei file di Claude. Nessun comando, nessuna configurazione, nessuna cerimonia.
- I checkpoint sopravvivono all'uscita e alla ripresa di una conversazione, così puoi tornare indietro in una sessione ripresa, non solo in quella attiva.
- I checkpoint vengono rimossi insieme alla loro sessione dopo 30 giorni (configurabile). Sono un ripristino a livello di sessione, non un archivio.
Aprire il menu di rewind
Ci sono due modi per accedervi:
- Digita lo slash command dal prompt. Funziona sempre.
- Il doppio Esc apre il menu di rewind quando la casella del prompt è vuota. Se contiene del testo, il doppio Esc cancella quel testo invece (il testo cancellato viene salvato nella cronologia dell'input, quindi premi Su per recuperarlo dopo).
Apri il menu di rewind
/rewind
Il menu elenca ogni prompt che hai inviato in questa sessione. Scegli il punto su cui vuoi agire, poi scegli un'azione.
Restore vs. summarize: la distinzione chiave
È qui che le persone si confondono. Il menu offre due tipi di azione:
- Le azioni restore cambiano lo stato sul 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.
- Restore = annulla (ripristina codice, conversazione o entrambi). Summarize = comprimi il contesto (i file sul disco restano intatti).
- Ricorri a restore quando una modifica ha rotto qualcosa. Ricorri a summarize quando la sessione è gonfia ma il codice va bene.
Le azioni di restore
- Ripristina sia i tuoi file sia la cronologia della chat al punto selezionato — un 'riavvolgi il tempo' pulito fino a quel momento.
- Riavvolge la chat fino a quel messaggio ma mantiene il tuo codice attuale. Utile per riporre una domanda senza perdere le modifiche che vuoi conservare.
- Ripristina le modifiche ai file ma mantiene la conversazione. Annulla le modifiche, conserva la discussione su di esse.
Dopo aver ripristinato la conversazione (o dopo aver scelto "Summarize from here"), il prompt originale del messaggio selezionato viene reinserito nel campo di input, così puoi rinviarlo o modificarlo.
Le azioni di summarize
Entrambe comprimono parte della conversazione in un riepilogo generato dall'AI — come un /compact mirato in cui scegli quale lato del messaggio selezionato spremere.
- I messaggi PRIMA del messaggio selezionato restano intatti. Il messaggio selezionato e tutto ciò che segue diventano un riepilogo. Usalo per scartare una discussione secondaria mantenendo il contesto iniziale in dettaglio completo.
- I messaggi PRIMA del messaggio selezionato diventano un riepilogo; il messaggio selezionato e tutto ciò che segue restano intatti. Rimani alla fine della conversazione. Usalo per comprimere le chiacchiere di configurazione iniziale mantenendo il lavoro recente alla lettera.
In entrambi i casi i messaggi originali rimangono nel transcript della sessione, quindi Claude può ancora fare riferimento ai dettagli. Puoi digitare istruzioni facoltative per orientare ciò su cui il riepilogo si concentra.
Per l'intero flusso, vedi Gestione del contesto — le azioni di summarize di /rewind sono un bisturi laddove /compact è un pennello a tratto largo.
Tornare indietro oltre un /clear
Se hai eseguito /clear in precedenza nello stesso processo di Claude Code, il menu di rewind mostra una voce aggiuntiva in cima: /resume <session-id> (previous session). Selezionala per saltare indietro alla conversazione che era attiva prima di /clear.
Dove i checkpoint si fermano — i limiti che mordono
I checkpoint sembrano magici finché non lo sono più. Contano tre lacune:
- I file toccati dai comandi shell che Claude esegue — rm, mv, cp, generatori di codice, formatter — NON vengono tracciati. Solo le modifiche dirette tramite gli strumenti di modifica dei file di Claude vengono registrate in un checkpoint. Un file eliminato da rm è perso per quanto riguarda il rewind.
- Le modifiche manuali che fai al di fuori di Claude Code, e le modifiche da altre sessioni concorrenti, normalmente non vengono catturate — a meno che non tocchino per caso gli stessi file modificati dalla sessione corrente.
- I checkpoint sono un ripristino rapido e locale. Non sono commit, non sono branch e non sono condivisibili con il tuo team.
Checkpoint vs. Git: usali entrambi
Risolvono problemi diversi, quindi abbinali.
Checkpoint (/rewind) | Git | |
|---|---|---|
| Ambito | Una sessione | Intera cronologia del progetto |
| Granularità | Per prompt, automatico | Per commit, deliberato |
| Traccia le modifiche fatte via bash? | No | Sì (una volta in stage/committate) |
| Durata | ~30 giorni, poi sparisce | Permanente |
| Condivisibile / collaborativo | No | Sì |
| Modello mentale | "Annulla locale" | "Cronologia permanente" |
- Committa gli stati funzionanti con Git prima di un'esecuzione rischiosa e su vasta scala — è la tua base solida e duratura.
- Usa /rewind per un ripristino rapido all'interno della sessione tra un commit e l'altro senza inquinare la tua cronologia Git.
- Se Claude eseguirà bash distruttivo (rm/mv) o generatori, affidati a Git — il rewind non salverà quei file.
Quando ricorrervi
- Prova un'implementazione audace e, se non ti piace, ripristina codice e conversazione al punto di biforcazione e provane un'altra.
- Una modifica ha introdotto un bug tre prompt fa? Ripristina il codice a subito prima invece di eseguire il debug delle macerie.
- Sperimenta con delle varianti, sapendo sempre che uno stato notoriamente buono è a un /rewind di distanza.
- Una prolissa deviazione di debug si è mangiata la tua finestra di contesto? Fai summarize dal punto intermedio in avanti e mantieni le tue istruzioni originali in dettaglio completo.
Mettiti alla prova
0/3- I checkpoint sono snapshot automatici del tuo codice, uno per prompt — un annulla locale per l'intera sessione, conservato circa 30 giorni.
- Apri il menu di rewind con /rewind o con doppio Esc a input vuoto; elenca ogni prompt che hai inviato.
- Le azioni di restore annullano lo stato (codice, conversazione o entrambi); le azioni di summarize comprimono il contesto e non toccano mai i file.
- Le modifiche fatte via bash, esterne e concorrenti NON vengono tracciate — solo le modifiche dirette con gli strumenti sui file lo sono.
- I checkpoint completano Git, non lo sostituiscono: pensa 'annulla locale' vs. 'cronologia permanente e condivisibile'.
Prossimo
- Gestione del contesto —
/compact,/cleare come summarize si inserisce nel quadro più ampio - Plan Mode — indaga e approva un piano prima che le modifiche vengano eseguite, così torni indietro meno spesso
- Permessi — l'altra metà per eseguire compiti ambiziosi in sicurezza