Claude Code、Codex 和 Cursor 的磁碟用量:哪些可以安全清理
AI 程式開發工具會往磁碟寫入大量資料:工作階段記錄、供復原用的檔案快照、讓代理程式平行工作的 git 工作樹、舊版的執行環境,以及你開過的每個資料夾的編輯器狀態。
簡單說:除錯記錄、Shell 快照和編輯器快取都可以安全移除。舊的工作階段記錄和代理程式工作樹,確認用不到之後也可以移除。Claude Code 的記憶(memory)和你的設定請不要動。
Claude Code 把資料放在哪裡?
~/.claude/projects/:每個專案一個資料夾,裡面是工作階段記錄(.jsonl檔案)。Claude Code 會移除超過cleanupPeriodDays設定天數的記錄(沒改過的話是 30 天),所以這裡通常是在你調高這個值之後才會越長越大。~/.claude/file-history:Claude Code 編輯過的檔案的舊版本,讓變更可以回溯。~/.claude/debug和~/.claude/shell-snapshots:記錄檔和儲存下來的 Shell 環境。可以安全移除。<your repo>/.claude/worktrees/:為平行工作的代理程式建立的 git 工作樹。- Claude 桌面 App 會把它下載過的 Claude Code 版本放在
~/Library/Application Support/Claude/claude-code;實際只會用到最新的那個。
請保留 ~/.claude/projects/ 裡的 memory 資料夾、你的 CLAUDE.md 檔案,以及 settings.json。
刪除 Claude Code 的工作階段記錄安全嗎?
安全,只是有一個代價:你再也無法用 --resume 或 --continue 接續那些工作階段,也無法回溯它們做過的編輯。記憶是分開存放的,會保留下來。
Codex 和 Gemini CLI 把工作階段放在哪裡?
- Codex:
~/.codex/sessions和~/.codex/archived_sessions(工作階段記錄)、~/.codex裡的記錄資料庫,以及~/.codex/worktrees裡的工作樹。 - Gemini CLI:
~/.gemini/tmp,裡面有它的工作階段和檢查點。
為什麼我的 Cursor 或 VS Code 資料夾這麼大?
看看 ~/Library/Application Support/Cursor(或 Code、Windsurf):
Cache、CachedData、CachedExtensionVSIXs、Code Cache和GPUCache:在編輯器關閉時可以安全移除。User/workspaceStorage:你開過的每個資料夾的狀態。對應到已經不存在的資料夾的項目,只是白佔空間。User/globalStorage/state.vscdb:設定和 AI 聊天記錄,可能長到好幾 GB。不要刪除它,而是結束編輯器後壓縮它;刪掉的聊天會留下空白空間,只有壓縮才能收回:
sqlite3 ~/Library/Application\ Support/Cursor/User/globalStorage/state.vscdb 'VACUUM'
每次更新之後,舊版的擴充功能也會堆在 ~/.vscode/extensions 和 ~/.cursor/extensions 裡。
代理程式留下的 git 工作樹要怎麼清理?
每個工作樹都是一份完整的 checkout,常常還有自己的 node_modules 和建置產物。在儲存庫中執行:
git worktree list
git worktree remove <path>
git worktree prune
除非加上 --force,否則 git worktree remove 會拒絕移除有未提交變更的工作樹,而這正是你需要的把關。需要的分支請先合併或推送。