Claude Code : revenir en arrière avec les checkpoints et /rewind

Dans cet article, nous allons voir comment Claude Code vous permet de revenir en arrière à tout moment grâce à son système de checkpoints automatiques et à la commande /rewind. Nous allons aussi voir qu'il est important de savoir précisément comment fonctionnent ces checkpoints pour éviter les déconvenues.

Confier à une IA la modification de fichiers sur son poste de travail demande une certaine dose de confiance. Claude Code peut enchaîner les modifications sur plusieurs fichiers rapidement, améliorer une fonction, supprimer du code obsolète ou réorganiser une arborescence. La plupart du temps, le résultat est impressionnant mais il suffit d'une demande mal formulée, d'un contexte incomplet ou d'une exploration qui part dans la mauvaise direction pour se retrouver avec un projet dans un état difficile à démêler.

C'est pour répondre à ce besoin que j'utilise le système de checkpoint dans ClaudeCode. Il ne remplace pas Git, mais c'est un filet de sécurité, utile pour le travail en session (interactif) : revenir à un point antérieur se fait en quelques touches de clavier, sans avoir à jongler avec des branches ou des commandes git.

Nous allons aussi voir dans cet article que /rewind ne se limite pas à la restauration de fichiers : il offre aussi des options pour résumer une conversation devenue trop longue et libérer de l'espace dans la fenêtre de contexte.

Qu'est-ce que les checkpoints ?

Un instantané automatique avant chaque échange

À chaque fois que vous envoyez un message à Claude Code et que celui-ci commence à travailler, un checkpoint est créé automatiquement. Aucune action de votre part n'est requise. Ce mécanisme enregistre l'état de vos fichiers avant que Claude ne les modifie, ce qui vous permet, plus tard, de revenir exactement à ce qu'ils étaient à ce moment-là.

Concrètement : vous envoyez un prompt, Claude Code sauvegarde l'état courant, puis exécute ses modifications. Si le résultat ne vous convient pas, vous pouvez restaurer l'état d'avant ce prompt précis.

Claude Code conserve les 100 derniers checkpoints d'une session. Au-delà, les plus anciens sont effacés au fur et à mesure. Les instantanés sont également sauvegardés avec la conversation : vous pouvez donc utiliser /rewind même après avoir repris une session interrompue avec claude --continue.

Par défaut, les snapshots de fichiers sont supprimés lors du nettoyage automatique du répertoire ~/.claude/, environ 30 jours après la dernière activité de la session. Si vous travaillez sur des sessions longues ou souhaitez conserver vos points de restauration plus longtemps, vous pouvez ajuster ce délai avec le paramètre cleanupPeriodDays dans vos préférences Claude Code.

Ce qui est suivi et ce qui ne l'est pas

Il faut savoir que les checkpoints ne capturent pas toutes les modifications de fichiers indistinctement et c'est là que c'est important: seules les éditions réalisées par les outils de fichiers intégrés de Claude Code sont enregistrées : les outils Edit, Write, MultiEdit, etc.

Exemple d'utilisation de la commande Write par Claude.

Exemple d'utilisation de la commande Write par Claude.

Dans cet exemple, on voit que Claude a créé mon fichier grâce à la commande Write et non via une commande Bash.

En revanche, les modifications effectuées via des commandes Bash ne sont pas tracées, car ici on sort du contexte Claude Code pour passer sur l'OS en lui-même. Si Claude Code exécute un rm, un mv ou un cp dans un terminal, ces opérations sortent du périmètre du checkpointing. C'est une limite importante à avoir en tête.

Vous avez deux façons d'accéder au menu de retour arrière. La première passe par la commande /rewind, à taper directement dans le prompt de Claude Code :

# Ouvrir le menu de retour arrière depuis le prompt
/rewind

La seconde est un raccourci clavier : appuyez deux fois sur échap, à condition que le champ de saisie soit vide. Si votre prompt contient du texte, le double échap efface d'abord le texte (celui-ci est sauvegardé dans l'historique, vous pouvez le rappeler avec la touche flèche du haut). Une fois l'input vide, un deuxième double échap ouvre le menu.

Le menu de retour arrière affiche la liste des prompts que vous avez envoyés pendant la session, du plus récent au plus ancien. Chaque entrée correspond à un checkpoint. Vous naviguez dans la liste avec les touches flèche du haut/du bas, vous sélectionnez un point, puis vous choisissez une action parmi celles proposées.

Le menu /rewind liste les messages envoyés, chacun étant un point de restauration potentiel.

Historique des échanges vue dans le menu /rewind.

Historique des échanges vue dans le menu /rewind.

Ici, j'ai numéroté les 3 prompts qui précèdent mon état actuel, je n'ai qu'à choisir. Une fois le checkpoint auquel on veut revenir sélectionné, voyons ce que vous pouvez faire depuis ce menu.

Les cinq actions disponibles

Voici l'affichage que l'on a après sélection d'un checkpoint :

Options et sélection du menu /rewind dans ClaudeCode.

Options et sélection du menu /rewind dans ClaudeCode.

Restore code and conversation : C'est l'action la plus complète. Elle restaure à la fois les fichiers sur le disque et la conversation jusqu'au point sélectionné. Vous repartez exactement de l'état antérieur, comme si les échanges suivants n'avaient jamais eu lieu. Le prompt original du message sélectionné est automatiquement replacé dans le champ de saisie pour que vous puissiez le reformuler et le renvoyer.

