Claude Code: 方向がずれたら Esc を2回押して巻き戻す(コードだけ・会話だけ・途中から要約)
入力欄が空のときに Esc を2回押すと rewind メニューが開き、送ったプロンプトの時点まで「コードと会話」「会話だけ」「コードだけ」を選んで戻せる。入力欄に文字があると、同じ操作で下書きが消える(↑で戻せる)。書きかけを残したいなら Ctrl+S で退避する。
どんな時に使う?
- Claude が見当違いの方向に何ファイルも書き換えてしまい、指示の前の状態に戻したい
- コードは今のままでいいが、長いデバッグのやり取りで会話(コンテキスト)が膨らんだ
- 別の案を試したいが、今の出発点は失いたくない
手順
- 入力欄を空にして
EscEsc(または/rewind) - 一覧から戻したいプロンプトを選び、操作を選ぶ
- Restore code and conversation: コードも会話もその時点へ
- Restore conversation: 会話だけ戻し、ファイルは今のまま
- Restore code: ファイルだけ戻し、会話は残す
- Summarize from here: そこから後ろを要約して詰める(前半の指示はそのまま残る)
- Summarize up to here: そこより前を要約する
- 会話を戻すと、選んだ時点のプロンプトが入力欄に戻るので、直して送り直せる
- 要約の行で矢印キーで選び、add context (optional) に「何を残すか」を書いてから Enter すると、要約の焦点を指定できる(数字キーで選ぶと指示なしで即要約)
書きかけのプロンプトを残したまま操作する
- 入力欄に文字がある状態で
EscEscを押すと、メニューは開かず下書きが消える。消えた文は入力履歴に入るので、↑で呼び戻せる Ctrl+Sは下書きを退避して入力欄を空にする。空の入力欄でもう一度Ctrl+Sを押すと、カーソル位置・貼り付け内容・入力モード(!のシェルモードなど)ごと戻る
注意点
- 戻せるのは Claude のファイル編集ツールで変えたファイルだけ。Bash だけで変更したファイル、手で編集したファイル、別セッションの変更は戻らない(Claude がすでに編集したファイルなら、その後の Bash による変更も戻る)
- サブエージェントの編集は基本的に戻らない。例外はフォアグラウンドで動く
context: forkのスキル。バックグラウンドの fork(既定)や/code-review --fixの変更は git で戻す - 作業中に割り込みで送ったメッセージには独自のチェックポイントがない(No code restore と表示される)。そのターンを始めたプロンプトを選んで戻す
- シンボリックリンク・ハードリンクのファイルは戻さずにスキップされる(dotfile 管理ツールのリンクや pnpm のハードリンクなど)
- スナップショットはセッションごとに直近100チェックポイント分、既定で約30日で掃除される。長く残すなら
cleanupPeriodDays - 巻き戻した後、次のプロンプトを送る前に終了すると、戻した会話が復活することがある。巻き戻したら一度何か送ってから閉じる
- 本格的な分岐は
/branchかclaude --continue --fork-session。チェックポイントは git の代わりにはならない - 関連: Claude Code: 書きかけのままモデルを替える Option+P、ロゴのパスを隠す CLAUDE_CODE_HIDE_CWD、消した下書きを戻す ↑、Claude Code: コンパクト後も残るもの・消えるもの(大事な指示は SKILL.md の先頭とルート CLAUDE.md に)
出典
- @oswrav 2026-11-03(小技 No.21): @oswrav · 2026-11-04
- @Digidletools 2026-11-03(Ctrl+S の退避): @Digidletools · 2026-11-04
- 公式ドキュメント Checkpointing: code.claude.com
- 公式ドキュメント Interactive mode(キー操作一覧): code.claude.com