Claude Code の変更を巻き戻す方法:チェックポイントと /rewind で戻せる範囲

結論

  • 公式ドキュメントによると、Claude Code は Claude のファイル編集ツールによる変更を自動で追跡し、/rewind で以前の状態へ戻せます。
  • 戻す対象はコード・会話・その両方から選べ、会話を要約してコンテキストウィンドウの空きを確保する操作もあります。
  • Bash コマンド、サブエージェント、Claude Code の外での変更などは戻せない場合があり、Git の代わりにはなりません。

チェックポイントで何ができるか

公式ドキュメントによると、Claude Code(Anthropic 社が提供する、ターミナルで動く AI コーディングエージェント)は、作業中の Claude のファイル編集を自動で追跡します。作業が思わぬ方向に進んでも、変更を取り消して以前の状態へ戻せます。

仕組みは、ターンを開始するプロンプトを送るたびに、その直前のコードの状態をチェックポイントとして記録するというものです。公式ドキュメントには次の点が書かれています。

  • ターンを開始するプロンプトごとに、新しいチェックポイントが作られます。
  • ファイルのスナップショットは、1セッションで直近 100 件のチェックポイント分が保持されます。
  • チェックポイントは会話と一緒に保存されるため、セッションを再開した後でも /rewind を実行できます。
  • セッションのスナップショットは、既定では最後に保存されてから約 30 日後の掃除処理で削除されます。スナップショットが消えたチェックポイントへ戻そうとすると No files were restored で失敗することがあります。長く残したい場合は cleanupPeriodDays を設定します。

出典: Checkpointing

/rewind の開き方と選べる操作

/rewind を実行するか、プロンプト入力が空の状態で Esc を2回押すと、巻き戻しメニューが開きます。入力欄に文字がある場合は、2回押しても入力が消えるだけでメニューは開きません。消えた文字は入力履歴に保存されるので、メニューでの作業後に Up で呼び戻せます。

メニューにはセッション中に送ったプロンプトが並びます。作業の対象にしたい地点を選び、次の操作から選びます。

  • Restore code and conversation:コードと会話の両方をその時点に戻します。
  • Restore conversation:現在のコードを残したまま、そのメッセージの時点へ会話を戻します。
  • Restore code:会話を残したまま、ファイルの変更を元に戻します。
  • Summarize from here:この地点以降の会話を要約に圧縮し、コンテキストウィンドウの空きを確保します。
  • Summarize up to here:この地点より前の会話を要約に圧縮し、後ろのメッセージはそのまま残します。
  • Never mind:何も変更せずメッセージ一覧に戻ります。

コードを戻す2つの選択肢は、選んだチェックポイントに戻せる追跡済みのファイル変更がある場合だけ表示されます。その地点以降にファイル編集が記録されていなければ、メニューには Restore conversation、要約の2つ、Never mind だけが出ます。

会話を戻した後や Summarize from here を選んだ後は、選んだメッセージの元のプロンプトが入力欄に戻るため、再送も編集もできます。

出典: Checkpointing

会話の要約と /clear 前への復帰

Summarize up to here を選ぶと、会話の末尾に移り、入力欄は空になります。どちらの要約でも、圧縮された位置に Summarized conversation という目印が表示されます。

要約はディスク上のファイルを変更せず、元のメッセージもセッションの記録に残るため、Claude は詳細を参照できます。要約の重点を指定するには、矢印キーで Summarize の選択肢を強調し、add context (optional) と表示された行に指示を入力して Enter を押します。番号キーで選ぶと、指示なしですぐに要約します。

要約は同じセッションの中でコンテキストを圧縮するもので、狙いを絞った /compact のようなものです。元のセッションを残したまま別の方法を試したい場合は、/branch か claude --continue --fork-session を使うよう公式ドキュメントは案内しています。

/clear の前の会話に戻る

同じ Claude Code のプロセスで先に /clear を実行していると、巻き戻しメニューの先頭に /resume <session-id> (previous session) という項目が加わります。選ぶと /clear 前の会話を再開でき、Claude Code を終了するか別のセッションを再開するまで使えます。

出典: Checkpointing

戻せないもの・注意点

