チェックポイントは、Claude Code セッションの会話状態を保存し、過去の地点へ巻き戻すための機能である。複数のアプローチを比較したい場合、ミスから復旧したい場合、代替案を見比べたい場合に大きな威力を発揮する。

概観

チェックポイントを使うと、会話状態を保存して過去の地点に戻れるため、安全に試行錯誤と複数アプローチの探索ができる。チェックポイントは会話状態のスナップショットであり、以下を含む:

別アプローチの試行、ミスからの復旧、代替案の比較といった場面で威力を発揮する。

主要な概念

概念 説明
Checkpoint(チェックポイント) メッセージ・ファイル・コンテキストを含む会話状態のスナップショット
Rewind(巻き戻し) 過去のチェックポイントへ戻り、それ以降の変更を破棄する操作
Branch Point(分岐点) 複数のアプローチを試すための起点となるチェックポイント

チェックポイントへのアクセス

チェックポイントへアクセス・管理する主な方法は 2 つある。

キーボードショートカット

Esc キーを 2 回(Esc + Esc)押すと、チェックポイントインターフェイスが開き、保存済みチェックポイントを参照できる。

スラッシュコマンド

すばやくアクセスしたい場合は /rewind コマンド(エイリアス:/checkpoint)を使う:

# 巻き戻しインターフェイスを開く
/rewind

# またはエイリアスを利用
/checkpoint

巻き戻しオプション

巻き戻しを実行すると、5 つのオプションメニューが表示される:

  1. Restore code and conversation -- 指定したチェックポイントの状態にファイルとメッセージの両方を戻す
  2. Restore conversation -- メッセージのみ巻き戻し、現在のコードはそのまま残す
  3. Restore code -- ファイル変更のみ戻し、会話履歴は完全に維持する
  4. Summarize from here -- そこ以降の会話を AI 生成のサマリに圧縮し、コンテキストウィンドウを解放する。選択点より前のメッセージはそのまま残る。ディスク上のファイルは変更されない。元のメッセージはセッショントランスクリプトに保存される。サマリを特定のトピックに絞るための指示を任意で与えられる。
  5. Never mind -- 操作をキャンセルし、現在の状態に戻る

注意: 会話を復元または要約した後、選択したメッセージの元のプロンプトが入力欄に復元され、再送信や編集ができる状態になる。

自動チェックポイント

Claude Code は自動でチェックポイントを作成する:

これにより、数分前から数日前まで、会話のどの時点へも巻き戻せる。

ユースケース

シナリオ ワークフロー
アプローチの探索 保存 → 案 A を試す → 保存 → 巻き戻し → 案 B を試す → 比較
安全なリファクタリング 保存 → リファクタリング → テスト → 失敗なら巻き戻し
A/B テスト 保存 → 設計 A → 保存 → 巻き戻し → 設計 B → 比較
ミスからの復旧 問題に気づく → 直前の良好な状態へ巻き戻し

チェックポイントの利用

一覧表示と巻き戻し

Esc を 2 回押すか /rewind を実行するとチェックポイントブラウザが開く。タイムスタンプ付きの一覧から好きなチェックポイントを選ぶと、その状態に巻き戻る。

チェックポイントの詳細

各チェックポイントには以下が表示される:

実用例

例 1: 別アプローチを試す

User: Let's add a caching layer to the API

Claude: I'll add Redis caching to your API endpoints...
[Makes changes at checkpoint A]

User: Actually, let's try in-memory caching instead

Claude: I'll rewind to explore a different approach...
[User presses Esc+Esc and rewinds to checkpoint A]
[Implements in-memory caching at checkpoint B]

User: Now I can compare both approaches

例 2: ミスからの復旧

User: Refactor the authentication module to use JWT

Claude: I'll refactor the authentication module...
[Makes extensive changes]

User: Wait, that broke the OAuth integration. Let's go back.

Claude: I'll help you rewind to before the refactoring...
[User presses Esc+Esc and selects the checkpoint before the refactor]

User: Let's try a more conservative approach this time

例 3: 安全な試行錯誤

User: Let's try rewriting this in a functional style
[Creates checkpoint before experiment]

Claude: [Makes experimental changes]

User: The tests are failing. Let's rewind.
[User presses Esc+Esc and rewinds to the checkpoint]

Claude: I've rewound the changes. Let's try a different approach.

例 4: アプローチの分岐

