Codex を Windows で使う方法: CLI のインストールから使い方まで
Codex を Windows で使う手順を、OpenAI 公式ドキュメントに沿って解説します。CLI のインストール、サインイン、使い方、承認モードと WSL2、よくあるエラーまで。
記事を読むWindows では、PowerShell に1行貼るだけで Claude Code を入れられます。必要な環境、WinGet・npm・WSL の違い、動作の確認、PATH やシェルの取り違えなどのエラーの直し方、ターミナルの選び方、VS Code での使い方を、公式ドキュメントで確認した範囲でまとめました。
claude --version と claude doctor を実行して確認します。irm https://claude.ai/install.ps1 | iexClaude Code の Windows インストールは、PowerShell に1行貼るだけで終わります。Node.js も WSL も必須ではなく、管理者として実行する必要もありません。
ただ、つまずく場所はだいたい決まっています。この記事では、必要な環境、インストールの手順、動作の確認、よくあるエラー5つの直し方、ターミナルの選び方、VS Code での使い方を順に説明します。
手順は、Anthropic の公式ドキュメント(日本語版)を2026年10月7日に読んで書きました。コマンドは公式ページからそのままコピーしています。読み取りだけで済むもの(claude --version、where.exe claude、PATH の確認、curl.exe -sI、git --version)は、同じ日に Windows 11 の PC で実行しました。インストーラーは、環境を書き換えるので実行していません。私たちは Claude Code と Codex のセッションをまとめて見る AigoPilot を作っていますが、この記事の手順に AigoPilot は要りません。
Win + R で winver と入力すると分かります。Windows での入れ方は4つあります。迷ったら、公式も推奨しているネイティブインストーラーにしてください。どの方法でも、できあがる Claude Code は同じです。違うのは、更新のされ方と、貼り付けるコマンドだけです。
| 方法 | 向いている人 | 更新 |
|---|---|---|
| ネイティブ(PowerShell か CMD) | ほとんどの人 | 自動 |
| WinGet | winget で管理したい人 | 手動 |
| npm | Node.js 22 以上がある人 | 書き込める環境なら自動 |
| WSL 2 に Linux 版 | Linux のツールやサンドボックスを使う人 | 自動 |
Win + X を押して「ターミナル」か「Windows PowerShell」を開きます。プロンプトが PS で始まっていれば PowerShell です。
irm https://claude.ai/install.ps1 | iexirm がスクリプトをダウンロードし、iex が実行します。終わると「Claude Code successfully installed!」と出て、claude.exe が %USERPROFILE%\.local\bin に置かれます。ネイティブ版は、バックグラウンドで自動的に更新されます。
プロンプトに PS が付いていなければ CMD です。こちらを使います。
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdwinget install Anthropic.ClaudeCode
npm install -g @anthropic-ai/claude-codeWinGet 版は自動更新されないので、ときどき winget upgrade Anthropic.ClaudeCode を実行します。環境変数 CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE を 1 にすれば、新しいバージョンが出たときに、Claude Code が代わりにこのアップグレードを実行します。ただし、Claude Code の実行中は Windows が実行ファイルをロックするので、失敗することがあります。その場合は、手動で実行するコマンドが画面に出ます。npm 版の更新は npm install -g @anthropic-ai/claude-code@latest です。npm update -g は避けるよう、公式が書いています。
WSL のターミナルを開いて、その中で Linux 用のインストーラーを実行します。
curl -fsSL https://claude.ai/install.sh | bash公式の比較表では、サンドボックス機能は WSL 2 だけで使えます。ネイティブ Windows と WSL 1 では使えません。
公式はネイティブ Windows では入れることを勧めていますが、なくても動きます。入れていなければ、Claude Code はコマンドを PowerShell ツールで実行します。入れていれば、Bash ツールに Git Bash を使い、PowerShell ツールも並行して使えます。どちらでも Claude Code は動きますが、Bash 向けに書かれたスクリプトを扱うなら、Git Bash があるほうが自然です。
私たちの意見としては、入れておくほうが楽です。あとから「Git がない」と言われて作業が止まるより、先に入れておくほうが手間は少なくて済みます。git のリポジトリで作業するなら、いずれ必要になるからです。git-scm.com の Windows 向けページからインストーラーを入手し、各画面でデフォルトのまま進めます。入れたらターミナルを開き直してください。
プロジェクトのフォルダに移動して claude を実行します。
cd C:\code\my-project
claude初回はブラウザが開くので、Claude のアカウントで承認します。開かないときは c を押すと URL がコピーされます。ANTHROPIC_API_KEY が設定されていると、そのキーを使うかどうかを聞かれます。
Ctrl + J か、\ を打ってから Enter です。Esc、終了は exit か、空のプロンプトでの Ctrl + D 2回です。/help でコマンドの一覧、/status でアカウントと読み込まれた設定が見られます。サインインをやり直すなら /logout です。最初は、よく知っている小さなプロジェクトで試すのがおすすめです。まず「このプロジェクトの構成を説明して」のような、読むだけの依頼から始めると、Claude Code が何をするのかをつかみやすくなります。
claude --version
claude doctorclaude --version は 2.1.211 (Claude Code) のようなバージョンを表示します。この記事を書いた PC では 2.1.280 でした。claude doctor は、セッションを始めずに、インストールの状態と設定ファイルの誤り、推奨される修正を、読み取り専用で診断します。自動更新の最後の結果も、ここで確認できます。
何度か入れ直した PC では claude が複数入っていることがあります。where.exe claude で全部出ます。この記事を書いた PC では3行返りました。
公式のトラブルシューティングにある Windows のエラーから、出会いやすい5つを選びました。件数を調べて選んだわけではありません。エラーが出たら、まず表示された英語の文面を、そのまま見出しと見比べてください。当てはまるものがなければ、一番下の「ほかに出やすいもの」を見ます。それでも分からないときは、claude doctor の出力が手がかりになります。
ターミナルが claude.exe の場所を知らない状態です。まずターミナルを閉じて開き直してください。インストール中に開いていたものは、古い PATH のままです。直らなければ、PATH を確認して、足りなければ追加します。
$env:PATH -split ';' | Select-String '\.local\\bin'
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')VS Code の拡張機能だけを入れた場合も、同じ症状になります。拡張機能は CLI を内蔵していますが、PATH には追加しないためです。逆に、古い Claude Desktop が自分を先に呼び出し、claude と打つとデスクトップアプリが開くこともあります。その場合は、デスクトップアプリを更新します。更新の直後に出る場合は、更新が途中で止まって、claude.exe.old. で始まるバックアップだけが残っていることがあります。次のコマンドで、いちばん新しいものを戻せます。バックアップがなければ、インストーラーをもう一度実行してください。
Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe別のシェル用のコマンドを貼っています。プロンプトの先頭が PS なら PowerShell、なければ CMD です。
| エラー | 原因 |
|---|---|
'irm' is not recognized | CMD に PowerShell 用を貼った |
The token '&&' is not a valid statement separator | PowerShell に CMD 用を貼った |
parameter name 'fsSL'、'bash' is not recognized | macOS や Linux 用を Windows で実行した |
どれも、使うシェルに合ったコマンドを実行し直せば直ります。スクリプトの中身が表示されるだけで何も入らないときは、| iex まで含めた1行全体を実行してください。
使えるシェルが1つも見つからないときのエラーです。Claude Code は、まず標準のインストール先(C:\Program Files\Git など)を探し、なければ PATH 上の git から Git Bash をたどります。PowerShell が PATH にないなら、C:\Windows\System32\WindowsPowerShell\v1.0\ を PATH に足します。Git は入っているのに見つからないなら、where.exe git で場所を調べ、%USERPROFILE%\.claude\settings.json に bash.exe の場所を書きます。
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}指定できるのは bash.exe などの名前だけで、git-bash.exe は無視されます。会社の PC なら、セキュリティソフトが claude.exe の起動を止めている場合もあります。
npm で入れたときに出ます。ネイティブインストーラーでは出ません。PowerShell の実行ポリシーが、npm の作る .ps1 を止めています。自分のユーザーに限って許可します。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser変えたくなければ、claude.cmd を呼ぶか、ネイティブインストーラーに切り替えます。
インストーラーが %USERPROFILE%\.claude\downloads に書けなかったときのエラーです。前回のインストールが動いているか、ウイルス対策ソフトがスキャン中なのが典型です。他の PowerShell を閉じて少し待ち、フォルダを消してやり直します。
Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\downloads"
irm https://claude.ai/install.ps1 | iexTLS のエラー:古い Windows 10 で出ます。インストーラーの前に、次の1行を実行します。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12会社のプロキシ:$env:HTTPS_PROXY にアドレスを設定してから実行します。サーバーに届くかは、次のコマンドの最初の行が 200 かで分かります。PowerShell では必ず curl.exe と書きます。
curl.exe -sI https://downloads.claude.ai/claude-code-releases/latest32 ビットのエラー:スタートメニューの「Windows PowerShell (x86)」を開いたときに出ます。x86 の付かないほうを開き直します。
サインイン:止まったら /logout から入り直します。有効な契約があるのに「This organization has been disabled」と出るなら、古い ANTHROPIC_API_KEY の環境変数が優先されています。
公式は、どのターミナルでも動くと書いています。違いが出るのは Shift+Enter での改行です。Windows Terminal では設定なしで使えます。VS Code の統合ターミナルでは、最初に1回 /terminal-setup を実行します。Ctrl + J なら、どこでも使えます。
どのターミナルを使うにしても、プロジェクトのフォルダに移動してから claude を起動するのが基本です。Claude Code は、そのフォルダにあるファイルを対象に動きます。
私たちのおすすめは、Windows Terminal で PowerShell を使うことです。Shift+Enter が設定なしで動き、PowerShell 用のコマンドをそのまま貼れるからです。公式の推奨ではなく、私たちの好みです。
Windows で気づきやすい点が、あと2つあります。Backspace を押すたびに単語がまるごと消えるなら、ターミナルが ^H を送っています。環境変数 CLAUDE_CODE_BS_AS_CTRL_BACKSPACE を 0 にすると、1文字ずつ消えます。作業中に表示がちらつくなら、/tui fullscreen でフルスクリーン表示に切り替えられます。
通知にも注意が要ります。標準でデスクトップ通知が出るのは Ghostty、Kitty、iTerm2 だけです。Windows Terminal では、%USERPROFILE%\.claude\settings.json に "preferredNotifChannel": "terminal_bell" を書くと、ベルが鳴ります。
ターミナルが苦手なら、公式のデスクトップアプリもあります。Code タブには Claude Code が含まれ、Node.js も CLI も要りません。
VS Code では拡張機能が公式の推奨です。VS Code 1.94.0 以上と、有料プランか Console アカウントが要ります。Ctrl + Shift + X で「Claude Code」を検索してインストールし、エディタ右上の Spark アイコンか、右下の「✻ Claude Code」でパネルを開きます。初回は「Sign in」を押して、ブラウザで承認します。Spark アイコンが出ないときは、ファイルを開いているか、制限モードになっていないかを確認してください。
会話は、コマンドパレットの「Open in New Tab」で別のタブに開けます。タブごとに履歴が別になるので、別々のタスクを並べて進められます。Spark アイコンの小さな点は、青なら許可の確認待ち、オレンジなら、タブが見えていないあいだに Claude が作業を終えた印です。
間違えやすいのは、拡張機能と CLI が別物だという点です。拡張機能は CLI を内蔵しているので、パネルだけなら、この記事のインストールは不要です。ただ、統合ターミナル(Ctrl + `)で claude と打つには、別にインストールが要ります。拡張機能は PATH に何も足さないからです。
両者は会話の履歴を共有します。拡張機能で始めた会話は、ターミナルで claude --resume を実行して選べば再開できます。拡張機能では、! による Bash ショートカットとタブ補完が使えません。会話を複数並べる方法は、worktree を使った並列実行の記事に書きました。
どちらを使うかは、作業のしかたで決まります。パネルで差分を見ながら進めたいなら、拡張機能が向いています。コマンドをすべて使いたいときや、VS Code の外でも同じ操作をしたいときは、CLI を使います。1つの PC に両方を入れておくこともできます。どちらも同じ設定ファイルを読み込みます。
ネイティブ版は、起動時と実行中に更新を確認し、バックグラウンドで入れ替えます。新しいバージョンは、次の起動から有効になります。すぐ適用するなら claude update です。
更新の速さも選べます。標準の latest は、リリースされたらすぐに受け取ります。stable は、1週間ほど前のバージョンを使い、大きな回帰のあるリリースを飛ばします。安定版にするなら、settings.json に "autoUpdatesChannel": "stable" を書きます。ただし、新しいモデルが出たときは、stable のバージョンでは使えないことがあります。
WinGet で入れたものは、標準では自動更新されません。入れた方法ごとに、更新のしかたが違う点に注意してください。
削除は、ネイティブ版なら次の2行です。WinGet なら winget uninstall Anthropic.ClaudeCode です。%USERPROFILE%\.claude を消すと設定と履歴もなくなるので、残すかどうかは自分で決めてください。
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force入れただけでは設定ファイルはできません。設定を変えたときや、許可を「今後は確認しない」で承認したときに作られます。公式ドキュメントの ~/.claude は、Windows では %USERPROFILE%\.claude のことです。環境変数 CLAUDE_CONFIG_DIR を設定すると、設定と履歴の保存先を別の場所に変えられます。
| 何か | 場所 |
|---|---|
| 本体(ネイティブ版) | %USERPROFILE%\.local\bin\claude.exe |
| ユーザーの設定 | %USERPROFILE%\.claude\settings.json |
| プロジェクトの共有設定 | プロジェクト内の .claude\settings.json |
| プロジェクトの個人設定 | プロジェクト内の .claude\settings.local.json |
| サインイン状態、MCP の設定 | %USERPROFILE%\.claude.json |
最初の1本は簡単に動きます。むずかしくなるのは、プロジェクトが増えてからです。ターミナルのタブが並ぶと、どれが作業中で、どれが終わっていて、どれが返事を待っているのかが見えにくくなります。昼に頼んだ作業が許可待ちのまま止まっていても、夕方まで気づかないことがあります。
ターミナルではなく GUI で使いたいなら、公式のデスクトップアプリがあります。別の選択肢として、Windows で Claude Code を GUI で使う方法に、私たちの AigoPilot もあります。VS Code やターミナルで始めたセッションも、手元のセッションファイルを読んで、自動で一覧に出します。
プロジェクトが増えたなら、複数のセッションを1画面で管理する方法を見てください。Codex も使うなら、Codex も Windows で使う方法を別の記事にまとめました。
AigoPilot は Doment Digital FZE LLC(UAE)の独立したソフトウェアで、Anthropic や OpenAI とは関係がありません。
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 では、PowerShell か CMD からインストールコマンドを実行すれば動きます。WSL 2 を選ぶ理由は、Linux のツールチェーンを使いたい場合や、Claude Code のサンドボックス機能を使いたい場合です。サンドボックスは、ネイティブ Windows と WSL 1 では使えません。Node.js が要るのは npm で入れる場合だけで、22 以上が必要です。
インストール先の %USERPROFILE%\.local\bin が、開いているターミナルの PATH にまだ入っていないためです。ターミナルを閉じて開き直すと直ることが多いです。直らなければ、PATH にそのフォルダを追加して、もう一度ターミナルを開き直してください。VS Code の拡張機能だけを入れた場合も、拡張機能は PATH に claude を追加しないので、同じ症状になります。
必須ではありません。入れていない場合、Claude Code はシェルのコマンドを PowerShell ツール経由で実行します。入れている場合は、Bash ツールに Git Bash を使います。公式は、ネイティブ Windows では入れることを勧めています。
無料の claude.ai プランには、Claude Code は含まれていません。Pro、Max、Team、Enterprise のいずれかのプラン、または Claude Console のアカウントが必要です。Amazon Bedrock などのサードパーティ API を通じて使うこともできます。
使えません。拡張機能は、チャットパネル用に CLI を内蔵していますが、claude を PATH には追加しません。VS Code の統合ターミナルで claude と打ちたいときは、この記事の手順で、CLI を別にインストールしてください。拡張機能と CLI は、会話の履歴を共有します。