如何继续 Claude Code 上一次的对话

使用 Claude Code 写代码,很多时候一次解决不了,人就需要睡觉了。

这个时候退出 Claude Code 会导致对话中断,不过官方有解决方案:

恢复之前的对话

假设你一直在使用 Claude Code 完成某个任务,希望在后续会话中继续之前的进度。

Claude Code 提供了两种恢复对话的方法:

  • --continue:自动继续最近的一次对话
  • --resume:显示对话选择器,让你挑选历史会话

1. 继续最近的对话

claude --continue

此命令立即恢复你最近的一次对话,无需任何额外操作。

2. 在非交互模式下继续

claude --continue --print "Continue with my task"

结合 --print 一起使用时,可以在非交互模式下恢复最近一次对话,非常适合脚本或自动化流程。


3. 显示对话选择器

claude --resume

该命令会弹出交互式会话选择器,你可以浏览以下信息:

  • 对话开始时间
  • 初始提示或对话摘要
  • 消息数量

使用方向键浏览,按 Enter 选择相应对话。


:light_bulb: 提示

  • 所有对话历史会本地存储在你的设备上
  • 使用 --continue 可快捷访问最近的对话
  • 使用 --resume 可选择特定历史对话进行恢复
  • 恢复时会完整显示之前的对话内容
  • 恢复的会话将继续使用原有模型和设置

工作原理

  1. 对话存储:所有对话会自动本地保存,完整保留每条消息
  2. 消息反序列化:恢复时会还原全部历史消息,保留上下文
  3. 工具状态:之前使用过的工具和结果一同恢复
  4. 上下文恢复:恢复后对话环境完全一致

示例

# 继续最近的一次对话
claude --continue

# 带特定输出继续最近对话
claude --continue --print "Show me our progress"

# 显示对话选择器
claude --resume

# 非交互模式继续最近对话
claude --continue --print "Run the tests again"

比如:

claude --continue --print "显示当前进程"
根据当前 git 状态,我们的进展如下:

**已完成工作:**
- ✅ 增强地理位置功能和用户体验优化(已提交)
- ✅ 创建协作开发协议 CLAUDE.md

**当前修改中:**
- 🔄 MapView.swift:81行变更
- 🔄 ViewModel.swift:188行变更(大量增强)

**状态:**
- 2个文件待提交
- 在 master 分支
- 本地有未暂存的修改

需要我查看具体的修改内容,或者你想继续某个特定任务?

Screen-20250824150225@2x.png

1 个赞