⚠️ 本页面连接Atovia的合作伙伴和联盟市场。通过这些链接进行的活动,我们可能会从联盟企业获得佣金。折扣优惠可能会根据政策随时变动!请放心,您不会产生任何额外费用!希望能帮助您节省寻找商品的时间!
Claude Code 会话中断后如何快速恢复:完整操作指南
- 会话默认保存在本地项目目录对应的存储路径下,关闭终端或重启电脑都不会丢失
- 最常见的场景优先使用 claude –continue 一键恢复,无需记住任何会话ID
- 跨目录或跨设备时,先确认是否在原项目目录下操作,这是恢复失败最常见的原因
为什么会话恢复对开发效率至关重要
终端意外关闭、系统重启,或者只是换了一台电脑继续昨天没做完的功能——这些情况几乎每个使用 Claude Code 的开发者都遇到过。如果每次都要重新解释项目背景、重新贴代码、重新说明已经做过的决策,时间成本非常高。好消息是,Claude Code 并不依赖终端窗口本身来保存进度:每一次对话都会被持续写入本地磁盘,所以窗口关闭、进程退出甚至电脑重启,都不会让对话记录消失。真正的问题往往不是”记录丢了”,而是”不知道用哪条命令、在哪个目录下才能找回它”。本文按照从最简单到最复杂的顺序,把所有官方支持的恢复方式整理清楚。
理解 Claude Code 的会话保存机制
Claude Code 把每一次对话称为一个会话,启动时会生成一个唯一ID,随后每一条消息、每一次工具调用都会实时追加写入到对应的记录文件中。存储路径固定为项目目录经过编码后的子文件夹,具体形式为:
~/.claude/projects/<项目路径编码>/<会话ID>.jsonl
不同项目的会话会各自归入独立的子文件夹,互不混杂。需要特别注意的是,桌面应用、网页版以及 VS Code 插件各自维护自己的一套会话历史,与命令行版本并不共用同一份记录,如果你习惯切换不同入口使用 Claude Code,要清楚在哪个入口做过哪次对话。

| 入口 | 会话是否独立存储 |
|---|---|
| 命令行 CLI | 是,存于本地 ~/.claude/projects/ |
| 桌面应用 / 网页版 / VS Code 插件 | 是,各自独立,不与 CLI 共享 |
同一目录下恢复最近会话
这是最常用、也最快的恢复方式,适合”刚关闭终端,想立刻接着刚才的对话往下做”的场景。在原来的项目目录下执行:

cd /path/to/your/projectclaude --continue
简写为 claude -c,会自动加载当前目录下最近一次的会话,无需任何交互确认。如果当前正处于一个交互会话中,也可以不退出,直接在对话框里输入 /resume,从列表里挑选切换到其他历史对话,这在需要在多个任务之间来回切换时特别方便。
如果执行 claude --continue 后发现打开的是一个全新对话而不是预期的那次,通常是因为此前曾用交互式选择器手动挑选过某个会话——这种操作不会更新用于判断”最近会话”的记录文件,下一步的排查方法会详细说明。

按会话名称或ID恢复指定历史会话
如果同一个项目下有多次对话,而”最近一次”并不是你想要的那次,就需要用到交互式选择器:
claude --resume(简写 claude -r)

🛒 推荐产品
执行后会打开一个可浏览的历史会话列表,列表内提供若干快捷键:按 Ctrl+W 可以把搜索范围扩大到同一代码仓库下的所有工作树,按 Ctrl+A 则扩大到本机上的所有项目,方便在忘记具体项目路径时定位到目标会话。
如果已经知道会话名称或会话ID,可以跳过选择器直接恢复:

claude --resume <会话名称或ID>
需要提醒的是,会话ID的查找范围被限定在启动会话时所在的项目目录及其代码仓库工作树以内。如果在完全无关的目录下尝试用ID恢复,系统会提示找不到对应对话,这并不代表会话已经损坏,只是查找范围不对。另外,通过 claude -p 或 Agent SDK 创建的会话不会出现在交互式列表中,但同样可以用会话ID直接恢复。

更换工作目录或重装环境后的注意事项
如果只是切换了项目的工作目录,在会话内部执行 /cd 命令切换目录时,当前会话会随之迁移到新目录对应的存储位置,之后在新目录下打开选择器就能看到它。但如果没有通过 /cd,而是直接在新目录下另起终端,原来的会话并不会自动出现在新目录的选择器里,这时需要回到最初创建会话的目录去恢复,或者凭会话ID尝试跨目录查找。
至于更换设备的情况,目前没有官方的自动跨设备同步机制——会话本质上是本地磁盘上的普通文件。如果确实需要在新设备上继续之前的工作,可以手动把整个存储目录复制过去,保持相同的项目路径结构,这样新设备上的 Claude Code 就能识别到这些历史记录,但这属于用户自行操作,并非产品内置的同步功能。
常见恢复失败场景与排查思路
- 确认当前所在目录,是否与会话创建时的项目目录一致
- 如果 –continue 打开的是新对话,尝试改用 –resume 交互式选择器手动挑选
- 确认使用的是同一入口(命令行、桌面应用、网页版或插件),四者历史记录互不共享
最常见的失败原因是目录不匹配:在与会话创建时不同的工作目录下执行恢复,系统通常会提示”会话无效或已过期“,但实际原因往往只是目录选错了,而不是记录文件本身损坏。另一个已知问题是:如果先用 claude --resume 交互式选择器打开过某个会话,之后再执行 claude --continue,可能无法定位到那次会话,反而开启一个全新对话——遇到这种情况,继续使用 --resume 交互式选择器手动挑选即可绕开问题。此外也有报告显示,部分情况下恢复操作虽然成功打开了会话,但此前的完整上下文并未被正确加载,表现为对话已经恢复、但内容记忆缺失,这种情况下建议尝试用 --fork-session 从存档记录重新分支出一个新会话再继续。

与手动记录进度重新开始的对比
| 对比维度 | 使用官方恢复命令 | 手动记录进度重新开始 |
|---|---|---|
| 效率 | 一条命令即可接续完整上下文 | 需要重新整理并粘贴背景信息,耗时较长 |
| 可靠性 | 依赖本地记录文件是否完整存在 | 依赖使用者笔记是否详尽准确 |
| 适用场景 | 短期中断、换终端、换工作目录等大多数场景 | 记录文件确认丢失,或需要跨设备且未提前手动迁移文件时的备用方案 |
常见问题
会话丢失后是否还能找回?
只要本地存储路径下的记录文件还存在,就可以通过会话ID恢复。文件一旦被删除或所在磁盘故障,则无法找回,建议对重要项目定期做好本地备份。

是否支持同时管理多个历史会话?
支持。可以用交互式选择器在多个会话之间切换,也可以用 –fork-session 从某个历史节点分支出新的会话,原始记录不会被覆盖。
长时间未使用后会话是否会过期?
官方文档没有给出明确固定的保留期限,记录文件理论上会一直保留在磁盘上,除非被系统清理或用户手动删除,建议对长期不用但重要的会话提前做好归档。
- Claude Code 官方文档:Sessions(code.claude.com/docs/en/sessions)
想看更多对比和选购指南吗?