チェックポイントと巻き戻し
- チェックポイントが何を捉え、そして何を暗黙のうちに捉えないのかを理解する
- 巻き戻しメニューを2通りの方法で開き、毎回適切な復元アクションを選ぶ
- 「復元」(状態を元に戻す)と「要約」(コンテキストを圧縮する)を区別する
- チェックポイントが Git を補完しても決して置き換えない理由を正確に知る
核心となる考え方
野心的で大規模な変更を Claude に任せるとき、最も恐ろしい問いは「3回編集を進めたところで失敗したらどうしよう?」というものです。チェックポイントがその答えです。Claude Code は各編集の前にコードを自動でスナップショットするため、中途半端なリファクタリングを手作業でほどく代わりに、以前のどの状態にも巻き戻せます。
これをセッション全体のローカルな取り消しだと考えてください — 「よし、思い切ったアプローチを試そう」と恐れずに言えるセーフティネットです。
チェックポイントの作られ方
チェックポイントは自分で作るものではありません — 自動的に発生します。
- 各ユーザープロンプトは、Claude のファイル編集ツールが実行される前のコードの状態を捉えます。コマンドも、設定も、手続きも不要です。
- チェックポイントは会話の終了と再開をまたいで残るため、ライブなセッションだけでなく、再開したセッションでも巻き戻せます。
- チェックポイントは、対応するセッションとともに30日後(設定可能)に削除されます。これはセッションレベルのリカバリであって、アーカイブではありません。
巻き戻しメニューを開く
入る方法は2通りあります。
- プロンプトからスラッシュコマンドを入力します。常に機能します。
- ダブル Esc は、プロンプトボックスが空のときに巻き戻しメニューを開きます。テキストが入っている場合、ダブル Esc は代わりにそのテキストを消去します(消去されたテキストは入力履歴に保存されるので、後で上矢印を押せば取り戻せます)。
Open the rewind menu
/rewind
メニューには今回のセッションで送信したすべてのプロンプトが一覧表示されます。操作したいポイントを選び、1つのアクションを選択します。
復元 vs. 要約: 決定的な違い
ここで人は混乱します。メニューは2種類のアクションを提供します。
- 復元アクションはディスク上および/または会話内の状態を変更します — 元に戻します。
- 要約アクションはファイルには一切触れません — 会話を圧縮してコンテキストウィンドウの空きを作ります。
- 復元 = 取り消し(コード、会話、またはその両方を元に戻す)。要約 = コンテキストの圧縮(ディスク上のファイルは手つかず)。
- 編集が何かを壊したときは復元を使う。セッションが肥大化しているがコードは問題ないときは要約を使う。
復元アクション
- ファイルとチャット履歴の両方を選択したポイントまで元に戻します — その瞬間へのきれいな「時間の巻き戻し」です。
- チャットをそのメッセージまで巻き戻しつつ、現在のコードは保持します。残しておきたい編集を失わずに質問をやり直すのに便利です。
- ファイルの変更を元に戻しつつ、会話は保持します。編集を取り消し、それについての議論は残します。
会話を復元した後(または「ここから要約」を選んだ後)、選択したメッセージの元のプロンプトが入力欄に戻されるので、再送信したり編集したりできます。
要約アクション
どちらも会話の一部を AI 生成の要約に圧縮します — 選択したメッセージのどちら側を絞り込むかを選べるピンポイントな /compact のようなものです。
- 選択したメッセージより前のメッセージはそのまま残ります。選択したメッセージとそれ以降のすべてが要約になります。初期のコンテキストを詳細なまま保ちつつ、脇道の議論を切り捨てるのに使います。
- 選択したメッセージより前のメッセージが要約になり、選択したメッセージとそれ以降はそのまま残ります。あなたは会話の末尾に留まります。最近の作業をそのまま保ちつつ、初期のセットアップのやり取りを圧縮するのに使います。
いずれの場合も元のメッセージはセッションのトランスクリプトに残るため、Claude は引き続き詳細を参照できます。要約が何に焦点を当てるかを誘導する任意の指示を入力することもできます。
フロー全体については Context Management を参照してください — /compact が広い刷毛なら、/rewind の要約アクションはメスです。
/clear を越えた巻き戻し
同じ Claude Code プロセス内で先に /clear を実行していた場合、巻き戻しメニューの先頭に追加のエントリ /resume <session-id> (previous session) が表示されます。これを選択すると、/clear の前にアクティブだった会話に戻ります。
チェックポイントが及ばないところ — 痛手となる限界
チェックポイントは、そうでなくなるまでは魔法のように感じられます。3つのギャップが重要です。
- Claude が実行するシェルコマンド — rm、mv、cp、コードジェネレーター、フォーマッター — で触れられたファイルは追跡されません。チェックポイント化されるのは Claude のファイル編集ツールを通じた直接の編集だけです。rm で削除されたファイルは、巻き戻しにとっては消えたも同然です。
- Claude Code の外であなたが行う手作業の編集や、他の並行セッションからの編集は、通常は捉えられません — ただし、現在のセッションが編集したのと同じファイルにたまたま触れた場合を除きます。
- チェックポイントは素早いローカルなリカバリです。コミットでもブランチでもなく、チームと共有できるものでもありません。
チェックポイント vs. Git: 両方使う
両者は異なる問題を解決するので、組み合わせて使いましょう。
チェックポイント (/rewind) | Git | |
|---|---|---|
| 範囲 | 1つのセッション | プロジェクト履歴全体 |
| 粒度 | プロンプト単位、自動 | コミット単位、意図的 |
| bash による変更を追跡する? | いいえ | はい(ステージ/コミットすれば) |
| 存続期間 | 約30日、その後消える | 恒久的 |
| 共有可能 / 共同作業向き | いいえ | はい |
| メンタルモデル | 「ローカルな取り消し」 | 「恒久的な履歴」 |
- リスクの高い大規模な実行の前に、Git で動作する状態をコミットしておく — それが耐久性のある土台になります。
- コミットの合間の素早いセッション内リカバリには /rewind を使い、Git の履歴を汚さないようにしましょう。
- Claude が破壊的な bash(rm/mv)やジェネレーターを実行するなら、Git に頼りましょう — 巻き戻しではそれらのファイルは救えません。
いつ使うべきか
- 思い切った実装を試し、気に入らなければコードと会話を分岐点まで復元して別の案を試します。
- 3プロンプト前の編集がバグを混入させた? 残骸をデバッグする代わりに、その直前までコードを復元しましょう。
- 既知の良好な状態が /rewind ひとつで戻せると分かった上で、バリエーションを試します。
- 冗長なデバッグの寄り道がコンテキストウィンドウを食い潰した? 中間点から先を要約し、元の指示を詳細なまま保ちましょう。
Check yourself
0/3- チェックポイントは自動的な、プロンプトごとのコードのスナップショット — セッション全体のローカルな取り消しで、約30日間保持されます。
- 巻き戻しメニューは /rewind または空の入力欄でのダブル Esc で開き、送信したすべてのプロンプトを一覧します。
- 復元アクションは状態(コード、会話、またはその両方)を元に戻し、要約アクションはコンテキストを圧縮してファイルには決して触れません。
- bash による、外部の、そして並行の変更は追跡されません — 直接のファイルツール編集だけが追跡されます。
- チェックポイントは Git を補完するもので、置き換えるものではありません。「ローカルな取り消し」対「恒久的で共有可能な履歴」と考えましょう。
次へ
- Context Management —
/compact、/clear、そして要約がより大きな全体像にどう収まるか - Plan Mode — 編集が実行される前に計画を調べて承認し、巻き戻しの頻度を減らす
- Permissions — 野心的なタスクを安全に実行するためのもう半分