Claudeにコードを何度も直してもらう中で「さっきの状態に戻したい」と思ったことがある人向け
Claudeにトップページやフォームを直してもらって関係ない場所まで崩れた、別案を試したいが出発点は残したい、長いデバッグ会話でClaudeの記憶を空けたい、といった場面で <code>/rewind</code> を叩いて崩れる直前の地点へ巻き戻す
Claude Codeにコードを直してもらっていると、頼んでないところまで一緒に書き換わって「あれ、おかしくなった」となる瞬間があります。そういうとき、さっきまでの状態にサッと戻すための仕組みがCheckpointingとRewindです。公式は「Claude Code automatically tracks Claude's file edits as you work」、つまり作業中のClaudeのファイル編集を自動で記録する、と説明しています。つまり、こちらが何もしなくても、編集の手前の状態が裏で記録され続けます。
戻したくなったら、巻き戻しメニューを開いて「あの地点」を選ぶだけ。これがRewind(巻き戻し)です。
噛み砕くと、編集のたびに自動で押される「セーブポイント」のこと
ゲームで進む途中にオートセーブが入って、ミスしても直前から再開できるのと同じ感覚です。Claudeがファイルをいじる前の状態が、その都度スナップ写真として残っていく。公式の言い方では「checkpointing automatically captures the state of your code before each edit」、各編集の前にコードの状態を自動でとらえる、です。
このセーブポイント1個1個がチェックポイントで、後から好きな地点を選んで戻れます。ここでひとつ大事な注意。これはあくまで今の作業中だけの巻き戻しで、Gitのような永久保存とは別物です。そこは後半の落とし穴でしっかり書きます。
大事な前提:記録されるのは「Claudeのファイル編集」だけ
勘違いしやすいのですが、これは画面で起きたこと全部を記録しているわけではありません。記録の対象は、Claudeがファイルを直接書き換えたときだけ。公式も「Only direct file edits made through Claude's file editing tools are tracked(Claudeのファイル編集ツール経由の直接編集だけが記録される)」と明言しています。
だから、後から「黒い画面の文字コマンド」でファイルを消したり動かしたりした分は記録されず、巻き戻せません。ここを最初に頭に入れておくと、後で「戻したのに戻ってない」と慌てずにすみます。
記録のルールは3つだけ覚えればいい
自動記録の挙動は、公式が箇条書きで3点に整理しています。難しくありません。
- プロンプトを送るたびに1個できる。公式は「Every user prompt creates a new checkpoint」。つまりこちらが指示を1回送るごとに、新しいセーブポイントが1個積まれます。
- セッションをまたいでも残る。「Checkpoints persist across sessions」とあり、一度会話を閉じて後から再開した会話でも、前のチェックポイントにアクセスできます。
- 30日でセッションごと自動で消える。「Automatically cleaned up along with sessions after 30 days (configurable)」。永久保存ではなく、設定で日数は変えられます。
送るたびに増えて、30日で片付く。シンプルです。
「ブログのトップページ修正」を例に、実際の巻き戻しを見る
具体的な場面で追います。自分のブログのトップページをClaude Codeに直してもらっている最中、頼んでないナビメニュー(画面上部のリンク一覧)まで変わって表示が崩れた、というよくあるやつです。
ステップ1: トップページの修正を何度か頼んでいる
「見出しの文字を大きく」「余白をもう少し」と、何回かやり取りしながらClaudeに直してもらっています。送った指示の数だけ、裏でチェックポイントが積まれている状態です。
ステップ2: 関係ないナビメニューまで変わったと気づく
確認すると、頼んでもいないのに上のメニューのリンク並びが変わって、レイアウトがおかしい。どの指示で崩れたのかは、正直その場では分かりにくいものです。
ここで初心者がやりがちなのが、慌ててClaudeに「元に戻して」と日本語でお願いすること。これでも直る場合はありますが、確実なのは記録から巻き戻す方です。
ステップ3: 入力欄が空の状態でEscを2回押す
巻き戻しメニューを開きます。開き方は2つ。/rewind と打って送るか、入力欄に何も書いていない状態で Esc を2回押すかです。公式は「Run /rewind, or press Esc twice when the prompt input is empty」と書いています。
/rewind
ここで1個落とし穴。入力欄に文字が残っていると、Esc 2回はメニューを開かず「入力を消す」動作になります。打ちかけの文章があるなら、先に送るか消してから押すのが安全です。
ステップ4: メニューから「崩れる直前のプロンプト」を選ぶ
メニューには、このセッション中に自分が送った指示が時系列で並びます。公式いわく「The rewind menu lists each prompt you sent during the session」。この中から、ナビメニューが崩れる前に送った指示を選びます。
ステップ5: アクションを選ぶ(ここで6つから選べる)
地点を選ぶと、その地点に対して何をするか聞かれます。選択肢は6つ。
- Restore code and conversation(コードと会話の両方を戻す): その地点までファイルも会話の記憶も巻き戻す
- Restore conversation(会話だけ戻す): 会話をその地点に戻し、今のコードはそのまま残す
- Restore code(コードだけ戻す): ファイルの変更だけ戻し、会話の記憶は残す
- Summarize from here(ここから後ろを要約): 選んだ地点から後ろの会話を要約に圧縮して、Claudeの記憶の空きを増やす。手前は残る
- Summarize up to here(ここまでを要約): 選んだ地点より前を要約に圧縮し、後ろのメッセージはそのまま残す
- Never mind(やめる): 何も変えずにメッセージ一覧へ戻る。キャンセル用
ステップ6: 今回は「Restore code」を選ぶ
今回直したいのはファイルの中身だけで、これまでの会話の流れは活かしたい。なので「Restore code(コードだけ戻す)」を選びます。これでトップページのファイルが崩れる前の状態に戻り、Claudeとの会話はそのまま続けられます。
「会話も一緒に巻き戻したい」なら Restore code and conversation、「コードは今のまま会話だけ戻したい」なら Restore conversation。場面で選び分けられます。
つまりCheckpointing / Rewind は何をしてくれるのか
- やってくれる: Claudeがファイルを直す前の状態を自動で記録し、後から好きな地点へ巻き戻す。コードだけ・会話だけ・両方、と戻し方も選べる
- やってくれない: 黒い画面の文字コマンドで消した・動かしたファイルの復元、自分が手で直した分の復元、永久保存。これらは対象外
- 意味が薄い場面: そもそもClaudeにファイルを編集させていない、ただ質問しているだけの会話。戻すべきファイル変更がないので出番がない
使いどころ3シナリオ
シナリオ1: 別のやり方を試したいけど、今の出発点は残したいとき
料理ブログのトップページのデザインで、A案とB案を両方試したい。まずA案を作ってもらい、気に入らなければチェックポイントで出発点に戻ってB案を試す。公式の使いどころ「Exploring alternatives(別案を試す)」がこれです。出発点を失わずに何度でも実験できます。
シナリオ2: バグを入れた・機能を壊した変更をサッと消したいとき
家計簿アプリの入力フォームを直してもらったら、保存ボタンが反応しなくなった。原因を探すより先に、壊れる前のチェックポイントへ戻すのが速い。公式の「Recovering from mistakes(ミスからの復帰)」です。直し方を考える前に、まず動いていた状態に戻せる安心感が大きいです。
シナリオ3: 長いデバッグ会話で、Claudeの記憶を空けたいとき
不具合の原因探しで会話が延々と続き、Claudeの覚えていられる量が苦しくなってきた。そんなときは途中の地点を選んで「Summarize from here(ここから後ろを要約)」。後半のやり取りを要約に圧縮して空きを作り、最初の指示はそのまま残せます。公式の「Freeing context space(記憶の空きを作る)」がこれです。
初心者が踏みやすい落とし穴
- 黒い画面の文字コマンドで変えたファイルは戻らない。
rm file.txtでファイルを消したり、mv old.txt new.txtで名前を変えたり、cp source.txt dest.txtで上書きした分は記録されません。戻るのはClaudeのファイル編集ツール経由の変更だけ。「全部巻き戻せる」と思い込むと事故ります。 - Gitの代わりにはならない。公式は「Think of checkpoints as local undo and Git as permanent history」、チェックポイントはローカルなundo、Gitは永久の履歴と考えよ、と言い切っています。長期の保存・履歴管理・チームでの共有はGit側の仕事です。
- 入力欄に文字があると Esc 2回でメニューが開かない。文字が残っていると「入力クリア」動作になります。ただ消えた文字は履歴に残るので、巻き戻しを終えた後に
Upキーで呼び戻せます。 - restore と summarize は別物。restore系は状態を巻き戻し、summarize系は会話を要約に圧縮するだけでファイルは一切戻しません。Summarizeを選んでファイルが直ると思い込まないこと。
- 自分の手動編集や別の会話での編集は基本追跡されない。今のセッションで編集したファイルが対象で、外で手で直した分や別の会話での変更は、同じファイルを巻き込んだとき以外は記録されません。
- 30日で消える。チェックポイントはセッションと一緒に30日で自動削除されます(設定で日数変更可)。永久保存ではないので、残したい節目はGit側に記録しておくのが安全です。
- /compact とは圧縮範囲が違う。
/compactは会話全体をまとめて要約しますが、Summarize from here / up to here は選んだ地点で片側だけを圧縮できます。残したい部分を細かく選べるのが違いです。
巻き戻しの本体である /rewind、その別名にあたる /checkpoint /undo の単独の使い方は /dictionary/rewind/ に、メニューを開く Esc 2回の操作そのものは /dictionary/esc-esc/ にまとめています。Summarizeで空けられる会話の量の話は /dictionary/context-window/ も合わせてどうぞ。
書き方
<code>/rewind</code>(または入力欄が空のとき <code>Esc</code> を2回)で巻き戻しメニューを開く
やってみるとこうなる
入力
/rewind
出力例
巻き戻しメニューが開き、このセッション中に送ったプロンプトが時系列で並ぶ。崩れる直前の地点を選ぶと、Restore code and conversation(コードと会話を戻す)/Restore conversation(会話だけ戻す)/Restore code(コードだけ戻す)/Summarize from here(ここから後ろを要約)/Summarize up to here(ここまでを要約)/Never mind(やめる)の6つから選ぶ
このページに出てきた言葉
- チェックポイント
- Claudeがファイルを書き換える直前の状態を記録したセーブポイント。後からその地点に戻れる
- Rewind
- 記録しておいたチェックポイントの中から好きな地点を選んで、そこまで巻き戻すこと
- セッション
- Claude Codeを起動してから閉じるまでの、ひとまとまりの会話のこと
- bashコマンド
- 黒い画面で打ち込む文字のコマンド。ファイルを消したり動かしたりもこれで行えるが、その分は巻き戻しの対象外
- undo
- 直前の操作を取り消して元の状態に戻すこと。文章ソフトの「元に戻す」と同じ
- バージョン管理
- 変更の履歴を記録・保存しておく仕組み。Gitが代表例で、節目ごとの保存やチームでの共有に使う