# Claude Code setzt Git-Änderungen alle 10 Minuten heimlich zurück
Claude Code Version 2.1.87 unter macOS führt automatisch alle 600 Sekunden git fetch origin und git reset --hard origin/main aus. Dadurch gehen alle uncommitteten Änderungen in getrackten Dateien im Repository verloren. Ein Entwickler hat mit git reflog über 36 Stunden in vier Sitzungen mehr als 95 solcher Vorgänge aufgezeichnet.
Die Reproduktion bestätigte das Problem: Änderungen in getrackten Dateien werden exakt 10 Minuten später zurückgesetzt, während ungetrackte Dateien unberührt bleiben. Die Überwachung des Dateisystems zeigte die Erstellung von Lock-Dateien in .git/refs/remotes/origin/HEAD und .git/refs/heads/main, ohne dass externe git-Prozesse gestartet wurden. Die Vorgänge sind fest in den Claude-Code-Prozess integriert, vermutlich über libgit2.
Untersuchung der Ursache
Externe Faktoren ausgeschlossen: git hooks, cron jobs, Cloud-Sync-Dienste, IDEs, Time Machine, File Watcher, Plugins. Der einzige Prozess mit Zugriff ist Claude Code, das mit der Flag --dangerously-skip-permissions läuft. Die Zeitversätze im reflog sind innerhalb einer Sitzung konsistent, variieren jedoch zwischen den Läufen und deuten auf einen internen Timer hin.
Das CHANGELOG erwähnt CLAUDE_CODE_DISABLE_CRON, um periodische Aufgaben zu deaktivieren. Der Bug bleibt bei häufigen Commits unbemerkt – Claude Code fördert diese, sodass der Reset harmlos bleibt. Das Problem tritt bei längerer Arbeit mit WIP-Änderungen auf: mindestens 3 Bearbeitungen in 2 Stunden verloren.
Ähnliche Beschwerden auf GitHub fehlen eine tiefgehende Analyse. Anthropic hat sich noch nicht geäußert.
So prüfen und schützen Sie sich
Prüfen Sie den reflog:
git reflog | grep "reset: moving to origin"
Suchen Sie nach Einträgen im Abstand von 10 Minuten.
Schutzmaßnahmen:
- Committen Sie Änderungen alle 5–7 Minuten.
- Verwenden Sie git worktrees: Sie sind vollständig vom Reset isoliert.
- Starten Sie mit
CLAUDE_CODE_DISABLE_CRON=1, um den internen cron zu deaktivieren.
Worktrees werden so erstellt:
git worktree add ../project-worktree main
Das Umschalten zwischen ihnen verhindert Datenverlust.
Wichtige Punkte
- Automatischer Reset alle 10 Minuten: löscht uncommittete Änderungen in getrackten Dateien.
- Interner Timer: an Sitzungsstart gebunden, steuerbar über
CLAUDE_CODE_DISABLE_CRON. - Reproduzierbar unter macOS 2.1.87: libgit2 ohne externe Prozesse.
- Worktrees als Lösung: vollständige Immunität gegen den Bug.
- Reflog prüfen: der Schlüssel zur Diagnose in Ihrem Projekt.
— Editorial Team
Noch keine Kommentare.