【Bug已解决】Session resume fails / --continue not working — Claude Code 会话恢复失败解决方案 【Bug已解决】Session resume fails / --continue not working — Claude Code 会话恢复失败解决方案1. 问题描述使用claude --continue或claude --resume恢复之前的会话时失败# --continue 无法恢复 $ claude --continue Error: No previous session found # 或 Error: Session file corrupted # --resume 找不到会话 $ claude --resume Error: No sessions available to resume # 恢复后上下文丢失 $ claude --continue # 恢复了但之前的对话历史全部消失 # 或恢复后无法正常工作 $ claude --resume abc-123 Error: Invalid session ID这个问题在以下场景中特别常见会话文件被删除或损坏不同工作目录的会话不共享/clear 后会话状态异常多终端操作导致会话冲突Claude Code 升级后会话格式变化磁盘空间不足导致会话写入失败2. 原因分析核心原理拆解claude --continue → 查找最近的会话文件 ↓ 文件不存在/损坏/格式不兼容/不同目录 ↓ 无法恢复会话原因分类表原因分类具体表现占比会话文件删除被清理或误删约 30%目录不匹配--continue 查找当前目录约 25%文件损坏JSON 格式错误约 20%版本不兼容升级后格式变化约 10%磁盘不足写入失败约 10%多终端冲突同时操作同一会话约 5%3. 解决方案方案一检查会话文件是否存在最推荐# 步骤 1查看会话目录 ls -la ~/.claude/sessions/ # 步骤 2查看当前目录的会话 ls -la ~/.claude/sessions/$(pwd | tr / _)/ # 步骤 3如果会话文件存在但损坏 # 检查 JSON 格式 python3 -m json.tool ~/.claude/sessions/*/session-*.json # 步骤 4如果有会话文件 # 使用 --resume session-id claude --resume session-id方案二在正确的工作目录恢复# 步骤 1--continue 查找当前目录的会话 # 必须在同一目录中恢复 cd /path/to/project # 原来使用 claude 的目录 claude --continue # 步骤 2如果不确定目录 # 查看所有会话 ls ~/.claude/sessions/ # 步骤 3在每个目录中尝试 cd /project1 claude --continue cd /project2 claude --continue方案三使用 --resume 指定会话 ID# 步骤 1列出所有可用会话 claude --resume --list # 或 ls ~/.claude/sessions/ # 步骤 2使用特定会话 ID 恢复 claude --resume abc123-def456 # 步骤 3如果不知道会话 ID # 在原目录中使用 --continue方案四修复损坏的会话文件# 步骤 1找到损坏的会话文件 find ~/.claude/sessions/ -name *.json -exec python3 -m json.tool {} \; 21 | grep -B1 Error # 步骤 2尝试修复 JSON # 手动修复或删除损坏的文件 rm ~/.claude/sessions/*/session-corrupted.json # 步骤 3如果部分损坏 # 提取可读部分 cat ~/.claude/sessions/*/session-*.json | python3 -c import sys, json try: data json.load(sys.stdin) print(json.dumps(data, indent2)) except: print(File is corrupted) 方案五手动保存和恢复上下文# 步骤 1在退出前手动保存关键信息 将我们的讨论总结保存到 docs/session-summary.md # 步骤 2退出 /exit # 步骤 3新会话中引用保存的文件 claude 参考 docs/session-summary.md 继续之前的工作方案六处理版本不兼容# 步骤 1如果 Claude Code 升级后会话格式变化 # 旧会话可能无法恢复 # 这是正常的需要开始新会话 # 步骤 2如果需要旧会话内容 # 降级 Claude Code 查看旧会话 npm install -g anthropic-ai/claude-code旧版本 claude --continue # 导出需要的信息 npm install -g anthropic-ai/claude-codelatest4. 各方案对比总结方案适用场景推荐指数难度方案一检查文件排查⭐⭐⭐⭐⭐低方案二正确目录目录问题⭐⭐⭐⭐⭐低方案三--resume ID指定会话⭐⭐⭐⭐⭐低方案四修复文件文件损坏⭐⭐⭐中方案五手动保存预防⭐⭐⭐⭐⭐低方案六版本兼容升级后⭐⭐⭐中5. 常见问题 FAQ5.1 --continue 和 --resume 的区别--continue恢复当前目录最近的会话不需要指定 ID--resume id恢复指定 ID 的会话5.2 会话文件存储在哪里~/.claude/sessions/目录下按工作目录分类存储。5.3 为什么要同一目录才能 --continue--continue查找当前工作目录关联的最近会话。不同目录的会话不共享。5.4 会话文件保留多久取决于配置和磁盘清理。默认不自动删除但可能被手动清理或磁盘清理工具删除。5.5 /clear 后能 --continue 吗/clear清空当前上下文但可能保留会话文件。--continue可能恢复到 /clear 前的状态也可能不行取决于实现。5.6 如何永久保存会话内容将关键信息写入文件 将对话总结保存到 docs/decisions.md文件比会话更持久。5.7 多终端能恢复同一会话吗不建议。多终端同时恢复同一会话可能导致冲突。一个终端使用 --continue另一个开新会话。5.8 Claude Code 升级后旧会话能恢复吗通常可以但如果会话格式发生变化则不能。升级前将重要信息保存到文件。5.9 如何列出所有会话ls ~/.claude/sessions/ # 或 claude --resume --list5.10 排查清单速查表□ 1. ls ~/.claude/sessions/ 检查会话文件 □ 2. 在原工作目录执行 claude --continue □ 3. claude --resume id 指定会话恢复 □ 4. python3 -m json.tool 验证会话文件格式 □ 5. 删除损坏的会话文件 □ 6. 退出前将关键信息保存到文件 □ 7. 不要在多终端恢复同一会话 □ 8. 升级前备份重要会话 □ 9. 磁盘空间不足时清理旧会话 □ 10. 版本不兼容时降级查看旧会话6. 总结根本原因会话恢复失败最常见原因是会话文件被删除30%和目录不匹配25%--continue 查找当前目录最佳实践在原工作目录执行claude --continue或使用claude --resume session-id指定会话预防措施退出前将关键讨论内容保存到文件 保存总结到 docs/summary.md文件比会话更持久文件检查使用python3 -m json.tool验证会话文件格式损坏的文件需要删除最佳实践建议养成将会话成果写入文件的习惯——不要依赖--continue恢复因为会话文件可能被清理或升级后不兼容故障排查流程图flowchart TD A[会话恢复失败] -- B[ls ~/.claude/sessions/ 检查文件] B -- C{会话文件存在?} C --|否| D[文件被删除, 无法恢复] C --|是| E[在原目录执行 --continue] D -- F[开始新会话, 引用之前保存的文件] E -- G{恢复成功?} G --|是| H[✅ 问题解决] G --|否| I[检查 JSON 格式] I -- J{格式正确?} J --|否| K[删除损坏文件] J --|是| L[使用 --resume id] K -- F L -- M{恢复成功?} M --|是| H M --|否| N[检查版本兼容性] N -- O{最近升级过?} O --|是| P[降级查看旧会话] O --|否| Q[检查磁盘空间] P -- R[导出信息后升级回来] Q -- S[清理旧会话释放空间] R -- H S -- F