公式ドキュメントには、次の制限が書かれています。社内で使う前に把握しておきたい点です。

Bash コマンドによる変更

チェックポイントは、Bash コマンドで変更されたファイルを追跡しません。たとえば Claude Code が次のコマンドを実行した場合です。

rm file.txt
mv old.txt new.txt
cp source.txt dest.txt

これらの変更は rewind で取り消せません。追跡されるのは、Claude のファイル編集ツールによる直接の編集だけです。

サブエージェントの編集

サブエージェントも Claude のファイル編集ツールで編集しますが、通常、その編集はセッションのチェックポイントに記録されません。戻るかどうかは実行方法によります。

  • context: fork のスキルをフォアグラウンドで動かした場合は、利用者自身のターン中に作業ツリーを編集するため、通常どおり戻せます。フォークをフォアグラウンドで動かすには background: false を設定します。設定にかかわらずフォアグラウンドになる状況もあり、詳細はスキルのページに記載されています。
  • それ以外のサブエージェントの編集は戻りません。Git で戻します。既定のバックグラウンドで動くフォークスキルや、バックグラウンドの /code-review --fix も含まれます。

外部の変更とリンク

追跡するのは現在のセッション内で編集されたファイルだけです。Claude Code の外での手作業の変更や、同時に動く別セッションの編集は、通常は記録されません。ただし、現在のセッションと同じファイルを変更した場合は別です。

シンボリックリンクやハードリンクのファイルは戻りません。Restore code などを選ぶと、該当パスをスキップして Restored the code, but skipped N files の警告が出て、スキップされたファイルは現在の内容のままです。dotfile マネージャがリンクする設定ファイルや、pnpm がハードリンクで置くファイルが該当します。どのパスがスキップされるかは、復元前に /debug でデバッグログを有効にすると確認できます。

作業中に送ったメッセージ

Claude の作業中に入力したメッセージは、メニューで No code restore と表示されることがあります。チェックポイントはターンを開始するプロンプトに対して作られるためです。そのファイル変更を戻すには、ターンを開始したプロンプトを選んで Restore code か Restore code and conversation を選びます。メッセージ送信前の編集も含め、そのターン全体が戻ります。

出典: Checkpointing

社内で使うときの判断ポイント

公式ドキュメントでは、チェックポイントは素早いセッション単位の復旧向けで、恒久的な履歴や共同作業には、コミット・ブランチ・長期履歴のために Git などのバージョン管理を使い続けるよう述べています。向いている場面として、次が挙げられています。

  • 別の実装方法を、出発点を失わずに試す
  • バグや不具合を招いた変更を素早く取り消す
  • 動く状態に戻せる前提で、機能のバリエーションを試す
  • 長いデバッグ会話を途中から要約し、最初の指示を残したままコンテキストの空きを作る

執筆時点(2026年10月)の公式ドキュメントに基づく内容です。保持期間や表示名は変わる可能性があるため、社内に配る前に公式ドキュメントで確認してください。

出典: Checkpointing

よくある質問

Claude Code が Bash の rm で消したファイルは /rewind で戻せますか?

戻せません。公式ドキュメントによると、チェックポイントは Bash コマンドで変更されたファイルを追跡せず、追跡されるのは Claude のファイル編集ツールによる直接の編集だけです。

出典: Checkpointing

セッションを再開した後でも /rewind は使えますか?

使えます。チェックポイントは会話と一緒に保存されます。ただし、スナップショットは既定では最後の保存から約 30 日後に削除され、消えていると No files were restored で失敗することがあります。長く残すには cleanupPeriodDays を設定します。

出典: Checkpointing

コードはそのままで、会話だけを前の時点に戻せますか?

Restore conversation を選ぶと、現在のコードを残したまま、選んだメッセージの時点へ会話を戻せます。反対にコードだけ戻すなら Restore code です。

出典: Checkpointing

関連する無料ツール

Claude Code つまずき早見表: Windows で Claude Code を使うときに起きやすい症状を、原因と対処で引ける早見表です。

参考(執筆時点)

この記事は、上の出典の内容を中小DXラボが要約・再構成したものです。仕様は変わることがあります。社内で使う・配る前に、公式ドキュメントで最新の情報を確認してください。