コンテンツにスキップ

構成リファレンス

このページは、Codex の構成ファイルを検索できるリファレンスとして使用してください。概念的なガイダンスと例については、まず 構成の基本高度な構成 を参照してください。

config.toml

ユーザーレベルの構成は ~/.codex/config.toml にあります。.codex/config.toml ファイルにプロジェクトスコープのオーバーライドを追加することもできます。Codex は、プロジェクトを信頼している場合にのみ、プロジェクトスコープの構成ファイルを読み込みます。

プロジェクトスコープの構成でオーバーライドできないのは、マシンローカルのプロバイダー、認証、ホスト所有アプリのリクエストメタデータ、通知、構成プロファイルの選択、テレメトリルーティングキーです。プロジェクトローカルの .codex/config.tomlopenai_base_urlchatgpt_base_urlapps_mcp_product_skumodel_providermodel_providersnotifyprofileprofilesexperimental_realtime_ws_base_urlotel が記述されている場合、Codex はそれらを無視します。プロバイダー、通知、テレメトリのキーは、代わりにユーザーレベルの構成に記述してください。構成の プロファイルファイル は、config.toml の隣に $CODEX_HOME/profile-name.config.toml として配置されます。--profile profile-name で 1 つを選択します。

サンドボックスと承認のキー(approval_policysandbox_modesandbox_workspace_write.*)については、このリファレンスと サンドボックスと承認書き込み可能なルート内の保護パスネットワークアクセス を併せて参照してください。ベータ版の権限プロファイルについては、権限 を参照してください。

