命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
删除项目的所有本地 Claude Code 状态
claude project purge [path] [--dry-run] [-y] [-i] [--all]claude project purge ~/work/repo --dry-runclaude project purge 删除某个项目在本地留下的全部 Claude Code 状态。官方 CLI reference 的定义是 "Delete all local Claude Code state for a project"。它是 claude 的 CLI 子命令,在 shell 中运行。
官方文档列出的删除范围:
| 类别 | 位置 / 说明 |
|---|---|
| Transcripts 与 auto memory | ~/.claude/projects/<project>/(transcript .jsonl 和 memory/) |
| 每个 session 的数据 | tasks/、debug/、file-history/ 下的对应条目 |
| Prompt history | ~/.claude/history.jsonl 中属于该项目的行 |
| 项目配置 | 该项目在 ~/.claude.json 中的 entry |
官方明确不会删除:
shell-snapshots/:不按项目划分。backups/:可能含旧的 .claude.json 快照,最多保留 5 份并自动轮换。版本:Claude Code 官方 "What's new" 周报(Week 18,2026-04-27 至 05-01)把该命令标注为 v2.1.124。
claude project purge [path] [--dry-run] [-y] [-i] [--all]
| Flag / 参数 | 说明(依官方 CLI reference) |
|---|---|
[path] | 可选。省略时从交互式列表中选择项目 |
--dry-run | 预览将被删除的内容,不实际删除 |
-y, --yes | 跳过确认提示 |
-i, --interactive | 逐项确认 |
--all | 删除每一个项目的状态 |
示例(无 flag、--dry-run、--yes 三种在官方文档中有对应示例,-i 与 --all 的写法是按官方 flag 说明拼出的,并非官方原文):
# 预览
claude project purge ~/work/repo --dry-run
# 带确认提示地删除
claude project purge ~/work/repo
# 跳过确认(用于脚本)
claude project purge ~/work/repo --yes
# 逐项确认
claude project purge ~/work/repo -i
# 清除所有项目
claude project purge --all
| 退出码 | 含义 |
|---|---|
1 | 没有任何状态匹配给定路径时,命令打印错误并以状态 1 退出 |
其他情况的退出码,以及是否有 --json 之类的结构化输出,官方文档未说明。
确认提示的文案为 Delete X item(s) for <path>? This cannot be undone. [y/N]。
官方文档给出的脚本化用法是加 --yes 跳过确认:
claude project purge ~/work/my-repo --yes
建议先用 --dry-run 看清列表,再决定是否加 -y 执行。
| 约束 | 原因 |
|---|---|
| 删除不可撤销 | 官方文档明确写 "cannot be undone",确认提示里也有同样警告 |
--all 会直接删除 history.jsonl,而不是按项目过滤 | 官方 Clear local data 章节的说明 |
| 路径无匹配状态时报错并返回 1 | 官方文档说明 |
--dry-run 预览,再执行 claude project purge <path>。--all 清除所有项目的本地状态。-y 跳过确认。memory/ 目录随之消失。--all 会清空全局 prompt history:history.jsonl 是被整体删除,不是只移除某个项目的行。backups/ 里可能仍有旧的 .claude.json 快照:purge 不处理它们,所以项目 entry 的残留可能存在于备份中。[path] 时的行为以官方为准:官方 CLI reference 写的是"从交互式列表中选择"。第三方文章写成"默认当前目录",与官方不一致,不要照第三方写法在脚本里省略路径,脚本里请显式传路径。