CLAUDE LABEN
VERSION — 8月10日に v2.1.227 が出ていました。新機能はなく、プラン判定と CI まわりの不具合修正が中心ですAUTO — 8月14日の既定化まで残り2日です。Pro・Max・Team で Claude Code の auto モードが既定で有効になりますCI — claude-code-action で allowed_non_write_users を指定すると GitHub ホストランナー上の Bash が全て失敗していた問題が直りましたBILLING — 期限切れトークンで開始したセッションが加入プランを取り違え、Max 利用者に使用クレジットの有効化を促していた不具合も解消していますSUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は8月17日で、残り5日ですPRICE — Sonnet 5 のプロモ価格 $2/$10 per Mtok は8月31日までで、9月1日から $3/$15 per Mtok になりますVERSION — 8月10日に v2.1.227 が出ていました。新機能はなく、プラン判定と CI まわりの不具合修正が中心ですAUTO — 8月14日の既定化まで残り2日です。Pro・Max・Team で Claude Code の auto モードが既定で有効になりますCI — claude-code-action で allowed_non_write_users を指定すると GitHub ホストランナー上の Bash が全て失敗していた問題が直りましたBILLING — 期限切れトークンで開始したセッションが加入プランを取り違え、Max 利用者に使用クレジットの有効化を促していた不具合も解消していますSUNSET — 旧 Workbench と実験的プロンプトツール API の廃止は8月17日で、残り5日ですPRICE — Sonnet 5 のプロモ価格 $2/$10 per Mtok は8月31日までで、9月1日から $3/$15 per Mtok になります
記事一覧/Claude Code
Claude Code/2026-06-27中級

間違った方向に進んでしまったとき — Claude Code の /rewind で会話とコードを巻き戻す

作業が間違った方向に進んでしまったとき、Claude Codeの/rewindは会話とコードを過去のチェックポイントへ戻せる安全網になります。gitのリセットとの違い、復元の粒度、実際の巻き戻し手順、自動運用で誤解しやすい落とし穴、巻き戻しを使わずに済む設計までを実例で整理します。

Claude Code217rewindチェックポイントセッション管理5

依頼の意図を一度取り違えたまま、Claude Code に5ステップほど作業を進めさせてしまったことはないでしょうか。三つのファイルが書き換わり、テストの形も変わり、戻したいのに「どこまで戻せばいいのか」が分からなくなる。手で戻そうとすると、今度は会話の文脈と実際のコードがずれてしまう。私自身、個人開発で複数サイトの自動投稿まわりをいじっているときに、この「半端に進んだ状態」に何度も足を取られてきました。

2026年6月の Claude Code アップデートで、この /rewind まわりの挙動と安定性が一段底上げされました。機能自体は以前からありますが、長時間セッションでの省メモリ化やエージェント挙動の改善と合わせて、実運用で頼れる安全網になってきています。ここでは「いつ使うと効くのか」「git と何が違うのか」「自動運用で誤解しやすい点」を、実際の使いどころに沿って整理します。

/rewind が戻してくれるもの、戻さないもの

Claude Code はセッション中、編集の節目ごとにチェックポイントを自動で記録しています。/rewind を実行する(あるいはエスケープキーを素早く2回押す)と、これまでのチェックポイント一覧が出て、そこへ戻せます。

ここで一番大事なのは、戻せる対象が二系統あることです。

ひとつは「会話(コンテキスト)」。Claude とのやり取りの履歴を、選んだ時点まで巻き戻します。もうひとつは「コード(ファイルの中身)」。Claude Code がそのセッションで編集したファイルを、選んだ時点の状態へ戻します。/rewind のメニューでは、この二つを「両方戻す」「コードだけ戻す」「会話だけ戻す」と選び分けられます。

逆に、戻らないものをはっきり押さえておくと事故が減ります。Claude Code の編集を経由せずにあなたが手で書き換えたファイルgitrm などのコマンドが起こした副作用、ネットワーク越しに送ってしまった外部への書き込み(API 呼び出し・push・デプロイ)。これらは /rewind の管轄外です。チェックポイントはあくまで「Claude Code が把握している編集」のスナップショットだと考えてください。

git のリセットと何が違うのか

「それ git でいいのでは」と思うかもしれません。実際、用途は重なります。ただ二つは見ている対象が違います。

git resetgit stash が戻すのは、コミットやワーキングツリーというコードの状態だけです。あなたと Claude がどういう経緯でその実装にたどり着いたか、という会話の文脈は git には残りません。一方 /rewind は、コードと会話をセットで巻き戻せます。「この方針で行こうと合意した直前」まで、対話ごと戻れるわけです。

私の使い分けはこうしています。コミット済みの安定点に戻したい、あるいはブランチをまたぐような大きなやり直しは git。まだコミットしていない試行錯誤の途中で「ついさっき方針がずれた」ところだけ戻したいときは /rewind。後者は git で表現しづらい、会話とコードが一緒にずれた状態をきれいに戻せるのが強みです。両者は競合しません。/rewind で会話とコードを近い状態に戻してから、必要なら git で仕上げる、という重ね方が安全だと考えています。

