Claude Code 2.1.126 Project Purge: 3분이면 끝나는 정리

Claude Code 2.1.126(5월 1일)에 'project purge' 명령이 새로 들어갔어요. 6개월치 트랜스크립트 한 번에 삭제. 3분 walkthrough랑 Anthropic 릴리스 노트가 안 알려주는 보안 포인트요.

Claude Code 2.1.126이 어제, 5월 1일에 출시됐어요. 대부분의 변경 사항을 담은 체인지로그를 보면 버그 수정, OpenTelemetry 개선, Windows 셸 감지 향상 같은 평범한 업데이트들이 주를 이루죠. 하지만 릴리스 노트에서 명확히 강조하지 않은, 실제로 더 중요한 변경 사항이 세 가지 있어요.

  1. claude project purge [path] 명령: 프로젝트의 모든 Claude Code 상태(트랜스크립트, 작업 내역, 파일 히스토리, 설정 항목)를 한 번에 삭제할 수 있어요.
  2. CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 환경 변수를 설정하면 Linux 환경에서 PID 네임스페이스 기반의 서브프로세스 샌드박싱이 활성화돼요.
  3. 백그라운드 스크립트의 이벤트를 실시간으로 스트리밍할 수 있는 새로운 Monitor 도구입니다.

회사에서 Claude Code를 6개월 이상 프로덕션 환경에서 돌리고 있다면, 오늘 꼭 알아두셔야 할 건 purge 명령이에요. 아무도 알려주지 않았던 정리 기능이자, Anthropic 릴리스 노트에서 살짝 놓친 보안적 함의 덕분에 단순한 유지보수 업데이트보다 훨씬 의미 있는 업데이트가 되었어요. 3분, 4개 플래그, 그리고 공식 문서에 없는 한 가지 조언까지 준비했어요.

Project Purge가 실제로 하는 일

claude project purge [path] (현재 디렉토리 기준 claude project purge .) 명령이 실제로 삭제하는 항목은 다음과 같아요.

  • 트랜스크립트: 해당 프로젝트에 보낸 모든 채팅 메시지랑 Claude Code가 생성한 응답 내역.
  • 작업: Claude Code가 해당 프로젝트에서 추적한 작업 내역(TodoCreate / TodoUpdate 상태 포함).
  • 파일 히스토리: Claude이 어떤 파일을 읽고, 수정하고, 생성했는지에 대한 내부 기록.
  • 구성 항목: ~/.claude/projects/<project-hash>/ 디렉토리에 저장된 프로젝트 설정과 관련 구성 파일.

기존 코드는 절대 삭제되지 않으며, 프로젝트 파일도 건드리지 않아요. 오직 Claude Code의 기억만 지우는 거죠. 세션이 넘어가도 Claude Code가 이전 컨텍스트를 기억하게 하는 로컬 전용 아티팩트예요.

Anthropic Claude Code 릴리스 노트를 기준으로 주요 플래그는 4가지예요.

플래그하는 일
--dry-run삭제될 것 출력, 실제 삭제는 안 함. 항상 먼저 실행.
-y / --yes확인 프롬프트 스킵. 스크립트에서 사용. 인터랙티브로는 사용 금지.
-i / --interactive삭제 전 각 항목 표시. 6개월+ 히스토리 검토에 최고.
--all모든 프로젝트 정리. “기기 교체 중” 명령.

실제로 언제 돌려야 할까

purge 명령이 꼭 필요한 5가지 상황입니다. 대부분의 사용자는 지금 사용 중인 기기에서 적어도 하나에 해당할 거예요.

1. 프로젝트가 아카이브됐을 때

6개월 전에 끝낸 프로젝트이고, 저장소(Repository)도 읽기 전용으로 변경했으며 오랫동안 접근하지 않았다면 해당돼요. Claude Code가 여전히 ~/.claude/projects/<hash>/ 디렉토리에 약 30~200 MB 규모의 트랜스크립트를 보관하고 있을 거예요. 이렇게 방치하면 생산성 향상과는 무관한 채 디스크 공간만 차지하고, 트랜스크립트 안에는 이미 폐기한 API 키나 자격증명이 그대로 남아 있을 수 있어요. 정리하는 게 좋아요.

cd /path/to/archived-project
claude project purge --dry-run
# 파일 목록 맞는지 확인
claude project purge -i
# 인터랙티브 단계, 각각 y 누름

2. 기기 교체할 때

