- チェックポイント(rewind)は、会話履歴とClaude Codeが編集したファイルを、過去のある時点まで一緒に戻す機能です。起動は「Escキーを2回」または「/rewind」です
- 復元オプションは3つ。コードと会話の両方/会話のみ/コードのみから選べます。方針転換のやり直しは「両方」が基本です
- 戻せるのはClaude Codeの編集ツールによる変更まで。bashで加えた変更・実行済みコマンド・外部送信・コミット済みの変更は戻りません。gitと併用する前提で使います
01Claude Codeのチェックポイント(巻き戻し)とは?
チェックポイントは、Claude Codeが会話の各ターンで自動的に記録する「その時点の状態」です。rewind(巻き戻し)を使うと、選んだチェックポイントまで、会話履歴とClaude Codeが編集したファイルをまとめて戻せます。ポイントは、ファイルだけでなく会話の文脈も一緒に戻る点です。ファイルを手で元に戻しても、AI側は書き換えたつもりのまま話を続けてしまい噛み合わなくなりますが、rewindはそのズレごと巻き戻します。
使いどころは、「途中で方針がずれた」「頼んでいない範囲まで編集された」「一括変更で予期しない挙動になった」ときのやり直しです。gitのコミットよりも細かい、プロンプト1ターン単位で戻せるのが特徴で、コミットとコミットのあいだの試行錯誤を安全に行うための機能といえます。まず全体像を図で示します。
Claude Code自体の基本操作や安全な進め方はClaude Codeプランモードの使い方でも解説しています。プランモードで実行前に方針を固め、rewindで失敗を戻す、という組み合わせが実務では効果的です。
02チェックポイントの起動方法|Escキー2回と/rewind
起動方法は2つあります。プロンプト入力欄が空の状態でEscキーを2回連続で押すか、入力欄に /rewind と打ってEnterを押します。どちらでも、これまでのチェックポイントが時系列で並ぶ対話型メニューがターミナル内に開きます。
メニューには、送信したプロンプトや、それに伴って変更されたファイル数、追加・削除された行数などが並びます。矢印キーで戻したい時点まで移動し、Enterで確定します。あとは復元の種類を選ぶだけです。操作自体は数十秒で終わるため、失敗に気づいたらまず落ち着いて開く、という初動が身につくと手戻りが小さくなります。
# 入力欄が空の状態で Esc Esc (Escキーを2回) # または入力欄で /rewind
033つの復元オプションの違い【コード・会話・両方】
rewindで時点を選ぶと、復元の種類を3つから選べます。戻す対象が「コード」「会話」「その両方」で分かれます。方針をやり直したいなら両方を選ぶのが基本です。
| オプション | 戻すもの | 向いている場面 |
|---|---|---|
| Restore code and conversation | ファイル変更と会話履歴の両方 | 方針がずれた・大きくやり直したい(基本はこれ) |
| Restore conversation | 会話履歴のみ(ファイルは今のまま) | コードは活かし、会話の文脈だけ整理し直したい |
| Restore code | ファイル変更のみ(会話は残す) | 会話の流れは保ちつつ、編集だけ戻したい |
迷ったときは「Restore code and conversation」が安全です。ファイルの内容とAIが覚えている文脈が同じ時点にそろうため、戻したあとの指示が噛み合いやすくなります。会話だけ・コードだけの復元は、片方を意図的に残したい上級者向けの使い分けと考えておくとよいです。
04チェックポイントで巻き戻せるもの・戻せないものは?
ここが最も誤解の多い部分です。rewindが戻すのは、あくまでClaude Codeの編集ツールによるファイル変更と会話履歴までです。それ以外の副作用は戻りません。この線引きを知らないと、「巻き戻したのに状態が元に戻っていない」と混乱します。表で整理します。
| 戻るもの | 戻らないもの |
|---|---|
| Claude Codeの編集ツールによるファイル変更 | bashコマンドで加えたファイル変更(記録されない) |
| Claude Codeが新規作成したファイル | エディタでの手動編集 |
| コミット前のgit変更 | すでに実行したコマンドの結果(npm installなど) |
| 会話履歴・コンテキスト | 外部への送信・API呼び出し・DBの変更・push/deploy |
とくに注意したいのは、bashコマンド経由の変更はチェックポイントに記録されないため、rewindでは戻せない点です。ファイルを書き換える作業は、なるべくClaude Codeの編集ツールに寄せておくと、rewindの安全網に載せられます。外部への送信やデータベースの変更、コミット済みの内容は、rewindの範囲外なので、gitや各サービス側の手順で戻す前提にしておきます。この「戻せない操作をそもそも実行前に止める」観点では、Numbatとは?Perplexityのエージェント監視ツールの使い方のような実行前ブロックの層と組み合わせると、安全網がより厚くなります。
05rewindとfork・gitの違いと使い分けは?
やり直しの手段はrewindだけではありません。似た操作にfork(分岐)やEscキー1回相当の直前取り消し、そしてgitがあります。それぞれ役割が違うので、場面で選び分けます。
| 手段 | 何をする | 向いている場面 |
|---|---|---|
| rewind | 会話とコードを過去の時点まで戻す(現在の状態を置き換える) | 方針がずれた・失敗を素早く戻したい |
| /fork | 現在のセッションを分岐し、別案を並行で試す(元は残す) | 2つの設計を比べたい・元を消したくない |
| git(commit/revert) | 変更を永続的に記録・復元する | 長期の履歴管理・チームでの共有 |
rewindは現在の状態を置き換えるのに対し、forkは分岐して元をそのまま残します。素早い修復ならrewind、2案を比較したいならfork、という切り分けが分かりやすいです。そしてrewindはあくまでコミットとコミットのあいだの安全網であり、gitの代わりにはなりません。重要な変更の前にはコミットを切っておき、その内側の試行錯誤をrewindで支える、という二段構えが基本です。
06【実践】LP制作・自動運用でチェックポイントを安全網にする
ここからは編集部の実務に寄せた使い方です。LP制作でClaude Codeにコンポーネントをまとめて作らせるときや、社内タスクを半自動で回すときほど、rewindを前提にした運用にしておくと事故のダメージが小さくなります。ポイントは、rewindが戻せる範囲に作業を寄せることと、戻せない操作の前に区切りを打つことです。
具体的な流れはこうです。LPのセクションを1つ作らせ、表示を確認して問題なければコミットします。次のセクションで方針がずれたら、慌てて手で直さずにEsc2回でrewindを開き、直前のコミット直後の状態まで「コードと会話」を戻して、指示を出し直します。手で直すと会話の文脈がずれてAIが混乱しますが、rewindなら前提ごとそろうため、やり直しが一度で済みます。
# 実務での基本ループ # 1. 1機能ぶん作らせる → 表示確認 # 2. OKならコミット(rewindの外に保存) git add -A && git commit -m "section: hero done" # 3. 次の作業で方針がずれたら Esc Esc (rewindを開く → 直前の良かった時点を選ぶ) # 「Restore code and conversation」で会話ごと戻す # 4. 戻せない操作(push/deploy/外部送信)はコミット後に手動で
自動運用でエージェントを無人で走らせる場合は、rewind(失敗を戻す)だけでなく、そもそも致命的な操作を実行前に止める層を足しておくと安心です。実行前ブロックの考え方はNumbatの使い方で、コミット前の脆弱性チェックはClaude Securityとはでまとめています。rewindを「起きた失敗の巻き戻し」、これらを「起きる前の防止」として組み合わせると、無人運用でも守りが厚くなります。
07これまでのやり直し(git・手動undo)と何が違う?
rewindが登場する前は、やり直しはgitのreset/stashや、エディタのundo(Cmd+Z)が中心でした。これらとrewindの違いは、会話の文脈まで一緒に戻せるかどうかにあります。表で整理します。
| 項目 | これまで(git・手動undo) | チェックポイント(rewind) | 実務での意味 |
|---|---|---|---|
| 会話の文脈 | コードだけ戻り、AIの前提がずれる | 会話とコードを同じ時点に戻せる | 戻した後の指示が噛み合う |
| 操作 | gitコマンドやエディタ操作が必要 | Esc2回で対話メニューから選ぶ | コミット前の細かいやり直しが速い |
| 粒度 | コミット単位 | プロンプトのターン単位 | 1手ずつピンポイントで戻せる |
| 保持期間 | gitの履歴は永続 | 30日で自動削除 | 長期保存はgit併用が前提 |
| 対象範囲 | 全ファイル | Claude Codeの編集ツールの変更のみ | bash変更や外部副作用は別管理 |
この仕様差から、アウトプット(日々のやり直しの手間)はこう変わると想定されます。方針がずれたときの復旧が、「コードを戻す」と「AIに前提を説明し直す」の二度手間から、rewind一度で済むようになると考えられます。とくに会話が長く積み上がったセッションほど、文脈のズレを直す手間が省ける効果が大きいと見込めます。ここでの手間の増減は編集部の運用実感に基づく想定で、環境により差が出る点は明記しておきます。
08チェックポイントが使えない・巻き戻せないときの対処は?
rewindを使ったのに戻らない、という場合、多くは「そもそもrewindの対象外の変更だった」ことが原因です。切り分けと対処を整理します。
まず、bashコマンドで書き換えたファイルはチェックポイントに記録されないため、rewindでは戻りません。この場合はgitで戻します。コミット前ならファイルをチェックアウトし直し、コミット済みなら該当コミットをrevertします。次に、外部への送信やデータベースの変更、push・deployは、rewindの範囲外です。これらはClaude Code側では戻せないので、各サービスの手順やgitのリモート操作で対処します。最後に、チェックポイントは30日で自動削除されるため、それ以前の状態には戻れません。長期で残したい状態は、その都度コミットして永続化しておきます。要するに、rewindはセッション内の短期的な安全網であり、越える範囲はgitと各サービスで受け持つ、という役割分担で運用します。
09チェックポイントに関するよくある質問(FAQ)
/rewind と入力してEnterを押します。どちらでもチェックポイントの一覧メニューが開きます。10まとめ:rewindは安全網、区切りはコミットで
チェックポイント(rewind)を使いこなす要点は、「会話とコードを同時に戻せる短期の安全網」と割り切り、越える範囲はgitと実行前の防止策に任せることです。失敗に気づいたら、手で直す前にEsc2回でメニューを開き、直前の良かった時点まで「コードと会話」を戻して指示し直す——この初動が身につくと、長いセッションでも落ち着いてやり直せます。編集はなるべくClaude Codeの編集ツールに寄せ、機能単位でコミットを切り、push・deployのような戻せない操作は実行前に止める設計にしておきましょう。
あわせて、実行前に危険な操作を止めるNumbatの使い方、実装前に方針を固めるClaude Codeプランモードの使い方、日々の操作を効率化する非エンジニアのClaude Codeスラッシュコマンド12選もご覧ください。
11出典
- Anthropic Claude Code 公式ドキュメント(rewind / checkpoints)
- 編集部によるClaude Codeでの実操作(Esc2回・/rewind・3つの復元オプションの挙動確認)