Codex CLI の config.toml でモデル・推論の深さ・プロファイルを切り替える

Codex 公開:

Codex CLI の設定ファイル ~/.codex/config.toml の主要な項目を解説します。model と model_reasoning_effort の指定、プロジェクトごとの設定、用途別プロファイルの定義と --profile での切り替え、環境変数の扱いを紹介します。

検証日 2026年9月7日 仕様変更が早い分野です。最新の公式ドキュメントも併せてご確認ください。
目次
  1. config.toml の場所と基本構造
  2. モデルと推論の深さ
  3. プロファイルで用途を切り替える
  4. 既定のプロファイルを指定する
  5. 設定の優先順位
  6. その他のよく使う項目
  7. MCP サーバーの設定
  8. 設定を確認する
  9. まとめ

Codex CLI の挙動は ~/.codex/config.toml で決まります。モデル、推論の深さ、承認ポリシー、サンドボックス、MCP サーバーなど、ほぼすべての設定がここに集まっています。この記事では、日常的に触ることになる項目に絞って、書き方と使い分けを整理します。

KEY POINT

この記事で分かること

  • modelmodel_reasoning_effort の指定方法と選び方
  • 用途別プロファイルの定義と --profile での切り替え
  • 環境変数・コマンドラインオプションとの優先順位

config.toml の場所と基本構造

# ~/.codex/config.toml

model = "gpt-5-codex"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"

TOML 形式で、トップレベルに既定値、[profiles.名前][mcp_servers.名前] のようなテーブルで個別の設定を書きます。ファイルがなければ作成してください。

用語解説

TOML: キー = 値 の形式で書く設定ファイル形式です。文字列はダブルクォート、真偽値は true / false、セクションは [名前] で表します。

モデルと推論の深さ

キー値の例意味
model"gpt-5-codex" など使用するモデル。利用可能な名前は /model で確認する
model_reasoning_effort"low" / "medium" / "high"推論にかける深さ。高いほど慎重だが遅く、消費も増える

モデル名はリリースごとに変わります。config.toml に書いたモデルが使えなくなった場合はエラーになるので、/model で現在の選択肢を確認して書き換えてください。

推論の深さの目安:

  • low: 定型的な修正、コメント追加、小さなリファクタリング
  • medium: 日常の開発全般
  • high: 設計判断、難しいバグの調査、大規模な変更

対話中は /model からモデルと推論の深さを一時的に切り替えられます。config.toml の値は次回起動時の既定です。

プロファイルで用途を切り替える

同じ設定を毎回オプションで指定するのではなく、プロファイルとして定義します。

model = "gpt-5-codex"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"

[profiles.quick]
model_reasoning_effort = "low"
approval_policy = "on-failure"

[profiles.deep]
model_reasoning_effort = "high"
approval_policy = "on-request"

[profiles.readonly]
sandbox_mode = "read-only"
approval_policy = "on-request"
codex --profile quick "typo を直して"
codex --profile deep "認証周りの設計を見直して"
codex --profile readonly "この機能の呼び出し元を洗い出して"

プロファイルに書かなかったキーは、トップレベルの値が使われます。承認とサンドボックスの選び方は approval mode と sandbox 設定の違い を参照してください。

既定のプロファイルを指定する

profile = "quick"

と書くと、--profile を付けないときに quick が使われます。

設定の優先順位

同じ項目が複数の場所で指定された場合、次の順で優先されます。

  1. コマンドラインオプション(--model--sandbox など)
  2. --profile で選んだプロファイルの値
  3. config.toml のトップレベルの値
  4. Codex の組み込み既定値

「オプション > プロファイル > トップレベル > 既定」と覚えておけば、意図しない値が使われたときに原因を追えます。

その他のよく使う項目

# 起動時に読み込む AGENTS.md の合計サイズ上限(バイト)
project_doc_max_bytes = 32768

# 通知(対応する環境で、タスク完了時にデスクトップ通知)
notify = ["notify-send", "Codex"]

# 履歴の保存
[history]
persistence = "save-all"

キー名や対応状況はバージョンによって変わります。設定が効かない場合は、公式ドキュメントの設定リファレンスで現在の名前を確認してください。

API キーは config.toml に書かない

OPENAI_API_KEY は環境変数か codex login --api-key で登録します。config.toml に直接書くと、ファイルの共有やバックアップ時に漏れる原因になります。

MCP サーバーの設定

MCP サーバーも config.toml の [mcp_servers.名前] に書きます。設定例と接続確認の方法は Codex CLI に MCP サーバーを設定する にまとめています。

設定を確認する

対話中に /status を実行すると、現在のモデル、推論の深さ、承認ポリシー、サンドボックス、読み込まれた AGENTS.md が表示されます。config.toml を編集した後は、この画面で反映を確認する習慣をつけてください。

まとめ

  • 設定は ~/.codex/config.toml。トップレベルに既定値、[profiles.名前] で用途別の設定を書く
  • model/model で確認できる名前を書き、model_reasoning_effort は low / medium / high で使い分ける
  • codex --profile 名前 で切り替え、profile = "名前" で既定を決める
  • 優先順位は「コマンドラインオプション > プロファイル > トップレベル > 既定」

よくある質問

config.toml はどこにありますか?
ユーザーのホームディレクトリ配下の ~/.codex/config.toml です。存在しなければ作成します。
プロジェクトごとに設定を変えられますか?
プロファイルを定義して --profile で切り替えるのが基本です。リポジトリ内の .codex/ 配下に設定を置ける場合もあるため、公式ドキュメントで対応状況を確認してください。
モデル名はどこで確認できますか?
対話中の /model で選択可能なモデルが表示されます。config.toml に書く名前もそこで確認できます。

参考にした一次情報

この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合はお問い合わせからお知らせください。