gpt-5.5)。", }, { key: "review_model", type: "string", description: "/review が使用するオプションのモデルオーバーライド(デフォルトは現在のセッションモデル)。", }, { key: "model_provider", type: "string", description: "model_providers のプロバイダー ID(デフォルト: openai)。", }, { key: "openai_base_url", type: "string", description: "組み込みの openai モデルプロバイダーに対するベース URL のオーバーライド。", }, { key: "model_context_window", type: "number", description: "アクティブなモデルで利用できるコンテキストウィンドウのトークン数。", }, { key: "model_auto_compact_token_limit", type: "number", description: "履歴の自動圧縮を開始するトークンのしきい値(未設定の場合はモデルのデフォルト値を使用)。", }, { key: "model_auto_compact_token_limit_scope", type: "total | body_after_prefix", description: "自動圧縮のしきい値で、アクティブなコンテキスト全体(total、デフォルト)を数えるか、引き継がれた圧縮ウィンドウのプレフィックス(body_after_prefix)以降の増加分だけを数えるかを制御します。", }, { key: "model_catalog_json", type: "string (path)", description: "起動時に読み込む JSON モデルカタログへのオプションのパス。選択した $CODEX_HOME/profile-name.config.toml プロファイルファイルで、プロファイルごとにこの設定をオーバーライドできます。", }, { key: "oss_provider", type: "lmstudio | ollama", description: "--oss で実行するときに使用するデフォルトのローカルプロバイダー(未設定の場合は入力を求めます)。", }, { key: "approval_policy", type: "untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }", description: "コマンド実行前に Codex が承認のため一時停止するタイミングを制御します。approval_policy = { granular = { ... } } を使用すると、他のプロンプトを対話式のまま、特定のプロンプトカテゴリを許可または自動拒否することもできます。on-failure は非推奨です。対話的な実行には on-request、非対話的な実行には never を使用してください。", }, { key: "approval_policy.granular.sandbox_approval", type: "boolean", description: "true の場合、サンドボックスの権限昇格に関する承認プロンプトを表示できます。", }, { key: "approval_policy.granular.rules", type: "boolean", description: "true の場合、execpolicy の prompt ルールによって発生した承認を表示できます。", }, { key: "approval_policy.granular.mcp_elicitations", type: "boolean", description: "true の場合、MCP の入力要求プロンプトを自動拒否せずに表示できます。", }, { key: "approval_policy.granular.request_permissions", type: "boolean", description: "true の場合、request_permissions ツールからのプロンプトを表示できます。", }, { key: "approval_policy.granular.skill_approval", type: "boolean", description: "true の場合、スキルスクリプトの承認プロンプトを表示できます。", }, { key: "approvals_reviewer", type: "user | auto_review", description: "on-request または詳細な承認ポリシーの対象となる承認プロンプトをレビューする担当者。デフォルトは user です。auto_review ではレビュアーのサブエージェントを使用します。この設定は、サンドボックス内ですでに許可されているサンドボックス化やレビューアクションを変更しません。", }, { key: "auto_review.policy", type: "string", description: "自動レビュー用のローカル Markdown ポリシー指示。管理対象の guardian_policy_config が優先されます。空白の値は無視されます。", }, { key: "allow_login_shell", type: "boolean", description: "シェルベースのツールで login-shell のセマンティクスを使用できるようにします。デフォルトは true です。false の場合、login = true リクエストは拒否され、省略された login は非ログインシェルをデフォルトとして使用します。", }, { key: "sandbox_mode", type: "read-only | workspace-write | danger-full-access", description: "コマンド実行中のファイルシステムとネットワークアクセスに対するサンドボックスポリシー。", }, { key: "sandbox_workspace_write.writable_roots", type: "array\", description: "sandbox_mode = "workspace-write" の場合に追加される書き込み可能なルート。", }, { key: "sandbox_workspace_write.network_access", type: "boolean", description: "workspace-write サンドボックス内で外向きのネットワークアクセスを許可します。", }, { key: "sandbox_workspace_write.exclude_tmpdir_env_var", type: "boolean", description: "workspace-write モードで、$TMPDIR を書き込み可能なルートから除外します。", }, { key: "sandbox_workspace_write.exclude_slash_tmp", type: "boolean", description: "workspace-write モードで、/tmp を書き込み可能なルートから除外します。", }, { key: "windows.sandbox", type: "unelevated | elevated", description: "Windows 上で Codex をネイティブに実行するときの、Windows 専用のネイティブサンドボックスモード。", }, { key: "windows.sandbox_private_desktop", type: "boolean", description: "ネイティブ Windows で、最終的なサンドボックス化された子プロセスをデフォルトでプライベートデスクトップ上で実行します。以前の Winsta0\\\\Default の動作との互換性が必要な場合にのみ false を設定してください。", }, { key: "computer_use.windows.always_allowed_app_ids", type: "array\", description: "Computer Use がプロンプトなしで開ける Windows アプリ識別子。リストにないアプリには承認が必要です。保存されたエントリは ChatGPT デスクトップアプリの Computer Use 設定から削除してください。", }, { key: "notify", type: "array\", description: "通知に使用するコマンド。Codex から JSON ペイロードを受け取ります。", }, { key: "check_for_update_on_startup", type: "boolean", description: "起動時に Codex の更新を確認します(更新を一元管理している場合にのみ false に設定してください)。", }, { key: "feedback.enabled", type: "boolean", description: "/feedback を介したローカルクライアント全体でのフィードバック送信を有効にします(デフォルト: true)。", }, { key: "analytics.enabled", type: "boolean", description: "このマシンまたはプロファイルの分析を有効または無効にします。未設定の場合はクライアントのデフォルトが適用されます。", }, { key: "instructions", type: "string", description: "将来の使用のために予約されています。model_instructions_file または AGENTS.md を優先してください。", }, { key: "developer_instructions", type: "string", description: "セッションに挿入する追加の開発者指示(オプション)。", }, { key: "log_dir", type: "string (path)", description: "Codex がログファイルを書き込むディレクトリ。デフォルトは $CODEX_HOME/log です。この値を明示的に設定すると、そのディレクトリでオプトインのプレーンテキスト TUI ログ codex-tui.log も有効になります。", }, { key: "sqlite_home", type: "string (path)", description: "エージェントジョブやその他の再開可能なランタイム状態で使用する SQLite ベースの状態 DB を Codex が保存するディレクトリ。", }, { key: "compact_prompt", type: "string", description: "履歴圧縮プロンプトのインラインオーバーライド。", }, { key: "model_instructions_file", type: "string (path)", description: "AGENTS.md の代わりに組み込み指示を置き換えるファイル。", }, { key: "personality", type: "none | friendly | pragmatic", description: "supportsPersonality を宣言するモデルのデフォルトのコミュニケーションスタイル。スレッドまたはターンごと、あるいは /personality でオーバーライドできます。", }, { key: "service_tier", type: "string", description: "新しいターンで優先するサービス階層。組み込み値には flexfast が含まれます。従来の fast 構成はリクエスト値 priority にマッピングされ、カタログが提供する階層 ID も保存できます。", }, { key: "experimental_compact_prompt_file", type: "string (path)", description: "圧縮プロンプトのオーバーライドをファイルから読み込みます(実験的機能)。", }, { key: "skills.config", type: "array\", description: "config.toml に保存されるスキルごとの有効化オーバーライド。", }, { key: "skills.config.\.path", type: "string (path)", description: "SKILL.md を含むスキルフォルダーへのパス。", }, { key: "skills.config.\.enabled", type: "boolean", description: "参照されているスキルを有効または無効にします。", }, { key: "apps.\.enabled", type: "boolean", description: "ID で指定した特定のアプリまたはコネクターを有効または無効にします(デフォルト: true)。", }, { key: "apps._default.enabled", type: "boolean", description: "アプリごとにオーバーライドされない限り、すべてのアプリに適用されるデフォルトのアプリ有効状態。", }, { key: "apps._default.destructive_enabled", type: "boolean", description: "destructive_hint = true を持つアプリツールのデフォルトの許可または拒否。", }, { key: "apps._default.open_world_enabled", type: "boolean", description: "open_world_hint = true を持つアプリツールのデフォルトの許可または拒否。", }, { key: "apps._default.approvals_reviewer", type: "user | auto_review", description: "アプリごとにオーバーライドされない限り、アプリツールの承認プロンプトに対するデフォルトのレビュアー。省略すると、アプリはトップレベルの approvals_reviewer 値を継承します。", }, { key: "apps._default.default_tools_approval_mode", type: "auto | prompt | writes | approve", description: "アプリまたはツールごとのオーバーライドがないアプリツールに対するデフォルトの承認動作。", }, { key: "apps.\.destructive_enabled", type: "boolean", description: "destructive_hint = true を宣言する、このアプリ内のツールを許可またはブロックします。", }, { key: "apps.\.open_world_enabled", type: "boolean", description: "open_world_hint = true を宣言する、このアプリ内のツールを許可またはブロックします。", }, { key: "apps.\.default_tools_enabled", type: "boolean", description: "ツールごとのオーバーライドがない限り、このアプリのツールに適用されるデフォルトの有効状態。", }, { key: "apps.\.approvals_reviewer", type: "user | auto_review", description: "このアプリのツール承認プロンプトに対するレビュアー。apps._default.approvals_reviewer をオーバーライドします。", }, { key: "apps.\.default_tools_approval_mode", type: "auto | prompt | writes | approve", description: "ツールごとのオーバーライドがない限り、このアプリのツールに対するデフォルトの承認動作。", }, { key: "apps.\.tools.\.enabled", type: "boolean", description: "アプリツールに対するツールごとの有効化オーバーライド(例: repos/list)。", }, { key: "apps.\.tools.\.approval_mode", type: "auto | prompt | writes | approve", description: "単一のアプリツールに対するツールごとの承認動作オーバーライド。", }, { key: "tool_suggest.discoverables", type: "array\", description: "追加の検出可能なコネクターまたはプラグインに対するツール候補を許可します。各エントリでは type = "connector" または "plugin"id を使用します。", }, { key: "tool_suggest.disabled_tools", type: "array\
", description: "特定の検出可能なコネクターまたはプラグインに対する候補を無効にします。各エントリでは type = "connector" または "plugin"id を使用します。", }, { key: "features.apps", type: "boolean", description: "アプリ(コネクター)統合を有効にします(安定版、デフォルトで有効)。", }, { key: "features.hooks", type: "boolean", description: "hooks.json またはインラインの [hooks] 構成から読み込まれるライフサイクルフックを有効にします。features.codex_hooks は非推奨の別名です。", }, { key: "features.code_mode.enabled", type: "boolean", description: "コードモード機能の構成を有効にします。この機能は開発中で、デフォルトでは無効です。", }, { key: "features.code_mode.excluded_tool_namespaces", type: "array\", description: "コードモードが、ネストされたコードモードのツールガイダンスとエグゼキューターへの公開から除外するツール名前空間。", }, { key: "features.code_mode.direct_only_tool_namespaces", type: "array\", description: "コードモードが直接のツール呼び出しによってのみ使用できるツール名前空間。", }, { key: "features.rollout_budget.enabled", type: "boolean", description: "ロールアウト予算の追跡を有効にします。この機能は開発中で、デフォルトでは無効です。有効にするには features.rollout_budget.limit_tokens が必要です。", }, { key: "features.rollout_budget.limit_tokens", type: "integer", description: "ロールアウト予算追跡の正のトークン上限。ロールアウト予算を有効にする場合は必須です。", }, { key: "features.rollout_budget.reminder_interval_tokens", type: "integer", description: "ロールアウト予算のリマインダー間の正のトークン間隔。デフォルトは limit_tokens の 10% で、最小値は 1 トークンです。", }, { key: "features.rollout_budget.sampling_token_weight", type: "number", description: "ロールアウト予算の計算でサンプリングされたトークンに適用する有限の非負の乗数。デフォルトは 1.0 です。", }, { key: "features.rollout_budget.prefill_token_weight", type: "number", description: "ロールアウト予算の計算でプレフィルされたトークンに適用する有限の非負の乗数。デフォルトは 1.0 です。", }, { key: "hooks", type: "table", description: "config.toml にインラインで構成されるライフサイクルフック。hooks.json と同じイベントスキーマを使用します。例とサポートされるイベントについては、Hooks ガイドを参照してください。", }, { key: "hooks.\", type: "array\
", description: "PreToolUsePermissionRequestPostToolUsePreCompactPostCompactSessionStartSubagentStartSubagentStopUserPromptSubmitStop などのフックイベントに対するマッチャーグループ。", }, { key: "hooks.\[].hooks", type: "array\
", description: "マッチャーグループのフックハンドラー。現在サポートされているのはコマンドフックです。プロンプトおよびエージェントのフックハンドラーは解析されますが、スキップされます。", }, { key: "hooks.\[].hooks[].commandWindows", type: "string", description: "コマンドフック用の Windows 専用コマンドオーバーライド。TOML の別名 command_windows も使用できます。", }, { key: "features.memories", type: "boolean", description: "Memories を有効にします(デフォルトでは無効)。", }, { key: "mcp_servers.\.command", type: "string", description: "MCP stdio サーバーの起動コマンド。", }, { key: "mcp_servers.\.args", type: "array\", description: "MCP stdio サーバーコマンドに渡す引数。", }, { key: "mcp_servers.\.env", type: "map\", description: "MCP stdio サーバーに転送する環境変数。", }, { key: "mcp_servers.\.env_vars", type: 'array\', description: 'MCP stdio サーバーでホワイトリストに登録する追加の環境変数。文字列エントリのデフォルトは source = "local" です。source = "remote" はエグゼキューターが使用するリモート stdio の場合にのみ使用してください。', }, { key: "mcp_servers.\.cwd", type: "string", description: "MCP stdio サーバープロセスの作業ディレクトリ。", }, { key: "mcp_servers.\.url", type: "string", description: "MCP ストリーミング可能 HTTP サーバーのエンドポイント。", }, { key: "mcp_servers.\.auth", type: "oauth | chatgpt", description: "構成済みのベアラートークンと認証ヘッダーの後に使用する MCP HTTP サーバーの認証フォールバック。oauth(デフォルト)は、利用可能な場合に保存済みの MCP OAuth 資格情報を使用します。chatgpt は、信頼された第一者 ChatGPT オリジンに対して現在の ChatGPT セッションを使用し、その後、保存済みの OAuth にフォールバックします。どちらのモードも、資格情報のソースが解決されない場合は認証なしで接続できます。", }, { key: "mcp_servers.\.bearer_token_env_var", type: "string", description: "MCP HTTP サーバーのベアラートークンの取得元となる環境変数。", }, { key: "mcp_servers.\.http_headers", type: "map\", description: "各 MCP HTTP リクエストに含める静的 HTTP ヘッダー。", }, { key: "mcp_servers.\.env_http_headers", type: "map\", description: "MCP HTTP サーバー用に環境変数から設定する HTTP ヘッダー。", }, { key: "mcp_servers.\.enabled", type: "boolean", description: "構成を削除せずに MCP サーバーを無効にします。", }, { key: "mcp_servers.\.required", type: "boolean", description: "true の場合、有効な MCP サーバーを初期化できなければ、起動または再開に失敗します。", }, { key: "mcp_servers.\.startup_timeout_sec", type: "number", description: "MCP サーバーのデフォルトの起動タイムアウト 10 秒をオーバーライドします。", }, { key: "mcp_servers.\.startup_timeout_ms", type: "number", description: "startup_timeout_sec のミリ秒単位の別名。", }, { key: "mcp_servers.\.tool_timeout_sec", type: "number", description: "MCP サーバーのツールごとのデフォルトタイムアウト 60 秒をオーバーライドします。", }, { key: "mcp_servers.\.enabled_tools", type: "array\", description: "MCP サーバーが公開するツール名の許可リスト。", }, { key: "mcp_servers.\.disabled_tools", type: "array\", description: "MCP サーバーに対して enabled_tools の後に適用される拒否リスト。", }, { key: "mcp_servers.\.default_tools_approval_mode", type: "auto | prompt | writes | approve", description: "ツールごとのオーバーライドがない場合に、このサーバー上の MCP ツールに適用されるデフォルトの承認動作。", }, { key: "mcp_servers.\.tools.\.approval_mode", type: "auto | prompt | writes | approve", description: "このサーバー上の 1 つの MCP ツールに対するツールごとの承認動作オーバーライド。", }, { key: "mcp_servers.\.scopes", type: "array\", description: "その MCP サーバーの認証時に要求する OAuth スコープ。", }, { key: "mcp_servers.\.oauth_resource", type: "string", description: "MCP ログイン時に含めるオプションの RFC 8707 OAuth resource パラメーター。", }, { key: "mcp_servers.\.experimental_environment", type: "local | remote", description: "MCP サーバーの実験的な配置先。remote はリモートエグゼキューター環境を介して stdio サーバーを起動します。ストリーミング可能 HTTP のリモート配置は実装されていません。", }, { key: "agents.max_threads", type: "number", description: "同時に開けるエージェントスレッドの最大数。未設定の場合のデフォルトは 6 です。", }, { key: "agents.max_depth", type: "number", description: "生成されたエージェントスレッドで許可される最大ネスト深度(ルートセッションは深度 0 で開始、デフォルト: 1)。", }, { key: "agents.job_max_runtime_seconds", type: "number", description: "spawn_agents_on_csv ジョブのワーカーごとのデフォルトタイムアウト。未設定の場合、ツールはワーカーごとに 1800 秒を使用します。", }, { key: "agents.interrupt_message", type: "boolean", description: "エージェントのターンが中断されたときに、モデルから見えるメッセージを記録します(デフォルト: true)。", }, { key: "agents.\.description", type: "string", description: "そのエージェントタイプを選択して生成するときに Codex に表示される役割のガイダンス。", }, { key: "agents.\.config_file", type: "string (path)", description: "その役割の TOML 構成レイヤーへのパス。相対パスは、役割を宣言する構成ファイルを基準に解決されます。", }, { key: "agents.\.nickname_candidates", type: "array\", description: "その役割で生成されたエージェントに表示するニックネーム候補のオプションプール。", }, { key: "memories.generate_memories", type: "boolean", description: "false の場合、新しく作成されたスレッドはメモリ生成の入力として保存されません。デフォルトは true です。", }, { key: "memories.use_memories", type: "boolean", description: "false の場合、Codex は既存のメモリを今後のセッションに挿入しません。デフォルトは true です。", }, { key: "memories.disable_on_external_context", type: "boolean", description: "true の場合、MCP ツール呼び出し、Web 検索、ツール検索などの外部コンテキストを使用するスレッドは、メモリ生成から除外されます。デフォルトは false です。従来の別名: memories.no_memories_if_mcp_or_web_search。", }, { key: "memories.max_raw_memories_for_consolidation", type: "number", description: "グローバルな統合のために保持する最近の未加工メモリの最大数。デフォルトは 256 で、4096 が上限です。", }, { key: "memories.max_unused_days", type: "number", description: "統合の対象外になるまでの、メモリが最後に使用されてからの日数の上限。デフォルトは 30 で、0365 の範囲に制限されます。", }, { key: "memories.max_rollout_age_days", type: "number", description: "メモリ生成の対象とするスレッドの経過日数の上限。デフォルトは 30 で、090 の範囲に制限されます。", }, { key: "memories.max_rollouts_per_startup", type: "number", description: "起動パスごとに処理するロールアウト候補の最大数。デフォルトは 16 で、128 が上限です。", }, { key: "memories.min_rollout_idle_hours", type: "number", description: "スレッドがメモリ生成の対象になるまでの最小アイドル時間。デフォルトは 6 で、148 の範囲に制限されます。", }, { key: "memories.min_rate_limit_remaining_percent", type: "number", description: "メモリ生成を開始するために Codex のレート制限ウィンドウに必要な最小残量率。デフォルトは 25 で、0100 の範囲に制限されます。", }, { key: "memories.extract_model", type: "string", description: "スレッドごとのメモリ抽出に使用するオプションのモデルオーバーライド。", }, { key: "memories.consolidation_model", type: "string", description: "グローバルメモリ統合に使用するオプションのモデルオーバーライド。", }, { key: "features.unified_exec", type: "boolean", description: "統合された PTY ベースの exec ツールを使用します(安定版、Windows を除いてデフォルトで有効)。", }, { key: "features.shell_snapshot", type: "boolean", description: "シェル環境をスナップショットして、繰り返し実行するコマンドを高速化します(安定版、デフォルトで有効)。", }, { key: "features.multi_agent", type: "boolean", description: "マルチエージェントコラボレーションツール(spawn_agentsend_inputresume_agentwait_agentclose_agent)を有効にします(安定版、デフォルトで有効)。", }, { key: "features.goals", type: "boolean", description: "永続化された目標と自動継続を有効にします(安定版、デフォルトで有効)。", }, { key: "features.remote_plugin", type: "boolean", description: "リモートプラグインカタログを有効にします(安定版、デフォルトで有効)。", }, { key: "features.personality", type: "boolean", description: "パーソナリティ選択コントロールを有効にします(安定版、デフォルトで有効)。", }, { key: "features.network_proxy", type: "boolean | table", description: "サンドボックス化されたネットワークを有効にします。domains などのネットワークポリシーオプションを設定する場合はテーブル形式を使用します(実験的機能、デフォルトでは無効)。", }, { key: "features.network_proxy.enabled", type: "boolean", description: "サンドボックス化されたネットワークを有効にします。デフォルトは false です。", }, { key: "features.network_proxy.domains", type: "map\", description: "サンドボックス化されたネットワークのドメインポリシー。デフォルトでは未設定で、allow ルールを追加するまで外部宛先は許可されません。完全一致のホスト、サブドメインのみを対象とする *.example.com、頂点ドメインとサブドメインを対象とする **.example.com、グローバルな * 許可ルールをサポートします。* は公開外向きアクセスを広範に開くため、スコープを限定したルールを推奨します。ブロックする宛先には deny ルールを追加してください。競合時は deny が優先されます。", }, { key: "features.network_proxy.unix_sockets", type: "map\", description: "サンドボックス化されたネットワークの Unix ソケットポリシー。デフォルトでは未設定です。許可するソケットには allow エントリを追加してください。", }, { key: "features.network_proxy.allow_local_binding", type: "boolean", description: "より広範なローカルまたはプライベートネットワークアクセスを許可します。デフォルトは false です。完全一致のローカル IP リテラルまたは localhost 許可ルールで、特定のローカルターゲットを引き続き許可できます。", }, { key: "features.network_proxy.enable_socks5", type: "boolean", description: "SOCKS5 のサポートを公開します。デフォルトは true です。", }, { key: "features.network_proxy.enable_socks5_udp", type: "boolean", description: "SOCKS5 経由の UDP を許可します。デフォルトは true です。", }, { key: "features.network_proxy.allow_upstream_proxy", type: "boolean", description: "環境から上流プロキシを経由してチェーン接続することを許可します。デフォルトは true です。", }, { key: "features.network_proxy.dangerously_allow_non_loopback_proxy", type: "boolean", description: "ループバック以外のリスナーアドレスを許可します。デフォルトは false です。有効にすると、プロキシリスナーが localhost の範囲を超えて公開される可能性があります。", }, { key: "features.network_proxy.dangerously_allow_all_unix_sockets", type: "boolean", description: "許可リストのみのアクセスではなく、任意の Unix ソケット宛先を許可します。デフォルトは false です。厳密に管理された環境でのみ使用してください。", }, { key: "features.network_proxy.proxy_url", type: "string", description: "サンドボックス化されたネットワーク用の HTTP リスナー URL。デフォルトは "http://127.0.0.1:3128" です。", }, { key: "features.network_proxy.socks_url", type: "string", description: "SOCKS5 リスナー URL。デフォルトは "http://127.0.0.1:8081" です。", }, { key: "features.web_search", type: "boolean", description: "非推奨の従来の切り替え。トップレベルの web_search 設定を優先してください。", }, { key: "features.web_search_cached", type: "boolean", description: "非推奨の従来の切り替え。web_search が未設定の場合、true は web_search = "cached" にマッピングされます。", }, { key: "features.web_search_request", type: "boolean", description: "非推奨の従来の切り替え。web_search が未設定の場合、true は web_search = "live" にマッピングされます。", }, { key: "features.shell_tool", type: "boolean", description: "コマンド実行用のデフォルト shell ツールを有効にします(安定版、デフォルトで有効)。", }, { key: "features.enable_request_compression", type: "boolean", description: "サポートされている場合、ストリーミングリクエスト本文を zstd で圧縮します(安定版、デフォルトで有効)。", }, { key: "features.skill_mcp_dependency_install", type: "boolean", description: "スキルに不足している MCP 依存関係のプロンプト表示とインストールを許可します(安定版、デフォルトで有効)。", }, { key: "features.fast_mode", type: "boolean", description: "TUI でモデルカタログのサービス階層選択を有効にします。これには、アクティブなモデルが提供する場合の Fast 階層コマンドが含まれます(安定版、デフォルトで有効)。", }, { key: "features.prevent_idle_sleep", type: "boolean", description: "ターンが実行中の間、マシンがスリープ状態になるのを防ぎます(実験的機能、デフォルトでは無効)。", }, { key: "suppress_unstable_features_warning", type: "boolean", description: "開発中の機能フラグが有効になったときに表示される警告を抑制します。", }, { key: "model_providers.\", type: "table", description: "カスタムプロバイダーの定義。組み込みプロバイダー ID(openaiollamalmstudio)は予約されており、オーバーライドできません。", }, { key: "model_providers.\.name", type: "string", description: "カスタムモデルプロバイダーの表示名。", }, { key: "model_providers.\.base_url", type: "string", description: "モデルプロバイダーの API ベース URL。", }, { key: "model_providers.\.env_key", type: "string", description: "プロバイダー API キーを提供する環境変数。", }, { key: "model_providers.\.env_key_instructions", type: "string", description: "プロバイダー API キーのオプションのセットアップガイダンス。", }, { key: "model_providers.\.experimental_bearer_token", type: "string", description: "プロバイダーの直接ベアラートークン(非推奨。env_key を使用してください)。", }, { key: "model_providers.\.requires_openai_auth", type: "boolean", description: "このプロバイダーが OpenAI 認証を使用するかどうか(デフォルト: false)。", }, { key: "model_providers.\.wire_api", type: "responses", description: "プロバイダーが使用するプロトコル。サポートされている値は responses のみで、省略時のデフォルトでもあります。", }, { key: "model_providers.\.query_params", type: "map\", description: "プロバイダーへのリクエストに追加するクエリパラメーター。", }, { key: "model_providers.\.http_headers", type: "map\", description: "プロバイダーへのリクエストに追加する静的 HTTP ヘッダー。", }, { key: "model_providers.\.env_http_headers", type: "map\", description: "環境変数が存在する場合に、環境変数から設定する HTTP ヘッダー。", }, { key: "model_providers.\.request_max_retries", type: "number", description: "プロバイダーへの HTTP リクエストの再試行回数(デフォルト: 4)。", }, { key: "model_providers.\.stream_max_retries", type: "number", description: "SSE ストリーミング中断時の再試行回数(デフォルト: 5)。", }, { key: "model_providers.\.stream_idle_timeout_ms", type: "number", description: "SSE ストリームのアイドルタイムアウト(ミリ秒、デフォルト: 300000)。", }, { key: "model_providers.\.supports_websockets", type: "boolean", description: "そのプロバイダーが Responses API の WebSocket トランスポートをサポートするかどうか。", }, { key: "model_providers.\.auth", type: "table", description: "カスタムプロバイダー用のコマンドベースのベアラートークン構成。env_keyexperimental_bearer_tokenrequires_openai_auth と併用しないでください。", }, { key: "model_providers.\.auth.command", type: "string", description: "Codex がベアラートークンを必要としたときに実行するコマンド。コマンドはトークンを stdout に出力する必要があります。", }, { key: "model_providers.\.auth.args", type: "array\", description: "トークンコマンドに渡す引数。", }, { key: "model_providers.\.auth.timeout_ms", type: "number", description: "トークンコマンドの最大実行時間(ミリ秒、デフォルト: 5000)。", }, { key: "model_providers.\.auth.refresh_interval_ms", type: "number", description: "Codex がトークンを先回りして更新する間隔(ミリ秒、デフォルト: 300000)。0 に設定すると、認証の再試行後にのみ更新します。", }, { key: "model_providers.\.auth.cwd", type: "string (path)", description: "トークンコマンドの作業ディレクトリ。", }, { key: "model_providers.amazon-bedrock.aws.profile", type: "string", description: "組み込みの amazon-bedrock プロバイダーが使用する AWS プロファイル名。", }, { key: "model_providers.amazon-bedrock.aws.region", type: "string", description: "組み込みの amazon-bedrock プロバイダーが使用する AWS リージョン。", }, { key: "model_reasoning_effort", type: "minimal | low | medium | high | xhigh", description: "サポートされているモデルの推論量を調整します(Responses API のみ。xhigh はモデルによって異なります)。", }, { key: "plan_mode_reasoning_effort", type: "none | minimal | low | medium | high | xhigh", description: "Plan モード固有の推論オーバーライド。未設定の場合、Plan モードは組み込みのプリセットデフォルトを使用します。", }, { key: "model_reasoning_summary", type: "auto | concise | detailed | none", description: "推論サマリーの詳細度を選択するか、サマリーを完全に無効にします。", }, { key: "model_verbosity", type: "low | medium | high", description: "オプションの GPT-5 Responses API の詳細度オーバーライド。未設定の場合、選択したモデルまたはプリセットのデフォルトが使用されます。", }, { key: "model_supports_reasoning_summaries", type: "boolean", description: "Codex に推論メタデータを送信させるかどうかを強制します。", }, { key: "shell_environment_policy.inherit", type: "all | core | none", description: "サブプロセス生成時の基本環境継承。", }, { key: "shell_environment_policy.ignore_default_excludes", type: "boolean", description: "他のフィルターが実行される前に、KEY、SECRET、TOKEN を含む変数を保持します。", }, { key: "shell_environment_policy.exclude", type: "array\", description: "デフォルトの後に環境変数を削除するための Glob パターン。", }, { key: "shell_environment_policy.include_only", type: "array\", description: "パターンのホワイトリスト。設定すると、一致する変数のみが保持されます。", }, { key: "shell_environment_policy.set", type: "map\", description: "すべてのサブプロセスに挿入する明示的な環境オーバーライド。", }, { key: "shell_environment_policy.experimental_use_profile", type: "boolean", description: "サブプロセス生成時にユーザーのシェルプロファイルを使用します。", }, { key: "project_root_markers", type: "array\", description: "プロジェクトルートを検索するときに親ディレクトリを調べるために使用する、プロジェクトルートマーカーのファイル名一覧。", }, { key: "project_doc_max_bytes", type: "number", description: "プロジェクト指示を構築するときに AGENTS.md から読み取る最大バイト数。", }, { key: "project_doc_fallback_filenames", type: "array\", description: "AGENTS.md がない場合に試す追加のファイル名。", }, { key: "history.persistence", type: "save-all | none", description: "Codex がセッションのトランスクリプトを history.jsonl に保存するかどうかを制御します。", }, { key: "tool_output_token_limit", type: "number", description: "履歴に個々のツールまたは関数の出力を保存するためのトークン予算。", }, { key: "background_terminal_max_timeout", type: "number", description: "空の write_stdin ポーリング(バックグラウンドターミナルのポーリング)に対する、ミリ秒単位の最大ポーリングウィンドウ。デフォルト: 300000(5 分)。以前の background_terminal_timeout キーを置き換えます。", }, { key: "history.max_bytes", type: "number", description: "設定すると、古いエントリを削除して履歴ファイルのサイズをバイト単位で制限します。", }, { key: "file_opener", type: "vscode | vscode-insiders | windsurf | cursor | none", description: "Codex の出力から引用を開くために使用する URI スキーム(デフォルト: vscode)。", }, { key: "otel.environment", type: "string", description: "出力される OpenTelemetry イベントに適用する環境タグ(デフォルト: dev)。", }, { key: "otel.exporter", type: "none | otlp-http | otlp-grpc", description: "OpenTelemetry エクスポーターを選択し、エンドポイントメタデータを指定します。", }, { key: "otel.trace_exporter", type: "none | otlp-http | otlp-grpc", description: "OpenTelemetry トレースエクスポーターを選択し、エンドポイントメタデータを指定します。", }, { key: "otel.metrics_exporter", type: "none | statsig | otlp-http | otlp-grpc", description: "OpenTelemetry メトリクスエクスポーターを選択します(デフォルト: statsig)。", }, { key: "otel.log_user_prompt", type: "boolean", description: "OpenTelemetry ログで未加工のユーザープロンプトをエクスポートすることをオプトインします。", }, { key: "otel.exporter.\.endpoint", type: "string", description: "OTEL ログのエクスポーターエンドポイント。", }, { key: "otel.exporter.\.protocol", type: "binary | json", description: "OTLP/HTTP エクスポーターが使用するプロトコル。", }, { key: "otel.exporter.\.headers", type: "map\", description: "OTEL エクスポーターのリクエストに含める静的ヘッダー。", }, { key: "otel.trace_exporter.\.endpoint", type: "string", description: "OTEL ログのトレースエクスポーターエンドポイント。", }, { key: "otel.trace_exporter.\.protocol", type: "binary | json", description: "OTLP/HTTP トレースエクスポーターが使用するプロトコル。", }, { key: "otel.trace_exporter.\.headers", type: "map\", description: "OTEL トレースエクスポーターのリクエストに含める静的ヘッダー。", }, { key: "otel.exporter.\.tls.ca-certificate", type: "string", description: "OTEL エクスポーター TLS 用の CA 証明書パス。", }, { key: "otel.exporter.\.tls.client-certificate", type: "string", description: "OTEL エクスポーター TLS 用のクライアント証明書パス。", }, { key: "otel.exporter.\.tls.client-private-key", type: "string", description: "OTEL エクスポーター TLS 用のクライアント秘密鍵パス。", }, { key: "otel.trace_exporter.\.tls.ca-certificate", type: "string", description: "OTEL トレースエクスポーター TLS 用の CA 証明書パス。", }, { key: "otel.trace_exporter.\.tls.client-certificate", type: "string", description: "OTEL トレースエクスポーター TLS 用のクライアント証明書パス。", }, { key: "otel.trace_exporter.\.tls.client-private-key", type: "string", description: "OTEL トレースエクスポーター TLS 用のクライアント秘密鍵パス。", }, { key: "tui", type: "table", description: "インラインのデスクトップ通知の有効化など、TUI 固有のオプション。", }, { key: "tui.notifications", type: "boolean | array\", description: "TUI 通知を有効にします。特定のイベントタイプに限定することもできます。", }, { key: "tui.notification_method", type: "auto | osc9 | bel", description: "ターミナル通知の通知方法(デフォルト: auto)。", }, { key: "tui.notification_condition", type: "unfocused | always", description: "TUI 通知をターミナルがフォーカスされていない場合だけ発生させるか、フォーカス状態にかかわらず発生させるかを制御します。デフォルトは unfocused です。", }, { key: "tui.animations", type: "boolean", description: "ターミナルアニメーション(ウェルカム画面、シマー、スピナー)を有効にします(デフォルト: true)。", }, { key: "tui.alternate_screen", type: "auto | always | never", description: "TUI での代替画面の使用を制御します(デフォルト: auto。auto はスクロールバックを保持するため、Zellij では代替画面をスキップします)。", }, { key: "tui.vim_mode_default", type: "boolean", description: "挿入モードではなく Vim のノーマルモードでコンポーザーを開始します(デフォルト: false)。/vim でセッションごとに切り替えることもできます。", }, { key: "tui.raw_output_mode", type: "boolean", description: "コピーしやすいターミナル選択のため、TUI を未加工スクロールバックモードで開始します(デフォルト: false)。/raw またはデフォルトの alt-r キーバインドで切り替えられます。", }, { key: "tui.show_tooltips", type: "boolean", description: "TUI ウェルカム画面にオンボーディングのツールチップを表示します(デフォルト: true)。", }, { key: "tui.status_line", type: "array\ | null", description: "TUI フッターのステータス行項目識別子の順序付きリスト。null でステータス行を無効にします。", }, { key: "tui.terminal_title", type: "array\ | null", description: "ターミナルウィンドウまたはタブのタイトル項目識別子の順序付きリスト。デフォルトは ["spinner", "project"] です。null でタイトルの更新を無効にします。", }, { key: "tui.theme", type: "string", description: "構文強調テーマのオーバーライド(kebab-case のテーマ名)。", }, { key: "tui.keymap.\.\", type: "string | array\", description: "TUI アクションのキーボードショートカットバインディング。サポートされるコンテキストには globalchatcomposereditorvim_normalvim_operatorvim_text_objectpagerlistapproval が含まれます。選択されたコンポーザーアクションは、一致する tui.keymap.global バインディングにフォールバックします。サポートされている場合は、コンテキスト固有のバインディングが優先されます。", }, { key: "tui.keymap.\.\ = []", type: "empty array", description: "そのキーマップコンテキストでアクションのバインドを解除します。キー名には、ctrl-ashift-enterpage-downminus のような正規化された文字列を使用します。", }, { key: "plugins.\.mcp_servers.\.enabled", type: "boolean", description: "プラグインマニフェストを変更せずに、インストール済みプラグインにバンドルされた MCP サーバーを有効または無効にします。", }, { key: "plugins.\.mcp_servers.\.default_tools_approval_mode", type: "auto | prompt | writes | approve", description: "プラグインが提供する MCP サーバー上のツールに対するデフォルトの承認動作。", }, { key: "plugins.\.mcp_servers.\.enabled_tools", type: "array\", description: "プラグインが提供する MCP サーバーから公開されるツールの許可リスト。", }, { key: "plugins.\.mcp_servers.\.disabled_tools", type: "array\", description: "プラグインが提供する MCP サーバーに対して enabled_tools の後に適用される拒否リスト。", }, { key: "plugins.\.mcp_servers.\.tools.\.approval_mode", type: "auto | prompt | writes | approve", description: "プラグインが提供する MCP ツールに対するツールごとの承認動作オーバーライド。", }, { key: "tui.model_availability_nux.\", type: "integer", description: "モデルスラッグをキーとする内部起動ツールチップ状態。", }, { key: "hide_agent_reasoning", type: "boolean", description: "TUI と codex exec の出力の両方で推論イベントを抑制します。", }, { key: "show_raw_agent_reasoning", type: "boolean", description: "アクティブなモデルが未加工の推論内容を出力する場合に表示します。", }, { key: "disable_paste_burst", type: "boolean", description: "TUI での連続貼り付け検出を無効にします。", }, { key: "windows_wsl_setup_acknowledged", type: "boolean", description: "Windows オンボーディングの確認状態を追跡します(Windows のみ)。", }, { key: "chatgpt_base_url", type: "string", description: "ChatGPT ログインフローで使用するベース URL をオーバーライドします。", }, { key: "cli_auth_credentials_store", type: "file | keyring | auto", description: "CLI がキャッシュされた資格情報を保存する場所を制御します(ファイルベースの auth.json または OS キーチェーン)。", }, { key: "mcp_oauth_credentials_store", type: "auto | file | keyring", description: "MCP OAuth 資格情報に優先して使用するストア。", }, { key: "mcp_oauth_callback_port", type: "integer", description: "MCP OAuth ログイン時に使用するローカル HTTP コールバックサーバーのオプションの固定ポート。未設定の場合、Codex は OS が選択した一時ポートにバインドします。", }, { key: "mcp_oauth_callback_url", type: "string", description: "MCP OAuth ログイン用のオプションのベースコールバック URL オーバーライド(例: devbox のイングレス URL)。Codex は最終的な OAuth redirect_uri を送信する前に、サーバー固有のコールバック ID を追加します。そのため、派生した完全な URI をプロバイダーに登録してください。mcp_oauth_callback_port は引き続きコールバックリスナーのポートを制御します。", }, { key: "experimental_use_unified_exec_tool", type: "boolean", description: "統合 exec を有効にする従来の名前。[features].unified_exec または codex --enable unified_exec を優先してください。", }, { key: "tools.web_search", type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }', description: "オプションの Web 検索ツール構成。従来の boolean 形式も引き続き使用できますが、オブジェクト形式では検索コンテキストサイズ、許可するドメイン、ユーザーのおおよその位置情報を設定できます。", }, { key: "tools.view_image", type: "boolean", description: "ローカル画像添付ツール view_image を有効にします。", }, { key: "web_search", type: "disabled | cached | indexed | live", description: 'Web 検索モード(デフォルト: "cached"。cached は外部 Web アクセスなしで OpenAI が管理するインデックスを使用します。indexed は検索インデックスによって制御される場合にのみ外部アクセスを許可します。--yolo またはその他の完全アクセスサンドボックス設定を使用すると、デフォルトは "live" になります)。制限のないライブ取得には "live"、ツールを削除するには "disabled" を使用します。', }, { key: "default_permissions", type: "string", description: "サンドボックス化されたツール呼び出しに適用するデフォルト権限プロファイルの名前。組み込みプロファイルは :read-only:workspace:danger-full-access です。カスタムプロファイル名には、一致する [permissions.<name>] テーブルが必要です。sandbox_mode または [sandbox_workspace_write] と併用しないでください。", }, { key: "permissions.\.description", type: "string", description: "この名前付きプロファイルの人間が読める説明。プロファイルは extends を介して親の説明を継承しません。", }, { key: "permissions.\.extends", type: "string", description: "この名前付きプロファイルの前に適用するオプションの親プロファイル。別の名前付きプロファイル、:read-only:workspace のいずれかに設定できます。:danger-full-access、未定義の親、循環参照は拒否されます。", }, { key: "permissions.\.workspace_roots", type: "table", description: "セッションのランタイムワークスペースルートと併せて :workspace_roots ファイルシステムルールを受け取る、プロファイル定義のワークスペースルート。", }, { key: "permissions.\.workspace_roots.\", type: "boolean", description: "true の場合に、プロファイルのワークスペースルートセットへパスを追加します。無効なエントリは非アクティブのままです。", }, { key: "permissions.\.filesystem", type: "table", description: "名前付きファイルシステム権限プロファイル。各キーは絶対パス、または :minimal:workspace_roots などの特殊トークンです。", }, { key: "permissions.\.filesystem.glob_scan_max_depth", type: "number", description: "サンドボックス起動前に一致をスナップショットするプラットフォームで、読み取り拒否 Glob パターンを展開する最大深度。設定する場合は少なくとも 1 である必要があります。", }, { key: "permissions.\.filesystem.\", type: '"read" | "write" | "deny" | table', description: 'パス、Glob パターン、特殊トークンへの直接アクセスを許可するか、そのルート下のネストされたエントリにスコープを設定します。一致するパスの読み取りを拒否するには "deny" を使用します。', }, { key: 'permissions.\.filesystem.":workspace_roots".\', type: '"read" | "write" | "deny"', description: '有効な各ワークスペースルートを基準にしたスコープ付きファイルシステムアクセス。ルート自体には "." を使用します。"**/*.env" のような Glob サブパスでは、"deny" によって読み取りを拒否できます。', }, { key: "permissions.\.network.enabled", type: "boolean", description: "この名前付き権限プロファイルのネットワークアクセスを有効にします。サンドボックスのネットワークポリシーは変更しますが、ネットワークプロキシ自体は起動しません。", }, { key: "permissions.\.network.proxy_url", type: "string", description: "この権限プロファイルがサンドボックス化されたネットワークを有効にした場合に使用する HTTP リスナー URL。", }, { key: "permissions.\.network.enable_socks5", type: "boolean", description: "この権限プロファイルがサンドボックス化されたネットワークを有効にした場合に SOCKS5 のサポートを公開します。", }, { key: "permissions.\.network.socks_url", type: "string", description: "この権限プロファイルが使用する SOCKS5 プロキシエンドポイント。", }, { key: "permissions.\.network.enable_socks5_udp", type: "boolean", description: "有効にした場合に SOCKS5 リスナー経由の UDP を許可します。", }, { key: "permissions.\.network.allow_upstream_proxy", type: "boolean", description: "サンドボックス化されたネットワークが別の上流プロキシを経由してチェーン接続することを許可します。", }, { key: "permissions.\.network.dangerously_allow_non_loopback_proxy", type: "boolean", description: "サンドボックス化されたネットワークのリスナーに対して、ループバック以外のバインドアドレスを許可します。有効にすると、リスナーが localhost の範囲を超えて公開される可能性があります。", }, { key: "permissions.\.network.dangerously_allow_all_unix_sockets", type: "boolean", description: "デフォルトの制限されたセットではなく、任意の Unix ソケット宛先を許可します。厳密に管理された環境でのみ使用してください。", }, { key: "permissions.\.network.mode", type: "limited | full", description: "サブプロセスのトラフィックに使用するネットワークプロキシモード。", }, { key: "permissions.\.network.domains", type: "table", description: "サンドボックス化されたネットワークのドメインルール。完全一致のホスト、サブドメインのみを対象とする *.example.com、頂点ドメインとサブドメインを対象とする **.example.com、グローバルな * 許可ルールをサポートします。競合時は deny が優先されます。", }, { key: "permissions.\.network.domains.\", type: "allow | deny", description: "*.example.com**.example.com のような、完全一致のホストまたはスコープ付きワイルドカードパターンを許可または拒否します。", }, { key: "permissions.\.network.unix_sockets", type: "table", description: "サンドボックス化されたネットワークの Unix ソケット許可リストオーバーライド。ソケットパスをキーとして使用します。allow はパスを追加し、deny は拒否します。", }, { key: "permissions.\.network.unix_sockets.\", type: "allow | deny", description: "allow で絶対 Unix ソケットパスを有効な許可リストに追加するか、deny で拒否します。拒否されたエントリは有効な許可リストから除外されます。", }, { key: "permissions.\.network.allow_local_binding", type: "boolean", description: "サンドボックス化されたネットワークを通じて、より広範なローカルまたはプライベートネットワークアクセスを許可します。この値が false のままでも、完全一致のローカル IP リテラルまたは localhost 許可ルールで特定のローカルターゲットを許可できます。", }, { key: "projects.\.trust_level", type: "string", description: 'プロジェクトまたはワークツリーを信頼済みまたは未信頼としてマークします("trusted" | "untrusted")。未信頼のプロジェクトでは、プロジェクトローカルの構成、フック、ルールを含む、プロジェクトスコープの .codex/ レイヤーがスキップされます。', }, { key: "notice.hide_full_access_warning", type: "boolean", description: "完全アクセス警告プロンプトの確認状態を追跡します。", }, { key: "notice.hide_world_writable_warning", type: "boolean", description: "Windows の全ユーザー書き込み可能ディレクトリに関する警告の確認状態を追跡します。", }, { key: "notice.hide_rate_limit_model_nudge", type: "boolean", description: "レート制限モデル切り替えリマインダーのオプトアウトを追跡します。", }, { key: "notice.hide_gpt5_1_migration_prompt", type: "boolean", description: "GPT-5.1 移行プロンプトの確認状態を追跡します。", }, { key: "notice.hide_gpt-5.1-codex-max_migration_prompt", type: "boolean", description: "gpt-5.1-codex-max 移行プロンプトの確認状態を追跡します。", }, { key: "notice.model_migrations", type: "map\", description: "old->new マッピングとして、確認済みのモデル移行を追跡します。", }, { key: "forced_login_method", type: "chatgpt | api", description: "Codex を特定の認証方法に制限します。", }, { key: "forced_chatgpt_workspace_id", type: "string (uuid)", description: "ChatGPT ログインを特定のワークスペース識別子に制限します。", }, ]} client:load />

config.toml の最新の JSON スキーマはこちらで確認できます。

VS Code または Cursor で config.toml を編集するときに自動補完と診断を利用するには、Even Better TOML 拡張機能をインストールし、config.toml の先頭に次の行を追加します。

#:schema https://developers.openai.com/codex/config-schema.json

注: experimental_instructions_file の名前を model_instructions_file に変更してください。Codex では古いキーが非推奨になっているため、既存の構成を新しい名前に更新してください。

requirements.toml

requirements.toml は、ユーザーが上書きできないセキュリティに関わる設定を制約する、管理者によって適用される設定ファイルです。詳細、場所、例については、管理者によって適用される要件を参照してください。

ChatGPT Business および Enterprise のユーザーの場合、Codex はクラウドから取得した要件も適用できます。優先順位の詳細については、セキュリティページを参照してください。

requirements.toml[features] を使用すると、config.toml と同じ正規キーによってランタイム機能フラグを固定できます。要件には、config.toml に属さない、文書化されたアプリ専用キーを含めることもできます。省略されたキーには制約がありません。

管理対象の権限プロファイルの許可リストには、Codex 0.138.0 以降が必要です。Codex 0.137.0 以前では、allowed_permission_profiles と管理対象の default_permissions は無視されます。

allowed_sandbox_modessandbox_mode と併用してください。権限プロファイルをデプロイする場合は、allowed_permission_profiles と管理対象の default_permissions を使用してください。

[models.new_thread] テーブルは、強制ではなく管理対象のデフォルト値を提供します。専用の CLI フラグまたは --config による明示的な起動時の選択が優先されます。モデルまたは推論エフォートを明示的に上書きすると、管理対象の両方のモデルフィールドが無視されます。service_tier は独立しています。

", description: "approval_policy に指定できる値(例: untrustedon-requestnevergranular)。", }, { key: "allowed_approvals_reviewers", type: "array\", description: "approvals_reviewer に指定できる値(userauto_review など)。", }, { key: "guardian_policy_config", type: "string", description: "自動レビュー用の管理対象 Markdown ポリシー命令です。ローカルの [auto_review].policy より優先されます。空白の値は無視されます。", }, { key: "allowed_permission_profiles", type: "table\", description: "許可される権限プロファイルの完全な一覧です。true に設定されたプロファイルは許可されます。省略されたプロファイルまたは false に設定されたプロファイルは、将来のバージョンで追加されるプロファイルを含め、拒否されます。複数の要件ソースを組み合わせる場合、エントリはプロファイル名で照合されます。", }, { key: "allowed_permission_profiles.\", type: "boolean", description: "読み込まれた設定または要件ソースで定義された組み込みまたはカスタムの権限プロファイルを許可または拒否します。優先順位の高い後続の要件ソースでは、false を使用して、優先順位の低い先行ソースで許可されたプロファイルを無効にできます。", }, { key: "default_permissions", type: "string", description: "管理対象のデフォルト権限プロファイルです。このプロファイルは allowed_permission_profiles で許可されている必要があります。予測可能な動作にするには明示的に設定してください。省略した場合、:workspace:read-only の両方が明示的に許可されている場合に限り、Codex はデフォルトで :workspace に設定します。", }, { key: "enforce_residency", type: "string", description: "Codex サービスのトラフィックに、サポートされているデータレジデンシーの使用を要求します。現在は us を受け付けます。", }, { key: "models", type: "table", description: "新しいスレッド用の管理対象モデルのデフォルト値です。ユーザーおよびプロジェクトのデフォルト値より優先されますが、新しいスレッドで明示的に選択すると上書きできます。", }, { key: "models.new_thread", type: "table", description: "新しいローカルスレッドの開始時に適用するデフォルト値です。各モデル設定は省略可能です。", }, { key: "models.new_thread.model", type: "string", description: "新しいスレッドのデフォルトモデルです。明示的な --model またはモデル/推論 --config の上書きが優先されます。", }, { key: "models.new_thread.model_reasoning_effort", type: "string", description: "新しいスレッドのデフォルト推論エフォートです。モデルまたは推論エフォートを明示的に上書きすると、管理対象の両方のモデルフィールドが無視されます。", }, { key: "models.new_thread.service_tier", type: "string", description: "新しいスレッドのデフォルトサービスティアです。サービスティアの明示的な上書きは、モデルフィールドとは独立して優先されます。", }, { key: "permissions", type: "table", description: "プロファイル名をキーとする、管理者定義の権限プロファイルです。config.toml と同じプロファイルフィールドを使用します。", }, { key: "permissions.\", type: "table", description: "管理者定義の権限プロファイルです。名前を : で始めること、予約名 filesystem を使用すること、または読み込まれた設定のプロファイルと重複することはできません。config.toml と同じプロファイルフィールドを使用します。完全なプロファイルスキーマについては、Permissions ガイドを参照してください。", }, { key: "allowed_sandbox_modes", type: "array\", description: "sandbox_mode に指定できる値です。", }, { key: "windows", type: "table", description: "ネイティブ Windows サンドボックスの要件です。", }, { key: "windows.allowed_sandbox_implementations", type: "array\", description: "windows.sandbox に使用できるネイティブ Windows サンドボックス実装(elevated および unelevated)です。リストを空にすることはできません。両方が許可され、モードが選択されていない場合、Codex は elevated を優先します。", }, { key: "remote_sandbox_config", type: "array\

", description: "ホスト固有のサンドボックス要件です。hostname_patterns が解決されたホスト名に一致する最初のエントリが、その要件ソースのトップレベル allowed_sandbox_modes を上書きします。現在、ホスト固有のエントリが上書きできるのはサンドボックスモードのみです。", }, { key: "remote_sandbox_config[].hostname_patterns", type: "array\", description: "大文字と小文字を区別しないホスト名パターンです。任意の文字列には *、1 文字には ? を使用できます。", }, { key: "remote_sandbox_config[].allowed_sandbox_modes", type: "array\", description: "このホスト固有のエントリが一致した場合に適用する、許可されたサンドボックスモードです。", }, { key: "allowed_web_search_modes", type: "array\", description: "web_search に指定できる値(disabledcachedindexedlive)です。disabled は常に許可されます。空のリストでは、実質的に disabled のみが許可されます。", }, { key: "allow_managed_hooks_only", type: "boolean", description: "true の場合、Codex はユーザー、プロジェクト、セッション、プラグインのフックをスキップしますが、requirements.toml およびその他の管理対象設定レイヤーの管理対象フックは引き続き許可します。", }, { key: "allow_appshots", type: "boolean", description: "管理対象ユーザーの Appshots を無効にするには false に設定します。省略した場合、Appshots は要件による制約を受けず、通常の製品提供状況に従います。", }, { key: "allow_remote_control", type: "boolean", description: "管理対象ユーザーのデバイスリモートコントロールを無効にするには false に設定します。省略した場合、デバイスリモートコントロールは要件による制約を受けず、通常の製品提供状況に従います。", }, { key: "features.plugin_sharing", type: "boolean", description: "ローカルで構築されたプラグインのワークスペース共有を無効にするには、クラウド管理の requirements.tomlfalse に設定します。", }, { key: "features", type: "table", description: "固定された機能値です。ランタイム機能には config.toml の正規名を使用します。文書化されたアプリ専用の要件キーもここでサポートされます。", }, { key: "features.\", type: "boolean", description: "文書化されたランタイム機能またはアプリ機能を有効または無効のままにすることを要求します。", }, { key: "features.apps", type: "boolean", description: "管理対象ユーザーの Apps 統合の利用可否をオンまたはオフに固定します。", }, { key: "features.in_app_browser", type: "boolean", description: "組み込みブラウザペインを無効にするには、requirements.tomlfalse に設定します。", }, { key: "features.browser_use", type: "boolean", description: "ブラウザでの Computer Use と Browser Agent の利用を無効にするには、requirements.tomlfalse に設定します。", }, { key: "features.browser_use_external", type: "boolean", description: "外部ブラウザでの Computer Use を無効にするには、requirements.tomlfalse に設定します。", }, { key: "features.browser_use_full_cdp_access", type: "boolean", description: "Browser Developer モードを含む、ローカルランタイムでの完全な Chrome DevTools Protocol アクセスを無効にし、ChatGPT デスクトップアプリが対応する設定を有効にできないようにするには、requirements.tomlfalse に設定します。省略した場合、通常の製品提供状況に従います。", }, { key: "features.fast_mode", type: "boolean", description: "管理対象ユーザーの正規 fast_mode 機能をオンまたはオフに固定します。", }, { key: "features.guardian_approval", type: "boolean", description: "管理対象ユーザーの Guardian 承認の利用可否をオンまたはオフに固定します。", }, { key: "features.memories", type: "boolean", description: "管理対象ユーザーの Memories の利用可否をオンまたはオフに固定します。", }, { key: "features.multi_agent", type: "boolean", description: "管理対象ユーザーのマルチエージェントの利用可否をオンまたはオフに固定します。", }, { key: "features.plugins", type: "boolean", description: "管理対象ユーザーのプラグインの利用可否をオンまたはオフに固定します。", }, { key: "features.remote_plugin", type: "boolean", description: "管理対象ユーザーのリモートプラグインカタログの利用可否をオンまたはオフに固定します。", }, { key: "features.computer_use", type: "boolean", description: "Computer Use、Record & Replay、および関連するインストールまたは有効化フローを無効にするには、requirements.tomlfalse に設定します。", }, { key: "features.workspace_dependencies", type: "boolean", description: "管理対象ユーザーのバンドルされたワークスペース依存関係ランタイムの利用可否をオンまたはオフに固定します。", }, { key: "computer_use", type: "table", description: "requirements.toml から適用される Computer Use の要件です。", }, { key: "computer_use.allow_locked_computer_use", type: "boolean", description: "管理対象の macOS デバイスがロックされた後に Computer Use が動作しないようにするには、false に設定します。省略した場合、ロック中の使用は要件による制約を受けません。", }, { key: "experimental_network", type: "table", description: "requirements.toml から適用されるネットワークアクセス要件です。これらの制約は features.network_proxy とは別であり、ユーザー機能フラグなしでサンドボックス化されたネットワークを構成できます。", }, { key: "experimental_network.enabled", type: "boolean", description: "サンドボックス化されたネットワークの要件を有効にします。アクティブなサンドボックスでコマンドのネットワークアクセスが無効になっている場合、ネットワークアクセスは許可されません。", }, { key: "experimental_network.http_port", type: "integer", description: "[experimental_network] 要件に使用するループバック HTTP リスナーポートです。", }, { key: "experimental_network.socks_port", type: "integer", description: "[experimental_network] 要件に使用するループバック SOCKS5 リスナーポートです。", }, { key: "experimental_network.allow_upstream_proxy", type: "boolean", description: "サンドボックス化されたネットワークが環境の上流プロキシを経由して接続することを許可します。", }, { key: "experimental_network.dangerously_allow_non_loopback_proxy", type: "boolean", description: "[experimental_network] 要件で、ループバック以外のリスナーアドレスを許可します。有効にすると、localhost の外部にリスナーが公開される可能性があります。", }, { key: "experimental_network.dangerously_allow_all_unix_sockets", type: "boolean", description: "許可リストのみのアクセスではなく、任意の Unix ソケット宛先を許可します。厳密に管理された環境でのみ使用してください。", }, { key: "experimental_network.domains", type: "map\", description: "サンドボックス化されたネットワーク用の、マップ形式の管理者ドメインポリシーです。完全一致のホスト、サブドメインのみに適用される *.example.com、apex とサブドメインに適用される **.example.com、およびグローバルな * 許可ルールをサポートします。* はパブリックな外向きアクセスを広範に開放するため、範囲を限定したルールを優先してください。競合時は deny が優先されます。experimental_network.allowed_domains または experimental_network.denied_domains と組み合わせないでください。", }, { key: "experimental_network.allowed_domains", type: "array\", description: "サンドボックス化されたネットワーク用の、リスト形式の管理者許可ルールです。experimental_network.domains と組み合わせないでください。", }, { key: "experimental_network.denied_domains", type: "array\", description: "サンドボックス化されたネットワーク用の、リスト形式の管理者拒否ルールです。experimental_network.domains と組み合わせないでください。", }, { key: "experimental_network.managed_allowed_domains_only", type: "boolean", description: "true の場合、サンドボックス化されたネットワークの要件が有効な間は、管理者が管理する許可ルールのみが有効になります。ユーザーによる許可リストへの追加は無視されます。管理対象の許可ルールがない場合、ユーザーが追加したドメイン許可ルールは有効になりません。", }, { key: "experimental_network.unix_sockets", type: "map\", description: "サンドボックス化されたネットワーク用の、管理者が管理する Unix ソケットポリシーです。", }, { key: "experimental_network.allow_local_binding", type: "boolean", description: "サンドボックス化されたネットワークで、より広範なローカル/プライベートネットワークアクセスを許可します。これが false のままでも、正確なローカル IP リテラルまたは localhost の許可ルールによって特定のローカルターゲットを許可できます。", }, { key: "hooks", type: "table", description: "管理者によって適用される管理対象ライフサイクルフックです。管理対象フックディレクトリが必要で、config.toml のインライン [hooks] と同じイベントスキーマを使用します。", }, { key: "hooks.managed_dir", type: "string (absolute path)", description: "macOS および Linux 上の管理対象フックスクリプトを含むディレクトリです。Codex は管理対象フックを読み込む前に、絶対パスであり存在することを検証します。", }, { key: "hooks.windows_managed_dir", type: "string (absolute path)", description: "Windows 上の管理対象フックスクリプトを含むディレクトリです。Codex は管理対象フックを読み込む前に、絶対パスであり存在することを検証します。", }, { key: "hooks.\", type: "array\
", description: "PreToolUsePermissionRequestPostToolUsePreCompactPostCompactSessionStartSubagentStartSubagentStopUserPromptSubmitStop などのフックイベント用のマッチャーグループです。", }, { key: "hooks.\[].hooks", type: "array\
", description: "マッチャーグループ用のフックハンドラーです。現在サポートされているのはコマンドフックです。prompt および agent のフックハンドラーは解析されますが、スキップされます。", }, { key: "hooks.\[].hooks[].commandWindows", type: "string", description: "コマンドフック用の Windows 専用コマンド上書きです。TOML エイリアス command_windows も使用できます。", }, { key: "permissions.filesystem.deny_read", type: "array\", description: "管理者によって適用されるファイルシステム読み取り拒否です。エントリにはパスまたは glob パターンを指定でき、ユーザーはローカル設定でこれを弱めることはできません。", }, { key: "mcp_servers", type: "table", description: "有効化できる MCP サーバーの許可リストです。MCP サーバーを有効にするには、サーバー名(<id>)とその ID の両方が一致する必要があります。設定済みで許可リストにない MCP サーバー、または ID が一致しない MCP サーバーは無効になります。", }, { key: "mcp_servers.\.identity", type: "table", description: "単一の MCP サーバー用の ID ルールです。command(stdio)または url(streamable HTTP)のいずれかを設定します。", }, { key: "mcp_servers.\.identity.command", type: "string | table", description: "MCP stdio サーバーを完全一致のコマンド文字列で許可するか、マッチャーテーブルを使用して、実行可能ファイルと順序付き引数マッチャーの完全一致を要求します。文字列形式では引数、cwdenvenv_vars は検査されません。", }, { key: "mcp_servers.\.identity.command.executable", type: "string", description: "stdio サーバーに設定された command と完全一致する必要がある実行可能ファイルです。", }, { key: "mcp_servers.\.identity.command.args", type: "array\
", description: "stdio サーバー用の順序付き引数マッチャーです。設定された引数リストは同じ長さで、すべての位置が一致する必要があります。コマンドマッチャーは cwdenvenv_vars を検査しません。", }, { key: "mcp_servers.\.identity.command.args[].match", type: "exact | prefix | regex", description: "この引数位置に対する照合操作です。", }, { key: "mcp_servers.\.identity.command.args[].value", type: "string", description: "exact または prefix の引数マッチャーが使用する値です。", }, { key: "mcp_servers.\.identity.command.args[].expression", type: "string", description: "regex の引数マッチャーが使用する正規表現です。式は有効であり、引数値全体に一致する必要があります。", }, { key: "mcp_servers.\.identity.url", type: "string | table", description: "MCP streamable HTTP サーバーを完全一致の URL 文字列で許可するか、exactprefixregex のいずれかの値マッチャーテーブルを使用します。", }, { key: "mcp_servers.\.identity.url.match", type: "exact | prefix | regex", description: "設定された MCP サーバー URL に対する照合操作です。", }, { key: "mcp_servers.\.identity.url.value", type: "string", description: "exact または prefix の URL マッチャーが使用する値です。", }, { key: "mcp_servers.\.identity.url.expression", type: "string", description: "regex の URL マッチャーが使用する正規表現です。式は有効であり、URL 値全体に一致する必要があります。", }, { key: "plugins", type: "table", description: "プラグイン識別子をキーとする、プラグイン固有の MCP サーバー許可リストです。このテーブルが存在する場合、一致するプラグインおよびサーバーエントリがないプラグイン同梱サーバーは無効になります。", }, { key: "plugins.\.mcp_servers", type: "table", description: "1 つのプラグインに同梱された MCP サーバー用の許可リストです。プラグインサーバーの要件には、トップレベルの mcp_servers の要件と同じ完全一致の ID およびマッチャー形式を使用します。", }, { key: "plugins.\.mcp_servers.\.identity", type: "table", description: "プラグインに同梱された 1 つの MCP サーバー用の ID ルールです。command(stdio)または url(streamable HTTP)のいずれかを設定します。", }, { key: "plugins.\.mcp_servers.\.identity.command", type: "string | table", description: "プラグインの stdio MCP サーバーを完全一致のコマンド文字列で許可するか、マッチャーテーブルを使用して、実行可能ファイルと順序付き引数マッチャーの完全一致を要求します。", }, { key: "plugins.\.mcp_servers.\.identity.command.executable", type: "string", description: "プラグインに同梱された stdio サーバーの設定済み command と完全一致する必要がある実行可能ファイルです。", }, { key: "plugins.\.mcp_servers.\.identity.command.args", type: "array\
", description: "プラグインに同梱された stdio サーバー用の順序付き引数マッチャーです。設定された引数リストは同じ長さで、すべての位置が一致する必要があります。", }, { key: "plugins.\.mcp_servers.\.identity.command.args[].match", type: "exact | prefix | regex", description: "この引数位置に対する照合操作です。", }, { key: "plugins.\.mcp_servers.\.identity.command.args[].value", type: "string", description: "exact または prefix の引数マッチャーが使用する値です。", }, { key: "plugins.\.mcp_servers.\.identity.command.args[].expression", type: "string", description: "regex の引数マッチャーが使用する正規表現です。式は引数値全体に一致する必要があります。", }, { key: "plugins.\.mcp_servers.\.identity.url", type: "string | table", description: "プラグインの streamable HTTP MCP サーバーを完全一致の URL 文字列で許可するか、exactprefixregex のいずれかの値マッチャーテーブルを使用します。", }, { key: "plugins.\.mcp_servers.\.identity.url.match", type: "exact | prefix | regex", description: "プラグインに同梱された MCP サーバー URL に対する照合操作です。", }, { key: "plugins.\.mcp_servers.\.identity.url.value", type: "string", description: "exact または prefix の URL マッチャーが使用する値です。", }, { key: "plugins.\.mcp_servers.\.identity.url.expression", type: "string", description: "regex の URL マッチャーが使用する正規表現です。式は URL 値全体に一致する必要があります。", }, { key: "marketplaces", type: "table", description: "プラグインマーケットプレースソースに対する管理者要件です。restrict_to_allowed_sourcestrue の場合にルールが有効になります。", }, { key: "marketplaces.restrict_to_allowed_sources", type: "boolean", description: "true の場合、マーケットプレースの追加、プラグインのインストール、設定済み Git マーケットプレースの更新操作で、ユーザーが設定したマーケットプレースソースが allowed_sources と一致することを要求します。予約済みのソースと名前が一致する場合、Codex が管理する OpenAI マーケットプレースは引き続き許可されます。実行時に、すでに設定されているユーザーマーケットプレースをフィルタリングすることはありません。", }, { key: "marketplaces.allowed_sources", type: "table", description: "管理者が選択したルール名をキーとする、許可されたマーケットプレースソースです。異なる名前は要件レイヤー間で累積され、同じ名前のフィールドには通常のレイヤー優先順位が適用されます。", }, { key: "marketplaces.allowed_sources.\", type: "table", description: "1 つの許可ソースルールです。要件のマージ後の最終的な source 値によって、Codex が解釈する兄弟フィールドが決まります。", }, { key: "marketplaces.allowed_sources.\.source", type: "git | host_pattern | local", description: "マーケットプレースソースのマッチャータイプです。1 つのリポジトリには git、正規表現で照合する Git ホストには host_pattern、1 つのディレクトリには local を使用します。", }, { key: "marketplaces.allowed_sources.\.url", type: "string", description: 'source = "git" の場合に必要な Git リポジトリ URL です。Codex は設定済み URL と許可 URL を正規化してから、リポジトリの完全一致を要求します。', }, { key: "marketplaces.allowed_sources.\.ref", type: "string", description: "git ルール用の、任意の完全一致 Git ref です。省略した場合、一致するリポジトリの任意の ref が許可されます。", }, { key: "marketplaces.allowed_sources.\.host_pattern", type: "string", description: 'source = "host_pattern" の場合に必要な正規表現です。Codex は HTTPS、SSH、または SCP 形式の Git ソースから解析した小文字のホスト名に対して照合します。ホスト全体の一致を要求するには、^$ を使用します。', }, { key: "marketplaces.allowed_sources.\.path", type: "string (absolute path)", description: 'source = "local" の場合に必要なローカルマーケットプレースディレクトリです。Codex は絶対パスを要求し、正規化後のパスを比較します。', }, { key: "apps", type: "table", description: "アプリ識別子をキーとする、管理対象アプリの要件です。要件によってアプリを無効にしたり、個々のツールの承認動作を制約したりできます。", }, { key: "apps.\.enabled", type: "boolean", description: "アプリを無効にするには false に設定します。複数の要件ソースをマージした場合、無効化の要件は引き続き制限的に適用されます。", }, { key: "apps.\.tools.\.approval_mode", type: "auto | prompt | writes | approve", description: "1 つのアプリツールに管理対象の承認モードを設定します。", }, { key: "rules", type: "table", description: ".rules ファイルとマージされる、管理者によって適用されるコマンドルールです。要件ルールは制限的である必要があります。", }, { key: "rules.prefix_rules", type: "array\
", description: "適用されるプレフィックスルールの一覧です。各ルールには patterndecision を含める必要があります。", }, { key: "rules.prefix_rules[].pattern", type: "array\
", description: "パターントークンで表現されたコマンドプレフィックスです。各トークンは token または any_of のいずれかを設定します。", }, { key: "rules.prefix_rules[].pattern[].token", type: "string", description: "この位置にある 1 つのリテラルトークンです。", }, { key: "rules.prefix_rules[].pattern[].any_of", type: "array\", description: "この位置で許可される代替トークンの一覧です。", }, { key: "rules.prefix_rules[].decision", type: "prompt | forbidden", description: "必須です。要件ルールで指定できるのは prompt または forbidden のみで、allow は指定できません。", }, { key: "rules.prefix_rules[].justification", type: "string", description: "任意の空でない理由です。承認プロンプトまたは拒否メッセージに表示されます。", }, ]} client:load />