Codex config.toml の API 設定
config.toml、auth.json、BetterToken API Key、Responses の Base URL を使って Codex CLI と Codex App を設定します。
Codex CLI と Codex App はローカルタスクで config.toml と auth.json を共有します。この設定では OpenAI Responses 経由で BetterToken API Key を使用します。
ファイルの場所を確認してバックアップする
独自の CODEX_HOME を設定している場合は、そのディレクトリの config.toml と auth.json を編集してください。それ以外は macOS / Linux では ~/.codex、Windows では %USERPROFILE%\.codex を使用します。CLI と App は同じディレクトリを使用する必要があります。WSL のユーザーディレクトリは別です。
編集前に Codex を完全に終了し、両方のファイルを非公開の場所にバックアップしてください。ファイルがなければ作成します。既存の設定を置き換え、キーやテーブルを重複して追加しないでください。無関係な設定は残します。
最小構成
config.toml を編集する
このページはユーザーの config.toml を使います。トップレベルのキーはすべての TOML テーブルより前に置き、[projects."<path>"] に入れないでください。このテーブルはプロジェクトの trust_level 用です。選択した provider ID とテーブル名を一致させます。ファイル認証では選択した provider から env_key と experimental_bearer_token を削除します。
model_provider = "bettertoken"model = "gpt-6-astra"cli_auth_credentials_store = "file"
[model_providers.bettertoken]name = "BetterToken"base_url = "https://bettertoken.ai/v1"wire_api = "responses"requires_openai_auth = truesupports_websockets = false例では GPT-6 Astra(gpt-6-astra)を使用します。別のモデルでは、モデル広場から完全な ID をコピーして model を置き換えてください。GPT、Kimi、GLM のファイル認証構造は共通です。自動設定は GPT で利用できます。
auth.json を編集する
auth.json は config.toml と同じディレクトリにあります。auth.json がない場合は、そのディレクトリに新規作成してください。ファイルの内容を次の JSON にし、YOUR_API_KEY を自分の BetterToken API Key に置き換えて保存してください。
{ "auth_mode": "apikey", "OPENAI_API_KEY": "YOUR_API_KEY"}設定パラメーター
| パラメーター | 役割と配置 | デフォルトと例 |
|---|---|---|
model_provider | ユーザー設定のトップレベル。下の設定 ID を選びます。 | デフォルトは openai。この例は bettertoken。 |
model | トップレベル。モデル広場の完全な Model ID。 | 例は gpt-6-astra。必要に応じて変更します。 |
cli_auth_credentials_store | トップレベル。ログイン情報の保存先。 | この例は file。同じディレクトリの auth.json を読みます。 |
name | provider テーブル内。表示名のみ。 | BetterToken は Model ID ではありません。 |
base_url | provider テーブル内。モデル API の Base URL。 | https://bettertoken.ai/v1 を使い、Codex が /responses を追加します。 |
wire_api | provider テーブル内。リクエストのプロトコル。 | 現在は responses のみ対応。省略時も同じ値です。 |
requires_openai_auth | provider テーブル内。OpenAI 認証と認証情報ストアを使います。 | デフォルトは false。ここでは true。ログインファイルを維持するスイッチではありません。 |
supports_websockets | provider テーブル内。Responses WebSocket 対応。 | デフォルトは false。ここでは HTTP/SSE を使います。 |
auth_mode | auth.json 内。認証モード。 | ここでは apikey。公式 ChatGPT 認証を置き換えます。 |
OPENAI_API_KEY | auth.json 内。API 認証の Key。 | YOUR_API_KEY を BetterToken API Key に置き換えます。 |
このファイル認証は API Key モードに切り替えます。公式アカウントを維持する場合は公式ログインを維持する設定を使い、二つのモードを混在させないでください。違いは認証の目的であり、CLI、App、Extension の違いではありません。
任意の調整
組織が管理するトークンヘルパーについては、コマンドによるプロバイダー認証を参照してください。これは、このファイル認証の例とは別の方式です。プロバイダーの auth テーブルは env_key、experimental_bearer_token、requires_openai_auth と併用できません。管理者が提供するヘルパーと設定を使ってください。
この三つは任意の調整で、接続の必須条件ではありません。必要なら既存の [model_providers.bettertoken] テーブルに追加し、同名テーブルを重複作成しないでください。
request_max_retries = 4stream_max_retries = 8stream_idle_timeout_ms = 300000| パラメーター | 役割と配置 | デフォルトと例 |
|---|---|---|
request_max_retries | provider テーブル内。HTTP リクエストの最大再試行回数。 | デフォルトは 4。接続に応じて調整します。 |
stream_max_retries | provider テーブル内。ストリーム切断後の再接続回数。 | デフォルトは 5。8 は任意の独自設定です。 |
stream_idle_timeout_ms | provider テーブル内。ストリーム無通信時のタイムアウト、単位はミリ秒。 | デフォルトは 300000。タスク全体の制限時間ではありません。 |
設定の階層と古いキー
モデルや推論設定を [projects."<path>"] に入れないでください。プロジェクト固有のモデルは信頼済みプロジェクトの .codex/config.toml のトップレベルで設定できますが、provider と認証はユーザー設定に置きます。現在の profile は CODEX_HOME 内の NAME.config.toml を codex --profile NAME で選択します。古い [profiles.NAME] やトップレベルの profile は使いません。
再起動して確認する
両方のファイルを保存し、ターミナルで新しい Codex CLI セッションを直接起動します。
codexバックグラウンドプロセスを含めて Codex App を完全に終了し、再度開いて新しいローカルタスクを作成してください。使用する各クライアントで短いプロンプトを送信します。正常な応答でそのクライアントの接続を確認してください。
トラブルシューティング
401、403、ログイン要求が出た場合は、使用中のディレクトリ、auth.json の Key、auth_mode = apikey、cli_auth_credentials_store = file、requires_openai_auth = true を確認してください。プロバイダーやモデルのエラーでは、プロバイダー ID の一致、https://bettertoken.ai/v1、wire_api = responses、モデルの利用可否を確認します。変更が反映されない場合は設定の上書きを調べ、CLI と App が同じ CODEX_HOME を使用していることを確認してください。
関連ドキュメント
- 完全な Codex 設定ガイド
- VS Code Codex 拡張機能でカスタム Base URL を設定する
- model_provider、base_url、wire_api の解説
- Codex CLI のサンドボックスと承認モード
- AGENTS.md とは?

