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 | サンドボックス | 主な用途 |
|---|---|---|---|---|
| WSL2 | Linux(Ubuntu等) | 不要 | 対応 | Linuxツールチェーン、Linux向け開発 |
| Git Bash | Git for Windows付属のBash | 必須 | 非対応 | 軽量に始めたい、Bashスクリプト使用 |
| PowerShell | Windows 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.exe を bin\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パターン徹底比較
機能・互換性比較
| 比較項目 | WSL2 | Git Bash | PowerShell |
|---|---|---|---|
| サンドボックス機能 | 対応 | 非対応 | 非対応 |
| 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に近い感覚で使える。
記事が見つかりません:
記事が見つかりません:
記事が見つかりません:
記事が見つかりません: