WindowsでCodex CLIを使うための環境構築手順
はじめに
本記事では下記手順で、Windows環境でCodex CLIを使うための環境構築手順を紹介します。
※途中の手順を実施済みの方は必要に応じて読み飛ばしてください。
- WSL環境を使わずCodexがインストールできるか試す(2025/8/29追記)
- WSL環境を使わず導入できない場合はWindows11へのWSLの導入
- WSL環境へのnvm/node.jsの導入
- Codex CLIの導入
■ WSL環境での構築が推奨されている理由
※最近の更新でWSL環境でなくても安定稼働するそうなので、
一度WSL環境なしでのインストールを試していただければと思います。(2025/8/29追記)
Codex CLIはWindowsを正式サポートしていない(2025/8/29時点)
下記ページを見ると Windows は実験的サポートのみとのことで、
Windows+WSL環境で使用することが推奨されていました。
プラットフォーム | サポート状況 |
---|---|
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の導入は完了です。
- Allow Codex to work in this folder without asking for approval
- 対象フォルダ内で、ユーザの承認なしでCodexによる編集・コマンド実行を許可します
- 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のレート制限について
下記ページにまとめてあります。
Discussion