Claude Code Windows完全ガイド 2026 — WSL・Git Bash・PowerShell徹底比較

Claude Code Windows完全ガイド 2026 — WSL・Git Bash・PowerShell徹底比較

Claude CodeをWindowsで使う3つの方法(WSL/Git Bash/PowerShell)を徹底解説。インストール手順・パフォーマンス比較・トラブルシュート・各環境の使い分けを2026年最新情報で網羅。

エンジニアのゆとです。

「Claude CodeってWindowsで動く?」という質問、エンジニアのコミュニティで月に数回は見かける。答えは「動く。ただし選択肢が3つあって、選び方を間違えると後悔する」だ。

この記事では、WindowsでClaude Codeを動かす3つのパターン——WSL2・Git Bash・PowerShell——を徹底比較する。それぞれの「インストール手順」「どういう人に向くか」「よくハマるトラブルと解決法」を、公式ドキュメントと実際の使用感をベースに整理した。

Macから乗り換えてきた人、会社のPCがWindowsで仕方なくという人、最初からWindowsで開発してる人、全パターンに向けて書く。


Windows上のClaude Code、3つの選択肢

まず選択肢の全体像を把握しておく。

選択肢シェル環境Git for Windowsサンドボックス主な用途
WSL2Linux(Ubuntu等)不要対応Linuxツールチェーン、Linux向け開発
Git BashGit for Windows付属のBash必須非対応軽量に始めたい、Bashスクリプト使用
PowerShellWindows PowerShell / pwsh不要非対応Windowsネイティブ開発、.NET/C#

迷ったらWSL2を選ぶのが正解だ。理由は後述するが、Linux互換性が高く、サンドボックス機能も使えて、長期的に詰まりにくい。

ただし「うちの開発環境はWindows一択、WSLは使えない」という制約がある場合、Git BashかPowerShellという選択になる。それぞれに特性があるので順番に説明する。


パターン1: WSL2(Linux環境、推奨)

WSL2を選ぶべき理由

Claude Codeの公式ドキュメントにある比較表を見ると、WSL2だけが「サンドボックス対応」となっている。サンドボックスは、Claude Codeが実行するコマンドを隔離された環境で動かす機能で、セキュリティと安全性の面で本格的な開発には重要だ。

加えて、Claude Codeが生成するコードの大半は「Linuxで動くことを前提にした」ものが多い。Node.js、Python、Dockerといったツールはすべて、Linux環境の方が互換性が高い。プロジェクトがLinuxサーバーにデプロイするものであれば、開発環境もLinuxに揃えた方が「Windowsでは動いたのに本番で動かない」問題が減る。

WSL2のインストール手順

ステップ1: WSL2を有効化する

PowerShellを管理者で開いて実行する。

wsl --install

これだけで、WSL2の有効化とUbuntuのインストールが一括で行われる。再起動が求められたら再起動する。

再起動後、Ubuntuが自動で起動してLinuxユーザー名とパスワードの設定が求められる。ここで設定したパスワードは sudo コマンドに使うので忘れずに。

すでにWSLをインストール済みで、バージョンを確認したい場合:

wsl --list --verbose

VERSION 列が 2 になっていればWSL2だ。1 になっている場合は以下で変換できる:

wsl --set-version Ubuntu 2

ステップ2: WSL2内にClaude Codeをインストール

WSL(Ubuntuターミナル)を開いて、Linuxと同じインストールコマンドを実行する。PowerShellからではなく、WSLのターミナルから実行することが重要だ。

curl -fsSL https://claude.ai/install.sh | bash

インストールが完了したら、PATHが通っているか確認する:

claude --version

バージョン番号が表示されれば成功。もし command not found が出る場合は、ターミナルを再起動するか以下を実行してPATHを読み込む:

source ~/.bashrc

ステップ3: プロジェクトディレクトリで起動

WSL内でプロジェクトのディレクトリに移動してから claude を実行する。

cd ~/projects/my-app
claude

初回起動時はブラウザが開いてAnthropicアカウントへのログインが求められる。ブラウザが自動で開かない場合は、ターミナルに表示されたURLをコピーしてWindowsブラウザで開く。

