使用 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 选择相应对话。
提示
- 所有对话历史会本地存储在你的设备上
- 使用
--continue可快捷访问最近的对话 - 使用
--resume可选择特定历史对话进行恢复 - 恢复时会完整显示之前的对话内容
- 恢复的会话将继续使用原有模型和设置
工作原理
- 对话存储:所有对话会自动本地保存,完整保留每条消息
- 消息反序列化:恢复时会还原全部历史消息,保留上下文
- 工具状态:之前使用过的工具和结果一同恢复
- 上下文恢复:恢复后对话环境完全一致
示例
# 继续最近的一次对话
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 分支
- 本地有未暂存的修改
需要我查看具体的修改内容,或者你想继续某个特定任务?
