Claude Code · 2026년 8월 26일 ★★★★

클로드 코드가 직접 만든 git 워크트리를 지워 13GB가 날아간 문제를 v2.1.246이 고쳤어요 — 정작 실행 중인 세션의 워크트리를 지우는 다른 경로는 아직 열려 있어요

어제 나온 클로드 코드 v2.1.246이 배경 세션 정리 작업이 `.claude/worktrees/` 아래에 사용자가 직접 만든 git 워크트리를 지우던 문제를 고쳤어요 — 이미 죽은 배경 세션 기록이 그 경로를 가리키고 있으면 누가 만든 워크트리인지 확인하지 않고 지워 버렸거든요. 신고 이슈를 보면 신고자는 워크트리 두 개와 그 안에 쌓아 둔 약 13GB의 node_modules·빌드 결과물을 알림 한 줄 없이 잃었는데, 방치 여부를 워크트리 루트 디렉토리의 mtime으로만 재던 탓에 삭제 45시간 전에 커밋이 있었는데도 '30일 넘게 방치됨'으로 판정됐어요. 정작 같은 성격의 다른 삭제 경로는 아직 열려 있어요 — 8월 20일에 올라온 이슈는 브랜치 끝이 origin/main에 이미 포함되고 작업 트리가 깨끗하다는 이유만으로 실행 중이던 세션 셋의 작업 디렉토리가 10분 사이에 지워졌다고 적고 있고, 지금도 열린 상태예요. 같은 릴리스에는 회사가 따로 세운 중계 서버용으로 설정해 둔 API 키가 앤트로픽으로 가는 사용량 기록 요청에 함께 실려 나가던 것을 고친 항목도 들어 있어요 — 중계 서버를 거쳐 쓰고 있었다면 키를 갈아 두는 편이 안전해요.

용어 풀이
워크트리
git 저장소 하나를 여러 디렉토리에 동시에 체크아웃해 따로 작업하게 해 주는 기능
mtime
파일이나 디렉토리가 마지막으로 바뀐 시각
node_modules
Node.js 프로젝트가 내려받은 의존성 패키지가 쌓이는 디렉토리
glibc
리눅스 프로그램 대부분이 바탕으로 쓰는 기본 C 라이브러리
운영자 인사이트

워크트리를 여러 개 띄워 에이전트를 병렬로 돌리고 있다면, 오래 두는 워크트리는 `.claude/worktrees/` 밖에 두는 편이 안전해요. 신고 이슈가 제시한 우회책은 `git worktree lock --reason`으로 잠가 두는 건데, 아직 안 고쳐진 쪽은 브랜치를 origin/main에 합치고 남겨 둔 워크트리를 '버려진 것'으로 읽는 경로라 병합까지 끝냈다고 안심할 자리가 아니에요.

여러 관점으로 보기
  • 무엇을 잃었나 신고자는 오래 쓰던 워크트리 두 개와 약 13GB의 node_modules·빌드 결과물을 알림도 기록도 없이 잃었고, 삭제는 손을 대지 않은 사이 맥이 잠자기 중에 잠깐 깨어난 동안 일어났어요. GitHub
  • 아직 안 고쳐진 쪽 브랜치 끝이 origin/main에 포함되고 작업 트리가 깨끗하다는 것만으로 실행 중인 세션 셋의 작업 디렉토리가 지워졌고, 한 세션은 명령을 돌리던 도중에 작업 디렉토리가 사라졌다는 오류를 받았어요. GitHub
  • 같은 날 앞서 나온 릴리스 몇 시간 앞서 나온 v2.1.245는 수정 한 줄짜리 릴리스로, 아치 리눅스처럼 glibc 2.44를 쓰는 배포판에서 클로드 코드가 실행조차 안 되던 문제를 고쳤어요. GitHub

원본 보기 (github-releases:claude-code)