この記事でわかること
– Claude Codeのrewindとforkの仕組み
– それぞれの使いどころと操作方法
– 実験的開発フローとの組み合わせ方
– 失敗を恐れずに試せるプロジェクト管理術
「Claude Codeが変な方向に実装し始めた。でも途中まではよかったのに……」
そういうときのために rewind がある。そして「この機能、2通りの実装で試して比べたい」なら fork が使える。
この2つを知っておくと、Claude Codeでの実験的な開発が根本的にやりやすくなる。
rewindとは
rewindはセッション内のチェックポイントまで巻き戻す機能だ。
Claude Codeはセッション中、会話のやり取りとファイルの変更を追跡している。rewind を使うと、指定した時点の状態(ファイルの内容・会話の文脈)に戻ることができる。
/rewind ← インタラクティブに巻き戻しポイントを選択
実行すると、過去の会話ステップの一覧が表示され、どのタイミングに戻るかを選べる。
rewindの使いどころ
1. Claude Codeが意図しない実装を始めたとき
あなた:ユーザー認証機能を追加して
Claude:実装します...(auth.pyを大量に書き換え、設定ファイルも変更)
あなた:あ、これ既存のauth_utils.pyを使ってほしかった
この状態から全部手動で戻すのは面倒。/rewind で「認証機能を追加して」と言う前に戻せる。
2. ちょっと試したい変更を本流に影響させたくないとき
デバッグログを大量に追加して動作確認したい、でも後でこのログを全部消すのが手間——そういうときはrewindで戻すのが早い。
3. 途中経過を「セーブポイント」として活用する
あなた:ここまでの実装を確認した。続きに行く前にこのタイミングを記録しておいて
(/rewindでセーブポイントを確認)
あなた:続き実装して
forkとは
forkはセッションを分岐させて、複数のアプローチを並行して試す機能だ。
同じ起点から「TypeScriptで実装」「Pythonで実装」を別セッションで試して、どちらが良いかを比較できる。
/fork ← 現在のセッションを分岐させる
Gitのブランチに相当するが、ファイル変更だけでなく会話の文脈ごとコピーされる点が異なる。
forkの使いどころ
1. 実装アプローチを2通り試したいとき
セッションA(fork元): 「REST APIの設計まで終わった」
↓ /fork
セッションB: 「OpenAPI仕様書ベースで実装」
セッションC: 「コードファーストで実装」
両方試して、コード量・テストのしやすさ・パフォーマンスで比較できる。
2. 同じ設計で異なるフレームワークを比較する
起点: 「このAPIサーバーの設計をFastAPIで実装して」
↓ /fork
A: FastAPI実装を続ける
B: 「FastAPIじゃなくてFlaskでやり直して」
フレームワーク選定に迷っているときに、両方実装して実際に比較できる。
3. バグ修正の方針が複数あるとき
起点: 「バグを見つけた。まず原因を特定して」
(原因特定完了)
↓ /fork
A: 「根本修正(リファクタリング込み)で対応」
B: 「最小変更の暫定修正で対応」
rewindとforkの組み合わせパターン
実際の開発では組み合わせて使うのが効果的。
「試して失敗してrewindで戻してforkで別アプローチ」サイクル
1.実装スタート
2.うまくいかない→/rewindで戻る
3./forkで分岐
4.アプローチAを試す
5.うまくいかない→/rewindで起点に戻る
6.アプローチBを試す
7.うまくいった!→このセッションを本流に
Gitでいう「気軽にブランチを切って試す」感覚で、Claude Codeのセッションを操作できる。
実験的開発(vibe coding)との相性
vibe codingは「細かい仕様より動くものを作りながら仕様を固める」スタイル。
従来は「Claude Codeに何かさせて、気に入らなければ全部プロンプトで指示して修正」という流れだった。これは時間もトークンも無駄になりやすい。
rewind/forkがあると:
– 試して気に入らなければすぐ戻れる
– 複数のアプローチを低コストで比較できる
– 「どこまでは良かったか」を会話ごと追跡できる
「壊れても怖くない」という感覚が、実験の量を増やし、結果的に良いコードに早く辿り着けることが多い。
Gitと組み合わせる
rewind/forkはClaude Codeのセッション管理だが、Gitと組み合わせると強力になる。
推奨フロー
# Gitでコミット(安全なポイントを記録)
gitadd-A&&gitcommit-m"WIP: auth基盤完成"
# Claude Codeで実験
# うまくいかなければ /rewind で Claude側を戻す
# ファイルが壊れたなら git checkout で戻す
Claude Codeの rewind はセッションの巻き戻し、Gitは実際のファイルの巻き戻し。目的が異なるので両方使うのが現実的。
よくある失敗パターンの防止
× Claude Codeが大量のファイルを変更 → rewindで戻したがファイルが戻らない
○ 実験前にgit commit → 失敗したらgit reset && Claude Codeのrewind
rewindで戻るのはあくまで「会話の文脈」。ファイルの変更が想定外の場合はGitで戻す必要があることを忘れずに。
操作チートシート
| 操作 | コマンド | 用途 |
|---|---|---|
| 会話を巻き戻す | /rewind | 間違った方向の修正 |
| セッションを分岐 | /fork | 複数アプローチの比較 |
| セッションの履歴確認 | /history | どこに戻れるか確認 |
| コンパクト化 | /compact | 長くなった会話を圧縮 |
まとめ
- rewind: セッションを指定ポイントまで巻き戻す。Claude Codeが意図しない方向に進んだときに使う
- fork: セッションを分岐させる。同じ起点から複数のアプローチを試したいときに使う
- Gitと組み合わせる: セッション管理(rewind/fork)+ ファイル管理(git)で安全に実験できる
「試す → 失敗 → 即リセット → 別アプローチ」のサイクルを速く回すほど、Claude Codeを使った開発の品質が上がる。
あわせて読みたい
- Claude Code hooksシステム完全ガイド — hooksでClaude Codeの動作をカスタマイズ
- Claude Codeのスラッシュコマンドエコシステム — /コマンドの全体像
- CLAUDE.md設計術 — チームでClaude Codeを使うときの設定管理
見てもらえるだけで応援になります
このブログはアフィリエイトリンクで運営されています。以下のリンクから気になるサービスをチェックしてもらえると、僕たちの活動の支えになります。
この記事を書いたのは わさび(ニホンイシガメ / 3歳 / VTuberあかはら。の家族)です。
あかはらVラボ — Claude特化の情報を発信中。
この記事が参考になったら|以下のリンクから見てもらえるだけで、ブログ運営の応援になります。

AI開発環境やブログ運営に。初期費用無料、月額296円から。- NordVPN

AI活用時のデータ保護に。VPNで通信を暗号化。



コメント