노트북을 회사에 반납하거나, 새 기기를 구매해 환경 설정을 복원 중이라면 해당돼요. 트랜스크립트 내용이 표면적으로 민감해 보이지 않더라도, 6개월 전 보낸 프롬프트에는 내부 서비스 정보, API 엔드포인트, 폐기하지 않은 자격증명 등이 포함되어 있을 수 있어요. IT 부서에 기기를 인계하기 전에 반드시 정리해 주세요.

claude project purge --all --dry-run
# 범위 확인
claude project purge --all -i

3. 레포 소유자 변경

사이드 프로젝트를 개인 GitHub 저장소에서 외주나 회사 내부로 이전한 경우예요. 로컬 Claude Code 트랜스크립트에는 프로젝트가 내 소유였을 때 작성한 프롬프트가 남아 있는데, 새 소유권 구조에서는 부적절하거나 보안상 문제가 될 수 있어요. 새로운 소유권 구조에 맞춰 다음 커밋(Push)을 올리기 전까지 프로젝트 상태를 정리해 주세요.

4. 민감한 트랜스크립트가 있을 때

Anthropic 릴리스 노트에서 정중하게만 언급한 부분이지만, 사실 매우 중요한 케이스예요. 바로 트랜스크립트에는 우리가 입력한 프롬프트 내용이 그대로 저장된다는 점이에요. “우리 데이터베이스 스키마 분석해 줘”, “인증 흐름에서 버그 찾아 줘” 같은 요청과 우연히 붙여넣은 .env 파일 라인까지 모두 기록되어 있죠. 회사 보안팀에서 사고 조사나 검토 프로세스를 운영하고 있다면, ~/.claude/projects/<hash>/에 저장된 트랜스크립트는 잠재적인 데이터 노출 경로가 될 수 있어요.

이 부분은 KISA와 국정원이 배포한 생성형 AI 보안 가이드 관점에서도 특히 중요해요. 가이드라인에서는 명시적으로 “비인가 AI 사용(섀도우 AI)을 통제하라"고 당부하는데, 로컬에 남아 있는 트랜스크립트가 바로 그 통제 범위에 속하거든요. 보안 사고 발생 시나 정기 감사 시 — Claude Code가 접근하거나 수정한 모든 디렉토리와 파일 — 트랜스크립트까지 함께 정리해야 해요.

5. 프로젝트를 새 팀에 온보딩할 때

장기 프로젝트의 유지보수를 다른 엔지니어에게 인계할 때예요. 트랜스크립트를 정리하면, 상대방에게 내프롬프트 패턴이나 Claude의 과거 응답 패턴이 그대로 전달되지 않고 깨끗한 상태로 시작할 수 있어요. 깔끔한 인계를 위해 반드시 정리해 주세요.

3분 Walkthrough

터미널에서 프로젝트를 열면 됩니다. 명령어는 총 3단계로 진행해요.

스텝 1 — 미리보기 (--dry-run)

claude project purge --dry-run

다음과 같은 결과가 나올 거예요:

Project: my-saas-app (ID: a3f8b2c4...)
Would delete:
  - 47 transcripts (~127 MB)
  - 312 task entries
  - 1,841 file-history records
  - Config entry: ~/.claude/projects/a3f8b2c4...

Total: ~127 MB across 4 categories
[Dry run — nothing deleted]

출력된 목록을 꼭 확인하세요. 프로젝트 ID가 다르거나, 파일 히스토리 항목이 예상보다 훨씬 많다면 즉시 멈추고 내용을 조사해야 해요.

스텝 2 — 인터랙티브 검토 (-i)

claude project purge -i

각 카테고리별로 내용을 하나씩 살펴봐요. Anthropic의 인터랙티브 모드는 삭제 전 대표 트랜스크립트 파일 경로를 보여주고 확인을 요청합니다. 6개월 이상 쌓인 히스토리에서 “아, 이거는 그대로 두어야겠네” 하는 항목을 걸러내는 시간이죠. 이 단계에 2분 정도 할애해 주세요.

스텝 3 — 확인

-i 모드가 완료되면, 해당 프로젝트의 ~/.claude/projects/<hash>/ 디렉토리가 비워진 것을 확인할 수 있어요. 검증 명령어는 다음과 같습니다:

ls -la ~/.claude/projects/ | grep <project-hash>

항목이 하나도 없으면 정리 완료입니다. 이후 해당 디렉토리에서 Claude Code를 다시 실행하면 아예 새로운 상태로 시작할 수 있어요.

Anthropic 릴리스 노트가 안 짚어주는 거

