개발하다 보면 이런 순간 한 번쯤 있지 않으신가요?
로컬에서는 잘 돌아가고 있었고,
Git에도 아직 안 올렸고,
“조금만 더 정리하고 커밋해야지” 하고 있었는데,
Claude Code로 이것저것 테스트하다가 어느 순간 auto compact가 일어나고,
아까 분명히 봤던 내용이나 수정 흐름이 기억나지 않는 상황.
특히 여러 파일을 동시에 건드리거나,
“이전 버전이 더 나았는데 정확히 뭐였지?”
“방금 Claude가 어디를 어떻게 바꿨더라?”
이런 순간이 오면 진짜 식은땀이 납니다.
저도 처음엔
“끝났다… Git에도 없는데 복구 못 하나?”
싶었는데, 다행히 Claude Code는 작업 과정에서 파일 변경 이력을 로컬에 남기는 구조가 있고, 이걸 활용하면 복구 실마리를 찾을 수 있습니다. Claude Code 관련 공개 자료와 커뮤니티 보고를 보면 파일 변경 이력은 보통 ~/.claude/file-history/ 아래에 저장되는 것으로 알려져 있습니다
왜 이런 일이 생기나?
Claude Code는 긴 세션을 계속 유지하기보다, 컨텍스트 한계를 피하기 위해 대화를 압축해 이어가는 방식의 auto-compaction을 사용할 수 있습니다. 이 과정 자체가 이상한 건 아니고, 오히려 긴 작업을 계속 가능하게 해주는 기능에 가깝습니다
문제는 이겁니다.
- Git 커밋 전 상태였다
- 실험성 수정이 많았다
- 여러 번 되돌리고 덮어썼다
- 세션 흐름이 길어져 무엇을 바꿨는지 기억이 흐려졌다
이럴 때 “최종 파일”만 보면 놓치는 게 많습니다.
하지만 Claude Code는 파일 편집 과정의 흔적을 로컬 file-history에 남길 수 있어서, 그 흔적을 잘 보면 “아, 이 버전이었구나” 하고 되살릴 수 있습니다. 커뮤니티 보고와 관련 도구 설명에서도 ~/.claude/file-history/를 Claude Code 세션 중 파일 스냅샷/버전 기록이 쌓이는 위치로 다루고 있습니다
핵심 해결책:
.claude/file-history
를 확인하자
많은 분들이 놓치는 포인트가 바로 이 부분입니다.
Claude Code를 쓰면서 편집된 파일 흔적은 보통 아래 경로에서 확인할 수 있습니다.
~/.claude/file-history/
환경이나 설명에 따라 .claude/file-history라고 줄여 말하기도 하지만, 일반적으로 사용자 홈 디렉터리 아래의 ~/.claude/file-history/ 형태로 안내되는 사례가 많습니다.
여기에는 Claude가 작업하면서 남긴 파일 이력, 스냅샷, 버전 흔적이 쌓일 수 있습니다. 즉, Git에 커밋하지 않았더라도, Claude가 편집했던 파일이라면 여기서 이전 상태를 추적할 가능성이 있습니다. 다만 공식 문서에서 이 경로를 자세히 문서화한 페이지는 이번 확인 범위에서 찾지 못했고, 현재는 커뮤니티 보고와 관련 툴 설명이 가장 직접적인 근거입니다. 그래서 버전이나 환경에 따라 저장 방식이 다를 수 있다는 점은 같이 기억해두는 게 좋습니다
이런 상황에서 특히 유용합니다
.claude/file-history 확인은 아래 같은 상황에서 특히 강력합니다.
- Git commit 전에 실험하다가 꼬였을 때
- Claude가 여러 번 수정/되돌리기를 반복했을 때
- auto compact 이후 이전 수정 맥락이 기억 안 날 때
- “지금 버전보다 아까 버전이 더 좋았는데” 싶은데 정확히 기억 안 날 때
- 로컬에서만 잠깐 테스트하던 코드를 다시 찾고 싶을 때
즉, 이건 단순한 로그가 아니라
“커밋 전 응급 복구 지점” 같은 역할을 해줍니다.
꼭 알아둘 주의사항
여기서 하나 중요한 점이 있습니다.
커뮤니티 보고에 따르면 file-history에는 편집한 파일 스냅샷이 남을 수 있어서, 경우에 따라 .env 같은 민감 파일 내용도 흔적으로 남을 수 있다는 우려가 제기되었습니다. 실제로 이 이슈를 지적하는 사용자 보고와 디스크 사용량 관련 이슈도 공개되어 있습니다.
그래서 다음은 꼭 체크하는 걸 추천합니다.
- .env, API 키, 인증서 등 민감 정보 파일을 다뤘다면 히스토리 보관 여부 확인
- 필요 없는 히스토리 정리
- 중요한 작업은 결국 Git 커밋이나 별도 백업으로 보강
- 민감 정보가 담긴 파일은 Claude 작업 범위를 더 신중히 관리
즉, 복구 관점에서는 매우 유용하지만,
보안 관점에서는 “이런 로컬 흔적도 남을 수 있구나” 하고 인지하고 써야 합니다
개인적으로 추천하는 습관
저는 이걸 알고 나서는 아래처럼 바꿨습니다.
1. 실험 전 최소 단위 커밋
완성 아니어도 괜찮으니 체크포인트처럼 커밋
2. Claude가 크게 수정하기 전 브랜치 분리
특히 리팩토링, 파일 이동, 대규모 수정 전
3. 복구는 file-history , 정리는 Git
응급 복구는 file-history
최종 이력 관리는 Git
4. 민감 파일 작업 후 히스토리 점검
특히 .env, 설정 파일, 배포 키 관련 파일
마무리
Claude Code를 쓰다 보면 정말 생산성이 많이 올라갑니다.
하지만 그만큼 세션도 길어지고, 수정도 많아지고, 가끔은 auto compact 이후
“아까 내가 뭘 했더라?”
하는 순간이 옵니다.
그럴 때 무조건 포기하지 마세요.
~/.claude/file-history/를 보면, Git에 올리지 않았던 작업 흔적을 되살릴 수 있는 경우가 있습니다. 커뮤니티 보고와 관련 도구 설명상 이 폴더는 Claude Code의 파일 변경 이력을 담는 위치로 널리 알려져 있습니다.
즉,
- Git에 안 올렸어도
- 로컬에서만 작업했어도
- auto compact로 흐름을 잊었어도
아직 끝난 게 아닐 수 있습니다.
개발자는 결국
“복구 가능한 구조를 아는 사람”이 더 강합니다.
혹시 지금도 비슷한 상황이라면,
터미널 열고 먼저 이것부터 확인해보세요.
ls -la ~/.claude/file-history'코딩 > 문제 해결' 카테고리의 다른 글
| React.lazy(Lazy Loading) 적용 후, 빌드하면 렌더링이 안 되는 문제 (esbuild target es2015 이슈) (0) | 2026.02.14 |
|---|---|
| pyenv 바로 사용 불가능 (0) | 2025.06.16 |
| Cursor MCP Client Closed(sequentialthinking) (10) | 2025.06.03 |