⚒️

WindowsでCodex CLIを使うための環境構築手順

に公開

はじめに

本記事では下記手順で、Windows環境でCodex CLIを使うための環境構築手順を紹介します。
※途中の手順を実施済みの方は必要に応じて読み飛ばしてください。

  1. WSL環境を使わずCodexがインストールできるか試す(2025/8/29追記)
  2. WSL環境を使わず導入できない場合はWindows11へのWSLの導入
  3. WSL環境へのnvm/node.jsの導入
  4. Codex CLIの導入

■ WSL環境での構築が推奨されている理由

※最近の更新でWSL環境でなくても安定稼働するそうなので、
一度WSL環境なしでのインストールを試していただければと思います。(2025/8/29追記)

Codex CLIはWindowsを正式サポートしていない(2025/8/29時点)

下記ページを見ると Windows は実験的サポートのみとのことで、
Windows+WSL環境で使用することが推奨されていました。


https://help.openai.com/en/articles/11096431-openai-codex-cli-getting-started?utm_source=chatgpt.com

プラットフォーム サポート状況
macOS / Linux 公式にサポート
Windows(ネイティブ) 実験的サポートのみ
Windows + WSL(推奨) WSL 経由での実行が推奨される方法

0.WSL環境を使わずCodex CLIがインストールできるか試す(2025/8/29追記)

最近の更新でWSL環境でなくても安定稼働するそうです。
PowerShellを開き、下記コマンドを使って Codex をインストールする。

$ npm install -g @openai/codex@latest
added 1 package in 2s
npm notice
npm notice New major version of npm available! 10.9.3 -> 11.5.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.5.2
npm notice To update run: npm install -g npm@11.5.2
npm notice

下記コマンドを実行してバージョンが表示されていればOKです。
以降の流れは後述を参考にしてください。

$ codex --version
codex-cli 0.20.0

1.Windows11へのWSLの導入

※WSL環境を使わずCodex CLIが導入できなかった場合の手順となります。

本手順ではWindows11へのWSLの導入手順について紹介します。
既に導入済みの方は「2. WSL環境へのnvm/node.jsの導入」に進んでください。

■ 準備①:Linux カーネルを動かすための互換レイヤーを Windows に追加する

PowerShell を 「管理者として実行」 で立ち上げる。
下記コマンドを実行する。

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 機能名: Microsoft-Windows-Subsystem-Linux
  • 役割: WSL 自体の機能を Windows にインストール・有効化します。
    ※ /all は依存関係のある機能もまとめて有効化するオプション。
    ※ /norestart は有効化後に自動再起動しない指定

これが無いと wsl コマンド自体が使えないとのこと。

■ 準備②:仮想化基盤を有効化する

下記コマンドを実行する。
コマンド実行後、再起動する。

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 機能名: VirtualMachinePlatform
  • 役割: 仮想化基盤(Hyper-V の軽量版のようなもの)を有効化する。

※ 上記実行していないと下記エラーが出ました。

$ wsl --install
エラー コード: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_SERVICE_NOT_AVAILABLE

■ WSLのインストール

下記コマンドでWSLをインストールします。
インストール後、パスワードを登録するように促されます。

$ wsl --install
ダウンロードしています: Ubuntu
インストールしています: Ubuntu
ディストリビューションが正常にインストールされました。'wsl.exe -d Ubuntu' を使用して起動できます
Ubuntu を起動しています...
Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account: is0383kk
New password:
Retype new password:
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

【補足】別のディストリビューションを選択する場合

デフォルトでは WSL2 と Ubuntu がインストールされます。
別のディストリビューションを使う場合は下記のようにオプションで指定できます。

wsl --install -d Debian

■ WSLを使ってUbuntuを起動する

下記コマンドで起動できます。

wsl.exe -d Ubuntu

2. WSL環境へのnvm/node.jsの導入

本手順ではWSL環境へのnvm/node.jsの導入手順について紹介します。
既に導入済みの方は「3. Codex CLIの導入」に進んでください。

■ nvmのインストール

node.js をインストールするために nvm をインストールします。
WSL上で実行してください

下記コマンドで cURL をインストールする。

$ sudo apt-get install curl

下記コマンドで nvm をインストールする

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16631  100 16631    0     0  71634      0 --:--:-- --:--:-- --:--:-- 71685
=> Downloading nvm from git to '/home/hoge/.nvm'
=> Cloning into '/home/hoge/.nvm'...
remote: Enumerating objects: 383, done.
remote: Counting objects: 100% (383/383), done.
remote: Compressing objects: 100% (326/326), done.
remote: Total 383 (delta 43), reused 178 (delta 29), pack-reused 0 (from 0)
Receiving objects: 100% (383/383), 392.12 KiB | 8.17 MiB/s, done.
Resolving deltas: 100% (43/43), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /home/hoge/.bashrc
=> Appending bash_completion source string to /home/hoge/.bashrc
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:

