Zum Hauptinhalt springen
Claude Code verfolgt automatisch Claudes Dateibearbeitungen während Sie arbeiten, sodass Sie Änderungen schnell rückgängig machen und zu vorherigen Zuständen zurückspulen können, falls etwas schiefgeht.

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 /rewind auch 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 restored fehlschlagen. Um Snapshots länger aufzubewahren, legen Sie cleanupPeriodDays fest.

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.
Das Rewind-Menü listet die Prompts auf, die Sie während der Sitzung gesendet haben. Wählen Sie den Punkt aus, auf den Sie eine Aktion anwenden möchten, und wählen Sie dann eine Aktion:
  • 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
Die beiden Optionen zum Wiederherstellen von Code erscheinen nur, wenn der ausgewählte Checkpoint nachverfolgte Dateiänderungen enthält, die rückgängig gemacht werden können. Wurden nach diesem Punkt keine Dateibearbeitungen erfasst, bietet das Menü nur Restore conversation, die Zusammenfassungsoptionen und Never mind an. Nachdem Sie die Konversation wiederhergestellt oder Summarize from here gewählt haben, wird der ursprüngliche Prompt der ausgewählten Nachricht in das Eingabefeld zurückgeschrieben, sodass Sie ihn erneut senden oder bearbeiten können. Wenn Sie Summarize up to here wählen, befinden Sie sich am Ende der Konversation mit leerem Eingabefeld. Bei beiden Zusammenfassungsoptionen erscheint eine Markierung Summarized conversation in der Konversation an der Stelle, an der sich die komprimierten Nachrichten befanden.

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 dann Enter. 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 Sie background: 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