カスタム API プロバイダー向け Codex config.toml:2026 年以降は Responses のみ
Wokey Team · 2026-09-24
結論: Codex をサードパーティ API に向けるには、~/.codex/config.toml でカスタムプロバイダーを定義し、base_url をゲートウェイに設定して、env_key で指定した環境変数にキーを入れます。ワイヤープロトコルは Responses でなければなりません。Codex は 2026 年 2 月に Chat Completions のサポートを削除し、現在 wire_api = "chat" は起動時にエラーになります。そのため、いまだに wire_api = "chat" を載せているチュートリアルの多くはもう動きません。
以下の設定は現在の Codex CLI リリースで動作します。このガイドのエラー文字列はすべて、Codex のソースコードか、Wokey API の実際のレスポンスから引用しています。
完全な設定(コピー&ペースト用)
# ~/.codex/config.toml
model = "gpt-6-sol"
model_provider = "wokey"
[model_providers.wokey]
name = "Wokey"
base_url = "https://api.wokey.ai"
env_key = "WOKEY_API_KEY"
wire_api = "responses"
export WOKEY_API_KEY="your Wokey API key"
codex
各フィールドの役割:
| フィールド | 用途 | よくある間違い |
|---|---|---|
model_provider |
使用する [model_providers.<id>] テーブルを指定するトップレベルのキー |
省略すると Codex は組み込みの openai プロバイダーのままになり、ChatGPT へのログインを求める |
base_url |
ゲートウェイのアドレス。Codex が /responses を付け加える |
/responses を自分で付けると、リクエストが /responses/responses に送られる |
env_key |
キーを保持する環境変数の名前。Codex はそれを Authorization: Bearer として送る |
ここに書くのは変数名で、キーそのものではない |
wire_api |
ワイヤープロトコル。有効な値は "responses" のみで、これがデフォルト |
"chat" は起動時にエラーになる |
Wokey では、base_url は https://api.wokey.ai でも https://api.wokey.ai/v1 でも構いません。ゲートウェイは /responses と /v1/responses の両方を提供しています。ほかのゲートウェイではそのドキュメントに従ってください。多くは /v1 のパスしか登録していません。
変数名は自由です。OPENAI_API_KEY でも動きますが、公式の OpenAI API も使っている場合は、別の WOKEY_API_KEY にしておくと 2 つのキーが互いに上書きされません。
古いチュートリアルが動かない理由
経緯:
- 2025-12-09:Codex チームが GitHub ディスカッション #7782「Deprecating chat/completions support in Codex」を投稿しました。2026 年 2 月上旬の削除を告知し、
wire_api = "chat"を使っているユーザーやwire_apiを指定していないユーザーに移行を求め、ゲートウェイには Responses への対応を確認するよう求めました。 - 2026-02-03:PR #10157「chore: nuke chat/completions API」がマージされ、Chat Completions のコードが削除されました。
それ以降、Codex の WireApi の値は Responses ただ 1 つです。設定に wire_api = "chat" が残っていると、Codex は起動時に次のエラーで失敗します。
`wire_api = "chat"` is no longer supported.
How to fix: set `wire_api = "responses"` in your provider config.
More info: https://github.com/openai/codex/discussions/7782
wire_api = "responses" に変更するか、行ごと削除してください。これはつまり、Chat Completions しか話せないゲートウェイはもう Codex に対応できないということでもあります。ゲートウェイを選ぶ前に /v1/responses エンドポイントがあるか確認してください。
古くなった、または無視されるその他の設定
プロバイダーテーブル内の api_key。 Codex はプロバイダー設定の未知のフィールドを拒否するため、api_key = "sk-..." の行があると設定の解析に失敗します。キーは env_key で指定した変数で渡してください。どうしてもファイルにトークンを書く必要がある場合のフィールドは experimental_bearer_token ですが、おすすめはしません。
[profiles.xxx] とトップレベルの profile = "xxx"。 Codex 0.134.0 以降、--profile xxx は ~/.codex/xxx.config.toml を重ねて読み込みます。config.toml 内の [profiles.xxx] テーブルは読まれなくなり、トップレベルの profile = もサポートされなくなりました。公式アカウントとゲートウェイを切り替えるには、Wokey のプロバイダーを ~/.codex/wokey.config.toml に書き、codex --profile wokey で起動してください。
プロジェクトの .codex/config.toml 内のプロバイダー。 プロジェクトレベルの設定では model_provider と model_providers が無視されます。プロバイダーはホームディレクトリの ~/.codex/ でしか定義できません。
プロバイダー ID が openai、ollama、lmstudio。 これらの ID は組み込みプロバイダー用に予約されており、カスタムプロバイダーの定義には使えません。wokey など別の名前を使ってください。
どのモデルを使うか
Codex は Responses リクエストしか送らないので、/v1/responses をネイティブに提供するモデルを優先してください。Wokey では現在、GPT ファミリー(gpt-6-sol、gpt-6-luna、gpt-6-astra、gpt-5.6-sol)、Grok ファミリー(grok-4.7、grok-4.6)、そして deepseek-v4.1-flash が該当します。各モデルページの「対応エンドポイント」の一覧が正式な情報で、ラインナップは随時変わります。
Chat Completions しか載っていないモデルなど、Responses にネイティブ対応していないモデルも、Wokey 経由なら Codex から使えます。ゲートウェイがリクエストを上流のプロトコルに変換し、結果を Responses に変換して返します。ただし、変換では情報が失われます。
- Chat Completions への変換では、freeform の
apply_patch、local_shell、組み込みのweb_searchなど、Codex 固有のツールの一部が失われます。 - ツール呼び出しは返答全体が完了してから初めて表示されます。
メインのコーディング用モデルには、Responses にネイティブ対応したものを選んでください。
トラブルシューティング
Missing environment variable: `WOKEY_API_KEY`.
Codex が env_key で指定された変数を見つけられませんでした。綴りを確認し、codex を起動するのと同じターミナルで export したか確認してください。~/.zshrc や ~/.bashrc に追加した場合は、新しいターミナルを開いてください。
code が invalid_api_key の HTTP 401
キーがない、または間違っている場合に Wokey が返すもので、message にその理由が書かれています。キーが送られていない、存在しないキー、または削除・一時停止・期限切れのキーのいずれかです。キーが完全にコピーされているか、コンソールで削除や一時停止をしていないか、変数に余分な引用符やスペースが入っていないかを確認してください。
Route POST:/responses/responses not found の HTTP 404
base_url が /responses で終わっています。Codex はパスを自分で付け加えるので、base_url はドメイン(または /v1)までにしてください。
Codex が ChatGPT へのログインを求める
トップレベルの model_provider = "wokey" がないか、プロバイダーが無視されるプロジェクトの .codex/config.toml に書かれています。Codex は組み込みの openai プロバイダーにフォールバックしています。
wire_api = "chat" is no longer supported
上記のとおり、"responses" に変更するか、行ごと削除してください。
HTTP 402 アカウントの残高が尽きています。
Codex が原因でないことを確かめるには、まず curl でキーとエンドポイントをテストしてください。
curl https://api.wokey.ai/v1/responses \
-H "Authorization: Bearer $WOKEY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-6-sol","input":"ping"}'
curl は動くのに Codex が動かない場合、問題は config.toml にあります。curl も失敗する場合、問題はキーかネットワークにあります。
よくある質問
Codex で wire_api = "chat" はまだ使えますか?
いいえ。Codex は 2026-02-03 にマージされた PR #10157 で Chat Completions のサポートを削除しました。現在 wire_api は responses しか受け付けず、chat は起動時にエラーになります。wire_api = "responses" に変更するか、行ごと削除してください。これがデフォルト値です。
Codex の base_url に /v1 は必要ですか?
Codex は base_url の後ろに /responses を付け加えます。Wokey では https://api.wokey.ai と https://api.wokey.ai/v1 のどちらでも動作します。/responses を自分で付けないでください。付けると 404 Route POST:/responses/responses not found になります。
API キーを config.toml に直接書けますか?
プロバイダーテーブルに api_key フィールドがあると設定の解析に失敗します。Codex は未知のプロバイダーフィールドを拒否するためです。代わりに env_key で環境変数名を指定し、その変数を export してください。
Codex で Claude など GPT 以外のモデルは使えますか?
Wokey なら使えます。ゲートウェイが Responses リクエストを上流のプロトコルに変換します。ただし変換で Codex 固有のツールの一部が失われるため、コーディングには gpt-6-sol、grok-4.7、deepseek-v4.1-flash など /v1/responses をネイティブにサポートするモデルを選んでください。
[profiles] の設定が効かなくなったのはなぜですか?
Codex 0.134.0 以降、--profile name は ~/.codex/name.config.toml を重ねて読み込むようになり、config.toml 内の [profiles.name] テーブルは読まれなくなりました。その設定を専用のファイルに移してください。