できたこと・できなかったことの整理
■Codex CLI単体運用は成功
■VS Code Claude Code拡張 → CCR → Codex API の完全接続は未成功
当面は、VS Codeのターミナル上でCodex CLIを使う運用が現実的
目的
今回の目的は、Windows環境で以下の構成を試すことだった。
VS Code
→ Claude Code 拡張
→ Claude Code Router(CCR)
→ OpenAI Codex / ChatGPTログイン側
→ GPT-5.4 mini など
つまり、VS CodeのClaude Code拡張の画面を使いながら、裏側のLLMをOpenAI Codex側に流すことを目指した。
1. Codex CLI の導入
まず、Windows PowerShellから OpenAI Codex CLI を導入した。
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
インストール後、以下でバージョン確認を実施した。
codex --version
その後、Codex CLIにログインした。
codex login
ChatGPTアカウントでログインし、Codex CLI単体での起動を確認した。
codex
初回起動時にはサンドボックス設定を求められた。
管理者権限を使う標準サンドボックスは失敗したため、非管理者サンドボックスを選択した。
1. Set up default sandbox
2. Use non-admin sandbox
3. Quit
今回は 2. Use non-admin sandbox を選択した。
その後、以下の表示を確認した。
Sandbox ready
Codex can now safely edit files and execute commands in your computer
2. Codex CLI 単体テスト
Codex CLI上で、まず簡単な応答確認を行った。
Hi
正常に以下のような返答が得られた。
Hi.
次に、コードベース確認を依頼した。
Explain this codebase
Codex CLIはPowerShell上で以下のようなコマンドを実行し、フォルダ内を確認した。
Get-ChildItem -Force
Get-ChildItem -Recurse -File | Select-Object -ExpandProperty FullName
Get-Content tasks.json
この結果、Codex CLIは現在のフォルダ構成や tasks.json の中身を読み取り、コードベースの説明を開始した。
この時点で、以下は成功した。
Codex CLI のインストール
ChatGPTアカウントでのログイン
Codex CLI単体での応答
ファイル一覧取得
tasks.json の読み取り
ローカルフォルダに対する調査
つまり、Codex CLI単体は正常に動作した。
3. Codex CLI のモデル設定トラブル
途中で、Codex CLIが以下のエラーを出した。
The 'gpt-5.2-codex' model is not supported when using Codex with a ChatGPT account.
これは、Codex CLI側の設定で gpt-5.2-codex が使われようとしていたが、ChatGPTアカウントログインでは対応していないモデルだったために発生した。
対策として、Codex設定ファイルを確認した。
notepad "$env:USERPROFILE\.codex\config.toml"
このコマンドは、最初に誤って2回連結して実行してしまったため失敗した。
誤り:
notepad "$env:USERPROFILE\.codex\config.toml"notepad "$env:USERPROFILE\.codex\config.toml"
正しくは以下。
notepad "$env:USERPROFILE\.codex\config.toml"
最終的には、Codex CLI側で gpt-5.4-mini など、ChatGPTログインで利用可能なモデルを使う方向に整理した。
4. Claude Code Router(CCR)の導入と起動
次に、Claude Code Router Desktopを導入した。
Windows SmartScreenにより、以下のような警告が表示された。
WindowsによってPCが保護されました
発行元: 不明な発行元
GitHub Releasesからダウンロードしたファイルであることを確認し、SHA256ハッシュも照合した。
PowerShellで以下を実行した。
Get-FileHash "Claude-Code-Router_3.0.7.exe" -Algorithm SHA256
GitHub Releases上の sha256: と一致したため、ファイル改ざんの可能性は低いと判断した。
その後、CCRを起動し、Server画面で以下を確認した。
Endpoint: http://127.0.0.1:3456
Host: 127.0.0.1
Port: 3456
Proxy mode: Disabled
この状態で、CCRサーバー自体は起動していた。
5. CCRのProvider設定
CCRのProviderとして Codex API を設定した。
表示されたモデル一覧は以下。
Codex API/gpt-5.5
Codex API/gpt-5.4
Codex API/gpt-5.4-mini
Codex API/codex-auto-review
Codex API/gpt-5-codex
重要な注意点として、https://chatgpt.com/backend-api/codex を使う Codex API Provider には、OpenAI Platformの公式APIキー sk-... は入力しない。
ここに入るAPI Key欄は、CCRがChatGPT/Codexログイン状態から自動取得する認証情報であり、通常のOpenAI APIキーとは別物である。
6. VS Code + Claude Code拡張の設定
VS Code側でClaude Code拡張を使うため、PowerShellから環境変数を設定してVS Codeを起動した。
$env:ANTHROPIC_BASE_URL="http://127.0.0.1:3456"
$env:ANTHROPIC_AUTH_TOKEN="ccr-profile-..."
$env:CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY="1"
code .
VS Code内ターミナルで以下を確認した。
Get-ChildItem Env:ANTHROPIC*
結果として、以下が見えていた。
ANTHROPIC_BASE_URL http://127.0.0.1:3456
ANTHROPIC_AUTH_TOKEN ccr-profile-...
したがって、VS CodeにはCCR向けの環境変数が渡っていた。
また、Claude Code拡張側で当初表示されていた Claude Pro / Max加入要求 は消えた。
このことから、少なくともClaude Code拡張はAnthropic公式ログインではなく、CCR側を見に行く状態にはなったと考えられる。