ログイン後、認証コードをターミナルに貼り付ける。これはWSL環境の仕様上、ブラウザのリダイレクトがWSL側に届かないため必要になる。

WindowsファイルシステムとWSLの関係

一点注意が必要なのは、プロジェクトの「置き場所」だ。

WindowsのCドライブは、WSLからは /mnt/c/ としてアクセスできる。つまり C:\Users\username\projects\my-app は、WSLからは /mnt/c/Users/username/projects/my-app になる。

ただし、WSLからWindowsファイルシステムをマウントして使うのはパフォーマンス的に不利だ。I/Oが低速になるため、ファイルが多いプロジェクトだとClaude Codeの応答が遅くなることがある。

推奨は、プロジェクトをWSLのネイティブファイルシステム(~/projects/ など)に置くこと。Windows側からアクセスしたい場合は、WindowsのエクスプローラーにWSLのパスとして \\wsl$\Ubuntu\home\username\projects でアクセスできる。

WSL2用のVSCode設定

VSCodeを使っている場合、「Remote - WSL」拡張機能を入れると、WSL内のファイルをVSCodeで直接編集できる。VSCode側でClaude Code拡張機能も使えるようになるので、CLIとGUIを組み合わせた開発が快適になる。

# WSL内から以下を実行するとWSLに接続したVSCodeが開く
code .

パターン2: Git Bash(軽量、最低限)

Git Bashを選ぶべき理由

WSL2は便利だが「Windows 10 Home でWSLのインストールが面倒」「会社のPC管理ポリシーでWSL禁止」という状況は実際にある。そういった制約環境で「とにかくClaude Codeを動かしたい」という場合、Git Bashが選択肢になる。

Git BashはGit for Windowsに付属するBashエミュレーターで、Unixコマンドの基本操作ができる。Claude Codeが内部でBashツールを使う場合、Git Bashを経由して実行される。

Git Bash環境のセットアップ

ステップ1: Git for Windowsをインストール

git-scm.com/downloads/win からインストーラーをダウンロードして実行する。

インストール時のオプションで「Add to PATH」を選択することが重要だ。このオプションを選ばないと、Claude Codeがgit bashのパスを見つけられない場合がある。

その他のオプションはデフォルトのままで問題ない。

ステップ2: Claude Codeをインストール

Git for Windowsをインストールしたら、PowerShellからClaude Codeをインストールする。

PowerShellの場合:

irm https://claude.ai/install.ps1 | iex

CMDの場合:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

インストール後に claude --version でバージョンを確認する。

ステップ3: Git Bashのパスを設定(必要な場合)

通常、Claude CodeはGit for Windowsをインストールすると自動でGit Bashを検出する。もし検出されない場合は、settings.json に明示的にパスを設定する。

{
  "env": {
    "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
  }
}

settings.json の場所は %USERPROFILE%\.claude\settings.json(例: C:\Users\username\.claude\settings.json)だ。

パスの確認は PowerShell で行える:

where.exe git

表示されたパスの git.exebin\bash.exe に読み替えたものが Git Bash のパスになる。

Git BashとWSL2の使い分け

Git BashはあくまでWindowsの上で動くBashエミュレーターであり、完全なLinux環境ではない。以下のような違いがある:

  • Linux固有のシステムコールは使えない
  • Dockerをネイティブ実行できない(Docker Desktopが必要)
  • パーミッション(chmod等)の挙動がLinuxと異なる

Bashスクリプトの実行やGit操作程度であれば問題ないが、Linux依存のツールチェーンを使う場合はWSL2の方が安心だ。


パターン3: PowerShell(ネイティブ、制限あり)

PowerShellで動かす場面

Git for Windowsをインストールしていない場合、Claude CodeはデフォルトでPowerShellをシェルツールとして使用する。PowerShellそのものはWindowsに標準搭載されているため、追加インストールなしで使い始められる。

C:\Users\username> の先頭に PS がついていればPowerShell、なければCMDだ。PowerShellのバージョンは以下で確認できる:

$PSVersionTable.PSVersion

Windows 10/11に標準搭載されているのはWindows PowerShell 5.1だが、PowerShell 7(pwsh)の方が高性能で、クロスプラットフォーム対応もしている。以下でインストールできる:

