Skip to content

Claude Code 的 Checkpoints(会话快照)功能为每次操作自动保存完整工作进度,让你在探索、实验和对比多种方案时无需担心“破坏现有成果”。通过 Esc+Esc 快捷键或 /rewind 命令,你可以随时回退到任意历史节点,并灵活选择恢复代码、对话或生成摘要。Checkpoints 是安全实验、A/B 测试和错误恢复的核心利器,极大提升了 Claude Code 的开发效率与容错体验。

Claude Code Checkpoints 使用指南:保存会话快照,安全探索多种方案

在 AI 编程与交互过程中,开发者最担心的莫过于“试错成本”——一旦尝试新思路失败,如何快速回到安全状态?Claude Code 的 Checkpoints(快照/检查点)功能,正是为了解决这一问题而设计。它会自动为每一次用户操作、对话、代码修改生成快照,让你可以像游戏存档一样,随时回退、分支、对比多种实现方案,无需担心当前成果被破坏。

Checkpoints 核心原理与价值

Checkpoints 是对 Claude Code 会话状态的完整快照,包含:

  • 所有历史消息(对话内容)
  • 文件修改记录(代码变更)
  • 工具/命令使用历史
  • 当前上下文环境

这意味着你不仅能恢复到某一时刻的代码,还能找回当时的所有对话和操作背景。这对于探索多种实现、A/B 测试、调试、快速恢复错误等场景极为有用。和传统的版本控制(如 git)不同,Checkpoints 关注的是“AI 协作过程中的全局状态”,而不只是代码文件本身。

如果你刚接触 Claude Code,建议先阅读 Claude Code 完全入门:从安装到掌握核心功能 了解整体工作流,再深入理解 Checkpoints 的用法。

如何访问和管理 Checkpoints

Claude Code 提供了两种主流方式访问快照浏览器:

1. 快捷键方式

按下 Esc 两次(即 Esc+Esc),即可快速打开 Checkpoints 管理界面,浏览所有历史快照。

2. Slash 命令方式

在对话输入框输入 /rewind/checkpoint(两者等价),也能唤起快照浏览器:

bash
/rewind
# 或
/checkpoint

这两种方式适用于任何时刻,无需手动保存,Claude Code 已自动为你记录下每一步操作。

5 种 Rewind(回退)选项详解

在选择某个历史快照后,系统会弹出 5 个回退选项,满足不同需求:

  1. 恢复代码和对话
    同步还原到该快照时的代码和全部会话内容,彻底回到历史状态。

  2. 仅恢复对话
    只回退对话内容,代码保持当前最新状态,适合保留代码实验结果但重置上下文。

  3. 仅恢复代码
    只还原代码文件,保留完整对话历史,适合代码回退但不丢失沟通记录。

  4. 从此处生成摘要
    用 AI 自动总结该节点之后的所有对话,原始消息仍保留在底层 transcript,节省上下文窗口,适合长会话压缩。

  5. 取消操作
    放弃回退,继续当前工作。

这种灵活的回退机制,让你可以针对不同场景,选择最合适的恢复方式。

Checkpoints 的自动化与持久性

  • 自动生成:每次用户输入、操作都会自动创建快照,无需手动保存。
  • 持久保存:快照会跨会话保留,最长可保存 30 天,系统会自动清理过期记录,避免存储膨胀。
  • 可配置:在设置中可通过 autoCheckpoint 开关控制是否自动生成快照(默认开启)。
json
{
  "autoCheckpoint": true
}

典型工作流与实战案例

Checkpoints 让你可以大胆实验、轻松对比和安全回退。以下是常见场景及操作流程:

1. 多方案探索与 A/B 测试

plaintext
1. 提出需求 → 自动生成快照 A
2. 实现方案 1 → 自动生成快照 B
3. 回退到快照 A(Esc+Esc)→ 实现方案 2 → 自动生成快照 C
4. 对比 B、C,选择最佳方案

2. 安全重构与错误恢复

plaintext
1. 当前状态 → 自动生成快照
2. 大幅重构、实验
3. 测试失败 → Esc+Esc 回退到重构前快照,安全恢复

3. UI/UX 设计迭代

plaintext
1. 设计 A → 快照
2. 回退 → 设计 B → 快照
3. 回退 → 设计 C
4. 对比多种设计,选定最佳

4. 长会话摘要压缩

当对话过长导致 Claude 上下文窗口接近极限时(可用 cc-context-stats 实时监控),可用“从此处生成摘要”功能,自动压缩历史内容,释放上下文空间,避免模型输出质量下降。

Checkpoints 与 Git 的协作

Checkpoints 不是代码版本管理的替代品,而是“AI 协作过程的快照”。最佳实践是:

  • 用 Checkpoints 进行快速实验、方案对比、调试
  • 关键成果用 git commit 固化,保证代码可审计、可回溯
  • 建议在 git 操作前也创建快照,便于快速恢复到关键节点
对比项GitCheckpoints
作用范围文件系统会话+代码+上下文
持久性永久30 天内自动清理
粒度手动提交每步自动快照
恢复速度较慢即时
可共享性较弱(本地为主)

Checkpoints 的局限与注意事项

  • 不追踪外部文件系统变更:如在外部终端执行 rmmv 等 bash 命令,Checkpoints 无法捕捉。
  • 不替代 git:Checkpoints 仅适合快速实验和恢复,代码的长期保存、协作和审计仍需依赖 git。
  • 不追踪外部编辑器变更:在 Claude Code 外部编辑的内容不会被快照记录。

实用技巧与最佳实践

  • 大胆实验:有 Checkpoints 兜底,任何方案都可放心尝试。
  • 善用回退选项:根据实际需求选择恢复代码、对话或生成摘要。
  • 定期清理:无需手动管理,系统自动清理 30 天前快照。
  • Slash CommandsHooks 等功能结合,实现更高效的 AI 编程工作流。

典型问题与故障排查

  • 找不到预期快照?
    检查是否开启 autoCheckpoint,或快照已被自动清理。

  • 回退失败?
    可能存在未保存的冲突变更,或快照已损坏,可尝试回退到其他节点。

  • 快照未追踪到外部变更?
    需在 Claude Code 内部完成关键操作,外部变更建议用 git 管理。

真实案例参考

  • 数据库迁移多方案对比:先实现直接迁移,测试失败后回退,改用双写方案,最终选定最优实现。
  • 性能优化 A/B 测试:多种优化策略反复回退、对比,最终组合出最佳性能方案。
  • UI 设计快速迭代:不同布局反复切换、对比,选定最优界面。

更多场景可参考下方 FAQ 和 Claude Code Slash Commands 完整参考:55+ 内置命令 + 自定义技能

FAQ

Q: Checkpoints 会自动保存吗?需要手动操作吗?
A: 完全自动,每次用户输入或操作都会生成快照,无需手动保存。

Q: 如何快速回退到历史节点?
A: 按 Esc+Esc 或输入 /rewind 命令,选择目标快照和恢复方式即可。

Q: Checkpoints 能替代 git 吗?
A: 不能。Checkpoints 适合临时实验和恢复,代码长期管理、协作仍需 git。


通过 Checkpoints,你可以在 Claude Code 中无忧探索、对比和恢复各种方案,让 AI 编程变得更高效、更安全、更有创造力。