7. PowerShellからCCRを直接テスト
VS Codeを経由せず、PowerShellからCCR APIを直接叩いて切り分けを行った。
まず、CCRのProfile Keyを設定した。
$ccrKey = "ccr-profile-..."
次に、モデル一覧を取得した。
$headers = @{
"Authorization" = "Bearer $ccrKey"
}
$models = Invoke-RestMethod `
-Uri "http://127.0.0.1:3456/v1/models" `
-Method Get `
-Headers $headers `
-TimeoutSec 30
$models.data | Select-Object id, display_name | Format-Table -Auto
結果として、以下が取得できた。
id display_name
-- ------------
Codex API/gpt-5.5 GPT-5.5
Codex API/gpt-5.4 GPT-5.4
Codex API/gpt-5.4-mini GPT-5.4 mini
Codex API/codex-auto-review
Codex API/gpt-5-codex GPT-5-Codex
この結果から、以下は成功していると判断できた。
PowerShell → CCR
CCR Profile Key認証
/v1/models の取得
8. /v1/messages のPOSTテスト
次に、CCR経由で実際にメッセージ送信を試した。
$model = "Codex API/gpt-5.4-mini"
$headers = @{
"Authorization" = "Bearer $ccrKey"
"anthropic-version" = "2023-06-01"
}
$body = @{
model = $model
max_tokens = 64
messages = @(
@{
role = "user"
content = "Hi. Reply with one short sentence."
}
)
} | ConvertTo-Json -Depth 10
try {
$response = Invoke-RestMethod `
-Uri "http://127.0.0.1:3456/v1/messages" `
-Method Post `
-Headers $headers `
-Body $body `
-ContentType "application/json" `
-TimeoutSec 60
$response | ConvertTo-Json -Depth 20
} catch {
Write-Host "STATUS:" $_.Exception.Response.StatusCode.value__
if ($_.Exception.Response) {
$stream = $_.Exception.Response.GetResponseStream()
if ($stream) {
$reader = New-Object System.IO.StreamReader($stream)
$reader.ReadToEnd()
}
}
Write-Host "MESSAGE:" $_.Exception.Message
}
結果は以下だった。
STATUS: 401
MESSAGE: リモート サーバーがエラーを返しました: (401) 許可されていません
ここで重要なのは、/v1/models は成功しているのに、/v1/messages が401になる点である。
つまり、以下の切り分けになる。
PowerShell → CCR
成功
CCR → Codex API
失敗 401 Unauthorized
9. 本日の最終結論
本日の最終状態は以下。
Codex CLI単体
成功
ChatGPTログイン
成功
Codex CLIでの応答
成功
Codex CLIでのローカルフォルダ確認
成功
CCR Server起動
成功
CCRの /v1/models
成功
VS CodeからCCRへの接続
成功傾向
CCRの /v1/messages
失敗 401
VS Code Claude Code拡張からの応答
未成功
つまり、今日できたことは Codex CLIの導入と単体動作確認 である。
一方、できなかったことは Claude Code拡張 → CCR → Codex API の完全接続 である。
現時点での失敗箇所は、VS Codeではなく、以下と考えられる。
CCR内の Codex API Provider認証
Codex CLI単体は動いているため、ChatGPT/Codexアカウント自体は有効である。
しかし、CCRがそのCodexログイン情報を正しく取り込めていない、またはCodex API Providerの認証トークンが古い・無効・不整合になっている可能性が高い。
10. 今後の対応候補
Claude Code拡張経由は一旦あきらめ、Codex CLIを主運用にする
現時点では、Codex CLI単体は安定して動いている。
したがって、実用面では以下の運用が現実的である。
VS Codeでコード編集
PowerShell / VS CodeターミナルでCodex CLI起動
Codex CLIにファイル調査・修正・テストを依頼
この運用であれば、本日時点ですでに成功している。
11. セキュリティ上の注意
作業中に以下のキー類が画面やチャットに表示された。
OpenAI API key
CCR Profile key
そのため、最終的には以下を行うべきである。
OpenAI Platform側で該当APIキーを削除・再発行
CCRのAPI KeysでClaude Code用Profile Keyを再生成
特に sk-... や ccr-profile-... は外部に見せない方がよい。
まとめ
本日は、Windows環境で OpenAI Codex CLIを導入し、ChatGPTログインで正常動作することを確認できた。
Codex CLIは、ローカルフォルダ内のファイル一覧取得や tasks.json の読み取りまで正常に行ったため、CLI単体としては実用可能な状態である。
一方、Claude Code Routerを経由してVS CodeのClaude Code拡張からOpenAI Codexを使う構成は、/v1/models までは成功したものの、/v1/messages で401 Unauthorizedとなり、未解決で終了した。
現時点での実用的な結論は以下。
Codex CLI単体運用:成功、利用可能
VS Code + Claude Code拡張 + CCR:未成功、CCRのCodex Provider認証で停止
したがって、当面は VS Codeのターミナル上でCodex CLIを使う運用 が最も安定した選択肢である。

コメント