Logo Vincent
返回文章列表

Claude Code /resume 命令详解:别让对话白聊

Claude
Claude Code /resume 命令详解:别让对话白聊

为什么需要 /resume

用 Claude Code 的时候,你经常会遇到这种情况:

  • 写到一半,要去开会,退出了 Claude Code
  • 第二天回来,想接着昨天的进度继续
  • 同时在搞好几个功能,需要在不同的对话之间切换

如果每次都重新开一个对话,问题就来了:之前聊过的上下文全没了。 Claude Code 不知道你昨天做了什么、讨论了哪些方案、排除了哪些思路。你得重新描述一遍背景,重新让它理解代码——白白浪费 token 和时间。

这就是 /resume 的用武之地。

/resume 是什么

/resume 是 Claude Code 的内置斜杠命令,用来恢复之前的对话会话。

在交互模式下输入:

/resume

会弹出一个交互式会话列表,显示你最近的所有对话。每条记录包括:

  • 对话摘要
  • 消息条数
  • 所在的 git 分支
  • 时间戳

选一个,回车,之前的对话上下文就全部恢复了——包括聊天记录、工具调用结果、代码修改历史,一切都在。

几种恢复方式

Claude Code 提供了多种恢复对话的方式,适合不同场景:

在交互模式内切换

/resume

不需要退出当前会话,直接在对话中输入 /resume,选择要恢复的会话即可。

启动时恢复上一次对话

claude --continue
# 或简写
claude -c

直接恢复上一次的对话,不弹选择器。适合”昨天下班退出了,今天来接着干”的场景。

启动时选择恢复

claude --resume
# 或简写
claude -r

弹出会话选择器,让你挑选要恢复哪个对话。

恢复指定会话

claude --resume abc123

如果你知道会话 ID,可以直接指定。

恢复某个 PR 关联的会话

claude --from-pr 123

恢复跟某个 Pull Request 关联的对话,在 code review 场景下很实用。

会话选择器的操作

会话选择器不只是一个简单的列表,还有一些快捷操作:

按键功能
A切换显示范围:当前目录 / 所有项目
B按当前 git 分支过滤
R重命名选中的会话
P预览选中的会话内容

对话存在哪里

所有对话都自动保存在本地,不需要你手动操作:

~/.claude/projects/<项目路径编码>/xxx.jsonl

每个项目有自己的文件夹,里面每个 .jsonl 文件就是一个完整的对话记录,包含所有消息、工具调用和输出结果。

对话不会过期——无论是昨天的还是上个月的,只要文件还在,就能恢复。

实际使用场景

场景一:跨天的大功能开发

你在开发一个复杂功能,第一天完成了数据模型和 API 层,第二天要继续做前端。

# 第二天回来
claude -c

Claude Code 恢复昨天的上下文,记得你做了什么、遇到了什么问题、选了哪些方案。直接说”继续做前端部分”就行。

场景二:多任务并行

你同时在搞三个功能,分别在不同的对话里进行。

/resume

在选择器里按 B 过滤当前分支,快速找到对应的对话。

场景三:code review 接力

同事提了一个 PR,你昨天看了一半,今天接着看。

claude --from-pr 42

直接恢复跟这个 PR 相关的对话上下文。

实用技巧

技巧一:给会话起个好名字

默认的会话名是自动生成的摘要,不一定好找。在选择器里按 R 可以重命名:

feature-auth-module
bugfix-login-redirect
refactor-database-layer

起个有意义的名字,后续找起来方便很多。

技巧二:及时用 /clear 分段

不要把所有工作都堆在一个会话里。完成一个任务后,用 /clear 清理上下文,开始新的任务。这样每个会话的主题清晰,恢复的时候也好找,还能减少上下文过长导致的幻觉问题。

技巧三:—continue 加参数直接干活

claude -c "继续做前端部分"

恢复上一次对话的同时直接发一条消息,省去一步交互。

技巧四:长会话注意质量

虽然对话可以无限恢复,但上下文太长时,Claude Code 的回答质量可能下降——信息太多容易”走神”。如果发现回答开始不靠谱,考虑用 /clear 开一个新会话,把关键上下文重新同步一遍。

/resume vs 重新开始

/resume重新开始
上下文完整保留从零开始
token 消耗历史上下文会占用 token初始消耗少
适合接续未完成的任务全新的独立任务
风险上下文过长可能降低质量需要重新描述背景

两种方式各有适用场景。未完成的任务用 /resume,全新的任务直接开一个新对话。

写在最后

/resume 解决的问题很简单:让你的对话不白聊。

用 Claude Code 做开发,不可能一口气把所有事情做完。中间总会被打断——开会、下班、切任务。没有 /resume,每次回来都得重新建立上下文,浪费 token 也浪费时间。

有了它,Claude Code 就像一个能”记住进度”的搭档。你可以随时离开,随时回来,接着上次的进度继续。

一个命令,让每一轮对话都有价值。

© 2026 vincentqiao.com . 保留所有权利。