Claude Code rewindの使い方|チェックポイントで安全に巻き戻す
先に結論: Claude Codeは、プロンプトを送るたびに自動でチェックポイントを記録しており、/rewindやEscキー二度押しでコード・会話・両方を選んで巻き戻せます。ただしbashコマンドによる変更は追跡対象外なので、gitの併用が欠かせません。
Claude Codeは、プロンプトを送るたびに自動でコードの状態を「チェックポイント」として記録しており、/rewindコマンドやEscキー二度押しでいつでも過去の状態に巻き戻せます。
コードだけ・会話だけ・その両方という単位で復元範囲を選べるため、大がかりな変更を試したあとに「やっぱり元に戻したい」という場面でも安心です。本記事ではチェックポイントの仕組みから復元手順、gitとの違い、復元できないケースまでを整理します。
基本操作からおさらいしたい方は「Claude Codeの使い方完全ガイド」もあわせてご覧ください。
この記事の要点
/rewindコマンドか、入力欄が空の状態でのEscキー二度押しでチェックポイントメニューを開けます。- チェックポイントはプロンプト1件ごとに自動作成され、1セッションにつき直近100件分保持されます。
- 復元範囲は「コードと会話の両方」「会話のみ」「コードのみ」の3種類から選べます。
- チェックポイントは30日で自動削除されるセッション単位の仕組みで、gitのコミットの代わりにはなりません。
- bashコマンドによる変更やサブエージェントによる編集はrewindの追跡対象外です。
前提・動作環境
この記事はターミナル版のClaude Code(2026年8月時点の最新版)を前提にしています。バージョンは次のコマンドで確認できます。
claude --version
2.1.211 (Claude Code)
チェックポイント機能そのものは特別な設定なしで最初から有効になっており、追加のプラン契約や設定変更は不要です。
チェックポイントの仕組み: プロンプトごとに自動保存
Claude Codeは、Claudeのファイル編集ツールによる変更を作業中ずっと追跡しています。ポイントは次のとおりです。
- ユーザーが送ったプロンプト1件ごとに新しいチェックポイントが作成されます。
- Claude Codeは1セッションにつき直近100件分のチェックポイントのスナップショットを保持し、それより古いものは自動的に破棄されます。
- チェックポイントは会話データと一緒に保存されるため、セッションを再開したあとでも
/rewindを実行できます。 - チェックポイントはセッションごと30日で削除されます。保持期間は設定の
cleanupPeriodDaysで変更可能です。
{
"cleanupPeriodDays": 7
}
このように、意識しなくても作業のたびに自動で「戻れる地点」が積み上がっていく仕組みになっています。
/rewindコマンドとEsc二度押しでの呼び出し方
チェックポイントを使って巻き戻したいときは、次のどちらかの操作でrewindメニューを開きます。
/rewind
/rewindと入力する- プロンプト入力欄が空の状態でEscキーを二度押しする
入力欄に何か文字が入っている状態でEscを二度押しすると、メニューは開かずに入力内容がクリアされるだけです。クリアされた文字列は入力履歴に残るので、Upキーで呼び戻せます。
rewindメニューを開くと、そのセッション中に送った過去のプロンプトが一覧表示されます。巻き戻したい地点を選ぶと、次に行う操作を選択する画面に進みます。
復元方法の選択: コードのみ・会話のみ・両方
rewindメニューで地点を選んだあとは、復元の範囲を次から選べます。
- Restore code and conversation: コードと会話履歴の両方をその時点まで巻き戻します。
- Restore conversation: 会話履歴だけをその時点まで戻し、現在のファイルはそのまま残します。
- Restore code: ファイルの変更だけをその時点まで戻し、会話履歴はそのまま残します。
試した実装方針を残しつつコードだけ元に戻す、逆に会話の流れだけリセットしてコードは維持する、といった細かい使い分けができるのが特徴です。ただし選んだ地点以降にファイル編集が記録されていない場合、コード関連の復元メニュー自体が表示されません。その際は「Restore conversation」など会話系の選択肢のみが選べます。
gitとの関係: コミットとの違いと併用
チェックポイントは、あくまでセッション内での「その場しのぎの取り消し」を目的とした仕組みです。gitのコミットとは役割がはっきり分かれています。
- チェックポイントはセッション単位の一時的な巻き戻しであり、30日で自動的に消えます。
- gitのコミット・ブランチは恒久的な履歴とチーム間の共有のための仕組みです。
公式ドキュメントも「チェックポイントは”ローカルなundo”、gitは”恒久的な履歴”」と位置づけています。つまりチェックポイントはgitコミットの代わりにはなりません。
安定した状態になったら忘れずにgitでコミットし、rewindはそこに至るまでの試行錯誤を素早く戻す補助として使うのが実務的な使い分けです。
コミットやPR作成をClaude Codeに任せる方法は「Claude CodeでGit操作を自動化」で紹介しています。
復元できないケース: 注意点
rewindはとても便利な機能ですが、追跡対象外のケースがいくつかあります。
- bashコマンドによる変更は追跡されません。
rm・mv・cpなどのコマンドでClaude Codeが行ったファイル操作は、rewindで元に戻せません。追跡されるのはClaudeのファイル編集ツールによる直接編集だけです。 - サブエージェントによる編集もチェックポイント対象外です。バックグラウンドの
/code-review --fixやforkスキルによる変更も復元できず、元に戻すにはgitを使う必要があります(フォアグラウンドで動くforkスキルの編集は対象になります)。 - セッションの外で手動編集したファイルや、別セッションが同時に加えた変更は基本的に追跡されません。
- シンボリックリンクやハードリンク先のファイルは復元時にスキップされ、警告が表示されます。
この落とし穴に気づかず「rewindしたのに直っていない」と戸惑うケースもあるため、重要な変更の前にはgitでの記録も並行しておくと安心です。
つまずきポイント
- rewindしてもbashで消したファイルが戻らない: 前述のとおりbashコマンドによる変更は追跡対象外です。仕様どおりの動作なので、rmやmvを伴う作業の前にgitでコミットしておきましょう。
- コードの復元オプションが出てこない: 選んだ地点以降にファイル編集がない場合、コード関連の復元メニューは表示されません。会話だけの巻き戻しか、別の地点を選び直してください。
- サブエージェントの変更が消えない: バックグラウンド実行のサブエージェントやforkスキルの編集はチェックポイントに含まれません。gitのdiffやcheckoutで個別に戻す必要があります。
- シンボリックリンク先が復元されない: dotfileマネージャーで配置したシンボリックリンクやpnpmのハードリンクは復元がスキップされます。
/debugでログを有効にしてからrewindすると、スキップされたパスを確認できます。
思わぬ挙動に遭遇した場合は「Claude Codeが動かない時の対処法」もあわせて確認してください。
よくある質問
rewindで戻せる範囲はどこまでですか?
Claudeのファイル編集ツールによる変更と会話履歴が対象です。1セッションにつき直近100件分のチェックポイントが保持され、bashコマンドによる変更やサブエージェントの編集は対象外です。
/rewindとEsc二度押しはどちらを使うべきですか?
どちらも同じrewindメニューを開く操作です。キーボードから手を離したくない場合はEsc二度押し、コマンドとして明示的に呼び出したい場合は/rewindと、好みで使い分けて問題ありません。
rewindを使えばgitコミットは不要になりますか?
なりません。チェックポイントは30日で自動的に消えるセッション単位の一時的な仕組みで、恒久的な履歴管理はこれまでどおりgitに任せる必要があります。rewindは作業中の試行錯誤を素早く戻すための補助と考えてください。
まとめ
Claude Codeのチェックポイントは、プロンプトを送るたびに自動でコードの状態を記録し、/rewindやEsc二度押しでいつでも呼び出せる安全網です。コードのみ・会話のみ・両方という単位で復元範囲を選べるので、大きな変更や試行錯誤の途中でも安心して作業を進められます。
ただしbashコマンドによる変更やサブエージェントの編集は追跡対象外であり、恒久的な履歴管理としてはgitの併用が欠かせません。
基本操作は「Claude Codeの使い方完全ガイド」、gitとの連携方法は「Claude CodeでGit操作を自動化」、エラーに遭遇したときは「Claude Codeが動かない時の対処法」もあわせてご覧ください。
permissionsやSandbox、hooksと合わせた事故防止の全体像は「誤削除を防ぐ安全運用ガイド」でも整理しています。