공식 체인지로그에는 “프로젝트의 모든 Claude Code 상태 삭제"라고만 적혀 있어요. 맞는 설명이지만, 기술적인 기능 설명일 뿐 보안 측면의 함의까지는 다루지 않죠.

반드시 알아두어야 할 보안 관련 사실은 다음과 같아요:

트랜스크립트에는 우리가 입력하거나 붙여넣은 모든 내용이 그대로 저장됩니다. 프롬프트, 응답, 코드 블록은 물론 우연히 붙여넣은 .env 값이나 API 키까지 포함되어 있죠. 프로젝트에 6개월 동안 Claude Code를 사용했다면, 트랜스크립트는 Claude에게 우리 데이터를 어떤 식으로 처리해 달라고 요청했는지에 대한 종합 로그예요. 검색이 가능하고 평문 상태이며 디스크에 그대로 남아 있죠. purge는 단순한 유지보수가 아니라 데이터 위생을 위한 작업이에요.

트랜스크립트는 git clean 명령을 실행해도 삭제되지 않으며, 저장소(Repo)와 함께 이동하지도 않아요. 프로젝트 디렉토리 안이 아니라 ~/.claude/projects/<hash>/ 경로에 저장되기 때문에 git clean -fdx를 실행해도 전혀 건드리지 않죠. 새 기기에 저장소를 클론해 와도 트랜스크립트는 자동으로 가져와지지 않아요. 설계상 로컬 기기 전용으로 되어 있어서, 명시적으로 purge 명령을 실행하지 않는 한 모든 데이터가 그대로 남아 있다는 뜻이에요.

--all 플래그는 퇴사나 기기 반납 시 사용하는 ‘완전 정리’ 명령이에요. 노트북을 교체하거나 직장을 떠나 IT 부서에 기기를 반납할 때, claude project purge --all을 실행하면 돼요. 아무도 알려주지 않지만 꼭 필요한 작업이죠. 트랜스크립트에는 충분한 맥락이 담겨 있어, 신중한 분석가라면 내부 정보를 재구성할 수 있을 정도예요. 개인 기기를 넘기기 전 브라우저 히스토리를 삭제하듯이 처리해 주세요.

서브프로세스 샌드박싱 기능도 함께 주목해야 해요. CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 환경 변수를 설정하면 Linux 환경에서 PID 네임스페이스 기반의 서브프로세스 격리가 활성화됩니다. 동시에 Claude Code의 Bash 도구가 실행되기 전, Anthropic 및 클라우드 공급자 자격증명이 서브프로세스 환경에서 제거되죠. 서브프로세스가 환경 변수를 로그, 의존성 훅, 텔레메트리 등으로 누설할 수 있는 환경에서 Claude Code를 운영한다면 이 설정이 반드시 필요해요. purge가 과거 저장된 상태를 정리한다면, 이 환경 변수는 새로운 데이터 누설을 방지하는 역할을 합니다.

누구한테 이게 의미가 있냐면

로컬에서 Claude Code를 사용하는 솔로 개발자라면: 이번 주말에 가장 오래된 프로젝트 3개에 claude project purge --dry-run을 실행해 보세요. 어떤 항목은 보존하고 어떤 항목은 삭제할지 결정하는 데 10분 정도 할애하면 돼요. 필요 없는 데이터는 과감히 정리해 주세요.

5~50명 규모의 엔지니어링 팀이라면: 오프보딩 체크리스트에 “노트북 인계 전 Claude Code 상태 정리"라는 보안 정책 항목을 추가해 보세요. 엔지니어 재직 중 트랜스크립트에 노출된 API 키를 재설정하는 작업과 함께 진행하면 좋아요. 둘 다 3분이면 충분하지만, 실제 보안 구멍을 확실하게 막아줍니다.

한국 기업 IT 부서 또는 CISO라면: ~/.claude/projects/ 경로에 저장된 트랜스크립트를 이제 공식적으로 관리해야 할 데이터 노출 경로로 인식해야 해요. KISA가 권장하는 “비인가 AI 사용 통제” 원칙이 바로 이런 데이터 위생 정책을 통해 현실에서 구현됩니다. 기존 엔드포인트 관리 기준에 정기 정리 주기를 추가해 보세요. 90일 이상 접근하지 않은 프로젝트는 매주 정리하고, 직원 퇴사 시에는 자동으로 삭제되도록 설정하는 거죠. 과기정통부 생성형 AI 보안 가이드 관점에서도 이는 “최소 권한 원칙"과 “행위 이력 추적"을 자연스럽게 확장한 조치예요.

