メインコンテンツまでスキップ

チェックポイントと巻き戻し

中級
What you'll learn
  • チェックポイントが何を捉え、そして何を暗黙のうちに捉えないのかを理解する
  • 巻き戻しメニューを2通りの方法で開き、毎回適切な復元アクションを選ぶ
  • 「復元」(状態を元に戻す)と「要約」(コンテキストを圧縮する)を区別する
  • チェックポイントが Git を補完しても決して置き換えない理由を正確に知る

核心となる考え方

野心的で大規模な変更を Claude に任せるとき、最も恐ろしい問いは「3回編集を進めたところで失敗したらどうしよう?」というものです。チェックポイントがその答えです。Claude Code は各編集の前にコードを自動でスナップショットするため、中途半端なリファクタリングを手作業でほどく代わりに、以前のどの状態にも巻き戻せます。

これをセッション全体のローカルな取り消しだと考えてください — 「よし、思い切ったアプローチを試そう」と恐れずに言えるセーフティネットです。

チェックポイントの作られ方

チェックポイントは自分で作るものではありません — 自動的に発生します。

Guided walkthrough1 of 3
  1. 各ユーザープロンプトは、Claude のファイル編集ツールが実行される前のコードの状態を捉えます。コマンドも、設定も、手続きも不要です。

巻き戻しメニューを開く

入る方法は2通りあります。

Guided walkthrough1 of 2
  1. プロンプトからスラッシュコマンドを入力します。常に機能します。

Open the rewind menu

/rewind

メニューには今回のセッションで送信したすべてのプロンプトが一覧表示されます。操作したいポイントを選び、1つのアクションを選択します。

復元 vs. 要約: 決定的な違い

ここで人は混乱します。メニューは2種類のアクションを提供します。

  • 復元アクションはディスク上および/または会話内の状態を変更します — 元に戻します。
  • 要約アクションはファイルには一切触れません — 会話を圧縮してコンテキストウィンドウの空きを作ります。
Watch out
  • 復元 = 取り消し(コード、会話、またはその両方を元に戻す)。要約 = コンテキストの圧縮(ディスク上のファイルは手つかず)。
  • 編集が何かを壊したときは復元を使う。セッションが肥大化しているがコードは問題ないときは要約を使う。

復元アクション

Guided walkthrough1 of 3
  1. ファイルとチャット履歴の両方を選択したポイントまで元に戻します — その瞬間へのきれいな「時間の巻き戻し」です。

会話を復元した後(または「ここから要約」を選んだ後)、選択したメッセージの元のプロンプトが入力欄に戻されるので、再送信したり編集したりできます。

要約アクション

どちらも会話の一部を AI 生成の要約に圧縮します — 選択したメッセージのどちら側を絞り込むかを選べるピンポイントな /compact のようなものです。

Guided walkthrough1 of 2
  1. 選択したメッセージより前のメッセージはそのまま残ります。選択したメッセージとそれ以降のすべてが要約になります。初期のコンテキストを詳細なまま保ちつつ、脇道の議論を切り捨てるのに使います。

いずれの場合も元のメッセージはセッションのトランスクリプトに残るため、Claude は引き続き詳細を参照できます。要約が何に焦点を当てるかを誘導する任意の指示を入力することもできます。

フロー全体については Context Management を参照してください — /compact が広い刷毛なら、/rewind の要約アクションはメスです。

/clear を越えた巻き戻し

同じ Claude Code プロセス内で先に /clear を実行していた場合、巻き戻しメニューの先頭に追加のエントリ /resume <session-id> (previous session) が表示されます。これを選択すると、/clear の前にアクティブだった会話に戻ります。

チェックポイントが及ばないところ — 痛手となる限界

チェックポイントは、そうでなくなるまでは魔法のように感じられます。3つのギャップが重要です。

Guided walkthrough1 of 3
  1. Claude が実行するシェルコマンド — rm、mv、cp、コードジェネレーター、フォーマッター — で触れられたファイルは追跡されません。チェックポイント化されるのは Claude のファイル編集ツールを通じた直接の編集だけです。rm で削除されたファイルは、巻き戻しにとっては消えたも同然です。

チェックポイント vs. Git: 両方使う

両者は異なる問題を解決するので、組み合わせて使いましょう。

チェックポイント (/rewind)Git
範囲1つのセッションプロジェクト履歴全体
粒度プロンプト単位、自動コミット単位、意図的
bash による変更を追跡する?いいえはい(ステージ/コミットすれば)
存続期間約30日、その後消える恒久的
共有可能 / 共同作業向きいいえはい
メンタルモデル「ローカルな取り消し」「恒久的な履歴」
Pro tip
  • リスクの高い大規模な実行の前に、Git で動作する状態をコミットしておく — それが耐久性のある土台になります。
  • コミットの合間の素早いセッション内リカバリには /rewind を使い、Git の履歴を汚さないようにしましょう。
  • Claude が破壊的な bash(rm/mv)やジェネレーターを実行するなら、Git に頼りましょう — 巻き戻しではそれらのファイルは救えません。

いつ使うべきか

Guided walkthrough1 of 4
  1. 思い切った実装を試し、気に入らなければコードと会話を分岐点まで復元して別の案を試します。

Check yourself

0/3
  1. Claude が bash コマンドで `rm config.old.json` を実行し、それを取り戻したいとします。`/rewind` で復元できますか?
  2. コードは問題ないのに、長いデバッグの寄り道がコンテキストウィンドウを埋めてしまいました。どのアクションが適していますか?
  3. チェックポイントはどのように作られますか?
Checkpoints & rewind vocabulary
Enter キーまたはスペースキーでカードを裏返します。左右の矢印キーでカードを移動できます。用語を表示しました。
1 / 5
Key takeaways
  • チェックポイントは自動的な、プロンプトごとのコードのスナップショット — セッション全体のローカルな取り消しで、約30日間保持されます。
  • 巻き戻しメニューは /rewind または空の入力欄でのダブル Esc で開き、送信したすべてのプロンプトを一覧します。
  • 復元アクションは状態(コード、会話、またはその両方)を元に戻し、要約アクションはコンテキストを圧縮してファイルには決して触れません。
  • bash による、外部の、そして並行の変更は追跡されません — 直接のファイルツール編集だけが追跡されます。
  • チェックポイントは Git を補完するもので、置き換えるものではありません。「ローカルな取り消し」対「恒久的で共有可能な履歴」と考えましょう。

次へ

  • Context Management/compact/clear、そして要約がより大きな全体像にどう収まるか
  • Plan Mode — 編集が実行される前に計画を調べて承認し、巻き戻しの頻度を減らす
  • Permissions — 野心的なタスクを安全に実行するためのもう半分