中断、后台运行与检查点回退

空输入时连按两次 Esc,是这个工具唯一的后悔药入口——而多数人从来没触发过它。附一条它救不了你的重要例外。

约 8 分钟

三件事,按用到的频率排序:怎么叫停、怎么让它在后台跑、怎么退回去。

一、叫停:Esc

发现方向不对,立刻按 Esc。不要等它做完。

Esc 会停下当前的回复或工具调用,已经完成的部分会保留。你可以直接接一句纠正它,不用从头再来。

这是最该养成的习惯。 看着它往错的方向走还等它跑完,浪费的是你的额度和时间。

几个相关的键:

按什么 效果
Esc 中断它;如果有对话框打开,则是关掉对话框
Ctrl + C 中断;没有正在跑的东西时,清空输入框
Ctrl + C 再按一次 退出 Claude Code

二、后台:Ctrl + B

一件事要跑很久,你不想干等——Ctrl + B 把它转到后台,终端交回给你,继续做别的。

/tasks 查看和管理后台在跑的东西。

有些事会自动转后台

shell 命令跑超时了不会失败,会自动移到后台继续跑。 默认超时是两分钟。

你会看到类似这样一行:

Command did not complete within its 120s timeout and was moved to the background

这是正常行为,不是错误。

一个例外:以 sleep 开头的命令永远不会自动转后台。

后台任务的几条限制

输出超过 5 GB 会被终止
Claude Code 退出时 自动清理
子代理开的后台命令 60 分钟后终止

三、退回去:空输入时连按两次 Esc

这是这一节的重点,也是最少人知道的功能。

输入框是空的时候,连按两次 Esc,会打开回退菜单。

如果输入框里有字,双 Esc 是清空输入(清掉的内容会存进历史,按 能找回来)。

它是怎么工作的

你每发一条消息,它就自动存一个检查点。 你不需要做任何事。

菜单里的六个选项

选中某一个历史消息之后:

选项 做什么
恢复代码和对话 文件和对话一起退回到那时候
只恢复对话 对话退回去,文件保持现状
只恢复代码 文件退回去,对话保留
从这里往后总结 把这个点之后的对话压成摘要,腾出上下文空间
总结到这里为止 把这个点之前的压成摘要,后面的原样保留
算了 什么都不做

「只恢复对话」很有用但容易被忽略。 它适合这种情况:文件改对了,但你和它绕了很多弯路,对话里堆满了废话。保留成果,清掉过程。

如果那个检查点没有文件改动,两个「恢复代码」的选项不会出现。

也可以用 /rewind

效果一样。它还能直接带参数:/rewind 5 会原地把第 5 段总结掉。

存多久

  • 保留最近 100 个检查点
  • 和会话一起,30 天后删除
  • 关掉再 --resume 回来,检查点还在

五条限制,第一条最重要

① 用命令删掉的东西,救不回来

只有它用「编辑文件」这类工具做的改动才被跟踪。

它跑 rmmvcp 造成的改动,检查点里没有。回退救不了。

这一条必须记住。 它意味着:

官方自己的说法是:把检查点当成本地撤销,把 Git 当成永久历史。

② 子代理改的东西,不会被恢复

子代理的改动落在你这个会话的检查点之外。要撤销只能用 Git。

③ 外部改动不跟踪

你自己手动改的、别的会话改的,都不在里面——除非正好和这个会话改了同一批文件。

④ 符号链接跳过

如果某个文件是符号链接或硬链接,恢复时会跳过它,并提示「Restored the code, but skipped N files」。被跳过的文件保持现状。

⑤ 它不能代替版本管理

这是把前四条合起来的结论。

一个实际的用法

把回退当成「便宜的试错」,而不是「出事之后的补救」。

具体做法:

  1. 想试一个不确定的改法,直接试
  2. 结果不满意,Esc → 恢复代码和对话
  3. 换个说法再来一次

这比「先想清楚再动手」高效。 试一次的成本被压到几秒钟,那就该多试几次。

前提是那件事在检查点的覆盖范围内——也就是上面那五条限制之外。涉及删除和移动文件的操作,先 Git 提交一次再动手。

顺手提一句:Ctrl + O

Ctrl + O 打开完整记录视图,能看到它每一步具体调了什么工具、传了什么参数。

排查「它到底做了什么」的时候用这个,比问它更可靠。

本节事实查证日期:2026-08-05。 依据:官方 CheckpointingInteractive mode

← 回到手册目录