CI 파이프라인이나 자동화 환경에서 Claude Code를 실행한다면: 백그라운드 스크립트 이벤트를 스트리밍하는 새로운 Monitor 도구가 purge 명령과 자연스럽게 어울려요. 각 빌드 작업이 끝난 후 일시적 환경의 Claude Code 상태를 정리하는 작은 CI 스텝을 구성해 보세요. “오래 실행되는 러너에서 Claude Code를 돌리다 보니 상태가 계속 누적되는 문제"를 원천 차단할 수 있어요.

Linux 프로덕션 호스트를 운영한다면: 오늘 바로 서비스 구성 파일에 CLAUDE_CODE_SUBPROCESS_ENV_SCRUB 설정을 추가해 보세요. 환경 변수 누설을 근본적으로 막아주는 가장 확실한 보안 개선 중 하나예요.

Project Purge로 못 고치는 거

솔직한 한계가 5가지 있어요:

  1. 클라우드 서버에 저장된 데이터는 삭제되지 않아요. Anthropic은 프라이버시 정책에 따라 서버 측에서 프롬프트를 로깅할 수 있어요. purge 명령은 로컬 아티팩트만 처리할 뿐이죠. 만약 민감한 정보를 프롬프트로 보내서 서버 데이터까지 즉시 삭제하고 싶다면, Anthropic 공식 홈페이지를 통해 별도 데이터 삭제 요청을 해야 해요.
  2. MCP 서버의 상태는 유지돼요. 사용자가 설정한 MCP 서버는 자체 상태를 별도로 관리하죠. 로컬 MCP 서버가 프로젝트 컨텍스트 캐시를 사용하고 있다면, claude project purge를 실행해도 해당 캐시는 그대로 남아 있어요.
  3. 삭제 전 트랜스크립트 내용을 한눈에 요약해 주지 않아요. “삭제된 항목 요약” 기능이 없기 때문에 파일 개수와 크기만 확인할 수 있고, 실제 프롬프트 내용은 확인하지 못해요. 6개월 전 보낸 프롬프트 내용을 꼭 확인하고 싶다면 purge 명령을 실행하기 에 수동으로 검토해야 해요.
  4. 이전 버전의 Claude Code에는 소급 적용되지 않아요. 2.1.126 이전 버전을 사용했다면 트랜스크립트가 약간 다른 경로에 저장되어 있을 수 있어요. purge 명령은 표준 ~/.claude/projects/ 경로만 정리하므로, 이전 버전의 아티팩트는 수동으로 findrm 명령어를 사용해 삭제해야 해요.
  5. 완전한 오프보딩 프로세스를 대체할 수 없어요. 퇴사하는 엔지니어의 기기에서 Claude Code 상태를 정리하는 것은 API 키 재설정, 저장소 접근 권한 해제, 자격증명 감사 등을 대체하지 못해요. 반드시 더 긴 오프보딩 체크리스트 중 하나의 항목으로만 취급해야 해요.

결론

Claude Code 2.1.126 업데이트는 별도 홍보 게시물 없이 조용히 배포된 타입의 릴리스예요. 하지만 대부분 팀이 보안 모델에서 미처 잡지 못했던 데이터 노출 문제를 조용히 해결해 주는 의미 있는 업데이트죠. 플래그 3가지, 3분 정도의 시간으로, 우리 기기가 Claude에게 보낸 모든 프롬프트의 시간순 로그로 남아 있는 문제를 끝내세요.

오늘 바로 가장 오래된 프로젝트에 claude project purge --dry-run을 실행해 보세요. 파일 히스토리 항목 수를 보고 놀라실 거예요.

팀 전체의 Claude Code 프로덕션 활용 역량을 키우고 싶다면 Claude Code Mastery 강좌에서 일상 워크플로우를 배우고, Claude Code Session Mastery 강좌에서 컨텍스트 윈도우 및 지속성 패턴(모듈 5에서 새로운 purge 명령어 다룸)을 학습해 보세요. 더 넓은 위협 모델과 Linux 서브프로세스 샌드박싱을 이해하려면 AI Agent Security 강좌를 추천해요.

관련 참고 자료로, agentic coding 도구 선택에 도움이 될 Mistral Vibe vs Claude Code vs Codex 비교 글을 확인해 보세요. 관리형 Windows 단말에서 Claude Code를 운영하는 IT 관리자 관점의 거버넌스 가이드는 Microsoft Agent 365 Shadow AI 페이지를 참고해 주세요.

출처

Build Real AI Skills

Step-by-step courses with quizzes and certificates for your resume