Codex は複数の場所から構成情報を読み取ります。個人用のデフォルト設定は ~/.codex/config.toml に保存され、.codex/config.toml ファイルでプロジェクト用のオーバーライドを追加できます。セキュリティ上、プロジェクトを信頼している場合にのみ、Codex はプロジェクトの .codex/ レイヤーを読み込みます。
Codex 設定ファイル
Codex はユーザーレベルの設定を ~/.codex/config.toml に保存します。設定の適用範囲を特定のプロジェクトまたはサブフォルダーに限定するには、リポジトリに .codex/config.toml ファイルを追加します。
Codex IDE 拡張機能から設定ファイルを開くには、右上隅の歯車アイコンを選択してから、Codex の設定 > config.toml を開く を選択します。
CLI と IDE 拡張機能は同じ構成レイヤーを共有します。これらを使って、次の操作を行えます:
- デフォルトのモデルとプロバイダーを設定します。
- 承認ポリシーとサンドボックス設定 を構成します。
- MCP サーバー を構成します。
構成の優先順位
Codex は次の順序で値を解決します(優先順位が高い順):
- CLI フラグと
--configによるオーバーライド - プロジェクト設定ファイル:
.codex/config.toml、プロジェクトルートから現在の作業ディレクトリまでの順(最も近いものが優先、信頼済みプロジェクトのみ) - プロファイル のファイル:
--profile profile-nameで選択(~/.codex/profile-name.config.toml) - ユーザー設定:
~/.codex/config.toml - システム設定(存在する場合):
/etc/codex/config.toml(Unix) - 組み込みのデフォルト設定
この優先順位に従って、共有のデフォルト設定は config.toml に記述し、プロファイルファイル には異なる値だけを記述します。
プロジェクトを信頼しないものとしてマークすると、Codex は、プロジェクトローカルの設定、フック、ルールを含む、プロジェクトスコープの .codex/ レイヤーをスキップします。ユーザー設定とシステム設定は引き続き読み込まれ、ユーザー/グローバルのフックとルールも対象です。
-c/--config による単発のオーバーライド(TOML の引用符規則を含む)については、高度な設定 を参照してください。
管理対象のマシンでは、組織が
requirements.toml を通じて制約を適用する場合もあります(たとえば、approval_policy = "never" または
sandbox_mode = "danger-full-access" を禁止します)。詳しくは、管理対象の
構成 と 管理者が適用する
要件 を参照してください。
一般的な構成オプション
よく変更されるオプションをいくつか紹介します:
デフォルトモデル
CLI と IDE で Codex がデフォルトで使用するモデルを選択します。
model = "gpt-5.6"承認プロンプト
Codex が生成したコマンドを実行する前に、承認を求めて一時停止するタイミングを制御します。
approval_policy = "on-request"
untrusted、on-request、never の動作の違いについては、承認プロンプトなしで実行 と 一般的なサンドボックスと承認の組み合わせ を参照してください。
サンドボックスレベル
コマンド実行中に Codex に許可するファイルシステムとネットワークへのアクセス範囲を調整します。
sandbox_mode = "workspace-write"
モードごとの動作(保護対象の .git/.codex パスとネットワークのデフォルト設定を含む)については、サンドボックスと承認、書き込み可能なルート内の保護対象パス、ネットワークアクセス を参照してください。
権限プロファイル
Codex は、ファイルシステムと
ネットワークのポリシーを再利用できる、名前付き権限プロファイルにも対応しています。組み込みプロファイルは :read-only、:workspace、
:danger-full-access です。カスタムプロファイルでは [permissions.<name>] テーブルと、
対応する default_permissions 値を使用します。詳しくは、権限 を参照してください。
Windows サンドボックスモード
Windows で Codex をネイティブ実行する場合は、ネイティブサンドボックスモードを elevated に設定し、windows テーブルに記述します。管理者権限がない場合、または昇格モードのセットアップに失敗した場合にのみ、unelevated を使用します。
[windows]
sandbox = "elevated" # Recommended
# sandbox = "unelevated" # Fallback if admin permissions/setup are unavailable
ウェブ検索モード
Codex はローカルチャットでウェブ検索をデフォルトで有効にし、ウェブ検索キャッシュから結果を返します。このキャッシュは OpenAI が管理するウェブ検索結果のインデックスであるため、キャッシュモードでは最新のウェブページを取得せず、事前にインデックス化された結果を返します。これにより、任意のライブコンテンツからプロンプトインジェクションを受ける可能性は低くなりますが、それでもウェブ検索結果は信頼できないものとして扱う必要があります。--yolo または別の フルアクセスのサンドボックス設定 を使用している場合、ウェブ検索ではライブ結果がデフォルトになります。web_search でモードを選択します:
"cached"(デフォルト)では、ウェブ検索キャッシュから結果を返します。"indexed"では、検索インデックスがリクエストを許可した場合にのみ、外部ウェブアクセスが許可されます。"live"では、ウェブから最新データを取得します(--searchと同じです)。"disabled"では、ウェブ検索ツールを無効にします。
web_search = "cached" # default; serves results from the web search cache
# web_search = "indexed" # gate external web access through the search index
# web_search = "live" # fetch the most recent data from the web (same as --search)
# web_search = "disabled"
推論強度
対応しているモデルでは、推論強度を調整できます。
model_reasoning_effort = "high"
コミュニケーションスタイル
対応モデルのデフォルトのコミュニケーションスタイルを設定します。
personality = "friendly" # or "pragmatic" or "none"
アクティブなセッションでは、後から /personality で上書きできます。また、app-server APIs を使用する場合は、スレッド単位またはターン単位で上書きできます。
TUI キーマップ
tui.keymap でターミナルショートカットをカスタマイズします。対象のコンポーザーアクションでは、対応する tui.keymap.global バインディングがフォールバックとして使用されます。対応している場合は、コンテキスト固有のバインディングが優先されます。空のリストを指定すると、そのアクションのキーバインドが解除されます。
[tui.keymap.global]
open_transcript = "ctrl-t"
[tui.keymap.composer]
submit = ["enter", "ctrl-m"]
[tui.keymap.chat]
interrupt_turn = "f12"
コマンド環境
Codex が起動するコマンドに渡す環境変数を制御します。必要な変数だけを残すには、 キー指定のフィルターを使用します:
[shell_environment_policy]
ignore_default_excludes = false
[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"
ignore_default_excludes のデフォルト値は true で、次を含む変数名の自動フィルタリングをスキップします:
KEY、SECRET、TOKEN。この自動フィルタリングを使用する場合は false
に設定します。除外ルール、優先順位、
従来の構成については、シェル環境
ポリシー を参照してください。
ログディレクトリ
Codex がローカルログファイルを書き込む場所を変更します。log_dir を明示的に設定すると、
そのディレクトリで、オプトインのプレーンテキスト TUI ログ codex-tui.log も有効になります。
log_dir = "/absolute/path/to/codex-logs"
単発で実行する場合は、CLI から設定することもできます:
codex -c log_dir=./.codex-log
機能フラグ
[features] テーブルを config.toml で使用して、オプション機能や実験的機能の有効/無効を切り替えます。
一般的な機能フラグ
| キー | デフォルト | 成熟度 | 説明 |
|---|---|---|---|
apps | true | 安定版 | アプリ(コネクタ)連携を有効化 |
goals | true | 安定版 | 永続化された目標と自動継続を有効化 |
hooks | true | 安定版 | hooks.json またはインラインの [hooks] からライフサイクルフックを有効にします。詳しくは、フック を参照してください。 |
fast_mode | true | 安定版 | Fast モードの選択と service_tier = "fast" パスを有効化 |
memories | false | 実験的 | メモリ を有効化 |
multi_agent | true | 安定版 | サブエージェントの共同作業ツールを有効化 |
personality | true | 安定版 | パーソナリティ選択コントロールを有効化 |
remote_plugin | true | 安定版 | リモートプラグインカタログを有効化 |
shell_snapshot | true | 安定版 | シェル環境のスナップショットを作成し、繰り返し実行するコマンドを高速化 |
shell_tool | true | 安定版 | デフォルトの shell ツールを有効化 |
unified_exec | true(Windows を除く) | 安定版 | PTY をバックエンドとする統合 exec ツールを使用 |
web_search | true | 非推奨 | 従来の切り替え設定。トップレベルの web_search 設定を使用することを推奨 |
web_search_cached | false | 非推奨 | 未設定の場合に web_search = "cached" にマッピングされる従来の切り替え設定 |
web_search_request | false | 非推奨 | 未設定の場合に web_search = "live" にマッピングされる従来の切り替え設定 |
この表は、内部機能や 開発中の機能を網羅するものではなく、一般的なユーザー向けフラグを掲載しています。「成熟度」列では、 「実験的」「ベータ」「安定版」などのラベルを使用します。これらのラベルの意味については、機能の 成熟度 を参照してください。
ライフサイクルフックの構成については、フック を参照してください。
機能の有効化
config.tomlで、feature_name = trueを[features]の下に追加します。- CLI から
codex --enable feature_nameを実行します。 - 複数の機能を有効にするには、
codex --enable feature_a --enable feature_bを実行します。 - 機能を無効にするには、キーを
falseに設定してconfig.tomlに記述します。