Claude Codeで変更を元に戻す方法:/rewind・Esc+Esc・gitまで全手順解説【2026年最新】
室谷Claude Codeを使ってて、「あ、やばい、さっきの変更に戻したい」ってなったこと、みなさんも絶対ありますよね。MYUUUのエンジニアでも最初は困ってたんですよね・・・
テキトー教師ありますあります。講座でもよく聞かれるんですが、「Ctrl+Zで戻せないんですか?」って聞いてくる受講生さんが多くて。
ターミナルのCLIツールだから普通のアンドゥが効かない、というのが最初のつまずきポイントですね。
ターミナルのCLIツールだから普通のアンドゥが効かない、というのが最初のつまずきポイントですね。
室谷そうなんですよね。でもClaude Codeには意外とちゃんと「戻す」仕組みが整ってて、使いこなすと全然怖くないんですよ。
今回はその全メソッドを整理してみましょうか。
今回はその全メソッドを整理してみましょうか。
テキトー教師この記事を読むと、「/rewind」「Esc+Esc」「ccundo」「git」という4つのアプローチの使い分けが全部わかります。状況によって最適な方法が違うので、そこが一番大事なポイントですね。
Claude Codeの「変更を戻す」方法は4種類ある
室谷まず全体像を把握しましょう。Claude Codeで変更を戻す方法は大きく分けると4種類あります。
テキトー教師整理するとこういう構造です。
| 方法 | 使い所 | 即効性 |
|---|---|---|
| Esc+Esc(/rewind) | 直近の変更をセッション内で戻す | 最速 |
| /rewindコマンド | セッション内の任意の時点に戻る | 速い |
| ccundo | 特定の操作だけをピンポイントで戻す | 中程度 |
| git操作 | コミット済みの状態に確実に戻る | 確実だが事前準備が必要 |
室谷この4つ、場面によって全然使い勝手が違うんですよね。「ちょっとやり直したい」なら/rewindが一番早いし、「あの特定のファイルだけ戻したい」なら ccundo が便利で・・・
テキトー教師gitはそもそも「Claude Codeを使う前にコミットしていた」という前提が必要ですよね。講座では「AI使う前にはgit commitしておく癖をつけましょう」と言ってるんですが、なかなか習慣にならない人が多くて(笑)
室谷わかります。でも習慣にすれば一番強いんですよね・・・ まあ順番に見ていきましょう。
一番速い方法:Esc+Esc(/rewind)でセッション内に戻る
室谷まずClaude Code組み込みの機能として、
Esc+Escを押すか/rewindコマンドを使う方法があります。これが一番速くて簡単です。
テキトー教師バージョン2.0から搭載されたチェックポイント機能ですね。Claude Codeが自動で変更履歴を記録してくれているので、それを使って任意の時点に巻き戻せます。
/rewindの使い方

室谷操作はシンプルで、ターミナル上でEscキーを2回連続で押すだけです。あるいは
エイリアスとして
/rewind とタイプしても同じ。エイリアスとして
/checkpoint や /undo も使えます。
テキトー教師すると今までのプロンプト一覧がスクロール表示されて、「どの時点に戻るか」を選べます。
室谷そこで4つのアクションが選べるのが面白いんですよね。
テキトー教師そうですね。コードと会話の両方を戻すか、コードだけ戻すか、会話だけ戻すか、あるいは会話を圧縮(要約)するか、という選択ができます。
| アクション | 動作 |
|---|---|
| コードと会話を戻す | ファイル変更も会話履歴も選んだ時点に戻る |
| 会話を戻す(コードはそのまま) | ファイルはそのままで会話だけ巻き戻す |
| コードを戻す(会話はそのまま) | 会話履歴はそのままでファイル変更だけ戻す |
| ここから要約する | 選んだ時点以降の会話を圧縮してコンテキストを節約 |
室谷この使い分け、意外と重要なんですよ。コードは正しいけど「説明の仕方を変えてやり直したい」なら会話だけ戻せばいい。
コードが壊れたけど会話の流れは残したいなら、コードだけ戻す。
コードが壊れたけど会話の流れは残したいなら、コードだけ戻す。
テキトー教師受講生さんによく言うのが、「/rewindしたあとは元のプロンプトが入力欄に戻ってきます」という点です。修正して再送するのが楽になってますよね。
チェックポイントの仕組み