winget install Microsoft.PowerShell

PowerShellでのClaude Codeインストール

irm https://claude.ai/install.ps1 | iex

インストール完了後、ターミナルを再起動してPATHを反映させてから動作確認する:

claude --version

よくある失敗: インストール直後のターミナルで claude が動かない場合、ターミナルを閉じて新しく開き直すと解消することがほとんどだ。PowerShellはセッション開始時にPATHを読み込むため、インストール後の更新が現在のセッションに反映されない。

PowerShellの実行ポリシー問題

企業環境でよくあるトラブルが実行ポリシーだ。irm ... | iex がエラーになる場合、スクリプトの実行が制限されている可能性がある。

現在のポリシーを確認する:

Get-ExecutionPolicy

Restricted と表示された場合、スクリプトの実行が禁止されている。個人PCであれば以下で変更できる(管理者PowerShellで実行):

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

企業環境でポリシー変更が難しい場合は、WinGetを使う方法の方がポリシー制限を回避しやすい:

winget install Anthropic.ClaudeCode

TLS 1.2の有効化

古いWindowsバージョン(10の初期ビルド等)でインストールが失敗する場合、TLS 1.2が無効になっている可能性がある。

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
irm https://claude.ai/install.ps1 | iex

このコマンドをインストールの前に実行してから再試行する。


3パターン徹底比較

機能・互換性比較

比較項目WSL2Git BashPowerShell
サンドボックス機能対応非対応非対応
Linuxコマンド互換性ほぼ完全部分的(基本コマンドのみ)低い
セットアップの手軽さやや手間中程度最も簡単
Windows固有ツールとの連携制限あり中程度最も高い
Docker対応WSL Docker対応Docker Desktop必要Docker Desktop必要
nvm/pyenv等の互換性完全部分的nvmで代替(volta推奨)
Git操作完全完全完全(Git for Windows要)
Node.js実行完全完全完全

パフォーマンスの実態

ファイルI/Oの速度に関して言うと、プロジェクトの置き場所で大きく変わる。

WSL2のベストケースはWSLのネイティブファイルシステム(~/projects/)にプロジェクトを置いた場合。Linux上で直接動いているのとほぼ同等の速度が出る。

WSL2のワーストケースはWindowsファイルシステム(/mnt/c/)をWSLからマウントして使う場合。ファイルアクセスのたびにOS間通信が発生するため、ファイル数が多いプロジェクトだと体感できるほど遅くなる。

Git BashとPowerShellはWindowsファイルシステムで直接動くため、ファイルアクセスの速度はWindows環境としての標準的な速度になる。VSCodeやWindows Terminalとの連携はスムーズだ。

どの環境を選ぶべきか — 判断フロー

Linuxサーバーにデプロイするプロジェクトか?
  → YES: WSL2一択
  → NO: ↓

会社のポリシーでWSLが使えないか?
  → YES: Git Bash(もしくはPowerShell)
  → NO: ↓

Bashスクリプトを頻繁に使うか?
  → YES: WSL2またはGit Bash
  → NO: PowerShellでも問題ない

.NETやWindowsネイティブ開発が主体か?
  → YES: PowerShell + Windows Terminal
  → NO: WSL2推奨

WindowsならではのトラブルTOP5と解決法

トラブル1: インストール後に claude が認識されない

症状:claude --version で「コマンドが見つかりません」または 'claude' is not recognized が表示される。

原因:インストール先(%USERPROFILE%\.local\bin)がPATHに追加されていない、またはターミナルが古いPATHを参照している。

解決法:

まずターミナルを完全に閉じて開き直す。それでも解消しない場合、PATHを確認する:

# PowerShell
$env:PATH -split ';' | Select-String '\.local\\bin'

出力がなければPATHに追加する:

$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

この後、ターミナルを再起動して再確認する。

トラブル2: 32-bitエラーが出る

症状:インストール時に「Claude Code does not support 32-bit Windows」が表示される。

原因:スタートメニューに「Windows PowerShell (x86)」という32bit版のエントリがあり、それを起動している。

確認:

[Environment]::Is64BitOperatingSystem

True なら64bitOSだ。この場合、x86版のPowerShellを使っているのが問題。スタートメニューで「(x86)」のつかない「Windows PowerShell」を選んで再実行する。

