はじめに:なぜ今この記事を書くのか
最近、日本の開発者の間でもこんな声をよく聞くようになりました。
- Claude Codeのレスポンスが突然遅くなる
- ターミナルでタイムアウトが頻発する
- 企業ネットワークやVPN環境だと接続が不安定
- ログインが通らない、セッションが切れる
- 安定して使いたいだけなのに、ネットワーク周りで消耗する
Claude Codeは確かに優秀なツールです。しかし、**「安定して毎日使えるか」**という観点では、環境によって当たり外れがあるのが現状です。
この記事では、OpenAI Codex CLIを代替手段として紹介します。
Codex CLIは同じくターミナルベースのAIコーディングエージェントで、プロジェクトの読み取り・コード修正・コマンド実行・テスト実行まで一通りこなせます。さらにCrazyrouterのような統一APIゲートウェイと組み合わせることで、モデル選択・コスト・接続安定性をまとめて改善できます。
この記事でカバーする内容:
- Claude CodeからCodex CLIに乗り換える理由
- WindowsでのCodex CLIセットアップ(ゼロから)
- Git・Python・pnpm・Bun・VS Code・Cursorなど周辺環境の構築
- Crazyrouter経由でGPT・Claude・DeepSeek・Geminiなど複数モデルを使う方法
対象読者:Windowsで開発しているエンジニアで、Codex CLIを触ったことがない方。
1. なぜCodex CLIがClaude Codeの現実的な代替になるのか
ターミナルAIエージェントとしての共通点
Codex CLIとClaude Codeは、使い方の本質は同じです。
- ターミナルで起動
- プロジェクト構造を読み取る
- 指示に基づいてコードを修正
- シェルコマンドやテストを実行
- パッチ・diff・修正提案を出力
開発者が本当に必要としているのは:
- バグの原因特定
- ファイルの修正
- テストの追加
- 開発コマンドの実行
この範囲であれば、Codex CLIで十分対応できます。
Windowsサポートが明確
Claude Code系のツールはUnix-firstの設計が多く、Windowsユーザーは環境・権限・PATH・プロキシなどで躓きがちです。
Codex CLIは公式がWindowsの導入パスを明確にしています:
- ネイティブWindows CLI
- WSL2経由
- Windowsサンドボックスモード
-
config.tomlによる統一設定
統一APIゲートウェイとの相性が良い
多くの開発者がClaude Codeで困っているのは、ツール自体の問題だけではありません。
- アカウント管理が面倒
- ネットワーク環境が不安定
- 単一モデルに縛られる
- 課金体系が柔軟でない
Codex CLIはopenai_base_urlを変更するだけで、サードパーティの互換APIに接続できます。これにより、モデル選択・価格・接続品質をまとめて最適化できます。
日本の開発者にとってより現実的
「理論上どちらが優れているか」ではなく、**「今日、安定して使えるか」**が重要です。
- 今日使えるか
- 社内ネットワークで動くか
- Windowsマシンにインストールできるか
- プロキシの設定で消耗しないか
- 問題が起きたとき原因を特定できるか
この観点では、Codex CLI + Crazyrouterはより現実的な選択肢です。
2. Codex CLIとは
Codex CLIはOpenAIが開発したオープンソースのターミナルベースAIコーディングエージェントです。Rustで書き直されており、高速かつ軽量です。
できること:
- プロジェクト構造の読み取り
- ファイルの修正・生成
- リファクタリング
- シェルコマンドの実行
- テストの実行と修正
- エラー分析
- ワーキングディレクトリ内での継続的な作業
ブラウザのチャットとの最大の違い:コードをコピペして質問するのではなく、プロジェクトのコンテキスト内で直接作業することです。
3. Windowsでの3つのインストール方法
| 方法 | 対象 | おすすめ度 |
|---|---|---|
| WSL2 + npm | フロントエンド/Node/Python開発者 | ⭐⭐⭐(最推奨) |
| Windowsネイティブnpm | 純粋なWindows開発者 | ⭐⭐⭐ |
| バイナリダウンロード | とりあえず試したい人 | ⭐⭐ |
4. 事前準備:基盤環境の構築
Codex CLI自体のインストールより先に、基盤を整えましょう。Windowsで最もハマりやすいのはここです。
Windows Terminalのインストール
winget install Microsoft.WindowsTerminal
Gitのインストール
winget install Git.Git
# 確認
git --version
# 初期設定
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
git config --global init.defaultBranch main
git config --global core.autocrlf true
Node.js 22+のインストール
Codex CLIはNode.js 22以上が必要です。
winget install OpenJS.NodeJS.LTS
# 確認
node --version # v22.x.x
npm --version # 10.x.x
5. 推奨:WSL2でのインストール
公式が推奨するWindowsでの最良の方法です。
WSL2のインストール
管理者権限のPowerShellで:
wsl --install
再起動後、Ubuntuが起動し、ユーザー名とパスワードの設定を求められます。
Node.jsのインストール(WSL内)
# WSLに入る
wsl
# nvmのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# ターミナルを再起動、またはsource
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# Node.js 22のインストール
nvm install 22
# 確認
node --version
npm --version
Codex CLIのインストール
npm i -g @openai/codex
# 確認
codex --version
作業ディレクトリの注意点
重要:プロジェクトは必ずLinuxファイルシステム(~/)に置いてください。/mnt/c/は使わないでください。
mkdir -p ~/code && cd ~/code
git clone https://github.com/your/repo.git
cd repo
codex
理由:
-
/mnt/c/はクロスファイルシステムI/Oが遅い - パーミッションやシンボリックリンクの問題が起きやすい
6. Windowsネイティブでのインストール
WSLを使いたくない場合の方法です。
# Node.jsが入っていることを確認
node --version
# Codex CLIのインストール
npm i -g @openai/codex
# 確認
codex --version
codexコマンドが見つからない場合、npmのグローバルパスがPATHに入っていない可能性があります:
# グローバルパスの確認
npm config get prefix
# PATHに追加(永続)
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + (npm config get prefix), "User")
ターミナルを再起動して再確認してください。
7. バイナリダウンロードでのインストール
Node.jsが不要な最もシンプルな方法です。
- GitHub ReleasesからWindows用バイナリをダウンロード
-
codex.exeにリネーム - PATHの通ったディレクトリに配置
mkdir "$env:USERPROFILE\bin"
Move-Item "$env:USERPROFILE\Downloads\codex-windows-x64.exe" "$env:USERPROFILE\bin\codex.exe"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:USERPROFILE\bin", "User")
8. 認証方法
ChatGPTアカウントでログイン
codex
# 初回起動時にブラウザが開き、ログインを求められます
APIキーで認証
PowerShell:
# 一時的
$env:OPENAI_API_KEY = "sk-your-api-key"
# 永続
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-your-api-key", "User")
WSL/Bash:
export OPENAI_API_KEY="sk-your-api-key"
# 永続
echo 'export OPENAI_API_KEY="sk-your-api-key"' >> ~/.bashrc
source ~/.bashrc
9. 【重要】Crazyrouter経由で接続する
この記事の最も重要なセクションです。
OpenAI公式APIだけを使う場合、以下の課題が残ります:
- 単一プロバイダーへの依存
- モデル選択の柔軟性が低い
- ネットワーク経路が最適でない場合がある
- 課金が柔軟でない
Crazyrouterを使うことで:
- OpenAI互換APIで安定接続
- GPT / Claude / DeepSeek / Gemini など600以上のモデルに統一アクセス
- コスト削減(同じモデルでも20〜40%安い場合あり)
- 一つのアカウントで全モデルの費用を管理
APIキーの取得
- crazyrouter.com でアカウント作成
- コンソールでAPIキーを発行
- チャージ(新規ユーザーは無料クレジットあり)
Codexの設定ファイルを編集
設定ファイルの場所:
- Windows:
%USERPROFILE%\.codex\config.toml - WSL:
~/.codex/config.toml
# APIリクエストをCrazyrouterに向ける
openai_base_url = "https://crazyrouter.com/v1"
# デフォルトモデル
model = "gpt-4o"
# 承認ポリシー
approval_policy = "on-request"
# サンドボックスモード
sandbox_mode = "workspace-write"
# Windows固有設定
[windows]
sandbox = "elevated"
環境変数の設定:
PowerShell(永続):
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "your-crazyrouter-key", "User")
WSL(永続):
echo 'export OPENAI_API_KEY="your-crazyrouter-key"' >> ~/.bashrc
source ~/.bashrc
一時的な方法
PowerShell:
$env:OPENAI_BASE_URL = "https://crazyrouter.com/v1"
$env:OPENAI_API_KEY = "your-crazyrouter-key"
codex
WSL:
OPENAI_BASE_URL="https://crazyrouter.com/v1" OPENAI_API_KEY="your-crazyrouter-key" codex
カスタムModel Provider(最も柔軟)
model = "gpt-4o"
model_provider = "crazyrouter"
[model_providers.crazyrouter]
name = "Crazyrouter API Gateway"
base_url = "https://crazyrouter.com/v1"
env_key = "CRAZYROUTER_API_KEY"
この方法なら、OpenAI公式とCrazyrouterを--config model_provider="openai"で切り替えられます。
10. 設定ファイルの詳細
実用的な設定例:
openai_base_url = "https://crazyrouter.com/v1"
model = "gpt-4o"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
model_reasoning_effort = "medium"
web_search = "cached"
cli_auth_credentials_store = "keyring"
[windows]
sandbox = "elevated"
sandbox_private_desktop = true
各フィールドの説明
| フィールド | 説明 |
|---|---|
openai_base_url |
APIエンドポイント |
model |
デフォルトモデル |
approval_policy |
on-request(都度確認)/ untrusted(信頼外は読み取り専用)/ never(全自動) |
sandbox_mode |
read-only / workspace-write(デフォルト)/ danger-full-access
|
web_search |
cached(デフォルト)/ live / disabled
|
cli_auth_credentials_store |
keyring(推奨)/ file / auto
|
設定の優先順位
- CLIフラグ
--config key=value(最高) - Profile値(
--profile <name>) - プロジェクト
.codex/config.toml - ユーザー
~/.codex/config.toml - システム
/etc/codex/config.toml - ビルトインデフォルト(最低)
11. サンドボックスと承認モード
サンドボックスモード
| モード | ファイル書き込み | ネットワーク | 用途 |
|---|---|---|---|
read-only |
❌ | ❌ | コード閲覧・計画のみ |
workspace-write(デフォルト) |
✅ 作業ディレクトリのみ | ❌ | 日常開発 |
danger-full-access |
✅ 全体 | ✅ | 完全信頼環境/CI |
承認ポリシー
| ポリシー | 動作 | 用途 |
|---|---|---|
on-request(デフォルト) |
コマンド実行前に確認 | 日常開発 |
untrusted |
信頼外プロジェクトは読み取り専用 | 不明なリポジトリ |
never(--full-auto) |
全自動 | CI/CD |
# 推奨の日常設定
codex --sandbox workspace-write --ask-for-approval on-request
# 全自動モード(注意して使用)
codex --full-auto
12. 周辺環境の構築
Python
PowerShell:
winget install Python.Python.3.12
python --version
WSL:
sudo apt update && sudo apt install -y python3 python3-pip python3-venv
python3 --version
pnpm
npm i -g pnpm
pnpm --version
Bun
PowerShell:
powershell -c "irm bun.sh/install.ps1 | iex"
WSL:
curl -fsSL https://bun.sh/install | bash
なぜ周辺環境が重要か
Codexは質問に答えるだけでなく、実際にコマンドを実行します。
例えば:
pnpm installpytestbun testnpm run lint
環境が整っていなければ、Codexがどれだけ賢くてもプロジェクトを動かせません。
13. IDE連携
VS Code
最もシンプルな方法:統合ターミナルでcodexを実行。
WSL開発の場合:
cd ~/code/your-project
code .
VS Codeが自動的にWSLモードで開きます(左下に緑色の「WSL: Ubuntu」が表示)。
Cursor
CursorはAI IDE自体ですが、ターミナルでCodex CLIを併用できます。
- Cursorのエディタ内AI → Cursorの課金
- Codex CLI → あなたのAPIキー/ChatGPTサブスクリプション
両者は独立して動作します。
JetBrains(IntelliJ / PyCharm / WebStorm)
Alt+F12でターミナルパネルを開き、codexを実行。
WSL連携:Settings → Tools → Terminal → Shell pathをwsl.exe --distribution Ubuntuに変更。
14. よくあるトラブルと解決策
codex: command not found
npmグローバルパスがPATHに入っていない。
npm config get prefix
# 表示されたパスをPATHに追加
Node.jsのバージョンが古い
# WSL
nvm install 22 && nvm use 22
# Windows
winget upgrade OpenJS.NodeJS.LTS
WSL2が有効になっていない
# 管理者PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 再起動後
wsl --set-default-version 2
/mnt/c/で動作が遅い
プロジェクトをLinuxファイルシステムに移動:
cp -r /mnt/c/Users/you/Projects/my-app ~/code/my-app
cd ~/code/my-app
Windowsサンドボックスのエラー
elevatedモードが動かない場合、unelevatedにフォールバック:
[windows]
sandbox = "unelevated"
Crazyrouter接続後に「model not found」
確認事項:
-
openai_base_urlがhttps://crazyrouter.com/v1になっているか - APIキーが正しく、残高があるか
- モデル名のスペルが正しいか(大文字小文字を区別)
Gitリポジトリが初期化されていない
Codexは.gitでプロジェクトルートを認識します。
git init
15. タスク別おすすめモデル
Crazyrouter経由なら、タスクに応じてモデルを切り替えられます。
| タスク | おすすめモデル | 理由 |
|---|---|---|
| 日常コーディング | gpt-4o |
速度・品質・コスパのバランス |
| 軽量タスク | gpt-4o-mini |
非常に安価 |
| 大規模リファクタリング | claude-sonnet-4-20250514 |
長いコンテキストの理解力 |
| 日本語ドキュメント | deepseek-chat |
多言語対応+低コスト |
| バッチ処理 | gemini-2.0-flash |
高速+低コスト |
Profilesで簡単に切り替え:
# ~/.codex/config.toml
openai_base_url = "https://crazyrouter.com/v1"
model = "gpt-4o"
[profiles.cheap]
model = "gpt-4o-mini"
[profiles.smart]
model = "claude-sonnet-4-20250514"
model_reasoning_effort = "high"
[profiles.ja]
model = "deepseek-chat"
codex --profile cheap # コスト重視
codex --profile smart # 複雑なタスク
codex --profile ja # 日本語プロジェクト
16. 最短セットアップ手順
とにかく最速で動かしたい方向け。
Windowsネイティブ
winget install Microsoft.WindowsTerminal
winget install Git.Git
winget install OpenJS.NodeJS.LTS
npm i -g @openai/codex
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "your-crazyrouter-key", "User")
%USERPROFILE%\.codex\config.tomlを作成:
openai_base_url = "https://crazyrouter.com/v1"
model = "gpt-4o"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
[windows]
sandbox = "elevated"
ターミナルを再起動して:
codex
WSL2
wsl --install
WSL内で:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# ターミナル再起動
nvm install 22
npm i -g @openai/codex
echo 'export OPENAI_API_KEY="your-crazyrouter-key"' >> ~/.bashrc
mkdir -p ~/.codex
cat > ~/.codex/config.toml << 'EOF'
openai_base_url = "https://crazyrouter.com/v1"
model = "gpt-4o"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
EOF
source ~/.bashrc
codex
まとめ
Claude Codeの接続が不安定で困っているなら、不確実性に時間を費やし続ける必要はありません。
Codex CLI + Crazyrouterという組み合わせは:
- 実際にインストールできる
- 安定して動作する
- 複数モデルを柔軟に切り替えられる
- コストを最適化できる
「理論上最強のツール」を追いかけるより、**「今日から安定して使えるツール」**を選ぶ方が、開発者にとっては価値があるはずです。
Crazyrouter APIキーの取得:crazyrouter.com
Codex CLI公式ドキュメント:developers.openai.com/codex/cli
この記事が役に立ったら、いいねとストックをお願いします 👍