Checkpoints und Rollbacks: sauber zurück statt weiterwursteln
Git-Commits vor riskanten Schritten und eingebaute Rewind-Funktionen machen aus einem missglückten Agenten-Versuch ein einfaches „zurück", statt endlos nachzubessern.
Zwei Ebenen von Checkpoints
Bei Agenten-Arbeit lohnen sich Checkpoints auf zwei Ebenen: dauerhaft in Git (ein Commit vor einem riskanten Schritt, den du jederzeit gezielt zurückholen kannst) und lokal im Werkzeug selbst, etwa Claude Codes Checkpointing, das automatisch vor jedem Prompt den Dateizustand sichert.
Wie Claude Codes Rewind funktioniert
Vor jedem Prompt speichert Claude Code automatisch einen Snapshot des Codes. Über /rewind (oder zweimal Escape bei leerem Eingabefeld) öffnest du ein Menü mit Rückholoptionen – vom kompletten Zurücksetzen von Code und Konversation bis zum reinen Zurücksetzen nur der Konversation bei erhaltenem Code.
Warum Zurückrollen besser ist als Weiterwursteln
Wenn ein Agent sich in einem falschen Ansatz verrannt hat, führt „einfach weiter reparieren lassen" oft zu immer neuen Patches auf einem bereits kaputten Fundament. Ein sauberer Rollback zum letzten funktionierenden Stand und ein neuer, bewusster Anlauf ist meist schneller als ein verfahrener Zustand, Schritt für Schritt gerettet.
Die Grenze von Checkpoints
Eingebaute Checkpoints erfassen nur Änderungen, die das Werkzeug selbst über seine Datei-Tools vorgenommen hat – Änderungen durch Bash-Befehle wie rm, mv oder cp bleiben unberührt. Checkpoints ergänzen Git, ersetzen es aber nicht: Checkpoints sind das lokale „Rückgängig", Git ist die dauerhafte Historie.
BEISPIEL
git add -A && git commit -m "checkpoint: vor Refactoring von auth.py" # danach Agent frei arbeiten lassen # falls nötig: git reset --hard HEAD~1 (zurück zum Checkpoint) # oder innerhalb der Session: /rewind → "Code zurücksetzen" für den letzten Prompt
🛠️ ÜBUNG — MACH DAS BEI DIR
Setze bewusst einen Git-Checkpoint vor einer riskanten Agenten-Aufgabe und teste sowohl /rewind als auch einen Git-Rollback.
- Committe den aktuellen sauberen Stand deines Projekts mit einer klaren Checkpoint-Nachricht.
- Lass einen Agenten eine größere, riskante Änderung vornehmen (z. B. ein Refactoring über mehrere Dateien).
- Nutze /rewind, um gezielt nur den Code zurückzusetzen, während die Konversation erhalten bleibt.
- Simuliere einen schlimmeren Fall: Setze zusätzlich testweise mit git reset --hard auf den vorherigen Commit zurück.
✅ SELBST-CHECK
- ☐ Konntest du mit /rewind gezielt nur den Code zurücksetzen, ohne die Konversation zu verlieren?
- ☐ Was hättest du getan, wenn der Agent die Datei stattdessen per rm gelöscht hätte?
KURZ-QUIZ
Was erfasst Claude Codes Checkpointing NICHT, sodass dafür weiterhin Git nötig bleibt?
QUELLEN
- Claude Code Doku: Checkpointing ↗ code.claude.com
- Git-Doku: git-commit ↗ git-scm.com
- Git-Doku: Undoing Things ↗ git-scm.com