每个文件夹都有自己的规则。
Devbroom 按照 Claude Code 自身的行为方式处理每个位置。智能体会自己清理的交给智能体;有专用命令的就用那个命令来处理。
临时工作区
会话的工作区和临时文件。已结束会话的这些内容,可以在 Claude Code 自己删除之前,查看后清理;运行中会话的保持已锁定。
/private/tmp/claude-<uid>MCP 和错误日志
只是日志文件。
~/Library/Caches/claude-cli-nodejs会话日志
手动删除这些文件会破坏会话恢复和记忆。Devbroom 为此使用 Claude Code 自己的命令;文件夹已不存在的项目,其历史会一次清除。除了删除,你也可以归档某个项目的对话(Pro):归档验证通过之前什么都不会移动,记忆保留在原处,并且可以从“历史记录”中重新打开。
~/.claude/projects检查点
Claude Code 会自己删除早于 cleanupPeriodDays(默认 30 天)的检查点。
~/.claude/file-history日志和缓存
调试日志、shell 快照、粘贴的内容和图片。旧的由 Claude Code 自己删除。
~/.claude/debug~/.claude/shell-snapshots~/.claude/paste-cache~/.claude/image-cacheCLI 版本
更新程序会保留当前版本、正在运行的版本和最新的两个版本。
~/.local/share/claude/versions插件
由 /plugin 管理;正在使用的插件不应删除。
~/.claude/plugins/cache~/.claude/plugins/marketplaces桌面应用数据
应用的状态;其中还包含内置的 CLI 和虚拟机镜像。
~/Library/Application Support/Claude你的账户和设置原封不动。
这些文件和文件夹受保护。任何判定都不会让它们进入清理范围;无论多大,它们都留在原处。
~/.claude.json~/.claude/.credentials.jsonsettings.json · settings.local.json~/.claude/history.jsonl~/.claude/agent-memory~/.claude/plugins通过痕迹识别 Claude Code 的 worktree。
它根据这些痕迹判断 worktree 是否属于 Claude Code;痕迹越强,显示的归属就越确定。
- 确定git 元数据中的
CLAUDE_BASE标记 - 确定Claude Code 设置的 worktree 锁
- 很可能位于
.claude/worktrees文件夹中 - 很可能位于 Claude Code 工作区中
- 可能以
worktree-开头的分支名
- 含有未保存的工作时为已锁定。 没有
--force,git 不会删除这样的 worktree;Devbroom 从不使用--force。 - 其中或其上级文件夹中有会话运行时为已锁定。
- 含有被忽略的文件时为需查看:
git worktree remove会不加询问地删除它们。
看得见它们,运行时不打扰。
Devbroom 知道哪些 Claude Code 会话正在运行。它从不触碰运行中会话的进程;会话持续期间,其文件夹和临时空间保持已锁定。
2 个会话运行中
先检查 Claude Code 的文件。
在信任某个智能体的数据之前,Devbroom 会检查其文件是否符合预期格式。如果不符合,这些数据只读取;其中任何内容都不算可清理。
超出此范围的版本只要格式不变仍可正常使用,并显示为“尚未测试”。
~/.claude/projects 中的日志必须带有这两个字段,它们把会话和文件夹关联起来。
如果它的文件夹在别处,会按照 CLAUDE_CONFIG_DIR, CLAUDE_CODE_TMPDIR 查找。