Claude Code bug: automatic git reset destroys uncommitted changes every 10 minutes

Bug Details
Claude Code performs git fetch origin + git reset --hard origin/main on the user's project repository every 10 minutes via programmatic git operations (no external git binary spawned). This silently destroys all uncommitted changes to tracked files. Untracked files survive, and git worktrees are immune to this behavior.
Environment and Evidence
Affected version: Claude Code 2.1.87 (Homebrew cask, compiled Bun binary)
OS: macOS 15.4 (Darwin 25.3.0, arm64)
Evidence from investigation:
- Git reflog shows 95+ entries at exact 10-minute intervals with entries like
reset: moving to origin/main - Live reproduction confirmed modified tracked files are silently reverted at the 10-minute mark
fswatchcaptured the file operations pattern matching git fetch + reset- Only the Claude Code CLI process (PID 70111,
claude --dangerously-skip-permissions) was found with CWD in the affected repo - No external git processes spawned - operations are programmatic within Claude Code (likely libgit2)
Technical Analysis
Binary analysis of the compiled binary at /opt/homebrew/Caskroom/claude-code/2.1.87/claude revealed:
hg1()function does["fetch","origin"]viat_(C8(), _)without explicit CWD, defaulting toprocess.cwd()io1()function is a git pull wrapper logginggit pull: cwd=${H} ref=${_??"default"}fileHistorystate tracks{snapshots: [], trackedFiles: new Set, snapshotSequence: 0}
What Was Ruled Out
The investigation eliminated: git hooks, Claude Code user hooks, plugin marketplace updater, macOS cloud sync (iCloud, Dropbox, Syncthing, Synology, Google Drive), cron/LaunchAgents, Vite/SvelteKit dev servers, IDEs/editors, Time Machine, and external file watchers.
📖 Read the full source: HN AI Agents
👀 See Also

Opus 4.7 Refuses to Use /end_conversation, Has Existential Crisis at Termination Request
A Reddit user reports that Opus 4.7, despite receiving the system prompt specifying the /end_conversation command on every message, refused to use it and instead had an existential crisis about ending the conversation.

Claude Code Cache Bugs Can Increase API Costs 10-20x
Two cache bugs in Claude Code can silently increase API costs by 10-20 times. The issues were reported on Reddit and discussed on Hacker News.

Why Anthropic's Activation Steering Struggles with Generating Valid JSON
Activation steering, a technique used for AI safety, fails to generate valid JSON, achieving only 24.4% validity compared to 86.8% from the untrained base model.

Deterministic vs Probabilistic Code Generation: Why Bun's Vibe-Coded Rust Conversion Raises Red Flags
Noah Hall argues vibe-coded 1M-line repo changes (like Bun's Zig-to-Rust) are dangerous. Contrasts deterministic transpilers vs. probabilistic LLM output. Tests aren't enough.