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 桌面应用会把它下载的各个 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 工作树?
每个工作树都是一份完整的检出,往往还带着自己的 node_modules 和构建产物。在仓库里运行:
git worktree list
git worktree remove <path>
git worktree prune
对有未提交更改的工作树,git worktree remove 会拒绝删除,除非加上 --force,这正是你想要的检查。需要的分支请先合并或推送。