この記事の目次
Claude Codeを使っていると、ある日ふと「フォーク」という言葉に出会う。GitHubを使ってきた人ほど、この言葉に馴染みがあるぶん、逆に混乱しやすい。Claude Codeの「フォーク」は、GitHubのフォークとは対象も目的も別のものを指している。この記事では、Claude Codeの「フォーク」が何を指すのかを、GitHubの用語や近い操作である/branchとの違いを軸に、専門用語をできるだけ避けながら整理する。
Claude Codeの「フォーク」とは何か?
Claude Codeの「フォーク」とは、いま進んでいる会話(セッション、Claude Codeとのやり取りのひとまとまりを指す言葉)を複製し、元のセッションを止めずに、複製先で別の作業を並行して進められる機能のことだ。
複製した瞬間までのやり取り(コンテキストと呼ばれる、Claude Codeがそれまでの会話内容を記憶している範囲)は複製先にも引き継がれる。そこから先は、元のセッションと複製先のセッションがそれぞれ独立して進む。片方で本筋の作業を続けながら、もう片方で「別のやり方を試す」「気になる点だけ確認する」といった枝分かれした作業をバックグラウンドで進められる、という点がこの機能の核になる。
操作の細かい起動方法や画面表示は、Claude Codeのバージョンによって変わることがある。正確な手順を知りたい場合は、手元の環境でヘルプ表示(/helpなど)を確認するか、公式ドキュメントを参照してほしい。セッション管理全体の考え方は、Claude Codeの仕組みを解説した記事が詳しい。
フォークとGitHubの「フォーク」は同じ意味か?
同じではない。名前が同じだけで、複製する対象も目的もまったく違う。GitHubのフォークはリポジトリ(コードやファイルの変更履歴をまとめて管理する場所)を複製する操作であり、Claude Codeのフォークは会話・作業セッションを複製する操作だ。
GitHubでリポジトリをフォークすると、自分のアカウント配下に独立したコピーができ、そこで変更を加えてから元のリポジトリへプルリクエストを送る、という流れで使われることが多い。対象になるのはコードとその履歴であり、複製後は元のリポジトリと物理的に別の場所に置かれる。
一方、Claude Codeのフォークが複製するのは「そこまでの会話のやり取り」であって、コードそのものではない。複製されたセッションも、元のセッションも、同じ作業ディレクトリ(実際にファイルを編集している場所)を見ながら動くことができる。複製されるのはあくまで「会話の続き方」の分岐点であり、ファイルの保存場所が枝分かれするわけではない。
検索で「Claude Code フォークとは」と調べる人の中には、GitHub用語との混同から来ている人が一定数いるはずだ。両者は言葉が重なっているだけの別概念だと押さえておけば、以降の説明も迷わず読める。
フォークと/branchは何が違うのか?
フォークと/branchはどちらも会話を分岐させる操作だが、分岐したあと「自分がどこにいるか」が違う。フォークは元の場所に留まったままバックグラウンドで複製が進み、/branchはその場から分岐先へ自分自身が移動する、という結果の違いで整理できる。
フォークを実行すると、操作している本人は元のセッションに居続けたまま作業を続けられる。複製された側は裏側で別のやり取りとして進行し、あとから結果を確認しに行く、という使い方になる。
対して/branchは、ある時点まで会話を戻し、そこから新しい方向へ話を進めていく操作だ。実行すると自分自身がその分岐点に移動する形になるため、元のやり取りの続きをそのまま並行して見ることはできない。
対話モードやセッション状態の基本を押さえておくと(CLIの使い方をまとめた記事に整理がある)、こうした違いもイメージしやすくなる。
フォークはどんな場面で使うと役立つのか?
フォークは、本筋の作業を止めずに「別のアプローチを試したい」「本筋から外れる確認作業を分離したい」という場面で役立つ。機能の性質から素直に導ける使いどころは、大きく分けて次の2つだ。
一つは、実装方針を比較検討したいときだ。ある方法で作業を進めつつ、別の方法も試してみたい場合、フォークを使えば元の作業を止めずに複製先で別案を進められる。両方の結果を後で見比べてから、どちらを採用するか判断できる。
もう一つは、本筋とは関係のない調査や確認作業を分離したいときだ。実装中にふと気になった仕様の確認や、関連ファイルの調査をしたくなることは珍しくない。そうした寄り道をフォーク側にまかせておけば、本筋のセッションの文脈を乱さずに済む。
チームで複数人が並行して作業を分担する場面でも、考え方としては同じことが言える。個人の開発でも企業のエンジニアがチームで使う場合でも、「本筋を止めない」という利点は変わらない。この発想は、サブエージェントの考え方を解説した記事で扱う並行実行の仕組みにも通じる。
フォークを使うと利用量や料金に影響するのか?
この点については、フォークによる複数セッションの同時実行が利用量や料金にどう影響するか、公式情報で明確には言及されていない。複数のセッションを同時に走らせる際は、想定より利用量が増えていないか、使用量を確認できる画面でこまめにチェックしておくのが無難だ。
Claude Codeのプランや料金体系そのものは公式のプランページが最新であり、各プランの違いは料金プランをまとめた記事を参照してほしい。
フォークという名前はなぜ変わることがあるのか?
Claude Codeに限らず、操作系のコマンドは開発が進むにつれて名前や仕様が変わることがある。ソフトウェアの機能名は、より分かりやすい表現に整理されたり、似た機能が統合・分割されたりしながら少しずつ形を変えていくものであり、以前読んだ解説記事と今の画面表示が食い違っていても、それ自体は不自然なことではない。実際にどんな変更があったかは、アップデート情報をまとめた記事から辿れる。
他のセッション管理コマンドとはどう使い分けるのか?
フォーク、/branch、/resumeはいずれも会話(セッション)をどう扱うかに関わる操作だが、目的が異なる。フォークは「複製して並行させる」、/branchは「分岐点へ移動して続きを変える」、/resumeは「以前のセッションを呼び戻して続きから再開する」という違いで区別できる。
| コマンド | 目的 | 実行後、自分がいる場所 | 元のセッションの状態 |
|---|---|---|---|
| フォーク | 会話を複製して並行作業する | 元のセッションに留まる | そのまま続く |
/branch |
過去の時点から別方向へ話を進める | 分岐点へ移動する | 分岐点までしか続かない |
/resume |
過去のセッションを呼び戻す | 呼び戻したセッションに移る | 呼び戻すまで停止している |
セッションの保持期間のような細部は、コンテキストウィンドウとセッション管理を扱った記事の話題になる。
まとめ
Claude Codeの「フォーク」は、会話をバックグラウンドで複製し、元のセッションを止めずに並行作業を進める機能だ。GitHubのフォークがリポジトリを対象にするのに対し、Claude Codeのフォークは会話そのものを対象にする点、そして/branchが自分自身を分岐点へ移動させるのに対し、フォークは元の場所に留まったまま複製が進む点、この2つの違いを自分の言葉で説明できれば、この記事の目的は果たせている。
操作系のコマンドは名前も挙動も変わっていくものなので、今回整理した内容も時間が経てば細部が変わる可能性がある。こうした変化を継続的に追いながら学び続けられる場があると、そのつど一から調べ直す負担は減っていく。「AI駆動ラボ」(lab.no-wave.jp)は、月額1,980円から参加できる学習コミュニティで、こうした機能の変化を自分の手で追い、使いこなせるようになるための場として運営されている。フォーク以外のClaude Codeの機能についても、腰を据えて学び続けたいと感じたら、覗いてみてほしい。