检查点与回退
Claude Code checkpointing 如何记录编辑、使用 /rewind 恢复代码或对话、局部摘要上下文,以及哪些改动不会被追踪。
Checkpointing 是 Claude Code 的会话级撤销机制。它会自动记录 Claude 通过文件编辑工具做出的修改,让你在方向跑偏、实验失败或上下文太长时,回到更早的代码和对话状态。
检查点适合“快速撤回当前会话里的操作”。它不是 Git,不能替代分支、提交和团队协作历史。
#它会记录什么
Claude Code 会在工作过程中自动捕捉代码状态:
| 行为 | 结果 |
|---|---|
| 每次用户发起新 prompt | 创建一个新的检查点 |
| Claude 使用 Edit/Write 等文件编辑工具 | 文件变更会被纳入可回退范围 |
| 恢复已经保存的会话 | 仍可访问该会话里的检查点 |
| 会话被自动清理 | 检查点会随会话一起清理,默认约 30 天,可配置 |
从使用者角度看,你不需要手动创建 checkpoint。只要改动是 Claude Code 通过自己的编辑工具完成的,就通常能从 rewind 菜单里回退。
#打开 rewind 菜单
有两种入口:
| 入口 | 说明 |
|---|---|
/rewind | 在当前会话中打开回退菜单 |
空输入框里按两次 Esc | 快捷打开同一个菜单 |
如果输入框里已有文字,连续按两次 Esc 会先清空输入框,不是打开 rewind。被清掉的文字会进入输入历史,之后可按 Up 找回。
菜单会列出本会话里你发过的 prompt。选中某个时间点后,再选择要对代码、对话或上下文摘要做什么。
#可选动作
| 动作 | 会发生什么 | 适合场景 |
|---|---|---|
| Restore code and conversation | 代码和对话一起回到选中位置 | 实现方向完全错了,要从那条 prompt 重新来 |
| Restore conversation | 只回退对话,保留当前磁盘文件 | 想重写后续交流,但不想丢文件改动 |
| Restore code | 只回退文件改动,保留当前对话 | 改坏了文件,但还想保留分析过程 |
| Summarize from here | 把选中消息及之后压成摘要,更早内容保持完整 | 丢掉一段支线讨论,保留开头上下文 |
| Summarize up to here | 把选中消息之前压成摘要,选中消息及之后保持完整 | 压缩早期准备过程,继续最近工作 |
| Never mind | 返回消息列表 | 不做修改 |
选择 Restore conversation 或 Summarize from here 后,选中消息的原始 prompt 会回到输入框,你可以直接重发或改写。选择 Summarize up to here 后,你仍停在当前会话末尾,输入框保持为空。
#Restore 和 Summarize 的区别
| 类型 | 是否改磁盘文件 | 是否改对话历史 | 主要目的 |
|---|---|---|---|
| Restore code | 是 | 否 | 撤销文件改动 |
| Restore conversation | 否 | 是 | 回到早前对话状态 |
| Restore code and conversation | 是 | 是 | 同时撤销文件和对话 |
| Summarize from/up to here | 否 | 用摘要替换一段上下文 | 腾出上下文窗口 |
Summarize 不会回滚文件。它只把一段对话压缩成 Claude 生成的摘要,类似更精确的 /compact:你选择要压缩选中点之前还是之后。原始消息仍保存在 session transcript 中,Claude 在需要时仍可能引用到细节。
如果你想保留原会话不动,同时尝试另一条路线,用 会话分支 或命令行:
claude --continue --fork-session#/clear 之后怎么回去
如果你在同一个 Claude Code 进程里执行过 /clear,rewind 菜单顶部可能出现:
/resume <session-id> (previous session)选择它可以恢复 /clear 之前的会话。这个入口会一直保留到你退出 Claude Code,或恢复了另一个 session。官方说明中,该菜单入口需要 Claude Code v2.1.191 或更新版本;更早版本可用 /resume 从列表里手动找回旧会话。
#典型用法
尝试大改动
让 Claude 先计划,再执行较大范围修改。每轮 prompt 都会形成可回退点,所以你可以放心比较不同实现方向。
方向不对就 rewind
不要用一串“撤销刚才所有内容”继续堆上下文。打开 /rewind,选中出问题前的 prompt,按需要恢复代码、对话或两者。
长支线用 summarize
如果只是中途查了很多资料、讨论了错误方向,但不想动文件,用 Summarize from here 或 Summarize up to here 压缩上下文。
稳定后提交到 Git
检查点会随会话生命周期清理。真正要长期保留的状态,还是用 Git commit、branch 或 PR。
#限制
| 限制 | 影响 |
|---|---|
| Bash 改文件不被 checkpoint 追踪 | rm、mv、cp、脚本生成文件等不能靠 rewind 撤销 |
| 外部改动通常不被追踪 | 你手动编辑、其他终端或其他 Claude 会话的改动,一般不在当前检查点里 |
| 只覆盖当前会话相关文件 | 未被当前会话编辑过的文件,通常没有可恢复状态 |
| 不是长期版本历史 | 会随 session 清理,也不解决多人协作冲突 |
如果任务会运行生成器、格式化器、迁移脚本或删除命令,先确认 Git 工作区状态。Checkpointing 对 Claude 的直接文件编辑很有用,但对 shell 造成的文件系统变化没有完整保护。
#和 Passion8 的关系
Checkpointing 是 Claude Code 本地会话能力,和模型网关本身没有强绑定。接入 Passion8 后,/rewind、摘要和恢复流程仍由 Claude Code 管理;真正的模型调用仍走你的 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN 配置。
#官方参考
Support / 支持
Need help? / 需要帮助?
接入、计费与模型异常可邮件联系;服务可用性以状态页为准。
For setup, billing, or model issues, email us. Check the status page for uptime.
也可使用右下角微信 / QQ 客服 · WeChat / QQ support is available at the bottom right

