Claude Media
Claude CodeのPowerShell(x86)エラー — 通常版との違いは32bitプロセス

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 PowerShellWindows PowerShell (x86)
プロセスWindows PowerShell64bitWindows PowerShell (x86)32bit
Claude CodeのインストールWindows PowerShell実行できるWindows PowerShell (x86)64bit機でも32-bit非対応エラー
Is64BitProcessの値Windows PowerShellTrueWindows PowerShell (x86)False

エラーが出たらまず、検索窓で「PowerShell」と入力して(x86)付きの候補を開いていないかを疑います。

Is64BitOperatingSystemとIs64BitProcessで原因を切り分ける

エラーを出したのと同じウィンドウで、次の2行を実行します。

[Environment]::Is64BitOperatingSystem
[Environment]::Is64BitProcess

1行目は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. 1

    (x86)付きのウィンドウを閉じる

    エラーが出たウィンドウをそのまま閉じます。

  2. 2

    「PowerShell」と検索して開く

    スタートメニューか検索窓に入力し、候補の中から(x86)が付いていないWindows PowerShellを選びます。

  3. 3

    同じインストールコマンドを実行する

    下のコマンドをもう一度実行します。

  4. 4

    新しいターミナルでバージョンを見る

    インストール後にclaude --versionを実行し、バージョン番号が出れば完了です。

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

v2.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 command

targetには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つあります。

  1. 現在のユーザーに、ローカルで作ったスクリプトの実行を許可する
  2. .ps1ではなく.cmdの起動スクリプト(npm.cmd・claude.cmd)を呼ぶ
  3. 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が出るなら実行ポリシーの話です。

この記事を共有:XはてブLinkedIn