Claude Codeは、Windowsで直接(PowerShellかコマンドプロンプト)でも、WSL(Windowsの中でLinuxを動かす仕組み)の中でも使えます。公式資料の選び方は、Windowsのプロジェクトと道具で作業するなら直接、Linuxの道具を使う、またはコマンドを隔離して動かすサンドボックスを使いたいならWSL 2です。WSL 1は、WSL 2が使えない時だけの選択肢です。
インストールのコマンドと最初の動作確認はインストールの記事にまとめています。この記事では、直接とWSLのどちらで動かすかの決め方と、それぞれで最初にそろえるもの、Windowsで止まりやすいエラーの直し方を説明します。
この記事は、2026年11月4日に確認したAnthropicの公式資料(英語)をもとに、編集部がまとめたものです。編集部がWindowsの実機でインストールや操作を確かめた実測の結果ではありません。エラーの文言と直し方は、公式資料の記載です。
WindowsでClaude Codeを動かす場所の選び方
公式のセットアップ資料(英語)は、Windowsでの選択肢を次の3つに分けています。
| 動かす場所 | 必要なもの | サンドボックス | 向いている場面 |
|---|---|---|---|
| Windowsで直接 | 特になし。Git for Windowsは入れなくてもよい | 使えない | Windowsのプロジェクトと道具で作業する |
| WSL 2 | WSL 2を有効にする | 使える | Linuxの道具を使う。コマンドを隔離して動かす |
| WSL 1 | WSL 1を有効にする | 使えない | WSL 2が使えない時 |
迷った時は、プロジェクトのファイルがどこにあるかで決めると手戻りが少なくなります。C:\の下のフォルダーで作業し、Windows用のアプリや道具を使うなら直接実行を、WSLの中(/home/…)にリポジトリがあり、Linuxの道具で作業するならWSL 2を選びます。公式資料(英語)は、WSLの中のファイルをWindows側から扱うとネットワーク経由になり、遅くなるうえにファイルの変更の監視も効かなくなると説明しています。どちらにするかの線引きは、この説明をもとにした編集部の目安です。
パソコンの条件は、Windows 10の1809以降かWindows Server 2019以降、メモリ4GB以上、x64かARM64のプロセッサーです。32ビット版のWindowsでは動きません。