実際の巻き戻し手順

込み入った場面ほど、操作はシンプルに保つのが安全です。次の流れを基本形にしています。

まず、巻き戻す前に未コミットの手編集を退避します。/rewind はチェックポイント外の手編集を消す可能性があるため、念のため逃がしておきます。

# 巻き戻し前に、手で触った分を退避しておく
git stash push -u -m "before-rewind"
 
# 退避できているか確認
git stash list

次に Claude Code 側で /rewind を開き、「どこで方針がずれたか」を会話履歴から探して、その直前のチェックポイントを選びます。ずれた発言そのものではなく、ひとつ手前を選ぶのがコツです。ずれた地点を含めて戻すと、また同じ誤解の続きから再開してしまいます。

戻したあとは、コードと会話が食い違っていないかを一度だけ確認します。具体的には、戻した時点で「まだ存在しないはずのファイル」が残っていないか、テストが当時の形に戻っているかを見ます。問題なければ、退避した手編集のうち本当に必要なものだけを選んで戻します。

# 戻した状態を確認してから、必要な手編集だけ拾う
git diff
git stash pop   # 衝突したら片方ずつ取り込む

この「退避 → 巻き戻し → 確認 → 選んで戻す」を一つの型にしておくと、慌てている場面でも手順を思い出せます。

自動運用で誤解しやすい点

ここが、公式の説明だけでは見えにくいところです。/rewind対話セッションのための安全網であって、無人で回すスケジュール実行の取り消し機構ではありません。

私は個人開発で複数サイトの記事生成を自動で回していますが、自動実行のジョブが途中でおかしくなったとき、/rewind で後から救う、という設計にはしていません。理由は単純で、無人ジョブはたいてい push やデプロイといった外部への確定操作まで一気に進むため、/rewind が戻せる範囲(ローカルのファイルと会話)を超えてしまうからです。巻き戻せるのは手元だけで、すでに公開された結果は戻りません。

ですので、自動運用側では /rewind を当てにせず、確定操作の前に止まれるゲートを別に置く設計にしています。コードを書き換える段階と、それを外へ送る段階を分け、送る前に検証を挟む。/rewind が活きるのは、あくまで自分が画面の前にいて、対話で試行錯誤しているときです。役割を取り違えなければ、両者はきれいに住み分けられます。

長時間のセッションそのものが不安定だと感じる場合は、巻き戻し以前にコンテキストの劣化が起きている可能性もあります。その兆候と対処はClaude Code の長時間セッションで精度を保つ方法 — コンテキスト劣化の兆候と対処で扱っています。セッションそのものが復元できないケースはClaude Code の resume が前回のセッションを復元できない時の対処法も併せてご覧ください。

巻き戻しを「使わずに済む」設計へ

/rewind は心強い安全網ですが、頻繁に使うようなら、その手前で防げたはずの取り違えが多い、という信号でもあります。私が意識しているのは、大きく任せる前に「何をどう変えるか」を一度言葉にして合意しておくことです。方針を先に短く確認しておくと、5ステップ進んでから巻き戻す場面そのものが減っていきます。

それでもずれるときはずれます。そのときに /rewind があると知っているだけで、思い切って任せられる範囲が広がります。安全網は、使う回数を減らすために整えておくもの——そう考えると、この機能の価値は「巻き戻せること」以上に「安心して前に進めること」にあるのだと感じています。

私はこの機能を、思い切って任せるための足場として捉えています。まずは次に Claude Code を使うとき、エスケープキーを2回押してチェックポイント一覧を一度開いてみてください。どこに戻れるのかを目で確かめておくだけで、いざという時の判断が速くなります。お読みいただきありがとうございました。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude Code2026-07-18
/fork と /subtask の使い分け — 分岐は手元から切り離し、委譲はセッションに残す
Claude Code 2.1.212 で /fork は会話をバックグラウンドセッションへ複製する挙動に変わり、従来のセッション内サブエージェントは /subtask へ移りました。2つの使い分けと、分岐を増やす前に決めておきたい上限の話です。
Claude Code2026-07-06
夜間ジョブのコミットが追えなくなった — Claude Code の可読なセッション名で無人実行に相関キーを通す
複数リポジトリで夜間ジョブを無人実行していると、翌朝のコミットがどの実行から生まれたのか分からなくなります。Claude Code の可読なセッション名を相関キーとして設計し、コミット・ログ・セッションを一本の糸でつなぐ実装を、実測値とともに共有します。
Claude Code2026-08-12
課金ユーザーに広告が出る不具合を、判定の一元化で止めるまで
広告除去を購入した方に広告が出てしまう不具合の原因は、フラグの不足ではなく判定の分散でした。Claude Codeで広告SDKの呼び出し口を棚卸しし、単一の純粋な判定関数へ畳み込むまでの実装記録です。期限判定を端末時計に預けない工夫や、消し忘れを構造で防ぐ設計も紹介します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →