Aller au contenu principal
Intermédiaire10 min

Checkpoints et Rewind

Ce que tu vas apprendre

  • Ouvrir l’interface de checkpoints et comprendre ce qu’elle contient
  • Choisir le bon mode de restauration (code, conversation, les deux, ou resume)
  • Utiliser les checkpoints pour explorer plusieurs approches sans risque
  • Detecter quand la fenetre de contexte sature et agir

Prerequis

  • Session Claude Code en cours
  • Avoir envoye au moins 2-3 prompts pour generer des checkpoints

Concept en 30 secondes

Chaque prompt que tu envoies cree un snapshot automatique de ta session : messages, fichiers modifies, historique des outils. Tu peux revenir a n’importe quel snapshot. C’est un undo a l’echelle de la conversation. Pas un remplacement de git. Un outil d’exploration rapide.

@diagram:flow
Prompt :: Tu envoies un message a Claude.
Snapshot auto :: Messages, fichiers et outils sont captures.
Rewind :: Tu reviens a n'importe quel snapshot.

Etapes

1. Ouvrir le navigateur de checkpoints

Appuie deux fois sur Esc (Esc + Esc).

Alternative : tape /rewind ou /checkpoint dans le prompt.

Tu vois la liste des snapshots avec horodatage, fichiers modifies, nombre de messages.

2. Choisir un checkpoint

Navigue avec les fleches. Selectionne celui qui correspond au moment ou tu veux revenir.

Valide. Un menu te propose 5 options :

Option Effet
Restore code and conversation Fichiers + messages rewindes
Restore conversation Messages rewindes, code actuel conserve
Restore code Fichiers rewindes, conversation conserve
Summarize from here Resume la conversation depuis ce point, libere de la fenetre de contexte
Never mind Annule, retour a l’etat actuel

Note : apres restauration de conversation ou resume, le prompt original du checkpoint selectionne reapparait dans le champ d’input. Tu peux le renvoyer ou le modifier.

3. Explorer une approche alternative

@diagram:steps
Travaille normalement :: Les checkpoints se creent tout seuls.
Reviens en arriere :: `Esc` + `Esc`, selectionne le checkpoint de depart.
Restaure :: Choisis "Restore code and conversation".
Envoie un nouveau prompt :: Un nouveau checkpoint se cree.
Compare :: Garde la meilleure approche.

4. Utiliser Summarize pour gerer le contexte

Quand la conversation devient longue :

  1. Esc + Esc, selectionne un checkpoint ancien.
  2. Choisis “Summarize from here”.
  3. Optionnel : ajoute une instruction pour focaliser le resume (ex: “focus sur ce qui a marche”).
  4. Claude genere un resume. Les messages originaux restent dans le transcript. La conversation visible est allegee.

5. Configurer la retention

Dans ~/.claude/settings.json :

{
  "cleanupPeriodDays": 30
}

Ce reglage gouverne 4 caches : checkpoints, taches persistantes (~/.claude/tasks/), snapshots shell (~/.claude/shell-snapshots/), backups settings (~/.claude/backups/). Tout est purge uniformement apres N jours.


Verification checklist

  • Esc + Esc ouvre le navigateur de checkpoints
  • Je distingue les 4 modes de restauration
  • Je sais que “Summarize from here” ne modifie aucun fichier sur disque
  • Je sais que les checkpoints ne tracent pas les commandes bash (rm, mv, cp)
  • Je sais que les checkpoints ne remplacent pas git

Pieges courants

Penser que les checkpoints sauvent les changements externes. Faux. Ce que tu modifies dans un editeur externe ou un terminal en parallele n’est pas capture.

Utiliser checkpoints au lieu de git pour du code final. Faux. Les checkpoints sont session-based, pas auditable, pas partageable. Commite le code valide.

Ne pas voir venir la saturation du contexte. Plus la conversation est longue, plus la qualite du modele baisse silencieusement. Solution : surveiller la zone de contexte (outil tiers cc-context-stats recommande) ou resumer regulierement.

Ignorer les checkpoints manquants. Si un checkpoint n’apparait pas, verifie cleanupPeriodDays et l’espace disque.


Recapitulatif

  • Chaque prompt = checkpoint automatique. Pas de sauvegarde manuelle.
  • Esc + Esc ou /rewind pour acceder au navigateur.
  • 4 modes : code + conversation, conversation seule, code seul, resume.
  • Limite : pas de trace des commandes bash ni des changements externes.
  • Complementaire de git, pas substitut.

Pour aller plus loin


Inspire du guide claude-howto de luongnv89 (MIT)