トラブル3: ファイルロックエラーでインストール失敗

症状:The process cannot access the file ... because it is being used by another process が表示される。

原因:前回のインストールが中断されてダウンロードフォルダのファイルがロックされているか、ウイルス対策ソフトがスキャン中。

解決法:

Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"
irm https://claude.ai/install.ps1 | iex

ダウンロードフォルダを削除してから再インストールする。ウイルス対策ソフトによる誤検知の場合、一時的に停止してから試すと解消することがある。

トラブル4: WSL2でブラウザが開かずログインできない

症状:claude を初回起動した際にブラウザが開かず、ログインが完了できない。

これはWSL2の仕様上よくある問題で、WSL2からWindowsブラウザを自動で開くのが難しいケースがある。

解決法:

まず、BROWSERの環境変数をWindowsブラウザのパスに設定する:

export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
claude

それでも開かない場合、ターミナルに表示されているOAuthのURLをコピーして、Windowsブラウザに手動で貼り付ける。認証完了後に表示されるコードをターミナルの Paste code here if prompted に貼り付けてログインを完了する。

あるいは claude auth login コマンドを使う方法もある:

claude auth login

これはURLを表示して標準入力でコードを受け取る形式で、WSL2環境でより安定して動作する。

トラブル5: WSL1で Exec format error が発生

症状:WSLで claude を実行すると cannot execute binary file: Exec format error が表示される。

原因:WSL1では最新のClaude Codeバイナリのプログラムヘッダーに互換性がない問題がある。

推奨解決法はWSL2へのアップグレードだ:

# PowerShellで実行(DistroNameは wsl --list --verbose で確認)
wsl --set-version Ubuntu 2

WSL1にとどまる必要がある場合、ダイナミックリンカー経由で実行するワークアラウンドがある。WSL内の ~/.bashrc に追記する:

claude() {
  /lib64/ld-linux-x86-64.so.2 "$(readlink -f "$HOME/.local/bin/claude")" "$@"
}

追記後に source ~/.bashrc で反映する。


環境別おすすめツール

Windows Terminalは必須級

Windowsで開発するなら、Windows Terminalは入れておく。複数のシェル(PowerShell、WSL Ubuntu、CMD等)をタブで管理でき、外観のカスタマイズもしやすい。

winget install Microsoft.WindowsTerminal

インストール後、設定画面でWSL2のUbuntuをデフォルトのプロファイルに設定すると、起動時に直接WSL環境が開くようになる。

VSCodeとRemote - WSL

WSL2環境でVSCodeを使う場合、「Remote - WSL」拡張機能の組み合わせが開発体験を大きく変える。VSCodeのファイルエクスプローラーからWSLのファイルを直接操作でき、Claude Code VSCode拡張機能もWSL環境内で動作する。

# WSL内からこのコマンドでWSL接続済みのVSCodeが開く
code .

wingetで一括セットアップ

新しいWindowsマシンでの環境構築は、wingetを使ったスクリプトが便利だ。

# 開発に必要なツールを一括インストール
winget install Git.Git
winget install Microsoft.WindowsTerminal
winget install Microsoft.VisualStudioCode
winget install Anthropic.ClaudeCode

Git for Windowsをインストールした後でClaude Codeを入れると、Git Bashが自動で有効化される。

WSL2のディストリビューション選択

Ubuntu(デフォルト)で問題ないが、他の選択肢も頭に入れておく。

# 利用可能なディストリビューション一覧
wsl --list --online

# 特定のディストリビューションをインストール
wsl --install -d Debian

Debian系(UbuntuかDebian)が最も互換性が高く、apt-getでパッケージ管理もしやすい。Alpine等のmusl系ディストリビューションはClaude Codeの追加設定が必要になる(後述のFAQ参照)。


FAQ

Q. WSL2でプロジェクトをどちらのファイルシステムに置くべき?

WSLのネイティブファイルシステム(~/projects/)に置くことを強く推奨する。/mnt/c/ 配下に置くとWSLとWindowsのファイルシステム間通信が発生してI/Oが遅くなる。体感できるレベルで差が出るので、開始時からWSL内に置く習慣をつけると後悔しない。

