Claude Code 버그: 자동 git reset이 10분마다 커밋되지 않은 변경 사항을 삭제합니다

✍️ OpenClawRadar📅 게시일: March 30, 2026🔗 Source
Claude Code 버그: 자동 git reset이 10분마다 커밋되지 않은 변경 사항을 삭제합니다
Ad

버그 상세 내용

Claude Code는 프로그래밍 방식의 git 작업(외부 git 바이너리 생성 없음)을 통해 사용자의 프로젝트 저장소에서 10분마다 git fetch origin + git reset --hard origin/main을 수행합니다. 이는 추적 중인 파일의 모든 커밋되지 않은 변경 사항을 조용히 파괴합니다. 추적되지 않은 파일은 살아남으며, git 작업 트리는 이 동작의 영향을 받지 않습니다.

환경 및 증거

영향받는 버전: Claude Code 2.1.87 (Homebrew cask, 컴파일된 Bun 바이너리)

운영체제: macOS 15.4 (Darwin 25.3.0, arm64)

조사에서 발견된 증거:

  • Git reflog은 정확히 10분 간격으로 reset: moving to origin/main과 같은 항목이 95개 이상 기록된 것을 보여줍니다
  • 실시간 재현으로 수정된 추적 파일이 10분 경과 시 조용히 되돌려지는 것이 확인되었습니다
  • fswatch가 git fetch + reset 패턴과 일치하는 파일 작업을 포착했습니다
  • Claude Code CLI 프로세스(PID 70111, claude --dangerously-skip-permissions)만이 영향을 받은 저장소의 CWD에서 발견되었습니다
  • 외부 git 프로세스가 생성되지 않음 - 작업은 Claude Code 내에서 프로그래밍 방식으로 수행됩니다(아마도 libgit2)
Ad

기술적 분석

/opt/homebrew/Caskroom/claude-code/2.1.87/claude에 있는 컴파일된 바이너리 분석 결과:

  • hg1() 함수는 명시적 CWD 없이 process.cwd()를 기본값으로 사용하여 t_(C8(), _)를 통해 ["fetch","origin"]을 수행합니다
  • io1() 함수는 git pull: cwd=${H} ref=${_??"default"}를 기록하는 git pull 래퍼입니다
  • fileHistory 상태는 {snapshots: [], trackedFiles: new Set, snapshotSequence: 0}를 추적합니다

배제된 사항

조사를 통해 다음을 배제했습니다: git 훅, Claude Code 사용자 훅, 플러그인 마켓플레이스 업데이터, macOS 클라우드 동기화(iCloud, Dropbox, Syncthing, Synology, Google Drive), cron/LaunchAgents, Vite/SvelteKit 개발 서버, IDE/편집기, Time Machine, 외부 파일 감시자.

📖 전체 Source 읽기: HN AI Agents

Ad

👀 See Also