Claude CodeのPowerShell(x86)エラー — 通常版との違いは32bitプロセス
PowerShellとPowerShell(x86)の違いは動くプロセスのビット数です。x86側ではClaude Codeの32-bit Windows非対応エラーが出ます。見分け方と開き直し方を示します。
Claude Codeのインストーラーを実行してClaude Code does not support 32-bit Windowsと出たのに、使っているPCは間違いなく64bit。この食い違いは、開いたPowerShellが32bitで動く版だったことで起こります。Windowsのスタートメニューには64bit版と32bit版のPowerShellが並んでおり、どちらを開いたかでエラーになるかどうかが変わります。
PowerShellとPowerShell(x86)の違いは、プロセスのビット数
スタートメニューにはWindows PowerShellとWindows PowerShell (x86)の2つが登録されています。(x86)付きの方は32bitプロセスとして動きます。Claude Codeのnpmパッケージが対応するプラットフォームにもwin32-x64とwin32-arm64だけが並び、32bit向けのwin32-ia32はありません。
PC本体が64bitでも、x86側のウィンドウは32bitで動きます。インストーラーから見た差は次のとおりです。
| 項目 | Windows PowerShell | Windows PowerShell (x86) |
|---|---|---|
| プロセス | Windows PowerShell64bit | Windows PowerShell (x86)32bit |
| Claude Codeのインストール | Windows PowerShell実行できる | Windows PowerShell (x86)64bit機でも32-bit非対応エラー |
Is64BitProcessの値 | Windows PowerShellTrue | Windows PowerShell (x86)False |
エラーが出たらまず、検索窓で「PowerShell」と入力して(x86)付きの候補を開いていないかを疑います。
Is64BitOperatingSystemとIs64BitProcessで原因を切り分ける
エラーを出したのと同じウィンドウで、次の2行を実行します。
[Environment]::Is64BitOperatingSystem
[Environment]::Is64BitProcess1行目はOSが64bitかどうか、2行目はそのウィンドウのプロセスが64bitかどうかを返します。組み合わせで原因が分かれます。
| OS | プロセス | 原因 | 次にやること |
|---|---|---|---|
True | プロセスFalse | 原因(x86)付きのウィンドウを開いている | 次にやること(x86)なしのPowerShellを開き直す |
True | プロセスTrue | 原因このエラーの原因は別にある | 次にやること32bitの問題ではないので、別の原因を探す |
False | プロセスFalse | 原因32bit版のWindowsを使っている | 次にやること64bit版のOSが必要 |
Claude Codeの公式トラブルシューティングが案内しているのは、1行目のIs64BitOperatingSystemだけです。2行目のIs64BitProcessは.NETの標準プロパティで、1行目と並べるとOSとウィンドウのどちらが原因かを1つのウィンドウで切り分けられます。
(x86)なしのPowerShellを開き直してインストールする
Is64BitOperatingSystemがTrueのときの対処は、開き直して同じコマンドを実行するだけです。管理者として実行する必要はありません。
開き直しの手順
- 1
(x86)付きのウィンドウを閉じる
エラーが出たウィンドウをそのまま閉じます。
- 2
「PowerShell」と検索して開く
スタートメニューか検索窓に入力し、候補の中から
(x86)が付いていないWindows PowerShellを選びます。 - 3
同じインストールコマンドを実行する
下のコマンドをもう一度実行します。
- 4
新しいターミナルでバージョンを見る
インストール後に
claude --versionを実行し、バージョン番号が出れば完了です。
irm https://claude.ai/install.ps1 | iexv2.1.289では、claude --versionが次のように表示されました。
claude --version
2.1.289 (Claude Code)claudeが見つからないと言われる場合は、インストール先がPATHに入っていません。インストーラーが置く場所は%USERPROFILE%\.local\bin\claude.exeで、次のコマンドで一覧に.local\binが出るかを調べます。
$env:PATH -split ';' | Select-String '\.local\\bin'何も出なければユーザーPATHへの追加が必要です。公式の手順は、[Environment]::SetEnvironmentVariableで$env:USERPROFILE\.local\binをUser PATHに足し、ターミナルを開き直すものです。claudeと打ったのにClaude Desktopが開く場合は、古いバージョンのDesktopがWindowsAppsに置いたClaude.exeがPATHで優先されています。Desktopを最新版に更新すれば直ります。
claude install --helpを見ると、インストール済みのclaude自体にもinstallサブコマンドがあります。
claude install --help
Usage: claude install [options] [target]
Install Claude Code native build. Use [target] to specify version (stable,
latest, or specific version)
Options:
--force Force installation even if already installed
-h, --help Display help for commandtargetにはstable・latest・具体的なバージョン番号を渡せます。--forceは、すでにインストール済みでも入れ直すオプションです。
開き直しても進まないときは、エラー文でシェルの種類を逆算する
32bit版のエラーを抜けたあとも、インストールでは別のエラーに当たることがあります。多くはコマンドとシェルの組み合わせの取り違えで、エラー文から実際に開いているシェルが分かります。
| エラーメッセージ | 実際に開いているシェル | 対処 |
|---|---|---|
'irm' is not recognized | 実際に開いているシェルCMD | 対処PowerShellを開き直すか、CMD用コマンドを使う |
The token '&&' is not a valid statement separator | 実際に開いているシェルPowerShell(CMD用コマンドを実行) | 対処PowerShell用コマンドに切り替える |
A parameter cannot be found that matches parameter name 'fsSL' | 実際に開いているシェルPowerShell(macOS/Linux用コマンドを実行) | 対処PowerShell用コマンドに切り替える |
'bash' is not recognized | 実際に開いているシェルPowerShell(macOS/Linux用コマンドを実行) | 対処Windows用コマンドに切り替える |
fsSLのエラーは、PowerShellではcurlがInvoke-WebRequestの別名になっていて、-fsSLというフラグを受け付けないために起きます。CMDのまま入れたい場合は、CMD用のインストーラーがあります。
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdコマンドを実行してもインストールが進まず、スクリプトの中身がそのまま画面に流れる場合は、irm https://claude.ai/install.ps1だけを実行しています。実行を担う| iexが抜けているので、コマンド全体をもう一度実行します。CMD用でも同じで、-o install.cmdを付けないとバッチファイルの中身が表示されるだけです。
どちらのシェルにいるかは、プロンプトの行頭で分かります。PowerShellはPS C:\Users\name>のように先頭にPSが付き、CMDはC:\Users\name>とPSなしで表示されます。
iexの解析エラーで、HTMLやCSSのタグらしき文字が引用されて出る場合は、インストール用のURLがスクリプトでなくWebページを返しています。この場合の代替手段として、公式はWinGetを挙げています。
winget install Anthropic.ClaudeCode別のPowerShellウィンドウでインストーラーが走ったままだと、Failed to download binary: The process cannot access the fileというエラーで止まることがあります。%USERPROFILE%\.claude\downloadsに書き込めないことが原因で、前回の試行が残っているか、ウイルス対策ソフトが途中のバイナリを検査しているケースが典型です。ほかのウィンドウを閉じて検査が終わるのを待ち、downloadsフォルダーを消してからやり直します。
Illegal instructionと表示される場合は、32bit問題とは別の原因です。1つは、CPUのアーキテクチャに合わないバイナリが入ったケースで、PowerShellなら$env:PROCESSOR_ARCHITECTUREで確かめられます。もう1つは、CPUがAVXなどの必要な命令に対応していないケースです。おおむね2013年より前のIntel・AMD製CPUや、AVXをゲストに渡さない仮想マシンが該当します。後者にネイティブバイナリ向けの回避策はなく、別のインストール方法も同じバイナリを入れるので解決しません。
システム要件との関係
32bit版PowerShellのエラーは、システム要件の裏返しにあたります。要件はOSがWindows 10 1809+またはWindows Server 2019+、ハードウェアが「4GB以上のRAM、x64またはARM64のプロセッサ」で、32bitのx86プロセッサは含まれていません。対応シェルはBash・Zsh・PowerShell・CMDの4つです。Windowsでは、インストールコマンドはPowerShellかCMDで実行します。
Git BashもPowerShellも見つからないときの別エラー
32bitの問題が片付いても、シェルが見つからない環境では別のエラーが出ます。
Windows上のClaude Codeは、Git for WindowsのGit BashをBashツールに使います。Git Bashがなければ代わりにPowerShellツールが使われ、どちらもなければClaude Code on Windows requires either Git for Windows (for bash) or PowerShellで止まります。
PowerShellがPATHにないのが原因なら、既定の場所C:\Windows\System32\WindowsPowerShell\v1.0\をPATHに追加します。もう1つの手は、PowerShell 7を入れることです。PowerShell 7はpwshを提供します。Git for Windowsを入れる選択肢もあり、その場合はセットアップ中に「Add to PATH」を選び、ターミナルを再起動します。Git for Windowsは必須ではなく、入れるとBashツールが使えるようになります。
WSLで使うなら話が変わります。WSLのディストリビューションの中でLinux用インストーラーを実行し、claudeもWSLのターミナルから起動します。ネイティブWindowsとWSL2のどちらを選ぶかを含めた導入経路の全体像は、Claude Code Windowsインストールにまとめています。
Git Bashが入っていると、PowerShellツールもBashツールと並んで使えます。claude.aiまたはConsoleのアカウントでは標準で有効で、Amazon Bedrock・Google CloudのAgent Platform・Microsoft FoundryのセッションではCLAUDE_CODE_USE_POWERSHELL_TOOL=1で有効にします。0にすると無効になります。PowerShellツールの起動時にどのプロファイルが読み込まれるか、環境変数がどう引き継がれるかはClaude Codeのシェル起動設定に書いています。インストール後にPowerShellツールが実行するコマンドのうち、Remove-Itemなどがブロックされる条件はPowerShell Remove-ItemがClaude Codeでブロックされる条件で扱っています。
npm経由のインストールで見るrunning scripts is disabled
PowerShellを正しく開けても、npm経由でClaude Codeを入れるとrunning scripts is disabled on this systemというエラーに当たることがあります。npmが作る.ps1の起動スクリプト(claude.ps1など)を、PowerShellの実行ポリシーがブロックしているためです。実行ポリシーの対象はスクリプトファイルなので、ダウンロードしたテキストをその場で実行するirm https://claude.ai/install.ps1 | iexは影響を受けません。
公式が挙げる対処は3つあります。
- 現在のユーザーに、ローカルで作ったスクリプトの実行を許可する
.ps1ではなく.cmdの起動スクリプト(npm.cmd・claude.cmd)を呼ぶ- npmをやめて、
.ps1でなくバイナリを入れるPowerShell用インストーラーを使う
1の許可は次のコマンドです。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser実行ポリシーを変えずに済ませたいなら、2か3が選択肢になります。
まとめ
Claude Code does not support 32-bit Windowsが出たら、PCを疑う前に[Environment]::Is64BitOperatingSystemを実行します。その先は症状で分かれます。開き直しても別のエラーが出るならシェルの取り違え、npm経由でrunning scripts is disabledが出るなら実行ポリシーの話です。