SpyBara
Go Premium

checkpointing.md 2026-10-26 22:57 UTC to 2026-10-27 22:59 UTC

No changes for this document in this history range.

2026
Tue 6 23:59 Sat 10 23:01 Thu 15 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sun 25 23:58 Wed 28 23:57

Checkpointing

Verfolgen, zurückspulen und fassen Sie Claudes Bearbeitungen und Konversation zusammen, um den Sitzungsstatus zu verwalten.

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 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 /rewind auch 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 restored fehlschlagen. Um Snapshots länger zu behalten, setzen Sie cleanupPeriodDays.

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.

[!NOTE]

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.

Das Rewind-Menü listet die Prompts auf, die Sie während der Sitzung gesendet haben. Wählen Sie den Punkt aus, auf den Sie einwirken möchten, und wählen Sie dann eine Aktion:

  • 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

Die beiden Code-Wiederherstellungsoptionen werden nur angezeigt, wenn der ausgewählte Checkpoint nachverfolgbare Dateiänderungen zum Rückgängigmachen hat. Wenn nach diesem Punkt keine Dateibearbeitungen erfasst wurden, bietet das Menü nur Konversation wiederherstellen, die Zusammenfassungsoptionen und Abbrechen.

Nach dem Wiederherstellen der Konversation oder nach Auswahl von „Von hier aus zusammenfassen“ wird der ursprüngliche Prompt aus der ausgewählten Nachricht in das Eingabefeld wiederhergestellt, sodass Sie ihn erneut senden oder bearbeiten können.

Die Auswahl von „Bis hier zusammenfassen“ lässt Sie am Ende der Konversation mit leerem Eingabefeld zurück. Bei beiden Zusammenfassungsoptionen wird ein Zusammengefasste Konversation-Marker in der Konversation angezeigt, wo die komprimierten Nachrichten waren.

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 aus und anschließend Konversation wiederherstellen. Senden Sie Claude vor dem Beenden einen Prompt, da Claude Code die zurückgespulte Konversation zusammen mit diesem Prompt speichert. Von Ihnen wiederhergestellte Dateien bleiben so, wie der Rewind sie hinterlassen hat.

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 dann Enter. Die Auswahl der Option mit ihrer Zahlentaste fasst sofort ohne Anweisungen zusammen.

[!NOTE]

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

Sobald Claude in Ihrer Konversation eine Datei mit seinen Dateibearbeitungs-Tools bearbeitet hat, macht /rewind Änderungen rückgängig, die Bash-Befehle anschließend an dieser Datei vornehmen. Eine Datei, die nur durch Bash-Befehle geändert wurde, wird nicht verfolgt 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.

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 Sie background: 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 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 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

Im Rewind-Menü kann eine Nachricht, die Sie eingegeben haben, während Claude noch arbeitete, mit Keine Code-Wiederherstellung 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, der den Turn gestartet hat, und wählen Sie Code wiederherstellen oder Code und Unterhaltung wiederherstellen. Dadurch werden Claudes Dateibearbeitungen aus dem gesamten Turn rückgängig gemacht, einschließlich derjenigen, die vor dem Eintreffen Ihrer Nachricht vorgenommen wurden.

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