カスタム 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] テーブルは読まれなくなりました。その設定を専用のファイルに移してください。