Claude Code を Windows にインストールする方法とよくあるエラーの直し方
Claude Code の Windows インストール手順を、Anthropic 公式ドキュメントに沿って解説します。PowerShell の1行、確認方法、よくあるエラー5つ、ターミナルと VS Code まで。
記事を読む同じフォルダで2つのセッションを動かすと、互いの作業を踏みます。避ける方法が git worktree です。claude --worktree、git worktree add、セッション再開と一覧、使用量の限界、Windows でつまずく点を、公式ドキュメントと実際の実行に沿ってまとめました。
claude --worktree 名前 と実行するだけで、.claude/worktrees/名前 に専用の worktree ができ、そこでセッションが始まります。別のターミナルで別の名前を付ければ、2つ目のセッションです。.env と依存パッケージは入っていません。.worktreeinclude で env ファイルを持ち込み、インストールは worktree ごとにやり直します。Claude Code 並列実行をしたくなる場面は、すぐに来ます。片方に新機能を任せているあいだに、もう片方でバグを直してほしい。ただ、同じフォルダで2つのセッションを走らせると、かなりの確率で互いの作業を踏みます。
この記事では、ぶつかる理由、git worktree で何が変わるのか、Claude Code とデスクトップアプリでの使い方、複数セッションの再開と一覧、Windows で引っかかりやすい点、そして並列にしたときの限界を順に書きます。コマンドとオプションは、2026年10月7日に確認した Anthropic と Git の公式ページに載っているものだけを使っています。出典は末尾にまとめました。
Windows マシンで実際に確かめたのは次のものです(2026年10月7日、Claude Code 2.1.280、Git 2.55.0)。claude --help で --worktree、--name、--resume、--continue を確認し、使い捨てのリポジトリで git worktree add、list、remove(--force を含む)、prune を実行しました。claude --worktree でセッションを始める操作は、サインインが要るので実行していません。
セッションが読み書きするのは、プロジェクトのフォルダにある実際のファイルです。2つのセッションが同じフォルダを指していれば、片方が書き換えたファイルを、もう片方は次に読んだ時点で書き換え後の状態として見ます。作業の途中のコードを前提に、別の作業が進んでしまうわけです。
ファイルだけではありません。1つのフォルダには、チェックアウト中のブランチが1つしかありません。片方のセッションがブランチを切り替えれば、もう片方の足元のファイルも丸ごと入れ替わります。コミットも同じインデックスを共有するので、2つの作業の変更が1つのコミットに混ざることがあります。
セッションが別々のファイルしか触らないなら、問題が出ないこともあります。ただ、ぶつかったときは何が起きたのか調べるのに時間がかかるので、最初から分けておくほうが楽です。
git worktree は、1つのリポジトリに対して作業用のフォルダを複数作る機能です。Git の公式ドキュメントによると、新しい worktree は、HEAD や index のような worktree ごとのファイルを除いて、すべてを元のリポジトリと共有します。履歴とリモートは共通で、ファイルとブランチだけがフォルダごとに独立します。リポジトリ全体をもう一度 clone するのとは違い、履歴が重複しません。
覚えておくことが1つあります。同じブランチを2つの worktree で同時にチェックアウトすることはできません。実際に、feature-a を使っている worktree があるときに同じブランチで別の worktree を作ろうとすると、fatal: 'feature-a' is already used by worktree と断られました。「1つのブランチにつき1つの作業フォルダ」と考えると整理しやすいです。
Anthropic のドキュメントも、並列セッションの隔離にこの仕組みを使っています。ただし分離されるのはファイルの編集です。開発サーバーのポート番号やデータベースのような、フォルダの外にあるものは分離されません。その点は自分で気をつけてください。
いちばん手軽なのは、Claude Code 自身のオプションです。プロジェクトのフォルダで、名前を付けて実行します。
claude --worktree feature-auth-w と短く書くこともできます。これで、リポジトリのルートの .claude/worktrees/feature-auth/ に worktree が作られ、worktree-feature-auth という新しいブランチが切られ、その中で Claude Code が始まります。名前を省略すると、bright-running-fox のような名前が自動で付きます。
2つ目のセッションは、別のターミナルで別の名前を付けて同じように実行するだけです。
claude --worktree fix-loginうまくいかないときは、次の点を確認してください。
Failed to resolve base branch "HEAD": git rev-parse failed というエラーが出ます。claude だけを実行して、信頼するかどうかの確認に答えておく必要があります。.claude/worktrees/ を .gitignore に入れておくと、worktree の中身が本体のチェックアウトで未追跡ファイルとして表示されずに済みます。公式ドキュメントも勧めています。標準の設定("fresh")では、新しい worktree は今いるブランチではなく、リモートのデフォルトブランチ(たいてい main)から分かれます。まだ push していないコミットや、作業中の機能ブランチの状態は含まれません。今の作業を引き継ぎたい場合は、設定の worktree.baseRef を "head" にします。そうすると、現在のローカルの HEAD から分かれます。
{
"worktree": {
"baseRef": "head"
}
}書く場所は、自分の全プロジェクトに効かせるなら %USERPROFILE%\.claude\settings.json です。baseRef にブランチ名は指定できません。特定のブランチから始めたいときは、次の方法 2 で自分で作ります。
レビューしたいプルリクエストがあるなら、番号を渡せます。シェルが # を注釈の始まりと解釈しないように、引用符で囲みます。
claude --worktree "#1234"origin からそのプルリクエストを取得して、.claude/worktrees/pr-1234 に worktree を作ります。
置き場所や元のブランチを自分で決めたいときは、Git のコマンドを直接使います。Claude Code の公式ドキュメントにも、この手順が載っています。新しいブランチを切って worktree を作る場合は、次のとおりです。
git worktree add ../project-feature-a -b feature-a../project-feature-a が作業フォルダ、feature-a が新しいブランチの名前です。すでにあるブランチを使うなら、-b を付けずにブランチ名を渡します(git worktree add ../project-bugfix fix-issue-456)。作ったフォルダに移動して、そこで Claude Code を起動します。
cd ../project-feature-a
claude一覧と削除のコマンドも覚えておくと役に立ちます。
git worktree list
git worktree remove ../project-feature-agit worktree list は、本体と追加した worktree の場所、チェックアウト中のコミットとブランチを一覧にします。git worktree remove は、未コミットの変更や未追跡のファイルが残っている worktree を削除しません。手元でも contains modified or untracked files, use --force to delete it と断られました。どうしても消すなら --force を付けますが、その中の変更は失われます。
ブランチを作らず、実験用の使い捨てが欲しいなら、git worktree add -d ../scratch のように -d(--detach)を付けます。ブランチに属さない worktree になります。
特に理由がなければ、方法 1 で十分です。.worktreeinclude によるファイルのコピーや後片付けまで Claude Code が面倒を見てくれます。方法 2 は、リポジトリの外に置きたいときや、特定の既存ブランチから始めたいときに向いています。
並列開発は、セッションの数を増やすほど楽になるわけではありません。基本は、別々の作業を別々の worktree に任せることです。たとえば次のような分け方があります。
claude --worktree feature-auth)claude --worktree fix-login)以下は公式の決まりではなく、使っていて楽になる私たちの目安です。作業ごとに触るファイルがなるべく重ならないように切り分けます。同じファイルを2つの worktree で編集すると、マージのときに結局ぶつかるからです。名前は feature-auth のように、作業の内容がわかる半角の英小文字とハイフンにしておくと、フォルダ名にもブランチ名にもそのまま使えます。同じ名前でもう一度 --worktree を実行すると、Claude Code は新しく作らずに、すでにある worktree を開きます。作業の再開には便利ですが、別の作業で名前を使い回さないでください。
私たちの感覚では、人が同時に目を配れるのは、せいぜい2〜3セッションです。それ以上は、確認待ちを見落とすほうが、並列で得た時間より高くつきます。
Claude のデスクトップアプリの Code タブでも、同じ仕組みを使えます。ただし、自動ではありません。Git リポジトリのセッションを始めるときに、ブランチ名の横にある worktree のオプションを自分で選びます。選ばなければ、そのセッションは本体のフォルダで動きます。
Ctrl+N で作ります。サイドバーのセッションの切り替えは Ctrl+Tab と Ctrl+Shift+Tab です。2つを並べて見るには、Ctrl を押しながらサイドバーのセッションをクリックします。<プロジェクトのルート>/.claude/worktrees/ です。Settings → Claude Code の「Worktree location」で変更でき、ブランチ名の前に付けるプレフィックスも同じ画面で設定できます。winget install Git.Git でも入ります)。デスクトップアプリで作る worktree にも、次の節の .worktreeinclude が効きます。公式のデスクトップアプリは、並列セッションの管理を自前で持っています。AigoPilot との位置づけは、公式デスクトップアプリの並列機能との違いのページにまとめています。
worktree は新しいチェックアウトです。Git が追跡しているファイルだけが入っていて、.gitignore で除外されているものは入っていません。.env も、node_modules のようなインストール済みの依存パッケージも、最初は空です。依存パッケージは、worktree の中でインストールし直します。Claude にそのまま頼んでもかまいませんし、worktree のフォルダで、プロジェクトのセットアップを自分で実行しても同じです。
.env のようなファイルは、プロジェクトのルートに .worktreeinclude を置くと、worktree が作られるたびに自動でコピーされます。書き方は .gitignore と同じです。
.env
.env.local
config/secrets.jsonコピーされるのは、パターンに一致し、かつ .gitignore で除外されているファイルだけです。この設定は、--worktree で作る worktree、サブエージェントの worktree、デスクトップアプリの並列セッションのすべてに効きます。公式ドキュメントが対象として挙げているのは、Claude Code が作る worktree です。自分で git worktree add を実行して作った場合は、.env を自分でコピーしておくと確実です。秘密情報を含むファイルをコピーすることになるので、書く前に何を入れるかを一度考えてください。
worktree で衝突は避けられます。そのかわり、どのセッションがどの作業で、どれがまだ動いていて、どれが自分の返事を待っているのか、という問題が増えます。Claude Code 自身にも、再開と一覧のための機能があります。
claude -n "auth-rebuild"(--name)で、セッションに名前を付けて始められます。名前は /resume の選択画面にも表示されます。claude --resume 名前 です。名前や ID を付けずに claude --resume だけを実行すると、対話式のセッション一覧が開きます。claude --continue(-c)は、今のフォルダで最後に動かした会話を再開します。claude --worktree 名前 --resume で戻れます。claude agents を実行すると、バックグラウンドで動くセッションを1つの画面で見渡せるエージェントビューが開きます。作業中、入力待ち、完了、失敗が、行ごとに区別して表示されます。公式ドキュメントでは、この機能はリサーチプレビューです。Codex も併用している場合や、プロジェクトが複数ある場合は、これだけでは足りません。Claude Code の機能は Claude Code のセッションが対象で、Codex は別の入口を使うからです。複数セッションを1画面で管理できるアプリを使うと、プロジェクトをまたいで、どれが作業中でどれが返事待ちかを一覧できます。
worktree でファイルは分かれても、使用量の枠は分かれません。Claude のプランの使用量は、5時間のローリング枠と週ごとの上限で数えられ、Claude のチャットと同じ枠から引かれます(claude.com/pricing の記述)。同じアカウントで3つのセッションを動かしても、枠が3つになるわけではありません。3つ分の速さで、1つの枠を使うことになります。
/rate-limit-options)。/usage で確認できます。使用量クレジットをオンにしていれば、/usage-credits で枠を超えて続ける設定を開けます。Pro や Max の金額は変わりやすいので、Claude の料金ページで確認してください。
以下は公式の説明ではなく、私たちの考えです。次のような場合は、並列にしないほうが早く終わります。
worktree は放っておくと増えます。Claude Code の --worktree で作ったものは、セッションを終了するときに確認が出ます。
-p による非対話の実行には終了時の確認がないので、worktree は自動では消えません。git worktree remove で消します。ロックされていると拒否されるので、その場合は先に git worktree unlock を実行します。自分で作った worktree は、自分で消します。作業が終わってブランチをマージしたら git worktree remove ../project-feature-a です。フォルダをエクスプローラーで直接消してしまったときは、git worktree prune で管理情報を片付けられます。ただし公式ドキュメントも、次からは git worktree remove を使うよう書いています。
.claude/settings.local.json に保存され、他の worktree にも効きます。Windows では、ルールがその worktree に残ります。そのため、worktree を増やすと、同じコマンドでも承認を何度か求められることがあります。.claude、.claude/worktrees、worktree のフォルダそのものがシンボリックリンクだと、worktree は作られません。node_modules のような階層の深いものを入れ直すので、置き場所は浅く、名前は短くしておくと安全です。これは公式の決まりではなく、一般的な注意です。.git/config に独自のフィルターが設定されていると、Claude Code は worktree の作成を断ることがあります。直し方は、公式の worktree のページの「トラブルシューティング」にあります。git lfs pull を実行すると、実際のファイルが取れます。作業が終わったときに気づけるように、完了の知らせを受け取る設定も入れておくと便利です。手順は、作業完了の通知の記事にあります。
セッションが別々のファイルしか触らなければ、問題が出ないこともあります。ただ、片方が書き換えたファイルをもう片方がそのまま読むので、ぶつかる可能性は残ります。ブランチの切り替えやコミットも1つのフォルダで共有されます。作業を分けたいなら、セッションごとに worktree を使うのが安全です。
そのままでは入りません。worktree は新しいチェックアウトなので、gitignore されたファイルは存在しません。プロジェクトのルートに .worktreeinclude を置き、コピーしたいファイル(.env など)を gitignore と同じ書き方で並べると、worktree を作るたびに自動でコピーされます。コピーされるのは、パターンに一致し、かつ gitignore されているファイルだけです。
いいえ。Git リポジトリでセッションを始めるときに、ブランチ名の横にある worktree のオプションを自分で選びます。選んだセッションだけが、専用の worktree で動きます。置き場所とブランチ名のプレフィックスは、Settings の Claude Code で変更できます。
claude --worktree で作った worktree を、終了時の確認で削除した場合は、フォルダとブランチの両方が、その中の作業ごと消えます。変更がなく、名前を付けずに始めたセッションなら、確認なしで自動的に削除されます。git worktree remove で消す場合は、未コミットの変更や未追跡のファイルがあると拒否されます。--force を付けると削除できますが、その中の変更は失われます。
できません。Git の仕様で、1つのブランチは同時に1つの worktree でしかチェックアウトできません。同じ内容から別々に作業したいときは、それぞれ別のブランチを切ってください。
使い回せません。worktree は追跡されているファイルだけのチェックアウトなので、依存パッケージは worktree の中でインストールし直す必要があります。Claude にインストールを頼むか、worktree のフォルダで自分でセットアップを実行してください。
届きます。worktree で分かれるのはファイルで、使用量の枠は分かれません。Claude のプランでは、同じアカウントのセッションが1つの枠(5時間のローリング枠と週ごとの上限)から引かれるので、セッションを増やした分だけ早く減ります。残りは /usage で確認できます。
/usage):code.claude.com/docs/ja/costs(2026年10月7日に確認)Claude Code の Windows インストール手順を、Anthropic 公式ドキュメントに沿って解説します。PowerShell の1行、確認方法、よくあるエラー5つ、ターミナルと VS Code まで。
記事を読むコーディングエージェント比較を、公式ページで確認した事実だけでまとめました。Claude Code、Codex、Cursor、Copilot、Antigravity を、Windows 対応と料金で並べます。
記事を読む