Claude Codeで作業していると、「ここから別のやり方も試してみたい」と思う場面があります。/rewindで戻ると、セッション上ではその後の流れが消える扱いになります。かといって最初からやり直すのも面倒です。実は/branchというコマンドを使えば、元の会話を残したまま、任意の時点から会話を分岐させられます。Gitのブランチ操作ではなく、チャット履歴をそのまま分かれ道にする機能です。
/branchは「会話の分かれ道」を作るコマンド
Claude Codeの会話は基本的に一本道です。上から下へ、順番にメッセージが積み重なっていきます。
/branchは、この一本道の途中に分かれ道を作るコマンドです。任意の時点から会話を分岐させ、元の会話はそのまま残したまま、別のアプローチを試せる新しいセッションを立ち上げます。
ここでよく混同されるのがGitのブランチ操作です。名前に「branch」と入っていますが、やっていることはチャット履歴の複製と分岐で、リポジトリのブランチには一切触れません。/branchを実行するだけなら、コードやファイルは変更されません。純粋に「会話の履歴」だけが分岐します。
なお、Claude Codeには/forkという関連コマンドもあります。ただし、バージョンや設定によって/branchとは別の動きをする場合があります。この記事では、会話を分岐させる操作として/branchを使います。
ざっくり次のようなイメージです:
元の会話
├── メッセージ1
├── メッセージ2
│ ← ここで /branch
├── メッセージ3(元セッションの続き)
│
└── 分岐先セッション
├── メッセージ2までの履歴を引き継ぎ
└── ここから別のアプローチを試せる
事前に確認しておくこと
手順に進む前に、次の前提条件を確認しておきます。
- Claude Codeがインストール済みであること:ターミナル版(コマンドプロンプトやPowerShellから起動)でも、デスクトップアプリ版でも構いません
- 分岐元にする会話が開いていること:すでに何往復かやり取りしているセッションがある状態で使います。新規セッションのまま
/branchを打っても意味がないので、まずは何か作業を進めてください - Windows環境で操作していること:この記事はWindows前提で書いています
特に難しい準備はありません。普段通りにClaude Codeで作業を進めていて、「ここから別の方法も試したい」と思ったタイミングで/branchが使えます。
/branchの使い方 — 手順どおりに分岐を試す
実際に/branchを実行する手順です。ステップは3つだけです。
- 分岐したいセッションで
/branchと入力する
チャットの入力欄に/branchと入力してEnterを押します。この記事では、混乱を避けるため/branchで操作します。
“`
/branch
“`
- 分岐元のメッセージを選ぶ
入力すると、これまでのメッセージ一覧が表示されます。ここから「どこまでの会話を引き継いで分岐するか」を選びます。例えば5往復のやり取りのうち、3往復目までを引き継ぎたいなら、3往復目のメッセージを選びます。
カーソルキーで選んでEnterで確定します。
- 新しいセッションが立ち上がるのを確認する
選択すると、分岐先の新しいセッションが起動します。画面が切り替わるので、プロンプトが入力待ちの状態になっていれば成功です。
この時点で元のセッションは消えていません。後からclaude --resumeで元のセッション一覧を開けば、元セッションも分岐先セッションも両方確認できます。
補足として、CLIから直接分岐させる方法もあります。別のターミナルを開いて次のコマンドを実行すると、既存のセッションを選んで分岐できます。
claude --continue --fork-session
セッション一覧が表示されるので、分岐元にしたいセッションを選べば、同じように新しいセッションが立ち上がります。こちらは元のセッションを開いたまま別ターミナルで作業を始めたいときに便利です。
分岐先で作業する — 元セッションとの使い分け
分岐先のセッションでは、選択した時点までの会話内容がそのまま引き継がれています。つまり、これまでの文脈を理解した状態で、別の指示を出せるということです。
例えば、あるコードの修正方針で2パターン試したいとします。元セッションで「方針A」で進めたあと、途中から/branchで分岐して、分岐先で「方針B」を試す。こうすれば、両方の結果を後から比較できます。
ここで押さえておきたいのが、/rewindとの違いです。
| 操作 | 元の会話 | 分岐先 | 使いどころ |
|---|---|---|---|
| `/branch` | そのまま残る | 新しいセッションとして独立 | 複数のアプローチを並行して試したいとき |
| `/rewind` | 指定時点まで巻き戻る(以降の履歴は消える) | なし | 「今の方向はやっぱりやめたい」とき |
/rewindは巻き戻しです。戻った先以降のメッセージはセッション上から消えます(トランスクリプトファイルには残ります)。一方/branchは、元の会話を一切触らずに分岐先を作ります。
「戻してやり直す」なら/rewind、「残したまま別案も試す」なら/branch、と覚えておくと使い分けがスムーズです。
分岐先で作業を終えたら、/exitまたはCtrl+Dでセッションを終了できます。元のセッションに戻りたいときは、ターミナルでclaude --resumeを実行し、セッション一覧から元の方を選びます。一覧には元セッションと分岐先セッションの両方が表示されるので、日時やサイズを頼りに選んでください。
どんな場面で/branchが役立つか
具体的なユースケースを3つ紹介します。
リファクタリングの方針を複数試す
「関数を小さく分割する」方針と「クラスにまとめる」方針の両方を試したい場面。元セッションで一方を進め、途中から/branchで分岐してもう一方を試します。最後に両方のコードを見比べて、良い方を採用する。こういう使い方が一番シンプルで効果的です。
プロンプトの指示を変えて結果を比較する
同じタスクに対して、指示の書き方を変えてClaudeの回答を比較したい場面。例えば「簡潔に要約して」と「初心者向けに詳しく説明して」でどう回答が変わるか。分岐してそれぞれ試せば、同じ文脈からのスタートなので比較がフェアになります。
失敗を恐れず試行錯誤する
「この方向で合ってるか分からないけど、とりあえず試したい」という場面。/branchで分岐しておけば、元の会話は無傷です。試した結果がダメでも、元セッションに戻るだけですみます。この「安全網がある」状態は、試行錯誤のペースを上げるのに効果的です。
どのケースでも共通するのは「元の会話を残したまま別案を試せる」という点です。一度この感覚になれると、/rewindだけで戻っていた時期がもったいなく感じるかもしれません。
最後に確認すること
/branchが正しく実行できたか、次のポイントで確認します。
- 分岐先のセッションが立ち上がっていること:プロンプトが入力待ち状態になっていればOKです
- 元のセッションが残っていること:
claude --resumeでセッション一覧を開き、元セッションと分岐先の両方が表示されるか確認します - 分岐先で元の会話が引き継がれていること:分岐先で「これまでの作業を振り返って」と聞いてみて、分岐時点までの内容が反映されていれば正しく引き継がれています
/branchの操作自体はコマンド1つで終わります。迷いやすいのは「どのタイミングで分岐するか」と「分岐先でどこまで試すか」の判断ですが、これは使っていくうちに感覚が掴めてきます。
元のセッションを壊さないという安心感があるので、まずは試してみるのが一番です。例えば普段の作業中に「別のアプローチも見てみたい」と思ったタイミングで/branchを打ってみてください。
次に試すことへの導線
/rewindの操作にも慣れておくと、会話の管理の幅が広がりますESCキーを2回押すと/rewindのメニューが開くので、あわせて覚えておくとスムーズです- セッション一覧の見方は
claude --resumeの操作に慣れておくと安心です
まとめ
/branchは、Claude Codeの会話の途中に分かれ道を作るコマンドです。元の会話を残したまま別のアプローチを試せるため、リファクタリングの方針比較や、プロンプトの書き方の実験、安全な試行錯誤に向いています。/branchと入力して分岐元を選ぶだけの3ステップで使えるので、Windows環境でClaude Codeを使っているなら一度は試してみてください。
