私のWindows 11のPCには、Claude Codeの本体が %USERPROFILE%\.local\bin\claude.exe に入っている。バージョン2.1.278、237MB、署名は「Anthropic, PBC」。それなのに、PowerShellを開いて claude と打つと「用語 ‘claude’ は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」と返ってくる。入っているのに動かない。原因はPATHで、直すのに要るのは1行だった。この記事は、2026年9月20日に公式ドキュメント(code.claude.com/docs/ja)を読み直し、自分のPCで確かめながら書いている。
3つの入れ方は、ターミナルを使うかどうかで決まる
Claude CodeをWindowsで使う方法は3つある。デスクトップアプリ、CLI、VS Code拡張。どれもPro以上の有料プランかAPIのアカウントが要る。無料のclaude.aiには含まれていない。これは公式のセットアップページに書いてある。
デスクトップアプリは、claude.comのダウンロードページからインストーラーを落として実行し、Claudeのアカウントでサインインして「Code」タブを開く。Node.jsもGitも要らない。公式のデスクトップ版の案内に「デスクトップアプリにはClaude Codeが含まれています。Node.jsまたはCLIを別途インストールする必要はありません」とある。ターミナルを触りたくない人はここで止まってよい。私も普段の作業はこちらでやっている。
CLIは、ターミナルから claude と打って使う版。公式の推奨はネイティブインストーラーで、PowerShellとCMDでコマンドが違う。
PowerShell:
irm https://claude.ai/install.ps1 | iex
CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
WinGet:
winget install Anthropic.ClaudeCode
管理者として実行する必要はない。動作環境はWindows 10の1809以上、4GB以上のRAM。ネイティブ版は自動更新される。WinGet版は自動更新されないので、たまに winget upgrade Anthropic.ClaudeCode を打つ。npmで入れる方法もあるが、2.1.198以降はNode.js 22以上が必要で、しかもnpmは同じネイティブの実行ファイルを落としてくるだけなので、Node.jsを別の理由で使っていない限り選ぶ理由がない。
VS Code拡張は、拡張機能で「Claude Code」を入れてサイドバーからログインする。注意点が1つあって、公式のトラブルシューティングに「拡張機能は claude をこの場所に配置しません。拡張機能ディレクトリ内にCLIのプライベートコピーをバンドルし、PATHに追加しません」とある。拡張だけを入れても、ターミナルの claude は使えない。
入っているのに認識されないのは、PATHに入っていないから
冒頭の私のPCの状態がこれだ。ネイティブ版のインストーラーは %USERPROFILE%\.local\bin に本体を置く。シェルはPATHという一覧に載ったフォルダーの中だけを探すので、そこに .local\bin がなければ見つからない。PATHに入っているかは、PowerShellで次を打つと分かる。
$env:PATH -split ';' | Select-String '\.local\\bin'
何も出なければ入っていない。私のPCでは何も出なかった。足すのは公式ドキュメントにある2行で、ユーザーのPATHの末尾に追加する。
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
足したあとは、ターミナルを開き直す。ここで1つ落とし穴がある。環境変数は、プログラムが起動した瞬間の値を持ち続ける。開いているPowerShellはもちろん、デスクトップアプリの中のターミナルも、アプリを起動したときのPATHを引き継いでいる。私は前日にwingetでNode.jsとGitを入れたあと、アプリの中のターミナルで node が見つからず、しばらく悩んだ。アプリを再起動すれば直る。再起動せずに今のウィンドウだけ読み直すなら、次の1行を打つ。
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
直ったかは claude --version で見る。公式ドキュメントの例では 2.1.211 (Claude Code) のように出る。私のPCでは本体を直接呼ぶと 2.1.278 (Claude Code) と返った。もう少し詳しく見たいときは claude doctor で、インストールの状態と設定ファイルの問題が読み取り専用で出る。
インストールコマンドを間違ったシェルに貼ると、こう出る
公式のトラブルシューティングに、エラー文と原因の対応表がある。私が見て役に立った4つを写す。
'irm' is not recognized と出たら、PowerShellではなくCMDにいる。プロンプトが C:\Users\名前> で始まっていて、頭に PS がない。CMD用のcurlのコマンドを使うか、PowerShellを開き直す。
The token '&&' is not a valid statement separator と出たら、逆にPowerShellでCMD用のコマンドを貼っている。irm のほうを使う。
A parameter cannot be found that matches parameter name 'fsSL' は、PowerShellでmacOSやLinux用の curl -fsSL ... | bash を貼ったとき。PowerShellの curl はInvoke-WebRequestの別名で、-fsSL を受け付けない。
irm https://claude.ai/install.ps1 だけを打って、画面にスクリプトの本文が流れた場合は、ダウンロードだけして実行していない。末尾の | iex まで含めて貼る。
npmで入れた人は、別のエラーが出ることがある。npm : File C:\Program Files\nodejs\npm.ps1 cannot be loaded because running scripts is disabled on this system というもので、PowerShellの実行ポリシーがnpmの作る .ps1 を止めている。公式の直し方は Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser。ネイティブインストーラーの irm ... | iex はスクリプトファイルを作らないので、この問題に当たらない。
Git for Windowsは必須ではないが、入れると挙動が変わる
CLIを入れる前にGit for Windowsが要ると思っていたが、2026年9月時点の公式ドキュメントでは「オプション」になっている。Git Bashがなければ、Claude CodeはシェルコマンドをPowerShellで実行する。あればBashツールが有効になる。Linux向けに書かれたスクリプトやコマンド例をそのまま動かしたいなら、入れたほうが楽だ。私はwingetで入れた。
winget install --id Git.Git --exact --silent --accept-package-agreements --accept-source-agreements
入れたあとで git --version が返れば通っている。私のPCは2.55.0。Bash本体は C:\Program Files\Git\bin\bash.exe にある。
Claude Code on Windows requires either Git for Windows (for bash) or PowerShell と出るのは、GitもPowerShellも見つからなかったとき。PowerShellは普通 C:\Windows\System32\WindowsPowerShell\v1.0\ にあるので、それがPATHから消えているか、Gitを変な場所に入れたかのどちらかだ。Gitを標準以外の場所に入れた場合は、%USERPROFILE%\.claude\settings.json に場所を書く。公式ドキュメントの例をそのまま写す。
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}
Claude Codeは、この設定がなければ C:\Program Files\Git と C:\Program Files (x86)\Git、次にPATH上の git の順に探す。指定するファイル名は bash.exe か sh.exe でないと無視される。git-bash.exe を指すと効かない。
私のPCで起きた、Claude Codeとは別の落とし穴
Claude Codeに「Pythonでこのファイルを直して」と頼んだら、python と打っても何も起きない状態で止まった。Windowsの「アプリ実行エイリアス」がMicrosoft Storeのスタブを呼んでいて、エラーも出さずに終わる。設定の「アプリ実行エイリアス」でpythonをオフにするか、私のようにAnacondaのフルパス(C:\Users\名前\anaconda3\python.exe)で呼ぶ。Claude Code自体の問題ではないが、Claude Codeに作業させると必ずここを踏む。
もう1つは、古いClaude Desktopが Claude.exe を WindowsApps に登録していて、claude と打つとCLIではなくアプリが立ち上がる問題。公式ドキュメントに載っている症状で、Desktopを最新にすれば直る。どちらが呼ばれているかは where.exe claude で見る。上に出たほうが優先される。
インストールの途中で The process cannot access the file ... because it is being used by another process と止まった場合は、ウイルス対策ソフトが落としかけの本体をスキャンしている。公式の手順は、他のPowerShellを閉じてから %USERPROFILE%\.claude\downloads を消して、インストーラーをもう一度実行する。
入ったあとに確かめる3つ
claude --version でバージョン、where.exe claude で呼ばれている場所、claude doctor で設定と更新の状態。この3つが通れば、あとは作業したいフォルダーで claude と打って、ブラウザでログインするだけだ。本体が本物かどうかは、PowerShellで Get-AuthenticodeSignature "$env:USERPROFILE\.local\bin\claude.exe" を実行して、StatusがValid、署名者が「Anthropic, PBC」なら間違いない。私のPCではそう出た。
デスクトップアプリで使うなら、ここまでの話は全部飛ばしてよい。ターミナルから使いたくなったときに戻ってくればいい。



