AIエージェント

Claude Codeの巻き戻し機能、チェックポイントの復元範囲

この記事のポイント

  • Claude Codeのチェックポイントはセッション中のファイル変更を戻すための記録です。
  • 会話要約だけを戻す操作と、コードの変更も戻す操作は別々に選べます。
  • 対象外の操作やファイルもあるため、共同作業や長期履歴にはGitを併用します。

Claude Codeの公式ドキュメントから、チェックポイントによる復旧を紹介します。保存される変更と、別の履歴管理が必要な範囲を整理します。

チェックポイントは何を、いつ保存しているのか

Claude Codeは、プロンプトが新しい「ターン」を始めるたびに、そのときのコードの状態を自動でチェックポイントとして保存します。特別な操作は不要で、普段どおり使うだけで記録が積み上がる仕組みです。公式ドキュメントによると、保存はセッション内の直近100件までで、古いものは自動整理されます(各ファイルの「最初のスナップショット」はVS Code拡張機能の差分表示の基準として残り続けます)。会話データと一緒に保存されるため/resumeで再開後も/rewindが使え、ファイルスナップショットは最後の保存からおよそ30日後に自動クリーンアップされます(設定のcleanupPeriodDaysで延長可)。

巻き戻し方法:/rewindコマンドとEscキー2回

/rewindと入力するか、入力欄が空の状態でEscキーを素早く2回押すと巻き戻しメニューが開きます(文字が残っていると、Esc2回は入力のクリア扱いになります)。送った各プロンプトが一覧表示され、戻りたいポイントを選ぶと次のアクションから選べます。

  • Restore code and conversation:コードと会話を両方戻す
  • Restore conversation:会話だけ戻し、コードは現状のまま
  • Restore code:ファイルの変更だけ取り消す
  • Summarize from/up to here:選んだ時点の前後どちらかの会話を要約して圧縮する

コードを戻す選択肢は、チェックポイント以降に実際にファイルの変更があった場合だけ表示されます。要約はディスク上のファイルには影響せず、元のメッセージも履歴に残ります。

コードと会話から戻す対象を選んで巻き戻す仕組み

巻き戻せないもの:知っておきたい制限

公式ドキュメントは、巻き戻しが効かないケースもはっきり示しています。「なんでも元に戻せる」わけではない点は、使う前に押さえておきたいところです。

ケース 内容
Bashコマンド rmやmvなど経由の操作は追跡対象外
サブエージェントの編集 復元されない(forkスキルの編集は追跡される)
セッション外の変更 通常対象外だが、現セッションと同じファイルなら取り込まれることも

このほか、同じターンに合流したメッセージや、シンボリックリンク先のファイルも巻き戻しの対象外です。

公式ドキュメントは、チェックポイントをセッション内の復旧用と位置づけ、恒久的な履歴管理や共同作業には引き続きGitを使うよう説明しています。

出典・参考資料:Checkpointing。

まとめ:セッション復旧とGitの履歴を使い分ける

Claude Codeを使う開発者には、試行中の復旧とチームで残す履歴を分けることが重要です。巻き戻し対象外の操作を把握し、変更前に復旧方法を確かめるとよいでしょう。チェックポイントがあることを、大きな変更を無条件に任せる理由にはできません。

著者プロフィール

アバター画像

馬渡 徹郎 / Tetsuro Mawatari ホームページ

AI新規サービス開発や大手企業のAIエージェント導入支援をしています。