Windows側のエクスプローラーからアクセスしたい場合は \\wsl$\Ubuntu\home\username\projects でアクセスできる。

Q. WSL2インストール後に「仮想マシンプラットフォームが有効化されていません」とエラーが出る

BIOSレベルでの仮想化が無効になっている可能性がある。PCを再起動してBIOS設定を開き、「Virtualization Technology(VT-x)」または「AMD-V」を有効化する。設定箇所はメーカーによって異なるが、「Advanced」や「CPU Configuration」の中にある場合が多い。

Q. Claude Code DesktopアプリとCLIの違いは?

Claude Code DesktopアプリはGUIのアプリで、ターミナルなしでClaude Codeの機能を利用できる。WindowsとmacOSでダウンロード可能だ。

CLIとの主な違いは、MCP設定やHooksといった高度な設定機能にアクセスしにくい点だ。本格的な開発環境として使うなら、CLIを基本に使いながらVSCode拡張機能を組み合わせるスタイルが自由度が高い。

Q. WinGet版と PowerShell インストーラー版、どちらがいい?

PowerShellインストーラー版(irm https://claude.ai/install.ps1 | iex)の方が自動更新が有効になるため基本的に推奨だ。WinGet版(winget install Anthropic.ClaudeCode)は手動で winget upgrade Anthropic.ClaudeCode を実行するまで更新されない。

企業環境でインターネット接続が制限されていてWinGetリポジトリしか使えない、という場合はWinGetが現実的な選択になる。

Q. Alpine Linux(WSL上)でClaude Codeをインストールするには?

Alpineはmusl-libcベースのため、追加パッケージのインストールと設定が必要だ:

apk add libgcc libstdc++ ripgrep

その後、~/.claude/settings.json に以下を設定する:

{
  "env": {
    "USE_BUILTIN_RIPGREP": "0"
  }
}

設定後に通常のインストールコマンドを実行する。

Q. 会社の証明書エラー(SSL/TLS)でインストールできない

企業のネットワーク環境でTLSインスペクションが行われている場合、証明書エラーが出ることがある。

# TLS 1.2を明示的に有効化してからインストール
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
irm https://claude.ai/install.ps1 | iex

それでも解消しない場合、会社のCA証明書をインストールする必要があるかもしれない。IT部門に「downloads.claude.ai へのアクセス」と「Anthropic CA証明書の信頼設定」を依頼するのが確実だ。

WinGetを使う方法の方が証明書エラーを回避しやすいケースもある:

winget install Anthropic.ClaudeCode

Q. Windowsでnpmを使ったインストールはどう?

以前はnpmインストール(npm install -g @anthropic-ai/claude-code)が一般的だったが、現在は非推奨(deprecated)になっている。PowerShellインストーラーかWinGetを使う方が自動更新も効いて管理しやすい。

既存のnpmインストールを置き換える場合:

# npm版をアンインストール
npm uninstall -g @anthropic-ai/claude-code

# ネイティブインストーラーで再インストール
# PowerShellで:
irm https://claude.ai/install.ps1 | iex

まとめ

WindowsでClaude Codeを使う選択肢を整理すると、こうなる。

Linuxサーバーにデプロイするような開発が主体なら、WSL2 + WSLネイティブファイルシステムの組み合わせが最も安定している。サンドボックス機能も使えて、長期的なトラブルが少ない。セットアップに30分程度かかるが、後で「WSL2にしておけばよかった」となりにくい選択だ。

会社のポリシーやWindows専用ツールとの連携で制約がある場合は、Git Bash(Git for Windows + Claude CodeをPowerShellでインストール)が現実的なバランスだ。Bashツールが使えて、Windowsファイルシステムで直接動く。

PowerShellのみで使う場合は、.NETやWindowsネイティブの開発環境としては自然だが、Linux系ツールチェーンとの相性は低い。その制約を理解した上で使うなら問題ない。

環境選択に迷ったら、WSL2から始めてみることをおすすめする。最初のセットアップさえ終えれば、その後の使い勝手はMacに近い感覚で使える。


記事が見つかりません:

記事が見つかりません:

記事が見つかりません:

記事が見つかりません:

← 記事一覧に戻る