設定の基本¶
Codex は複数の場所から設定の詳細を読み込みます。個人用のデフォルト設定は ~/.codex/config.toml に保存され、.codex/config.toml ファイルを使用してプロジェクトごとの上書き設定を追加できます。セキュリティ上の理由から、Codex はプロジェクトを信頼している場合にのみ、プロジェクトの .codex/ レイヤーを読み込みます。
Codex 設定ファイル¶
Codex はユーザーレベルの設定を ~/.codex/config.toml に保存します。特定のプロジェクトまたはサブフォルダーに設定の対象を限定するには、リポジトリに .codex/config.toml ファイルを追加します。
Codex IDE 拡張機能から設定ファイルを開くには、右上隅の歯車アイコンを選択し、Codex Settings > Open config.toml を選択します。
CLI と IDE 拡張機能は同じ設定レイヤーを共有します。これらを使用して、次のことができます。
- デフォルトのモデルとプロバイダーを設定する。
- 承認ポリシーとサンドボックス設定を構成する。
- MCP サーバーを構成する。
設定の優先順位¶
Codex は次の順序(優先度の高い順)で値を解決します。
- CLI フラグと
--configの上書き設定 - プロジェクト設定ファイル:
.codex/config.toml。プロジェクトのルートから現在の作業ディレクトリまでの順序で適用されます(最も近いものが優先されます。信頼されたプロジェクトのみ)。 --profile profile-nameで選択された プロファイル ファイル(~/.codex/profile-name.config.toml)- ユーザー設定:
~/.codex/config.toml - システム設定(存在する場合): Unix では
/etc/codex/config.toml - 組み込みのデフォルト設定
この優先順位を使用して、共有デフォルト設定を config.toml に定義し、プロファイルファイルには差分となる値だけを記述します。
プロジェクトを信頼しないものとしてマークすると、Codex はプロジェクトスコープの .codex/ レイヤー(プロジェクトローカルの設定、フック、ルールなど)をスキップします。ユーザー設定とシステム設定は引き続き読み込まれます。これには、ユーザーまたはグローバルのフックとルールも含まれます。
-c/--config による一時的な上書き設定(TOML の引用符ルールを含む)については、詳細設定を参照してください。
管理対象マシンでは、組織が requirements.toml を通じて制約を適用する場合もあります(たとえば、approval_policy = "never" や sandbox_mode = "danger-full-access" を禁止するなど)。管理対象の設定と管理者によって強制される要件を参照してください。
一般的な設定オプション¶
多くのユーザーが変更するオプションをいくつか紹介します。
デフォルトモデル¶
CLI と IDE で Codex がデフォルトで使用するモデルを選択します。
承認プロンプト¶
生成されたコマンドを実行する前に、Codex が確認を求めて一時停止するタイミングを制御します。
untrusted、on-request、never の動作の違いについては、承認プロンプトなしで実行するとサンドボックスおよび承認の一般的な組み合わせを参照してください。
サンドボックスレベル¶
コマンド実行中に Codex が持つファイルシステムおよびネットワークへのアクセス範囲を調整します。
モードごとの動作(保護された .git/.codex パスやネットワークのデフォルト設定を含む)については、サンドボックスと承認、書き込み可能なルート内の保護されたパス、ネットワークアクセスを参照してください。
権限プロファイル¶
Codex は、再利用可能なファイルシステムおよびネットワークポリシーのために、名前付き権限プロファイルもサポートしています。組み込みプロファイルは :read-only、:workspace、:danger-full-access です。カスタムプロファイルでは [permissions.<name>] テーブルと、一致する default_permissions 値を使用します。権限を参照してください。
Windows サンドボックスモード¶
Windows 上で Codex をネイティブに実行する場合は、windows テーブルでネイティブサンドボックスモードを elevated に設定します。管理者権限がない場合、または昇格セットアップに失敗した場合にのみ unelevated を使用してください。
[windows]
sandbox = "elevated" # Recommended
# sandbox = "unelevated" # Fallback if admin permissions/setup are unavailable
Web 検索モード¶
Codex はローカルチャットでデフォルトにより Web 検索を有効にし、Web 検索キャッシュから結果を提供します。キャッシュは OpenAI が管理する Web 結果のインデックスであるため、キャッシュモードではライブページを取得する代わりに、事前にインデックス化された結果を返します。これにより、任意のライブコンテンツからのプロンプトインジェクションへの露出を減らせますが、Web 検索結果は引き続き信頼できないものとして扱ってください。--yolo または別のフルアクセスサンドボックス設定を使用している場合、Web 検索はデフォルトでライブ結果になります。web_search を使用してモードを選択します。
"cached"(デフォルト)は、Web 検索キャッシュから結果を提供します。"indexed"は、検索インデックスがリクエストを許可した場合にのみ外部 Web アクセスを許可します。"live"は Web から最新のデータを取得します(--searchと同じです)。"disabled"は Web 検索ツールを無効にします。
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"
推論の強度¶
サポートされている場合に、モデルが適用する推論の強度を調整します。
コミュニケーションスタイル¶
サポートされているモデルのデフォルトのコミュニケーションスタイルを設定します。
後で、アクティブなセッションでは /personality を使用して、または app-server API を使用している場合はスレッドまたはターンごとに上書きできます。
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 が生成されたコマンドに転送する環境変数を制御します。
ログディレクトリ¶
Codex がローカルログファイルを書き込む場所を上書きします。log_dir を明示的に設定すると、そのディレクトリでオプトインのプレーンテキスト TUI ログ codex-tui.log も有効になります。
一時的な実行では、CLI から設定することもできます。
機能フラグ¶
config.toml 内の [features] テーブルを使用して、オプション機能および実験的機能を切り替えます。
一般的な機能フラグ¶
| キー | デフォルト | 成熟度 | 説明 |
|---|---|---|---|
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 except Windows |
安定 | 統合された PTY ベースの exec ツールを使用します |
web_search |
true | 非推奨 | レガシートグルです。トップレベルの web_search 設定を推奨します |
web_search_cached |
false | 非推奨 | 未設定の場合に web_search = "cached" にマッピングされるレガシートグルです |
web_search_request |
false | 非推奨 | 未設定の場合に web_search = "live" にマッピングされるレガシートグルです |
この表には、ユーザー向けの一般的なフラグが記載されています。内部機能や開発中のすべての機能が含まれているわけではありません。成熟度列では、Experimental、Beta、Stable などのラベルを使用しています。これらのラベルの解釈方法については、機能の成熟度を参照してください。
デフォルト設定を維持するには、機能キーを省略します。
ライフサイクルフックの設定については、フックを参照してください。
機能を有効にする¶
config.tomlで、[features]の下にfeature_name = trueを追加します。- CLI から
codex --enable feature_nameを実行します。 - 複数の機能を有効にするには、
codex --enable feature_a --enable feature_bを実行します。 - 機能を無効にするには、
config.tomlでキーをfalseに設定します。