Wie Checkpoints funktionieren
Während Sie mit Claude arbeiten, erfasst Checkpointing automatisch den Zustand Ihres Codes vor jedem Prompt, den Sie senden und der einen Turn startet.Automatische Verfolgung
Claude Code verfolgt alle Änderungen, die von seinen Datei-Bearbeitungswerkzeugen vorgenommen werden:- Jeder Prompt, den Sie senden und der einen Turn startet, erstellt einen neuen Checkpoint
- Claude Code speichert Datei-Snapshots für die 100 neuesten Checkpoints in einer Sitzung. Das Verwerfen eines älteren Checkpoints löscht die Snapshot-Dateien, auf die kein verbleibender Checkpoint verweist, außer dem ersten Snapshot jeder Datei, den die VS Code-Erweiterung als Baseline für ihre Sitzungs-Diffs verwendet.
- Claude Code speichert Checkpoints mit der Konversation, sodass Sie
/rewindauch nach dem Fortsetzen einer Sitzung noch ausführen können - Claude Code löscht die Datei-Snapshots einer Sitzung im Aufbewahrungsdurchlauf, standardmäßig etwa 30 Tage, nachdem die Sitzung zuletzt einen gespeichert hat. Das Zurückspulen zu einem Checkpoint, dessen Snapshots weg sind, kann mit
No files were restoredfehlschlagen. Um Snapshots länger zu behalten, setzen SiecleanupPeriodDays.
Rewind und Zusammenfassung
Führen Sie/rewind aus, oder drücken Sie Esc zweimal, wenn das Prompt-Eingabefeld leer ist, um das Rewind-Menü zu öffnen.
Wenn das Prompt-Eingabefeld Text enthält, löscht doppeltes
Esc diesen stattdessen, anstatt das Menü zu öffnen. Der gelöschte Text wird in Ihrem Eingabeverlauf gespeichert, sodass Sie Up drücken können, um ihn abzurufen, nachdem Sie im Rewind-Menü fertig sind.- Code und Konversation wiederherstellen: Revert sowohl Code als auch Konversation zu diesem Punkt
- Konversation wiederherstellen: Zurückspulen zu dieser Nachricht, während der aktuelle Code beibehalten wird
- Code wiederherstellen: Dateiänderungen rückgängig machen, während die Konversation beibehalten wird
- Von hier aus zusammenfassen: Komprimieren Sie die Konversation von diesem Punkt an in eine Zusammenfassung und geben Sie Kontextfensterplatz frei
- Bis hier zusammenfassen: Komprimieren Sie die Konversation vor diesem Punkt in eine Zusammenfassung und behalten Sie spätere Nachrichten bei
- Abbrechen: Kehren Sie zur Nachrichtenliste zurück, ohne Änderungen vorzunehmen
Rewind über eine gelöschte Konversation hinweg
Wenn Sie/clear früher im selben Claude Code-Prozess ausgeführt haben, zeigt das Rewind-Menü einen zusätzlichen Eintrag oben in der Liste mit der Bezeichnung /resume <session-id> (previous session). Wählen Sie ihn aus, um die Konversation fortzusetzen, die vor dem Ausführen von /clear aktiv war. Der Eintrag ist verfügbar, bis Sie Claude Code beenden oder eine andere Sitzung fortsetzen.
Eine Zusammenfassung leiten
Das Zusammenfassen ändert keine Dateien auf der Festplatte, und die ursprünglichen Nachrichten bleiben im Sitzungstranskript, sodass Claude die Details immer noch referenzieren kann. Um zu lenken, worauf sich die Zusammenfassung konzentriert, markieren Sie eine Zusammenfassen-Option mit den Pfeiltasten und geben Sie Anweisungen ein, wo die Zeile add context (optional) liest, und drücken Sie dannEnter. Die Auswahl der Option mit ihrer Zahlentaste fasst sofort ohne Anweisungen zusammen.
Zusammenfassen hält Sie in derselben Sitzung und komprimiert den Kontext, ähnlich wie ein gezieltes
/compact. Um abzuzweigen und einen anderen Ansatz zu versuchen, während die ursprüngliche Sitzung intakt bleibt, verwenden Sie stattdessen /branch oder claude --continue --fork-session.Häufige Anwendungsfälle
Checkpoints sind besonders nützlich, wenn:- Alternativen erkunden: Versuchen Sie verschiedene Implementierungsansätze, ohne Ihren Ausgangspunkt zu verlieren
- Fehler beheben: Machen Sie schnell Änderungen rückgängig, die Fehler eingeführt oder Funktionalität unterbrochen haben
- Funktionen iterieren: Experimentieren Sie mit Variationen, da Sie zu funktionierenden Zuständen zurückkehren können
- Kontextplatz freigeben: Fassen Sie eine ausführliche Debugging-Sitzung von der Mitte an zusammen, während Sie Ihre ursprünglichen Anweisungen intakt halten
Einschränkungen
Bash-Befehlsänderungen werden nicht verfolgt
Checkpointing verfolgt keine Dateien, die durch Bash-Befehle geändert werden. Wenn Claude Code beispielsweise ausführt:Subagent-Bearbeitungen werden nicht wiederhergestellt
Ein Subagent führt Bearbeitungen mit Claudes Datei-Bearbeitungswerkzeugen durch, aber Claude Code erfasst diese Bearbeitungen normalerweise nicht in den Checkpoints Ihrer Sitzung. Ob das Zurückspulen sie wiederherstellt, hängt davon ab, wie der Subagent ausgeführt wird:- Foreground-Forked-Skill: ein Skill mit
context: fork, der im Vordergrund ausgeführt wird, bearbeitet Ihren Arbeitsbaum während Ihres eigenen Zuges, sodass das Zurückspulen seine Bearbeitungen wie gewohnt wiederherstellt. Setzen Siebackground: false, um einen Fork im Vordergrund auszuführen; einige Situationen, aufgelistet auf der Skills-Seite, führen ihn dort unabhängig von der Einstellung aus. - Jeder andere Subagent: Das Zurückspulen stellt die Bearbeitungen nicht wieder her. Verwenden Sie Git, um sie rückgängig zu machen. Dies umfasst einen Forked-Skill, der im Hintergrund ausgeführt wird (Standard), und einen Hintergrund-
/code-review --fix-Lauf.
Externe Änderungen werden nicht verfolgt
Checkpointing verfolgt nur Dateien, die in der aktuellen Sitzung bearbeitet wurden. Manuelle Änderungen, die Sie an Dateien außerhalb von Claude Code vornehmen, und Bearbeitungen aus anderen gleichzeitigen Sitzungen werden normalerweise nicht erfasst, es sei denn, sie ändern zufällig dieselben Dateien wie die aktuelle Sitzung.Nachrichten, die während eines Zuges gesendet werden, werden nicht als Checkpoint erstellt
Wenn eine Nachricht, die Sie in die Warteschlange einreihen, während Claude arbeitet, Claude innerhalb des laufenden Zuges erreicht, wird sie in diesen Zug integriert, anstatt einen neuen zu starten. Die Nachricht wird in der Unterhaltung angezeigt, aber Claude Code erstellt keinen Checkpoint dafür, und das Zurückspulen-Menü listet sie nicht auf. Eine in die Warteschlange eingereihte Nachricht, die Claude Code als eigenen Zug sendet, erhält wie gewohnt einen Checkpoint, einschließlich wenn mehrere in die Warteschlange eingereihte Nachrichten diesen Zug teilen. Um eine solche Nachricht zu entfernen oder die Bearbeitungen rückgängig zu machen, die Claude nach ihr vorgenommen hat, spulen Sie zu dem Prompt zurück, der den Zug gestartet hat. Dies spult den gesamten Zug zurück, einschließlich der Arbeit, die Claude vor dem Eintreffen Ihrer Nachricht geleistet hat.Symverlinkte und hart verlinkte Pfade werden nicht wiederhergestellt
Checkpointing stellt symverlinkte oder hart verlinkte Dateien nicht wieder her. Wenn Sie Code wiederherstellen oder Code und Unterhaltung wiederherstellen aus dem/rewind-Menü auswählen, überspringt Claude Code jeden verfolgten Pfad, der ein Symlink oder Hard Link ist, und zeigt eine Warnung Restored the code, but skipped N files an. Die übersprungenen Dateien behalten ihren aktuellen Inhalt. Um die Änderungen der Sitzung an einer von ihnen rückgängig zu machen, bitten Sie Claude, die Bearbeitung rückgängig zu machen, oder bearbeiten Sie die Datei selbst. Konfigurationsdateien, die ein Dotfile-Manager in Ihr Projekt symlinkt, und Dateien, die pnpm hart verlinkt, fallen beide in diese Kategorie.
Um zu sehen, welche Pfade eine Wiederherstellung überspringt, aktivieren Sie Debug-Protokollierung mit /debug, bevor Sie wiederherstellen: das Debug-Protokoll unter ~/.claude/debug/<session-id>.txt nennt jeden übersprungenen Pfad. Für jeden Grund zum Überspringen und die Wiederherstellungsschritte siehe den Eintrag „skipped-files” in der Fehlerreferenz.
Kein Ersatz für Versionskontrolle
Checkpoints sind für schnelle, sitzungsebene Wiederherstellung konzipiert. Für permanente Versionshistorie und Zusammenarbeit verwenden Sie weiterhin Versionskontrolle wie Git für Commits, Branches und langfristige Historie.Siehe auch
- Interaktiver Modus - Tastaturkürzel und Sitzungssteuerungen
- Befehle - Zugriff auf Checkpoints mit
/rewind - CLI-Referenz - Befehlszeilenoptionen