C:\Users\hoge\AppData\Roaming\nvm\v22.16.0
+-- @openai/codex@0.20.0
+-- corepack@0.32.0
=> If you wish to uninstall them at a later point (or re-install them under your
=> `nvm` node installs), you can remove them from the system Node as follows:

     $ nvm use system
     $ npm uninstall -g a_module

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

■ 環境変数の反映

インストール完了後、下記コマンドで nvm の環境変数を反映させる

source ~/.bashrc

■ nvmの動作確認

下記コマンドで nvm コマンドが実行できるか確認する

$ nvm --version

0.40.3

※下記のように表示された場合、環境変数が反映されていない可能性がある

$ nvm --version
Command 'nvm' not found, did you mean:
  command 'lvm' from deb lvm2 (2.03.16-3ubuntu3.2)
  command 'nvme' from deb nvme-cli (2.8-1ubuntu0.1)
  command 'kvm' from deb qemu-system-x86 (1:8.2.2+ds-0ubuntu1.6)
  command 'nm' from deb binutils (2.42-4ubuntu2.4)
Try: sudo apt install <deb name>

■ node.jsのインストール

下記コマンドで node.js の LTS リリースをインストールする

$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v22.18.0...
Downloading https://nodejs.org/dist/v22.18.0/node-v22.18.0-linux-x64.tar.xz...
################################################################################################################# 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v22.18.0 (npm v10.9.3)
Creating default alias: default -> lts/* (-> v22.18.0)

インストール後、下記コマンドでインストールされたnode.jsのバージョンを確認する

$ node --version
v22.18.0

3. Codex CLIの導入

本手順ではWSL環境へのCodex CLIの導入手順について説明します。

■ Codexのインストール

下記コマンドを使って Codex をインストールします。

$ npm install -g @openai/codex
added 1 package in 2s
npm notice
npm notice New major version of npm available! 10.9.3 -> 11.5.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.5.2
npm notice To update run: npm install -g npm@11.5.2
npm notice

下記コマンドを実行してバージョンが表示されていればOKです。

$ codex --version
codex-cli 0.20.0

■ Codex CLIのモデルアクセス設定

Codex CLIを使用するためのモデルアクセス設定を行います。
下記のどちらかで設定する必要があります

  • Open APIキーを使用する
  • ChatGPTプランでのログイン

APIキーを所有している場合

Open APIキーを所有している場合の設定手順です。

下記コマンドで .bashrcを開き

$ vi ~/.bashrc

下記環境変数でAPIキーを設定します。

export OPENAI_API_KEY="APIキー"

設定後は下記コマンドで環境変数を反映させてください。

source ~/.bashrc

ChatGPTプランでログインする場合

Chat GPTを Plus/Pro プランで契約している場合の設定手順です。

下記コマンドを実行すると、URLリンクが表示されます。

$ codex login
Starting local login server on http://localhost:1455
. If your browser did not open, navigate to this URL to authenticate:

https://auth.openai.com/oauth/authorize?hogehoge
gio: https://auth.openai.com/oauth/authorize?hogehoge: Operation not supported

端末に表示されたURLをコピーしてブラウザにペーストすると、ChatGPTの認証画面が開きます。
ユーザ名とパスワードを入力すると下記画面になるので、「続行」をクリックします。

その後、下記画面になればOKです。

※認証が成功するとWSLの端末上に 「Successfully logged in」の文字が表示されます

■ Codex CLIの動作確認

Codex CLIの動作確認をしてみます。

任意のディレクトリに移動し、下記コマンドで Codex CLI を起動します。

$ codex

下記のように選択肢が表示されていればCodex CLIの導入は完了です。

  1. Allow Codex to work in this folder without asking for approval
    • 対象フォルダ内で、ユーザの承認なしでCodexによる編集・コマンド実行を許可します
  2. Require approval of edits and commands
    • 編集やコマンド実行のたびに許可を確認されるようになります
$ codex
> You are running Codex in /home/is0383kk/React-shadcn-pane-layouts

  Since this folder is version controlled, you may wish to allow Codex
  to work in this folder without asking for approval.

> 1. Yes, allow Codex to work in this folder without asking for approval
  2. No, ask me to approve edits and commands

補足

Codex CLIのレート制限について

下記ページにまとめてあります。
https://zenn.dev/is0383kk/articles/ac9e6895727fb0

Discussion