室谷仕組みとして知っておくと安心なのが、Claude Codeは「ファイル編集ツールで変更したファイル」を自動でトラッキングしてるということです。毎回のプロンプトごとにチェックポイントが作られる。
テキトー教師ただし注意点があって、Bashコマンドで変更したファイルは追跡対象外です。
室谷そこは盲点ですよね。
rm -rfとかmvコマンドを Claude Code が bash で実行した場合、/rewind では戻せないんですよ・・・
テキトー教師だからbashコマンドを多用するような変更作業のときは、事前にgitコミットしておくのがより確実ということですね。チェックポイントとgitは「補完関係」です。
どちらかだけに頼るのではなく使い分けるのがベストプラクティスです。
どちらかだけに頼るのではなく使い分けるのがベストプラクティスです。
セッションをまたいだ巻き戻し
室谷あと嬉しいのが、チェックポイントはセッションをまたいで保持されるという点です。一度Claude Codeを終了しても、
--continueや--resumeで再開すれば過去のチェックポイントに戻れます。
テキトー教師ただし30日経つと自動削除されます(設定で変更可能)。「先週やった変更を戻したい」みたいなケースはgitに頼るべきですね。
/btw・/compactとの使い分け
室谷/rewindと似た機能として、
/compactもありますよね。MYUUUのチームだと最初混乱する人が多くて・・・
テキトー教師そうですね、整理するとこうです。
| コマンド | 目的 | 使い所 |
|---|---|---|
| /rewind | 変更を取り消す | ファイルを壊したとき、やり直したいとき |
| /compact | コンテキストを節約する | 会話が長くなってきたとき(変更は取り消さない) |
| /clear | 会話をリセット | 新しいタスクに切り替えるとき |
室谷/rewindの「ここから要約する」オプションは実質/compactの部分適用版なんですよね。会話の後半だけ要約して前半は残す、みたいな使い方ができる。
テキトー教師これは地味に便利です。長いデバッグセッションの途中から要約して、コンテキストウィンドウを節約しながら続けられる。
受講生さんにも「コンテキストが圧迫されてきたら/rewindで要約してみて」と言ってます。
受講生さんにも「コンテキストが圧迫されてきたら/rewindで要約してみて」と言ってます。
/diffコマンドで変更内容を確認してから戻す
室谷「戻す」前に「何が変わったか」を確認する方法も知っておくと便利です。Claude Codeには
/diff コマンドがあって、これが地味に使えるんですよね。
テキトー教師/diff を実行するとインタラクティブなdiffビューアが開いて、コミットされていない変更と、ターンごとの変更内容が両方見られます。
室谷左右矢印キーで「現在のgit diff」と「Claude Codeの各ターンの変更」を切り替えられるのが便利で。「あのターンで何を変えたっけ」をビジュアルで確認してから/rewindする、というフローが一番安全ですね。
テキトー教師あとgitコマンドの
git diff も変更確認に有効です。Claude Codeのセッション内でも !git diff で直接Bashコマンドを実行できます(!プレフィックスでBashモードに入る機能)。変更履歴(変更ログ)の確認方法
室谷Claude Codeの変更履歴を確認する方法をまとめると、こういうレイヤーがあります。
テキトー教師セッション内の変更履歴とgitの変更履歴は別物として管理されてますね。
| ツール | 確認できる変更履歴 | コマンド |
|---|---|---|
| /diff | Claude Codeのターン別変更 | /diff |
| git diff | コミット前の全変更 | !git diff または terminal で git diff |
| git log | コミット済みの変更履歴 | !git log --oneline |
| /rewind | チェックポイント一覧 | Esc+Esc または /rewind |
| ccundo list | セッションの操作履歴 | ccundo list(別ターミナルで) |
室谷MYUUUでは
git log --oneline で変更履歴をざっくり把握して、問題の場所を特定してから /rewind か git checkout で戻す、というフローが定着してます。claude code 戻るとclaude code 戻すの違い
室谷検索キーワード的に「claude code 戻す」と「claude code 戻る」という言い方がありますが、どちらも同じ操作を指しています。
テキトー教師操作としては「変更を取り消す(undoする)」という意味で同じですね。「戻す」は能動的に操作するニュアンス、「戻る」は結果として前の状態に戻るニュアンスですが、どちらも /rewind や git checkout で実現できます。
室谷会話の巻き戻しという文脈では「claude code 会話を戻す」という言い方もしますね。そちらは/rewindの「会話を戻す」オプションが対応します。
テキトー教師「claude code コード戻す」なら「コードを戻す」オプション、「claude code 元に戻す」なら両方戻す、という使い分けができます。一つのコマンドで細かく選択できるのが/rewindの強みですね。
チェックポイントの「バージョン管理との関係」を正しく理解する
室谷ここ、誤解している人が多いポイントなんですが、チェックポイントはgitの代替ではないんですよね。補完関係です。
テキトー教師そうですね。「Claude Codeのチェックポイントがあるからgitしなくていい」は間違いで・・・
室谷チェックポイントの役割は「セッション内のクイックアンドゥ」に特化しています。30日で削除されるし、Bashコマンドの変更は追跡できないし、チームメンバーと共有もできません。
テキトー教師gitの役割は「恒久的なバージョン履歴」ですよね。コミット、ブランチ、プッシュ、コラボレーション、デプロイ。
これはチェックポイントでは代替できません。
これはチェックポイントでは代替できません。
室谷わかりやすい例えで言うと、チェックポイントはゲームの「オートセーブ」で、gitは「セーブデータに名前をつけて保存する」機能です。オートセーブがあるからといって手動保存が不要になるわけじゃないですよね。
テキトー教師その例え、わかりやすいです。講座でそのまま使わせてもらっていいですか(笑)
室谷どうぞどうぞw
フォークセッションで「試して戻る」を安全に行う
室谷もう一つ知っておくと便利なのが
--fork-session フラグです。セッションを再開するときに元のセッションをそのまま残しつつ、新しいセッションとして分岐させられます。
テキトー教師claude --continue --fork-session または claude --resume {セッションID} --fork-session で使えます。
室谷「この実装アプローチを試してみたいけど、元のセッションも残しておきたい」というときに便利なんですよ。/rewindだと元のセッションに上書きしてしまいますが、forkなら「分岐したセッションを捨てればいい」だけで。
テキトー教師ブランチ思考でAIコーディングするための機能ですね。セッションをgitのブランチのように使う発想です。
室谷実験的な変更を試すときはfork、明らかに間違えたときは/rewind、という使い分けが洗練されてきてる感じがします。Claude Codeのバージョン管理まわりの機能がどんどん充実してきてますよね・・・
ccundoでピンポイントに特定の変更を取り消す
室谷次に紹介したいのがcommunity製のツール「ccundo」です。これ、知ってる人少ないんですけど意外と便利なんですよね。
テキトー教師コミュニティのメンバーさんでclaude codeのセッションファイルを直接パースして、特定の操作だけアンドゥできるツールです。npmでインストールできます。
npm install -g ccundo
室谷/rewindとの最大の違いは「特定のファイルだけ、特定の操作だけを取り消せる」点ですね。
テキトー教師/rewindは「この時点より前に全部戻す」なのに対して、ccundoは「あの操作だけをなかったことにしたい」ができます。10個の変更のうち、5番目だけを取り消したいときに活躍します。ccundoの使い方
室谷操作手順は3ステップです。
# ステップ1: 操作履歴を確認
ccundo list
# ステップ2: 変更内容をプレビュー(確認)
ccundo preview
# ステップ3: アンドゥを実行
ccundo undo
テキトー教師ccundo list を実行すると、Claude Codeのセッションファイルから全操作履歴が表示されます。どのファイルをいつ変更したか一覧で見えます。
室谷ccundo preview で「戻したらどうなるか」のdiffが見えるので、間違えてもう一つ変なことにならないか確認できるのが安心感あります。
テキトー教師ccundoは戻す前にバックアップも取ってくれるので、「ccundoで戻したけど実はそっちの方が正しかった」という逆転現象も防げます(笑)
室谷ただし /rewind と同じで、Bashコマンドで実行した変更はccundoも追跡できません。Claude Codeのファイル編集ツールを通じた変更だけが対象です。
テキトー教師あとこれはローカルで完全完結なので、トークンを消費しません。Claude Codeに「さっきの変更を元に戻して」と頼む必要がなくて、APIコストゼロで実行できます。
室谷これMYUUUのチームに共有したら「そうかAPIコスト無駄だったか」って言われましたよw 確かにClaudeに頼むとトークン使うし、たまに別の変更も追加でやっちゃうんですよね・・・
gitで確実に戻す:コミット前後のケース別手順
室谷最後にgitの話をしましょう。これが一番「確実」な方法なんですが、事前の習慣づけが重要です。
テキトー教師教える側からすると、gitのことをClaude Codeと切り離して考えてほしいというのが本音ですね。Claude Codeはファイルを編集するツールで、gitは変更を記録するシステム。
この両方を組み合わせるのが正解です。
この両方を組み合わせるのが正解です。
パターン1:Claude Codeで変更前にコミットしていた場合
室谷理想的なのはこのパターンですね。Claude Codeに変更を頼む前にコミットしておけば、いつでも確実に戻せます。
# Claude Codeが変更したものを確認
git diff
# 全変更を破棄して最後のコミットに戻す
git checkout .
# あるいは特定のファイルだけ戻す
git checkout -- src/components/Header.tsx
# 変更をstashで一時退避(後で使うかもしれないとき)
git stash
テキトー教師git checkout . は強力ですが、コミットしていない全変更が消えます。「やっぱり必要だった」とならないよう、まず git diff で何が変わっているかを確認するのを習慣にしてください。パターン2:コミットしていなかった場合(最悪ケース)
室谷これが一番困るパターンですよね・・・ コミットせずに作業してたら Claude Code が大規模に書き換えてしまった、みたいな。
テキトー教師そういうときは /rewind か ccundo に頼るしかないですね。gitは使えません。
だからこそ「Claude Codeを使う前にはgit commitする癖をつける」が重要で。
だからこそ「Claude Codeを使う前にはgit commitする癖をつける」が重要で。
室谷MYUUUでのルールは「AIに変更を頼む前にはfeatureブランチ切ってコミット」です。claude codeがどこかで踏み外しても、ブランチを丸ごと捨てればいいだけなので精神的に楽で・・・
テキトー教師それは良いアプローチですね。ブランチを「Claude Codeの実験場」として使う考え方です。
Claude Codeをgitと組み合わせるベストプラクティス
室谷実務で使いやすいフローをまとめるとこうなります。
テキトー教師この流れを習慣にするだけで、「変更を戻せなくて困った」がほぼゼロになります。
| タイミング | やること |
|---|---|
| AI作業開始前 | git checkout -b feature/ai-work でブランチ作成 |
| 変更を頼む前 | git commit -m "before AI changes" でセーブポイント |
| Claude Codeが変更中 | 自動チェックポイントが保存される |
| 変更が気に入らないとき | まず /rewind を試す |
| /rewindで戻せないとき | git checkout . で最後のコミットに戻る |
| 作業が完了したとき | git commit して mainにマージ |
室谷このフローだとチェックポイントとgitが両方機能するので、どこかで何かが起きても必ず戻れる状態が保てますよね。
テキトー教師「AI使ったら戻せなくなるかも」という不安を持っている人が講座に来ることが多いんですが、この習慣を身に付けてもらうとかなり安心して使えるようになります。
「戻す」を使いこなすための3つのシナリオ別Q&A
室谷実際によくある困りパターンをいくつか見ていきましょうか。
テキトー教師コミュニティでも「こういうケースはどうするの?」という質問が多いので、シナリオ別に整理しますね。
シナリオ1:複数ファイルを変更されたが1ファイルだけ戻したい
室谷これ割とよくある状況ですよね。Claude Codeが「ついでにリファクタリングしておきました」って言って、頼んでないところまで変えてることがあって・・・
テキトー教師そういうときは ccundo が便利です。
残りの変更は保持できます。
ccundo list で変更一覧を見て、戻したい操作だけ選んで ccundo undo。残りの変更は保持できます。
室谷gitを使う場合は
git checkout -- {ファイルパス} で特定ファイルだけ戻せます。シナリオ2:前のセッションの変更を今から戻したい
室谷「昨日Claude Codeに変更してもらったけど、やっぱり戻したい」みたいなケース。
テキトー教師セッションが30日以内ならチェックポイントが残っているので、
--resume {セッションID} で再開してから /rewind が使えます。
室谷セッションIDは
~/.claude/projects/ の下のディレクトリ名や、claude --resume でセッション一覧から選べます。
テキトー教師でも現実的には「昨日の変更を戻したい」ときはgit revertやgit resetの方が確実ですね。セッションをまたぐ場合はgitを使う、というのが覚えやすいルールです。
シナリオ3:Claude Codeに「戻して」と頼んでも上手くいかない
室谷これもよく聞かれます。「Claude Codeに元に戻してと言ったら、なんか違う変更になった」。
テキトー教師Claudeに自然言語で「元に戻して」と頼むと、Claudeはコードを読んで「戻した状態を推測して書く」ことになるので、完璧に元通りになるとは限らないんですよね。
室谷そうなんですよね。トークンも消費するし、意図しない変更が追加される可能性もある。
だからこういうときはトークンを使わず
だからこういうときはトークンを使わず
/rewind や ccundo を使うのがスマートです。
テキトー教師「AIに頼む」より「ツールで機械的に戻す」の方が正確で速い、というのは意外と気づかれないポイントですね。
よくある質問(FAQ)
テキトー教師最後によくある質問をまとめておきます。コミュニティのメンバーさんからよく受ける質問を中心に。
室谷/rewindはどのバージョンから使えますか、と聞かれることが多いですよね。
テキトー教師Claude Code v2.0以降で使えます。現在(2026年4月時点)は標準機能なので、最新版を使っていれば誰でも利用できます。
バージョン確認は
バージョン確認は
claude --version で。
室谷チェックポイントの保存場所もよく聞かれますね。
テキトー教師~/.claude/projects/ の下、セッションIDに対応したディレクトリに保存されます。デフォルトで30日後に自動削除されます。
室谷ccundoがAnthropicの公式ツールかどうかも気になる人が多そうです。
テキトー教師これはコミュニティが開発したサードパーティ製のツールです。npmで公開されています(
Anthropic公式ではありませんが、Claude Codeのセッションファイルを読む仕組みで動いています。
ccundo)。Anthropic公式ではありませんが、Claude Codeのセッションファイルを読む仕組みで動いています。
室谷セッションをまたいでチェックポイントに戻れますか、というのは?
テキトー教師戻れます。30日以内のセッションであれば、
claude --resume {セッションID} で再開してから /rewind が使えます。
室谷Claude Codeに「元に戻して」と頼むのはダメ?という疑問もあります。
テキトー教師ダメではないですが、/rewindやccundoを使う方がトークン節約になりますし、より正確に戻せます。Claudeが推測で書き直すかわりに、記録された変更を機械的に巻き戻すので確実性が高いです。
まとめ:状況別・最適な「戻す」方法の選び方
室谷今回の内容を一言でまとめると、「状況によって使い分けること」ですね。どれか一つを覚えるより、4つの方法をそれぞれ知っておく方が実際には役立ちます。
テキトー教師判断フローを整理するとこうなります。
| 状況 | 推奨する方法 |
|---|---|
| さっきの変更を全部取り消したい | Esc+Esc または /rewind |
| 特定のファイル・操作だけ取り消したい | ccundo |
| コミット前の状態に戻りたい(git習慣あり) | git checkout . または git checkout -- ファイル |
| 長いデバッグ会話を圧縮してコンテキストを節約したい | /rewindの「ここから要約する」 |
| セッションをまたいで前の状態に戻りたい | git revert / git reset |
室谷個人的に一番大事だと思うのは「AI使う前にgitコミットしておく習慣」です。これさえあれば最悪の場合でも必ず戻れますから。
テキトー教師同感です。それと /rewind の存在を知っているだけで、Claude Codeで怖い思いをする確率がかなり下がります。
知ってるか知らないかの差が大きい機能ですね。
知ってるか知らないかの差が大きい機能ですね。
室谷Claude Codeはどんどんアップデートされていて、変更管理まわりの機能も進化し続けています。公式ドキュメントのCheckpointingページをブックマークしておくと、最新情報を追いやすいですよ。
