Appearance
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 个回退选项,满足不同需求:
恢复代码和对话
同步还原到该快照时的代码和全部会话内容,彻底回到历史状态。仅恢复对话
只回退对话内容,代码保持当前最新状态,适合保留代码实验结果但重置上下文。仅恢复代码
只还原代码文件,保留完整对话历史,适合代码回退但不丢失沟通记录。从此处生成摘要
用 AI 自动总结该节点之后的所有对话,原始消息仍保留在底层 transcript,节省上下文窗口,适合长会话压缩。取消操作
放弃回退,继续当前工作。
这种灵活的回退机制,让你可以针对不同场景,选择最合适的恢复方式。
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 操作前也创建快照,便于快速恢复到关键节点
| 对比项 | Git | Checkpoints |
|---|---|---|
| 作用范围 | 文件系统 | 会话+代码+上下文 |
| 持久性 | 永久 | 30 天内自动清理 |
| 粒度 | 手动提交 | 每步自动快照 |
| 恢复速度 | 较慢 | 即时 |
| 可共享性 | 强 | 较弱(本地为主) |
Checkpoints 的局限与注意事项
- 不追踪外部文件系统变更:如在外部终端执行
rm、mv等 bash 命令,Checkpoints 无法捕捉。 - 不替代 git:Checkpoints 仅适合快速实验和恢复,代码的长期保存、协作和审计仍需依赖 git。
- 不追踪外部编辑器变更:在 Claude Code 外部编辑的内容不会被快照记录。
实用技巧与最佳实践
- 大胆实验:有 Checkpoints 兜底,任何方案都可放心尝试。
- 善用回退选项:根据实际需求选择恢复代码、对话或生成摘要。
- 定期清理:无需手动管理,系统自动清理 30 天前快照。
- 与 Slash Commands、Hooks 等功能结合,实现更高效的 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 编程变得更高效、更安全、更有创造力。