Windowsで直接使う時の準備:Git for WindowsとPowerShell
直接使う場合は、PowerShellかコマンドプロンプト(CMD)でインストールのコマンドを実行します。管理者として実行する必要はありません。コマンドはシェルによって違います。PowerShellなら画面の先頭にPS C:\と出て、CMDならPSのないC:\が出るので、そこで見分けます。
# PowerShell
irm https://claude.ai/install.ps1 | iex
# コマンドプロンプト(CMD)
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
次に、Git for Windowsを入れるかを決めます。公式資料によると、入れていなければ、Claude Codeはコマンドの実行にPowerShellを使います。入れていれば、Git Bashを使ってBashのコマンドを実行でき、PowerShellも並んで使えます(claude.aiとConsoleのアカウントの場合)。Bash向けに書かれたスクリプトや手順を多く使うなら、Git for Windowsを入れておくと、そのまま実行できます。公式資料も、直接使う場合はGit for Windowsを勧めています。
PowerShellで動く時の実行ポリシー
会社のパソコンでは、PowerShellのスクリプトの実行が制限されていることがあります。公式のツール資料(英語)によると、Claude CodeはPowerShellを起動する時、その処理の中だけで実行ポリシーを緩めるので、パソコン全体の設定は変えません。ただし、グループポリシーで決められた設定は上書きしません。パソコンで決めた実行ポリシーに従わせたい時は、環境変数CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICYを1にします。
Bashを禁止する設定にした時の注意
Git Bashがあるパソコンで、権限の設定にBash(git push *)のようなBashの禁止ルールを書くと、そのセッションではPowerShellも使えなくなります。Bashのルールは、PowerShellでの同じ操作を止められないためです。PowerShellも使い続けたい時は、CLAUDE_CODE_USE_POWERSHELL_TOOLを1にするか、PowerShell(git push *)のように、PowerShell用の禁止ルールも書きます。
WSLで使う時の準備:Windows側と混ぜない
WSLで使う場合は、WSLのターミナルを開き、Mac・Linuxと同じインストールのコマンドを実行します。PowerShellやCMDからではなく、WSLのターミナルの中で入れて、その中でclaudeを起動するのが要点です。WSLの中ではGit for Windowsは要りません。
curl -fsSL https://claude.ai/install.sh | bash
使っているのがWSL 1かWSL 2かは、PowerShellでwsl -l -vを実行すると、VERSIONの欄で分かります。サンドボックスを使うにはWSL 2が必要で、さらにWSLの中にbubblewrapとsocatが要ります。Claude Codeの中で/sandboxを実行すると、足りないものがあるかどうかが表示されます(公式のサンドボックス資料(英語))。
WSLでは、ビルドなどがメモリを使いすぎて作業全体が重くなることがあります。v2.1.233以降なら、環境変数CLAUDE_CODE_TOOL_MEMORY_LIMITに4Gのような値を入れると、Claude Codeが実行するコマンドが使うメモリの上限を決められます。
DesktopアプリでもWSLの中で動かせる
ターミナルを使わない場合は、Claude DesktopのCodeタブからでも、WSL 2のディストリビューションの中でセッションを動かせます。セッションを始める時に、プロンプトの入力欄の近くにある環境の選択で「WSL」の下のディストリビューションを選び、フォルダーを選びます。WSL 1は対応していません。WSLの中にgitを入れておく必要があり、WSLのセッションではプラグインが使えず、ファイルの画面では表示だけで編集はできません。会社が管理するパソコンでは、管理者がWSLのセッションを止めている場合があります(公式資料(英語))。
Windowsでインストールが止まる時の直し方
公式のトラブル対処資料(英語)には、Windowsだけで起きるエラーがまとまっています。表示された文で探してください。
シェルを取り違えた時に出るエラー
次の表示は、別のシェルやOS用のコマンドを貼った時に出ます。直し方は、今開いているシェルに合うコマンドを使うことです。
| 表示 | 原因と直し方 |
|---|---|
'irm' is not recognized | CMDでPowerShell用を実行した。PowerShellを開いて実行するか、CMD用のコマンドを使う |
The token '&&' is not a valid statement separator | PowerShellでCMD用を実行した。PowerShell用を使う |
A parameter cannot be found that matches parameter name 'fsSL' | Mac・Linux用をPowerShellで実行した。PowerShell用を使う |
'bash' is not recognized as the name of a cmdlet | Mac・Linux用をWindowsで実行した。PowerShell用を使う |
| スクリプトの文字が表示されるだけで、何も入らない | コマンドの前半だけを実行した。PowerShellなら| iexまで、CMDなら-o install.cmdから最後まで含めて実行する |
「running scripts is disabled on this system」と出る時
npmで入れた場合に、PowerShellの実行ポリシーがnpmの作る.ps1の起動用ファイルを止めると出ます。公式資料の直し方は3つです。自分のユーザーだけSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserで緩める、claude.cmdのように.cmdの方を呼ぶ、またはnpmをやめてPowerShell用のインストールのコマンドで入れ直す、です。PowerShell用のインストールのコマンドは、この制限の影響を受けません。会社のパソコンで実行ポリシーを変えてよいかは、先に管理者に確かめます。
「Claude Code does not support 32-bit Windows」と出る時
スタートメニューには「Windows PowerShell」と「Windows PowerShell (x86)」の2つがあり、x86の方は64ビットのパソコンでも32ビットで動くため、このエラーになります。同じ画面で[Environment]::Is64BitOperatingSystemを実行し、Trueと出たら、x86の付かない方を開いて入れ直します。Falseなら32ビット版のWindowsで、Claude Codeは使えません。
claudeと入力するとDesktopアプリが開く時
古いClaude Desktopが、PATHで優先される場所にClaude.exeを登録していることが原因です。Claude Desktopを最新版に更新すると直ります。
Git BashもPowerShellも見つからないと出る時
Claude Code on Windows requires either Git for Windows (for bash) or PowerShellと出たら、どちらのシェルも見つかっていません。PowerShellの既定の場所C:\Windows\System32\WindowsPowerShell\v1.0\をPATHに足すか、PowerShell 7を入れます。Git for Windowsを入れる場合は、インストールの途中で「Add to PATH」を選び、ターミナルを開き直します。
Git for Windowsを入れているのに使われない時は、PowerShellでwhere.exe gitを実行して場所を調べ、そのGitのbin\bash.exeをsettings.jsonで指定します。
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}
指定するファイルの名前はbash.exeかsh.exeにします。Gitに付いてくるgit-bash.exeを指定すると無視されます。それでも使われない時は、AppLockerなどの端末の保護の仕組みが止めている可能性があるため、claude.exeと、そこから起動するcmd.exeやbash.exeを許可してもらうよう、IT担当に相談します。
更新や再インストールの途中で止まる時
The process cannot access the file ... because it is being used by another processと出る時は、前のインストールが動いているか、ウイルス対策のソフトがダウンロード中のファイルを調べています。ほかのPowerShellの画面を閉じてから、%USERPROFILE%\.claude\downloadsのフォルダーを消し、インストールのコマンドをもう一度実行します。
更新の直後に'claude' is not recognizedと出る時は、更新に失敗してclaude.exeがなくなっていることがあります。%USERPROFILE%\.local\binにclaude.exe.old.で始まるファイルがあれば、公式資料のコマンドでいちばん新しいものをclaude.exeへ戻せます。
Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe
そのファイルがない時は、インストールのコマンドで入れ直します。
WSLで止まる時の直し方:ログインとNode.js
WSLでclaudeを実行してcannot execute binary file: Exec format errorと出たら、WSL 1で起きる既知の問題です。公式資料がいちばん勧める直し方は、PowerShellでwsl --set-version <ディストリビューション名> 2を実行してWSL 2に変えることです。
WSL 2でログインする時に、ブラウザーが開かない、またはログインの後にlocalhostにつながらないと表示されることがあります。この場合は、ログインの画面でcを押してURLをコピーし、Windowsのブラウザーで開いてログインします。ブラウザーにコードが表示されたら、ターミナルのPaste code hereの欄に貼り付けます。次からWindowsのブラウザーを開かせたい時は、環境変数BROWSERにブラウザーの場所を入れておく方法もあります。
npmで入れた場合だけ、WSLがWindows側のnpmやNode.jsを拾ってしまう問題があります。which npmとwhich nodeの表示が/mnt/c/で始まっていれば、Windows側のものです。WSLの中にLinux用のNode.jsを入れて使います。公式資料は、npmではなく公式のインストールのコマンドで入れる方法を勧めているので、新しく入れるならそちらを使えば、この問題は起きません。
Windowsで正しく入ったかを確かめる
どちらの方法でも、インストールが終わったら新しいターミナルを開き、claude --versionを実行します。2.1.211 (Claude Code)のように版の番号が出れば、正しく入っています。インストールのコマンドは進み具合を表示しないので、終わるまで待ってから確かめます。
claudeが見つからない時はPATHを確かめる
インストールは終わったのに、CMDで'claude' is not recognized as an internal or external command、PowerShellでThe term 'claude' is not recognizedと出る時は、インストール先がPATH(コマンドを探す場所の一覧)に入っていません。公式のトラブル対処資料(英語)によると、インストーラーは本体を%USERPROFILE%\.local\bin\claude.exeに置き、PATHに入っていない時は出力のSetup notes:にそのことを表示しますが、PATH自体は変えません。PowerShellで次の順に確かめます。
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"を実行します。Trueなら本体はあります。Falseなら公式のインストールのコマンドでは入っていないので、入れ直すか、npmやWinGetで入れたかを確かめます。$env:PATH -split ';' | Select-String '\.local\\bin'を実行します。何も表示されなければ、PATHに入っていません。- 次の2行で、自分のユーザーのPATHにインストール先を足します。
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
ターミナルを開き直してclaude --versionを実行し、版の番号が出れば直っています。それでも見つからない時は、エディターの中のターミナルはエディターからPATHを受け取るので、エディターを開き直します。PATHが保存されたかは[Environment]::GetEnvironmentVariable('PATH', 'User')の表示に.local\binがあるかで確かめます。npmやWinGetでも入れている時は、where.exe claudeで、どこのclaudeが呼ばれているかを確かめます。
ログインするアカウントの確かめ方と、最初に試す依頼は、次のインストールの記事で説明しています。
Claude CodeのWindowsでの利用でよくある質問
WSLを入れないと使えませんか?
入れなくても使えます。Windowsで直接、PowerShellかCMDから入れて動かせます。ただし、コマンドを隔離して動かすサンドボックスを使いたい場合は、WSL 2が必要です。
WinGetでも入れられますか?
winget install Anthropic.ClaudeCodeで入れられます。公式資料によると、WinGetで入れた場合は自動で更新されないため、ときどきwinget upgrade Anthropic.ClaudeCodeを実行します。Claude Codeが動いている間は、Windowsがファイルを使用中にするため、更新に失敗することがあります。
ARMのWindowsでも使えますか?
公式資料の動作条件は、x64かARM64のプロセッサーです。ARM64のWindowsも条件に含まれます。
まとめ:Windowsではファイルの置き場所で直接かWSLかを決める
Claude CodeはWindowsで直接でもWSLでも使えます。C:\のプロジェクトとWindowsの道具で作業するなら直接実行、Linuxの道具やサンドボックスを使うならWSL 2を選び、WSLを選んだらWSLの中で入れて起動します。直接使う時はGit for Windowsを入れるかを決め、止まった時は表示された文で原因を探します。最初の動作確認と、作業の頼み方はインストールの記事に、Claude Codeの全体像はClaude Codeとはの記事にまとめています。
社内のWindowsのパソコンにまとめて入れる時は、実行ポリシーや端末の保護の設定と、直接かWSLかの方針を先に決めておくと、人によって手順が分かれにくくなります。業務に合わせた導入や研修は、PLaiのAI社員導入支援でも相談できます。