User: I want to compare two database designs
[Takes note of checkpoint - call it "Start"]

Claude: I'll create the first design...
[Implements Schema A]

User: Now let me go back and try the second approach
[User presses Esc+Esc and rewinds to "Start"]

Claude: Now I'll implement Schema B...
[Implements Schema B]

User: Great! Now I have both schemas to choose from

チェックポイントの保持期間

Claude Code はチェックポイントを自動管理する:

ワークフローパターン

探索のための分岐戦略

複数アプローチを試すとき:

1. 初期実装 → チェックポイント A
2. アプローチ 1 を試す → チェックポイント B
3. チェックポイント A に巻き戻し
4. アプローチ 2 を試す → チェックポイント C
5. B と C の結果を比較
6. 最良案を選んで継続

安全なリファクタリングのパターン

大きな変更を加えるとき:

1. 現状 → チェックポイント(自動)
2. リファクタリング開始
3. テスト実行
4. 成功 → 続行
5. 失敗 → 巻き戻して別案を試す

ベストプラクティス

チェックポイントは自動作成されるため、状態保存を意識せず作業に集中できる。ただし以下のポイントは押さえておくとよい。

チェックポイントを効果的に使う

やる:

やらない:

設定

チェックポイントは Claude Code の組み込み機能で、有効化のための設定は不要である。ユーザー入力のたびにチェックポイントが自動生成される。

チェックポイントに関連する唯一の設定は cleanupPeriodDays で、セッションとチェックポイントの保持期間を制御する:

{
  "cleanupPeriodDays": 30
}

v2.1.117 のアップデート: cleanupPeriodDays がチェックポイントだけでなく、ディスク上の 4 種類のキャッシュの保持期間を統合的に制御するようになった:

1 つの設定で 4 つのディレクトリが同じ日数で一律に整理される。

制限事項

チェックポイントには次の制限がある:

トラブルシューティング

チェックポイントが見つからない

問題: 期待したチェックポイントが存在しない

対処法:

巻き戻しに失敗する

問題: チェックポイントへ巻き戻せない

対処法:

Git との連携

チェックポイントは git を補完するが、置き換えるものではない:

項目 Git チェックポイント
範囲 ファイルシステム 会話 + ファイル
永続性 永続的 セッション単位
粒度 コミット単位 任意の地点
速度 比較的遅い 即時
共有 限定的

両者を組み合わせて使う:

  1. 試行錯誤にはチェックポイントを使う
  2. 確定した変更には git コミットを使う
  3. git 操作の前にチェックポイントを作成する
  4. 良好なチェックポイントの状態を git にコミットする

クイックスタートガイド

基本ワークフロー

  1. 普通に作業する - Claude Code が自動でチェックポイントを作成
  2. 戻りたくなったら - Esc を 2 回押すか /rewind を使う
  3. チェックポイントを選ぶ - リストから巻き戻し先を選択
  4. 復元対象を選ぶ - コードと会話、会話のみ、コードのみ、要約、キャンセルから選択
  5. 作業を続ける - 選んだ時点に戻った状態で再開

キーボードショートカット

いつ巻き戻すかを知る:コンテキスト監視

チェックポイントで戻ることはできるが、いつ戻るべきかをどう判断するか。会話が長くなるにつれて Claude のコンテキストウィンドウは消費され、モデル品質は静かに劣化する。気づかないうちに半盲状態のモデルからコードを受け取っているかもしれない。

cc-context-stats は、Claude Code のステータスバーにリアルタイムの コンテキストゾーン を追加してこの問題を解決する。コンテキストウィンドウのどの位置にいるかを追跡し、Plan(緑、計画とコーディングが安全)から Code(黄、新しい計画は始めない)、Dump(橙、まとめて巻き戻す)まで段階表示する。ゾーンが切り替わったら、劣化した出力で押し切らずチェックポイントから新しく始めるべきタイミングだとわかる。

関連概念

追加リソース

まとめ

チェックポイントは Claude Code の自動機能で、作業を失う恐れなく安全にさまざまなアプローチを試せる。ユーザー入力のたびに新しいチェックポイントが作られるため、セッションのどの時点へも戻れる。

主な利点:

注意:チェックポイントは git の代わりにはならない。試行錯誤にはチェックポイント、永続的なコード変更には git を使う。


最終更新: 2026 年 4 月 24 日 Claude Code バージョン: 2.1.119 出典: