Claude 데스크탑 vm_bundles D드라이브 이전 — 심볼릭 링크 후에도 C드라이브 용량 차오를 때 2026
Claude 데스크탑 앱 데이터를 D드라이브로 이전하는 기본 작업을 마쳤는데도, 며칠 쓰다 보면 C드라이브 용량이 다시 빨갛게 차오르는 경우가 있다. %APPDATA%\Claude 폴더에 심볼릭 링크를 분명히 걸었고, Get-Item으로 확인하면 링크도 멀쩡히 작동한다. 그런데 C드라이브 여유 공간은 계속 줄어든다.
이 글은 그 “마지막 1GB까지 새는” 원인을 추적해 해결하는 후속편이다. 결론부터 말하면 범인은 MSIX 샌드박스 안의 vm_bundles 폴더이고, 필자의 경우 무려 9.6GB였다. 기본 이전 가이드가 다루지 못하는 숨은 경로를 찾아 D드라이브로 옮기는 전 과정을, PowerShell 명령어와 오류 대처까지 빠짐없이 정리했다. Claude뿐 아니라 다른 MSIX(스토어) 앱에도 그대로 응용할 수 있다.
증상 — 링크를 걸었는데 C드라이브가 또 찬다
심볼릭 링크는 정상인데 용량은 새는, 헷갈리는 상황이다. 탐색기에서 C:\Users\사용자명\AppData\Roaming\Claude를 보면 일반 폴더처럼 보이지만 실제로는 D드라이브를 가리키는 링크다. 여기까지는 문제가 없다. 그런데도 C드라이브가 줄어든다면, 앱이 전혀 다른 경로에 데이터를 쌓고 있다는 신호다.
%APPDATA%\Claude가 아니라 패키지 샌드박스 안에 따로 저장된다. 심볼릭 링크를 아무리 잘 걸어도 이 경로는 손대지 않은 상태로 계속 커진다.진짜 원인 — MSIX 샌드박스 경로
Claude 데스크탑 앱은 설치 방식에 따라 데이터 위치가 둘로 나뉜다. 어느 쪽인지에 따라 손볼 경로가 완전히 달라진다.
내가 처음 링크를 건 곳은 %APPDATA%\Claude였는데, 앱이 실제로 데이터를 쌓는 곳은 아래 샌드박스 경로였다. 그래서 링크는 작동하는데 C드라이브 용량은 계속 늘어났던 것이다.
MSIX 샌드박스 경로 형태
Claude_로 시작하는 폴더가 나오면 MSIX 설치다.PowerShell (일반 권한)
Get-ChildItem “$env:LOCALAPPDATA\Packages” -Directory -Filter “Claude_*”
STEP 1 — 내 패키지 폴더명 찾기
Claude_ 뒤의 문자열은 환경마다 다를 수 있으므로, 명령어를 복사하기 전에 정확한 폴더 이름부터 확인한다. STEP 2에서 위 명령어의 결과로 나온 폴더명을 그대로 쓰면 된다.
Claude_pzs8sxrjxfjjc 처럼 임의의 문자열이 붙는다. 이후 모든 명령어에서 이 폴더명을 일관되게 사용한다. (아래 예시는 Claude_xxxxxxxxxxxxx로 표기했으니 본인 값으로 바꿔 넣는다.)
STEP 2 — 용량을 잡아먹는 폴더 찾기
무작정 옮기기 전에 어느 하위 폴더가 용량을 차지하는지 짚는다. 개별 파일은 작은데 전체 용량이 큰 경우, 범인은 보통 하위 폴더 한 곳에 몰려 있다. 아래 명령어는 각 폴더 용량을 MB 단위로 큰 순서대로 정렬해 보여준다.
PowerShell (일반 권한)
$base = “$env:LOCALAPPDATA\Packages\Claude_xxxxxxxxxxxxx\LocalCache\Roaming\Claude”
# 하위 폴더별 용량 큰 순으로 정렬
Get-ChildItem $base -Directory | ForEach-Object {
$size = (Get-ChildItem $_.FullName -Recurse -File | Measure-Object Length -Sum).Sum
[PSCustomObject]@{ Folder = $_.Name; ‘Size(MB)’ = [math]::Round($size/1MB, 1) }
} | Sort-Object ‘Size(MB)’ -Descending
결과는 다음과 같았다. vm_bundles가 9.6GB로 압도적 1위였고, 나머지는 200MB대였다. 용량의 90% 이상이 한 폴더에 몰려 있었으니, 이 폴더 하나만 옮기면 끝나는 상황이었다.
| 폴더 | 용량 | 비고 |
|---|---|---|
| vm_bundles | 9,653.9 MB | 진짜 주범 |
| Cache | 234.1 MB | 일반 캐시 |
| claude-code-vm | 222.0 MB | 보통 |
| claude-code | 214.0 MB | 보통 |
| local-agent-mode-sessions | 204.0 MB | 세션 기록 |
STEP 3 — Claude 완전 종료 + 관리자 PowerShell
폴더를 이동하는 중 앱이 파일을 사용하고 있으면 이동이 실패한다. 단순히 창을 닫는 것으로는 부족하다. 백그라운드 프로세스까지 완전히 종료해야 한다.
다른 프로세스가 파일을 사용 중입니다 오류가 난다. 이 단계를 건너뛰지 말 것.STEP 4 — vm_bundles 이동 + 심볼릭 링크
핵심은 폴더를 D드라이브로 옮긴 뒤, 원래 자리에 심볼릭 링크를 만들어 앱이 같은 경로로 인식하게 하는 것이다. 관리자 PowerShell에서 순서대로 실행한다.
PowerShell (관리자 권한)
$base = “$env:LOCALAPPDATA\Packages\Claude_xxxxxxxxxxxxx\LocalCache\Roaming\Claude”
# ② D드라이브로 폴더 이동 (용량 클수록 시간 걸림)
Move-Item “$base\vm_bundles” “D:\ClaudeData\vm_bundles”
# ③ 원래 위치에 심볼릭 링크 생성
New-Item -ItemType SymbolicLink -Path “$base\vm_bundles” -Target “D:\ClaudeData\vm_bundles”
STEP 5 — 정상 작동 검증
링크가 실제로 D드라이브를 가리키는지 확인한다. LinkType이 SymbolicLink, Target이 D:\ClaudeData\vm_bundles로 나오면 성공이다.
PowerShell (관리자 권한)
정상 출력 예시
LinkType : SymbolicLink
Target : {D:\ClaudeData\vm_bundles}
확인이 끝났으면 Claude 데스크탑 앱을 다시 실행하고 Cowork 기능을 잠깐 써본 뒤, D:\ClaudeData\vm_bundles 폴더에 새 데이터가 쌓이는지 본다. 이제부터 vm_bundles는 아무리 커져도 전부 D드라이브에 저장된다.
자주 발생하는 오류와 해결법
Move-Item으로 내용물은 옮겨졌지만 원래 위치에 빈 폴더가 남아, 그 위에는 링크를 덮어쓸 수 없다. 가장 흔한 케이스다. 남은 빈 폴더를 지우고 링크만 다시 만든다.
Remove-Item "$base\vm_bundles"
New-Item -ItemType SymbolicLink -Path "$base\vm_bundles" -Target "D:\ClaudeData\vm_bundles"
창을 닫고 Windows 키 → “PowerShell” 검색 → 우클릭 → 관리자 권한으로 실행으로 다시 연다.
D:\ClaudeData\vm_bundles)에 이미 같은 이름 폴더가 있으면 폴더 안으로 중첩 이동돼 vm_bundles\vm_bundles 구조가 생긴다.탐색기에서 D드라이브 경로의 중첩 폴더를 확인해 정리한 뒤 STEP 4의 링크 생성을 다시 진행한다.
Remove-Item은 반드시 내용물이 D드라이브로 옮겨진 것을 확인한 뒤 빈 폴더에만 사용한다. 데이터가 남은 폴더에 쓰면 그대로 삭제된다. 링크를 지울 때도 -Recurse는 절대 붙이지 않는다(실제 데이터까지 삭제될 수 있음).vm_bundles가 대체 뭔가요
vm_bundles는 Claude 데스크탑의 Cowork(코드 실행·자동화) 기능이 사용하는 가상환경 번들 파일로 보인다. Cowork 탭을 쓸수록 계속 쌓이는 구조다. 즉 기능을 쓰는 한 용량은 다시 늘어나므로, 단순 삭제보다 D드라이브로 ‘이전’하는 것이 근본 해결책이다.
- 앱이 경로 변경을 인식하지 못해 완벽 호환
- 아무리 커져도 전부 D드라이브에 쌓임
- C드라이브 용량 즉시 회복 (필자 9.6GB)
- 되돌리기 쉬움 (링크만 삭제)
- MSIX 환경에 따라 링크가 막힐 수 있음
- D드라이브가 없으면 기능 실행 불가
- 생성 시 관리자 권한 필요
- 이동 전 앱 완전 종료 필수
전체 작업 요약 — 한눈에 보기
| 단계 | 작업 | 권한 | 핵심 명령어 |
|---|---|---|---|
| STEP 1 | 패키지 폴더명 확인 | 일반 권한 | Get-ChildItem …Packages -Filter “Claude_*” |
| STEP 2 | 용량 큰 폴더 찾기 | 일반 권한 | Get-ChildItem + Measure-Object |
| STEP 3 | 앱 종료 + 관리자 PS | 관리자 | 작업 관리자 종료 |
| STEP 4 | 이동 + 심볼릭 링크 | 관리자 | Move-Item / New-Item SymbolicLink |
| STEP 5 | 링크 검증 | 관리자 | Get-Item … LinkType, Target |
심볼릭 링크를 걸었는데도 C드라이브가 차오른다면, 십중팔구 앱이 다른 경로에 데이터를 쌓고 있는 것이다. MSIX 앱이라면 AppData\Local\Packages 안쪽까지 들어가 ‘용량 큰 폴더 찾기 → 이동 → 링크 → 검증’ 4단계만 거치면 된다. 필자는 vm_bundles 한 폴더만으로 C드라이브 9.6GB를 되찾았다.
%APPDATA%\Claude·.claude를 옮긴 뒤, 이 글의 vm_bundles 이전까지 마치면 Claude가 C드라이브에 남기는 건 작은 바이너리뿐이다. Cowork를 자주 쓰는 사용자일수록 효과가 크다.