Wie Checkpoints funktionieren
Während Sie mit Claude arbeiten, erfasst das Checkpointing automatisch den Zustand Ihres Codes vor jedem Prompt, den Sie senden und der einen Turn startet.Automatische Nachverfolgung
Claude Code verfolgt alle Änderungen, die durch seine Tools zur Dateibearbeitung vorgenommen werden:- Jeder Prompt, den Sie senden und der einen Turn startet, erstellt einen neuen Checkpoint
- Claude Code behält Datei-Snapshots für die 100 neuesten Checkpoints in einer Sitzung. Beim Verwerfen eines älteren Checkpoints werden die Snapshot-Dateien gelöscht, auf die kein verbleibender Checkpoint mehr verweist, mit Ausnahme des ersten Snapshots jeder Datei, den die VS Code-Erweiterung als Basis für ihre Sitzungs-Diffs verwendet.
- Claude Code speichert Checkpoints zusammen 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 bei der Aufbewahrungsbereinigung, standardmäßig etwa 30 Tage nachdem die Sitzung zuletzt einen gespeichert hat. Das Zurückspulen zu einem Checkpoint, dessen Snapshots nicht mehr vorhanden sind, kann mit
No files were restoredfehlschlagen. Um Snapshots länger aufzubewahren, legen SiecleanupPeriodDaysfest.
Zurückspulen und zusammenfassen
Führen Sie/rewind aus oder drücken Sie zweimal Esc, wenn das Eingabefeld leer ist, um das Rewind-Menü zu öffnen.
Wenn das Eingabefeld Text enthält, löscht zweimaliges Drücken von
Esc diesen, anstatt das Menü zu öffnen. Der gelöschte Text wird in Ihrem Eingabeverlauf gespeichert, sodass Sie ihn mit Up wieder abrufen können, nachdem Sie im Rewind-Menü fertig sind.- Restore code and conversation: Code und Konversation auf diesen Punkt zurücksetzen
- Restore conversation: zu dieser Nachricht zurückspulen und den aktuellen Code beibehalten
- Restore code: Dateiänderungen rückgängig machen und die Konversation beibehalten
- Summarize from here: die Konversation ab diesem Punkt zu einer Zusammenfassung komprimieren und so Platz im Kontextfenster freigeben
- Summarize up to here: die Konversation vor diesem Punkt zu einer Zusammenfassung komprimieren und spätere Nachrichten unverändert lassen
- Never mind: ohne Änderungen zur Nachrichtenliste zurückkehren
Zurückgespulte Nachrichten können zurückkehren, wenn Sie vor Ihrem nächsten Prompt beenden
Um die zurückgekehrten Nachrichten erneut zu entfernen, führen Sie/rewind in der Sitzung aus, wählen Sie denselben Prompt und dann Restore conversation. Senden Sie Claude vor dem Beenden einen Prompt, da Claude Code die zurückgespulte Konversation zusammen mit diesem Prompt speichert. Wiederhergestellte Dateien bleiben so, wie das Zurückspulen sie hinterlassen hat.
Über eine gelöschte Konversation hinaus zurückspulen
Wenn Sie zuvor im selben Claude Code-Prozess/clear ausgeführt haben, zeigt das Rewind-Menü oben in der Liste einen zusätzlichen Eintrag mit der Bezeichnung /resume <session-id> (previous session). Wählen Sie ihn aus, um die Konversation fortzusetzen, die vor der Ausführung von /clear aktiv war. Der Eintrag ist verfügbar, bis Sie Claude Code beenden oder eine andere Sitzung fortsetzen.
Eine Zusammenfassung steuern
Das Zusammenfassen ändert keine Dateien auf der Festplatte, und die ursprünglichen Nachrichten bleiben im Sitzungstranskript erhalten, sodass Claude weiterhin auf die Details zugreifen kann. Um festzulegen, worauf sich die Zusammenfassung konzentriert, markieren Sie eine Summarize-Option mit den Pfeiltasten, geben Sie Anweisungen dort ein, wo in der Zeile add context (optional) steht, und drücken Sie dannEnter. Wenn Sie die Option mit ihrer Zifferntaste auswählen, wird sofort ohne Anweisungen zusammengefasst.
Das Zusammenfassen hält Sie in derselben Sitzung und komprimiert den Kontext, ähnlich wie ein gezieltes
/compact. Um abzuzweigen und einen anderen Ansatz auszuprobieren, während die ursprüngliche Sitzung unverändert erhalten 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
Änderungen durch Bash-Befehle werden nicht nachverfolgt
Sobald Claude eine Datei mit seinen Tools zur Dateibearbeitung in Ihrer Konversation bearbeitet hat, macht/rewind Änderungen rückgängig, die Bash-Befehle danach an dieser Datei vornehmen. Eine Datei, die nur durch Bash-Befehle geändert wurde, wird nicht nachverfolgt und bleibt unverändert. Um sie zurückzusetzen, verwenden Sie eine Versionskontrolle wie Git.
Unter jedem Prompt zählt das Rewind-Menü Änderungen an Dateien, die Claude bereits bearbeitet hatte, unabhängig davon, wodurch sie entstanden sind. Ein Prompt, bei dem ein Shell-Befehl eine solche Datei geändert hat, listet ebenfalls Dateiänderungen auf.
Bearbeitungen durch Subagenten werden nicht wiederhergestellt
Ein Subagent nimmt Bearbeitungen mit Claudes Tools zur Dateibearbeitung vor, aber Claude Code erfasst diese Bearbeitungen in der Regel nicht in den Checkpoints Ihrer Sitzung. Ob das Zurückspulen sie wiederherstellt, hängt davon ab, wie der Subagent ausgeführt wird:- Geforkter Skill im Vordergrund: Ein Skill mit
context: fork, der im Vordergrund ausgeführt wird, bearbeitet Ihren Arbeitsbaum während Ihres eigenen Turns, sodass das Zurückspulen seine Bearbeitungen wie gewohnt wiederherstellt. Setzen Siebackground: false, um einen Fork im Vordergrund auszuführen; in einigen Situationen, die auf der Skills-Seite aufgeführt sind, wird er unabhängig von der Einstellung dort ausgeführt. - Jeder andere Subagent: Das Zurückspulen stellt nur die Dateien wieder her, die Claude in Ihrer Konversation bereits bearbeitet hatte. Die Bearbeitungen des Subagenten an anderen Dateien bleiben bestehen; verwenden Sie daher eine Versionskontrolle wie Git, um sie zurückzusetzen. Dazu gehören ein geforkter Skill, der im Hintergrund ausgeführt wird (die Standardeinstellung), sowie ein im Hintergrund ausgeführter
/code-review --fix-Lauf.
Externe Änderungen werden nicht nachverfolgt
Checkpointing verfolgt nur Dateien, die innerhalb der aktuellen Sitzung bearbeitet wurden. Manuelle Änderungen, die Sie außerhalb von Claude Code an Dateien vornehmen, sowie Bearbeitungen aus anderen gleichzeitigen Sitzungen werden normalerweise nicht erfasst, es sei denn, sie betreffen zufällig dieselben Dateien wie die aktuelle Sitzung.Während eines Turns gesendete Nachrichten erhalten keinen Checkpoint
Im Rewind-Menü kann eine Nachricht, die Sie eingegeben haben, während Claude noch arbeitete, mit No code restore markiert sein. Die markierte Nachricht hat keinen eigenen Checkpoint. Um die Dateibearbeitungen rückgängig zu machen, die Claude nach dieser Nachricht vorgenommen hat, wählen Sie den Prompt aus, mit dem der Turn begonnen hat, und wählen Sie Restore code oder Restore code and conversation. Dadurch werden Claudes Dateibearbeitungen aus dem gesamten Turn zurückgesetzt, einschließlich derjenigen, die vor dem Eintreffen Ihrer Nachricht vorgenommen wurden.Per Symlink oder Hardlink verknüpfte Pfade werden nicht wiederhergestellt
Checkpointing spult per Symlink oder Hardlink verknüpfte Dateien nicht zurück. Wenn Sie im/rewind-Menü Restore code oder Restore code and conversation wählen, überspringt Claude Code jeden nachverfolgten Pfad, der ein Symlink oder Hardlink ist, und zeigt die Warnung Restored the code, but skipped N files an. Die übersprungenen Dateien behalten ihren aktuellen Inhalt. Um die Änderungen der Sitzung an einer dieser Dateien rückgängig zu machen, bitten Sie Claude, die Bearbeitung umzukehren, oder bearbeiten Sie die Datei selbst. Konfigurationsdateien, die ein Dotfile-Manager per Symlink in Ihr Projekt einbindet, und Dateien, die pnpm per Hardlink einbindet, fallen beide in diese Kategorie.
Um zu sehen, welche Pfade eine Wiederherstellung überspringt, aktivieren Sie vor der Wiederherstellung das Debug-Logging mit /debug: Das Debug-Log unter ~/.claude/debug/<session-id>.txt nennt jeden übersprungenen Pfad. Alle Gründe für das Überspringen und die Schritte zur Behebung finden Sie im Eintrag zu übersprungenen Dateien in der Fehlerreferenz.
Kein Ersatz für Versionskontrolle
Checkpoints sind für eine schnelle Wiederherstellung auf Sitzungsebene konzipiert. Für einen dauerhaften Versionsverlauf und die Zusammenarbeit verwenden Sie weiterhin eine Versionskontrolle wie Git für Commits, Branches und den langfristigen Verlauf.Siehe auch
- Interaktiver Modus - Tastaturkürzel und Sitzungssteuerungen
- Befehle - Zugriff auf Checkpoints mit
/rewind - CLI-Referenz - Befehlszeilenoptionen