/fork ってなに?
/fork は、Claude Code の会話中に打ち込むスラッシュコマンドのひとつです。「fork(フォーク)」は英語で「分岐する」「枝分かれする」という意味で、道が二手に分かれる場面などで使われる言葉です。名前のとおり、今まで積み上げてきた会話をそこで枝分かれさせるためのコマンドだと考えてください。
Claude Code は、あなたが打った指示と Claude の返答をずっと記憶しながら作業を進めます。長く使えば使うほど「このプロジェクトはこういう構成で、さっきはこのファイルを直して、テストはこう通した」という文脈が溜まっていきます。この積み重ねはとても便利なのですが、同時に「別のことを試したいけど、今の話の流れを壊したくない」という悩みも生みます。/fork はそこで効いてきます。
ゲームのセーブデータで考えてみる
RPG をやっていて、ボスの直前まで来たとします。ここで「装備Aで戦うか、装備Bで戦うか」を試したい。普通にそのまま進めてしまうと、失敗したときにボス直前まで戻るのが面倒です。だから多くの人はセーブデータをコピーして、片方で装備Aを試し、うまくいかなければコピー元から装備Bを試しますよね。
/fork がやっているのは、まさにこの「セーブデータのコピー」に近いことです。ここまでの会話という積み上げをそのまま引き継いだ状態で、別の枝を作る。枝の先で何を話しても、元の枝はそのまま残っています。
どんなときに使うと嬉しいのか
一番わかりやすいのは「実装方針を2つ比べたいとき」です。たとえば「この機能、ライブラリを追加して作るのと、自前で書くのとどっちがいいだろう」と迷ったとき。片方を試して、気に入らなかったら分岐前に戻ってもう片方を試す、という進め方ができます。
もうひとつは「ちょっと寄り道したいとき」。本筋の作業をしている最中に「そういえばこの関数、何をしてるんだっけ」と質問したくなることがあります。そのまま聞いても答えてはくれますが、本筋の会話に無関係なやり取りが混ざっていきます。分岐しておけば、寄り道は寄り道の枝で完結します。
「新しく始める」のとは何が違う?
初心者の方がよく混同するのが「会話をリセットして最初からやり直す」のとの違いです。ここは押さえておくとかなり理解が進みます。
まっさらに始める
これまでの説明はすべて消えます。プロジェクトの構成も、さっき決めた方針も、また一から伝え直しになります。話題がまったく変わったときには向いています。
/fork で分岐する
ここまでの文脈を引き継いだまま別の道に進みます。前提の説明をやり直す必要がありません。「同じ前提から違うことを試す」場面に向いています。
使うときのコツ
分岐は便利ですが、増やしすぎると自分でも「どれがどれだっけ」となります。実際に使い始めると、これが最初のつまずきポイントになりがちです。分岐する前に「今から何を試すのか」を一言 Claude に伝えておくと、後から見返したときに枝の目的がわかりやすくなります。
また、分岐したからといって、実際に書き換えたファイルが元に戻るわけではないという点は意識しておいてください。会話の流れは分かれても、ディスク上のコードはひとつです。コード側の分岐が必要なら、Git のブランチなどファイルを管理する仕組みと組み合わせて考えるのが安全です。
覚えておきたいこと
とりあえず「今の会話を捨てたくないけど、別のことを試したい」と思ったら /fork を思い出す、くらいの理解で十分です。積み上げた文脈は資産なので、それを守りながら試行錯誤できるのは地味に効きます。慣れてくると、方針に迷った瞬間に自然と手が伸びるコマンドになります。
このページは役に立ちましたか?