1. 为什么需要 /rewind?

Claude Code 的 /rewind(回溯 / Checkpointing)功能是专门用来「快速撤销 Claude 改错代码或走偏对话」的工具。它基于自动检查点(Checkpoint)机制,能让你把代码状态 + 对话历史一起或分开回滚到任意之前的时刻,还能一键总结压缩上下文。

简单说:Claude 每次要改文件前都会自动拍快照,你随时可以「时光倒流」,不用担心改崩了无法恢复。

2. 如何激活 /rewind(两种方式)

方式操作推荐场景
快捷键按两次 Esc(Esc + Esc)最快,随时可用
命令在输入框输入 /rewind 或别名 /checkpoint明确意图

激活后会弹出回溯菜单:一个可滚动的列表,显示本次会话里每一个用户提示(Prompt)对应的检查点(带时间和简短描述)。

3. 回溯菜单里可以做的 5 件事

选择一个检查点后,Claude 会给你以下选项:

3.1 恢复代码和对话

把代码文件和对话历史全部回滚到该点(最常用)。

3.2 恢复对话

只回滚对话历史,代码文件保持当前状态。 用途:想保留最新代码但重来对话时。

3.3 恢复代码

只恢复文件内容到该点,对话历史不变。 用途:代码改崩了但想保留聊天记录时。

3.4 从此处总结

把该点之后的所有对话压缩成一段 AI 生成的摘要(释放上下文 token)。

  • 磁盘上的文件不会改变
  • 你可以额外输入指令指导总结重点(如「Focus on the API changes」)
  • 原始完整消息仍保留在会话记录里
  • 类似 /compact 但更精准(只压缩后面部分)

3.5 算了

取消,什么都不做。

操作完后:所选提示的原始文字会自动填入输入框,你可以直接按回车重新发送,或修改后再发。

4. 检查点(Checkpoint)是怎么创建的?

全自动创建

  • 每次你发送一个新 Prompt → 自动创建一个检查点
  • Claude 每次要编辑文件前 → 自动快照当前文件内容

持久保存

检查点即使你关闭 Claude Code,下次用 claude --resume 恢复会话时依然能回溯。

自动清理

30 天后自动清理(可在设置里修改)。

重要限制

  • 只跟踪 Claude 通过文件编辑工具做的修改
  • Bash 命令(如 rmmvcp)导致的文件变化无法回溯
  • 外部手动改的文件或其它会话的改动也不在检查点里

5. 最佳实践 & 什么时候用 /rewind

大重构前

先让 Claude 改,改崩了就 Esc+Esc 直接回滚。

尝试多种方案

改完一种方案觉得不行 → 回滚到起点再试另一种。

上下文太长

用「从此处总结」把后面冗长的调试记录压成一段话,省 token。

/fork 配合

想同时保留「旧路线」和「新尝试」时,用 /rewind 回滚后再 claude --continue --fork-session 分叉新会话。

和 Git 配合

/rewind 是「本地临时撤销」,Git 才是「永久历史」。大改动后记得 git commit

6. 快捷键 & 相关命令一览

命令 / 快捷键作用
Esc + Esc打开回溯菜单
/rewind同上(别名 /checkpoint
/compact压缩整个对话(非针对性)
claude --resume恢复旧会话(检查点依然可用)

7. 参考链接