Cas d'usage typique : vous avez demandé à Claude Code de refactoriser un module, le résultat ne vous convient pas, et vous voulez tout effacer pour repartir d'une autre approche.

Restore conversation : Cette option rembobine la conversation jusqu'au point choisi, mais laisse les fichiers intacts dans leur état actuel. A utiliser par exemple lorsque les modifications de code vous conviennent, mais que la conversation a dérivé et que vous voulez repartir sur une base plus claire.

Restore code: C'est l'inverse, les fichiers sont restaurés à l'état du checkpoint, mais la conversation reste inchangée. Vous conservez le fil des échanges tout en annulant les éditions problématiques.

Par exemple, à utiliser si Claude a introduit une régression dans un fichier lors du dernier tour, mais la conversation en cours est utile pour continuer le débogage. Vous restaurez uniquement le code pour repartir d'une base saine.

Summarize from here : Cette option ne restaure rien. Elle compresse la conversation à partir du point sélectionné vers l'avant, en remplaçant les messages suivants par un résumé. C'est particulièrement utile après une longue session de débogage : les dizaines d'échanges intermédiaires sont résumés, ce qui libère de l'espace dans la fenêtre de contexte sans perdre les instructions initiales.

Summarize up to here : C'est l'inverse, la conversation est compressée jusqu'au point sélectionné, en gardant les messages récents intacts. Pratique quand les échanges récents sont importants à conserver, mais que l'historique initial occupe trop de place.

Avec les deux options de résumé, vous pouvez guider la synthèse produite par Claude. Sélectionnez l'option, puis saisissez vos instructions dans le champ add context (optional) avant de valider. Par exemple : "Résume en insistant sur les décisions d'architecture prises." Les messages originaux restent dans le fichier de transcription et sont accessibles si besoin.

Revenir en arrière après un /clear

Un cas particulier mérite d'être mentionné. Si vous avez effacé la conversation avec /clear en cours de session, le menu /rewind affiche une entrée supplémentaire en tête de liste, intitulée /resume <session-id> (previous session). En la sélectionnant, vous reprenez la conversation qui était active avant le /clear. Cette option disparaît dès que vous quittez Claude Code ou que vous reprenez une autre session.

Sauvegarde restaurables via /rewind.

Sauvegarde restaurables via /rewind.

Ce que les checkpoints ne font pas

Les commandes Bash échappent au radar

Nous l'avons évoqué plus haut, mais il vaut la peine de le rappeler car c'est un coup à être surpris. Imaginons que Claude Code exécute la séquence suivante dans un terminal :

# Exemple de commandes Bash dont les effets ne sont PAS capturés par les checkpoints
rm -rf dossier/
mv /home/mickael/dossier1/fichier.html /home/mickael/dossier2/fichier.html
cp config.example config

Ces trois opérations sont invisibles pour le système de checkpointing. Si vous faites un /rewind après cela, les fichiers supprimés ou déplacés ne seront pas restaurés. Dans ce cas, c'est votre historique Git ou votre corbeille qui constituent le seul filet de sécurité.

En pratique, Claude Code préfère souvent passer par ses outils de fichiers intégrés, c'est ce qui lui permet de proposer le diff dans l'interface et de tracer ses modifications. Mais certaines opérations, notamment les suppressions et les renommages en masse, passent par Bash.

Les sous-agents et les sessions parallèles

Les modifications réalisées par un sous-agent (subagent) ne sont généralement pas capturées dans les checkpoints de votre session principale. La seule exception concerne les skills configurés avec context: fork qui s'exécutent en premier plan : leurs éditions sont incluses dans votre tour courant et donc restaurables.

Pour toute autre configuration de sous-agent, y compris les sessions parallèles et les agents en arrière-plan, il faut utiliser Git pour annuler leurs modifications.

Même logique pour les changements que vous effectuez vous-même dans vos fichiers en dehors de Claude Code : ils ne sont pas capturés, sauf s'ils touchent par hasard des fichiers déjà modifiés par la session.

Un complément à Git, pas un remplaçant

Il faut être clair sur ce point : les checkpoints sont conçus pour la récupération rapide en cours de session, pas pour l'historique à long terme. Ils disparaissent au bout de 30 jours, ne couvrent pas les opérations Bash, et n'offrent aucune capacité de collaboration. Pour tout ce qui touche à l'historique de versions, aux branches et au travail en équipe, Git reste l'outil à utiliser.

Une bonne habitude, d'ailleurs, est de créer un commit Git avant de déléguer une tâche importante à Claude Code. Vous bénéficiez ainsi d'un point de retour sûr, indépendamment du système de checkpoints de la session.

Conclusion

Nous avons vu dans cet article comment le système de checkpointing de Claude Code enregistre automatiquement l'état de vos fichiers avant chaque tour, et comment la commande /rewind (échap + échap) permet de naviguer dans ces points de sauvegarde pour restaurer le code, la conversation, ou les deux à la fois.

N'hésitez pas à partager votre avis dans les commentaires ou à venir échanger avec notre communauté sur notre serveur Discord !

Ajouter IT-Connect à mes
sources préférées

author avatar

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

readers loved this