Claude Code traccia automaticamente le modifiche ai file di Claude mentre lavori, permettendoti di annullare rapidamente i cambiamenti e tornare a stati precedenti se qualcosa va storto.

Come funzionano i checkpoint

Mentre lavori con Claude, il checkpointing cattura automaticamente lo stato del tuo codice prima di ogni modifica. Questa rete di sicurezza ti permette di perseguire compiti ambiziosi e su larga scala sapendo che puoi sempre tornare a uno stato precedente del codice.

Tracciamento automatico

Claude Code traccia tutti i cambiamenti effettuati dai suoi strumenti di modifica file:
  • Ogni prompt dell’utente crea un nuovo checkpoint
  • I checkpoint persistono attraverso le sessioni, quindi puoi accedervi nelle conversazioni riprese
  • Automaticamente puliti insieme alle sessioni dopo 30 giorni (configurabile)

Riavvolgere i cambiamenti

Premi Esc due volte (Esc + Esc) o usa il comando /rewind per aprire il menu di riavvolgimento. Puoi scegliere di ripristinare:
  • Solo conversazione: Riavvolgi a un messaggio utente mantenendo i cambiamenti del codice
  • Solo codice: Ripristina i cambiamenti ai file mantenendo la conversazione
  • Sia codice che conversazione: Ripristina entrambi a un punto precedente nella sessione

Casi d’uso comuni

I checkpoint sono particolarmente utili quando:
  • Esplorare alternative: Prova diversi approcci di implementazione senza perdere il tuo punto di partenza
  • Recuperare dagli errori: Annulla rapidamente i cambiamenti che hanno introdotto bug o rotto la funzionalità
  • Iterare sulle funzionalità: Sperimenta con variazioni sapendo che puoi tornare a stati funzionanti

Limitazioni

Cambiamenti dei comandi bash non tracciati

Il checkpointing non traccia i file modificati dai comandi bash. Per esempio, se Claude Code esegue:
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt
Queste modifiche ai file non possono essere annullate attraverso il riavvolgimento. Solo le modifiche dirette ai file effettuate attraverso gli strumenti di modifica file di Claude sono tracciate.

Cambiamenti esterni non tracciati

Il checkpointing traccia solo i file che sono stati modificati all’interno della sessione corrente. I cambiamenti manuali che fai ai file al di fuori di Claude Code e le modifiche da altre sessioni concorrenti normalmente non sono catturati, a meno che non modifichino casualmente gli stessi file della sessione corrente.

Non è un sostituto del controllo versione

I checkpoint sono progettati per un recupero rapido a livello di sessione. Per la cronologia permanente delle versioni e la collaborazione:
  • Continua a usare il controllo versione (es. Git) per commit, branch e cronologia a lungo termine
  • I checkpoint complementano ma non sostituiscono un controllo versione appropriato
  • Pensa ai checkpoint come “annulla locale” e Git come “cronologia permanente”

Vedi anche