SpyBara
Go Premium Account
2026
23 Feb 2026, 18:27
14 May 2026, 21:00 14 May 2026, 07:00 13 May 2026, 00:57 12 May 2026, 01:59 11 May 2026, 18:00 7 May 2026, 20:02 7 May 2026, 17:08 5 May 2026, 23:00 2 May 2026, 06:45 2 May 2026, 00:48 1 May 2026, 18:29 30 Apr 2026, 18:36 29 Apr 2026, 12:40 29 Apr 2026, 00:50 25 Apr 2026, 06:37 25 Apr 2026, 00:42 24 Apr 2026, 18:20 24 Apr 2026, 12:28 23 Apr 2026, 18:31 23 Apr 2026, 12:28 23 Apr 2026, 00:46 22 Apr 2026, 18:29 22 Apr 2026, 00:42 21 Apr 2026, 18:29 21 Apr 2026, 12:30 21 Apr 2026, 06:45 20 Apr 2026, 18:26 20 Apr 2026, 06:53 18 Apr 2026, 18:18 17 Apr 2026, 00:44 16 Apr 2026, 18:31 16 Apr 2026, 00:46 15 Apr 2026, 18:31 15 Apr 2026, 06:44 14 Apr 2026, 18:31 14 Apr 2026, 12:29 13 Apr 2026, 18:37 13 Apr 2026, 00:44 12 Apr 2026, 06:38 10 Apr 2026, 18:23 9 Apr 2026, 00:33 8 Apr 2026, 18:32 8 Apr 2026, 00:40 7 Apr 2026, 00:40 2 Apr 2026, 18:23 31 Mar 2026, 06:35 31 Mar 2026, 00:39 28 Mar 2026, 06:26 28 Mar 2026, 00:36 27 Mar 2026, 18:23 27 Mar 2026, 00:39 26 Mar 2026, 18:27 25 Mar 2026, 18:24 23 Mar 2026, 18:22 20 Mar 2026, 00:35 18 Mar 2026, 12:23 18 Mar 2026, 00:36 17 Mar 2026, 18:24 17 Mar 2026, 00:33 16 Mar 2026, 18:25 16 Mar 2026, 12:23 14 Mar 2026, 00:32 13 Mar 2026, 18:15 13 Mar 2026, 00:34 11 Mar 2026, 00:31 9 Mar 2026, 00:34 8 Mar 2026, 18:10 8 Mar 2026, 00:35 7 Mar 2026, 18:10 7 Mar 2026, 06:14 7 Mar 2026, 00:33 6 Mar 2026, 00:38 5 Mar 2026, 18:41 5 Mar 2026, 06:22 5 Mar 2026, 00:34 4 Mar 2026, 18:18 4 Mar 2026, 06:20 3 Mar 2026, 18:20 3 Mar 2026, 00:35 27 Feb 2026, 18:15 24 Feb 2026, 06:27 24 Feb 2026, 00:33 23 Feb 2026, 18:27 21 Feb 2026, 00:33 20 Feb 2026, 12:16 19 Feb 2026, 20:53 19 Feb 2026, 20:37
17 Mar 2026, 18:24
14 May 2026, 21:00 14 May 2026, 07:00 13 May 2026, 00:57 12 May 2026, 01:59 11 May 2026, 18:00 7 May 2026, 20:02 7 May 2026, 17:08 5 May 2026, 23:00 2 May 2026, 06:45 2 May 2026, 00:48 1 May 2026, 18:29 30 Apr 2026, 18:36 29 Apr 2026, 12:40 29 Apr 2026, 00:50 25 Apr 2026, 06:37 25 Apr 2026, 00:42 24 Apr 2026, 18:20 24 Apr 2026, 12:28 23 Apr 2026, 18:31 23 Apr 2026, 12:28 23 Apr 2026, 00:46 22 Apr 2026, 18:29 22 Apr 2026, 00:42 21 Apr 2026, 18:29 21 Apr 2026, 12:30 21 Apr 2026, 06:45 20 Apr 2026, 18:26 20 Apr 2026, 06:53 18 Apr 2026, 18:18 17 Apr 2026, 00:44 16 Apr 2026, 18:31 16 Apr 2026, 00:46 15 Apr 2026, 18:31 15 Apr 2026, 06:44 14 Apr 2026, 18:31 14 Apr 2026, 12:29 13 Apr 2026, 18:37 13 Apr 2026, 00:44 12 Apr 2026, 06:38 10 Apr 2026, 18:23 9 Apr 2026, 00:33 8 Apr 2026, 18:32 8 Apr 2026, 00:40 7 Apr 2026, 00:40 2 Apr 2026, 18:23 31 Mar 2026, 06:35 31 Mar 2026, 00:39 28 Mar 2026, 06:26 28 Mar 2026, 00:36 27 Mar 2026, 18:23 27 Mar 2026, 00:39 26 Mar 2026, 18:27 25 Mar 2026, 18:24 23 Mar 2026, 18:22 20 Mar 2026, 00:35 18 Mar 2026, 12:23 18 Mar 2026, 00:36 17 Mar 2026, 18:24 17 Mar 2026, 00:33 16 Mar 2026, 18:25 16 Mar 2026, 12:23 14 Mar 2026, 00:32 13 Mar 2026, 18:15 13 Mar 2026, 00:34 11 Mar 2026, 00:31 9 Mar 2026, 00:34 8 Mar 2026, 18:10 8 Mar 2026, 00:35 7 Mar 2026, 18:10 7 Mar 2026, 06:14 7 Mar 2026, 00:33 6 Mar 2026, 00:38 5 Mar 2026, 18:41 5 Mar 2026, 06:22 5 Mar 2026, 00:34 4 Mar 2026, 18:18 4 Mar 2026, 06:20 3 Mar 2026, 18:20 3 Mar 2026, 00:35 27 Feb 2026, 18:15 24 Feb 2026, 06:27 24 Feb 2026, 00:33 23 Feb 2026, 18:27 21 Feb 2026, 00:33 20 Feb 2026, 12:16 19 Feb 2026, 20:53 19 Feb 2026, 20:37
Tue 3 00:35 Tue 3 18:20 Wed 4 06:20 Wed 4 18:18 Thu 5 00:34 Thu 5 06:22 Thu 5 18:41 Fri 6 00:38 Sat 7 00:33 Sat 7 06:14 Sat 7 18:10 Sun 8 00:35 Sun 8 18:10 Mon 9 00:34 Wed 11 00:31 Fri 13 00:34 Fri 13 18:15 Sat 14 00:32 Mon 16 12:23 Mon 16 18:25 Tue 17 00:33 Tue 17 18:24 Wed 18 00:36 Wed 18 12:23 Fri 20 00:35 Mon 23 18:22 Wed 25 18:24 Thu 26 18:27 Fri 27 00:39 Fri 27 18:23 Sat 28 00:36 Sat 28 06:26 Tue 31 00:39 Tue 31 06:35

config-reference.md +1163 −341

Details

6 6 

7User-level configuration lives in `~/.codex/config.toml`. You can also add project-scoped overrides in `.codex/config.toml` files. Codex loads project-scoped config files only when you trust the project.7User-level configuration lives in `~/.codex/config.toml`. You can also add project-scoped overrides in `.codex/config.toml` files. Codex loads project-scoped config files only when you trust the project.

8 8 

9For sandbox and approval keys (`approval_policy`, `sandbox_mode`, and `sandbox_workspace_write.*`), pair this reference with [Sandbox and approvals](https://developers.openai.com/codex/security#sandbox-and-approvals), [Protected paths in writable roots](https://developers.openai.com/codex/security#protected-paths-in-writable-roots), and [Network access](https://developers.openai.com/codex/security#network-access).9For sandbox and approval keys (`approval_policy`, `sandbox_mode`, and `sandbox_workspace_write.*`), pair this reference with [Sandbox and approvals](https://developers.openai.com/codex/agent-approvals-security#sandbox-and-approvals), [Protected paths in writable roots](https://developers.openai.com/codex/agent-approvals-security#protected-paths-in-writable-roots), and [Network access](https://developers.openai.com/codex/agent-approvals-security#network-access).

10 10 

11| Key | Type / Values | Details |11| Key | Type / Values | Details |

12| --- | --- | --- |12| --- | --- | --- |

13| `agents.<name>.config_file` | `string (path)` | Path to a TOML config layer for that role; relative paths resolve from the config file that declares the role. |13| `agents.<name>.config_file` | `string (path)` | Path to a TOML config layer for that role; relative paths resolve from the config file that declares the role. |

14| `agents.<name>.description` | `string` | Role guidance shown to Codex when choosing and spawning that agent type. |14| `agents.<name>.description` | `string` | Role guidance shown to Codex when choosing and spawning that agent type. |

15| `agents.max_threads` | `number` | Maximum number of agent threads that can be open concurrently. |15| `agents.<name>.nickname_candidates` | `array<string>` | Optional pool of display nicknames for spawned agents in that role. |

16| `approval_policy` | `untrusted | on-request | never` | Controls when Codex pauses for approval before executing commands. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs. |16| `agents.job_max_runtime_seconds` | `number` | Default per-worker timeout for `spawn_agents_on_csv` jobs. When unset, the tool falls back to 1800 seconds per worker. |

17| `apps.<id>.disabled_reason` | `unknown | user` | Optional reason attached when an app/connector is disabled. |17| `agents.max_depth` | `number` | Maximum nesting depth allowed for spawned agent threads (root sessions start at depth 0; default: 1). |

18| `agents.max_threads` | `number` | Maximum number of agent threads that can be open concurrently. Defaults to `6` when unset. |

19| `allow_login_shell` | `boolean` | Allow shell-based tools to use login-shell semantics. Defaults to `true`; when `false`, `login = true` requests are rejected and omitted `login` defaults to non-login shells. |

20| `analytics.enabled` | `boolean` | Enable or disable analytics for this machine/profile. When unset, the client default applies. |

21| `approval_policy` | `untrusted | on-request | never | { reject = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool } }` | Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { reject = { ... } }` to auto-reject specific prompt categories while keeping other prompts interactive. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs. |

22| `approval_policy.reject.mcp_elicitations` | `boolean` | When `true`, MCP elicitation prompts are auto-rejected instead of shown to the user. |

23| `approval_policy.reject.rules` | `boolean` | When `true`, approvals triggered by execpolicy `prompt` rules are auto-rejected. |

24| `approval_policy.reject.sandbox_approval` | `boolean` | When `true`, sandbox escalation approval prompts are auto-rejected. |

25| `apps._default.destructive_enabled` | `boolean` | Default allow/deny for app tools with `destructive_hint = true`. |

26| `apps._default.enabled` | `boolean` | Default app enabled state for all apps unless overridden per app. |

27| `apps._default.open_world_enabled` | `boolean` | Default allow/deny for app tools with `open_world_hint = true`. |

28| `apps.<id>.default_tools_approval_mode` | `auto | prompt | approve` | Default approval behavior for tools in this app unless a per-tool override exists. |

29| `apps.<id>.default_tools_enabled` | `boolean` | Default enabled state for tools in this app unless a per-tool override exists. |

30| `apps.<id>.destructive_enabled` | `boolean` | Allow or block tools in this app that advertise `destructive_hint = true`. |

18| `apps.<id>.enabled` | `boolean` | Enable or disable a specific app/connector by id (default: true). |31| `apps.<id>.enabled` | `boolean` | Enable or disable a specific app/connector by id (default: true). |

32| `apps.<id>.open_world_enabled` | `boolean` | Allow or block tools in this app that advertise `open_world_hint = true`. |

33| `apps.<id>.tools.<tool>.approval_mode` | `auto | prompt | approve` | Per-tool approval behavior override for a single app tool. |

34| `apps.<id>.tools.<tool>.enabled` | `boolean` | Per-tool enabled override for an app tool (for example `repos/list`). |

35| `background_terminal_max_timeout` | `number` | Maximum poll window in milliseconds for empty `write_stdin` polls (background terminal polling). Default: `300000` (5 minutes). Replaces the older `background_terminal_timeout` key. |

19| `chatgpt_base_url` | `string` | Override the base URL used during the ChatGPT login flow. |36| `chatgpt_base_url` | `string` | Override the base URL used during the ChatGPT login flow. |

20| `check_for_update_on_startup` | `boolean` | Check for Codex updates on startup (set to false only when updates are centrally managed). |37| `check_for_update_on_startup` | `boolean` | Check for Codex updates on startup (set to false only when updates are centrally managed). |

21| `cli_auth_credentials_store` | `file | keyring | auto` | Control where the CLI stores cached credentials (file-based auth.json vs OS keychain). |38| `cli_auth_credentials_store` | `file | keyring | auto` | Control where the CLI stores cached credentials (file-based auth.json vs OS keychain). |

39| `commit_attribution` | `string` | Override the commit co-author trailer text. Set an empty string to disable automatic attribution. |

22| `compact_prompt` | `string` | Inline override for the history compaction prompt. |40| `compact_prompt` | `string` | Inline override for the history compaction prompt. |

23| `developer_instructions` | `string` | Additional developer instructions injected into the session (optional). |41| `developer_instructions` | `string` | Additional developer instructions injected into the session (optional). |

24| `disable_paste_burst` | `boolean` | Disable burst-paste detection in the TUI. |42| `disable_paste_burst` | `boolean` | Disable burst-paste detection in the TUI. |

25| `experimental_compact_prompt_file` | `string (path)` | Load the compaction prompt override from a file (experimental). |43| `experimental_compact_prompt_file` | `string (path)` | Load the compaction prompt override from a file (experimental). |

26| `experimental_use_freeform_apply_patch` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform` or `codex --enable apply_patch_freeform`. |

27| `experimental_use_unified_exec_tool` | `boolean` | Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`. |44| `experimental_use_unified_exec_tool` | `boolean` | Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`. |

28| `features.apply_patch_freeform` | `boolean` | Expose the freeform `apply_patch` tool (experimental). |

29| `features.apps` | `boolean` | Enable ChatGPT Apps/connectors support (experimental). |45| `features.apps` | `boolean` | Enable ChatGPT Apps/connectors support (experimental). |

30| `features.apps_mcp_gateway` | `boolean` | Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental). |46| `features.apps_mcp_gateway` | `boolean` | Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental). |

47| `features.artifact` | `boolean` | Enable native artifact tools such as slides and spreadsheets (under development). |

31| `features.child_agents_md` | `boolean` | Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental). |48| `features.child_agents_md` | `boolean` | Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental). |

32| `features.collaboration_modes` | `boolean` | Enable collaboration modes such as plan mode (stable; on by default). |49| `features.collaboration_modes` | `boolean` | Legacy toggle for collaboration modes. Plan and default modes are available in current builds without setting this key. |

33| `features.elevated_windows_sandbox` | `boolean` | Enable the elevated Windows sandbox pipeline (experimental). |50| `features.default_mode_request_user_input` | `boolean` | Allow `request_user_input` in default collaboration mode (under development; off by default). |

34| `features.experimental_windows_sandbox` | `boolean` | Run the Windows restricted-token sandbox (experimental). |51| `features.elevated_windows_sandbox` | `boolean` | Legacy toggle for an earlier elevated Windows sandbox rollout. Current builds do not use it. |

35| `features.multi_agent` | `boolean` | Enable multi-agent collaboration tools (`spawn\_agent`, `send\_input`, `resume\_agent`, `wait`, and `close\_agent`) (experimental; off by default). |52| `features.enable_request_compression` | `boolean` | Compress streaming request bodies with zstd when supported (stable; on by default). |

53| `features.experimental_windows_sandbox` | `boolean` | Legacy toggle for an earlier Windows sandbox rollout. Current builds do not use it. |

54| `features.fast_mode` | `boolean` | Enable Fast mode selection and the `service_tier = "fast"` path (stable; on by default). |

55| `features.image_detail_original` | `boolean` | Allow image outputs with `detail = "original"` on supported models (under development). |

56| `features.image_generation` | `boolean` | Enable the built-in image generation tool (under development). |

36| `features.personality` | `boolean` | Enable personality selection controls (stable; on by default). |57| `features.personality` | `boolean` | Enable personality selection controls (stable; on by default). |

37| `features.powershell_utf8` | `boolean` | Force PowerShell UTF-8 output (defaults to true). |58| `features.powershell_utf8` | `boolean` | Force PowerShell UTF-8 output. Enabled by default on Windows and off elsewhere. |

38| `features.remote_models` | `boolean` | Refresh remote model list before showing readiness (experimental). |59| `features.prevent_idle_sleep` | `boolean` | Prevent the machine from sleeping while a turn is actively running (experimental; off by default). |

39| `features.request_rule` | `boolean` | Enable Smart approvals (`prefix_rule` suggestions on escalation requests; stable; on by default). |60| `features.remote_models` | `boolean` | Legacy toggle for an older remote-model readiness flow. Current builds do not use it. |

61| `features.request_rule` | `boolean` | Legacy toggle for Smart approvals. Current builds include this behavior by default, so most users can leave this unset. |

62| `features.responses_websockets` | `boolean` | Prefer the Responses API WebSocket transport for supported providers (under development). |

63| `features.responses_websockets_v2` | `boolean` | Enable Responses API WebSocket v2 mode (under development). |

40| `features.runtime_metrics` | `boolean` | Show runtime metrics summary in TUI turn separators (experimental). |64| `features.runtime_metrics` | `boolean` | Show runtime metrics summary in TUI turn separators (experimental). |

41| `features.search_tool` | `boolean` | Enable `search_tool_bm25` for Apps tool discovery before invoking app MCP tools (experimental). |65| `features.search_tool` | `boolean` | Legacy toggle for an older Apps discovery flow. Current builds do not use it. |

42| `features.shell_snapshot` | `boolean` | Snapshot shell environment to speed up repeated commands (beta). |66| `features.shell_snapshot` | `boolean` | Snapshot shell environment to speed up repeated commands (stable; on by default). |

43| `features.shell_tool` | `boolean` | Enable the default `shell` tool for running commands (stable; on by default). |67| `features.shell_tool` | `boolean` | Enable the default `shell` tool for running commands (stable; on by default). |

44| `features.unified_exec` | `boolean` | Use the unified PTY-backed exec tool (beta). |68| `features.skill_env_var_dependency_prompt` | `boolean` | Prompt for missing skill environment-variable dependencies (under development). |

69| `features.skill_mcp_dependency_install` | `boolean` | Allow prompting and installing missing MCP dependencies for skills (stable; on by default). |

70| `features.sqlite` | `boolean` | Enable SQLite-backed state persistence (stable; on by default). |

71| `features.steer` | `boolean` | Legacy toggle from an earlier Enter/Tab steering rollout. Current builds always use the current steering behavior. |

72| `features.undo` | `boolean` | Enable undo support (stable; off by default). |

73| `features.unified_exec` | `boolean` | Use the unified PTY-backed exec tool (stable; enabled by default except on Windows). |

45| `features.use_linux_sandbox_bwrap` | `boolean` | Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default). |74| `features.use_linux_sandbox_bwrap` | `boolean` | Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default). |

46| `features.web_search` | `boolean` | Deprecated legacy toggle; prefer the top-level `web_search` setting. |75| `features.web_search` | `boolean` | Deprecated legacy toggle; prefer the top-level `web_search` setting. |

47| `features.web_search_cached` | `boolean` | Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`. |76| `features.web_search_cached` | `boolean` | Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`. |


53| `hide_agent_reasoning` | `boolean` | Suppress reasoning events in both the TUI and `codex exec` output. |82| `hide_agent_reasoning` | `boolean` | Suppress reasoning events in both the TUI and `codex exec` output. |

54| `history.max_bytes` | `number` | If set, caps the history file size in bytes by dropping oldest entries. |83| `history.max_bytes` | `number` | If set, caps the history file size in bytes by dropping oldest entries. |

55| `history.persistence` | `save-all | none` | Control whether Codex saves session transcripts to history.jsonl. |84| `history.persistence` | `save-all | none` | Control whether Codex saves session transcripts to history.jsonl. |

56| `include_apply_patch_tool` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`. |

57| `instructions` | `string` | Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`. |85| `instructions` | `string` | Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`. |

58| `log_dir` | `string (path)` | Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`. |86| `log_dir` | `string (path)` | Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`. |

59| `mcp_oauth_callback_port` | `integer` | Optional fixed port for the local HTTP callback server used during MCP OAuth login. When unset, Codex binds to an ephemeral port chosen by the OS. |87| `mcp_oauth_callback_port` | `integer` | Optional fixed port for the local HTTP callback server used during MCP OAuth login. When unset, Codex binds to an ephemeral port chosen by the OS. |

88| `mcp_oauth_callback_url` | `string` | Optional redirect URI override for MCP OAuth login (for example, a devbox ingress URL). `mcp_oauth_callback_port` still controls the callback listener port. |

60| `mcp_oauth_credentials_store` | `auto | file | keyring` | Preferred store for MCP OAuth credentials. |89| `mcp_oauth_credentials_store` | `auto | file | keyring` | Preferred store for MCP OAuth credentials. |

61| `mcp_servers.<id>.args` | `array<string>` | Arguments passed to the MCP stdio server command. |90| `mcp_servers.<id>.args` | `array<string>` | Arguments passed to the MCP stdio server command. |

62| `mcp_servers.<id>.bearer_token_env_var` | `string` | Environment variable sourcing the bearer token for an MCP HTTP server. |91| `mcp_servers.<id>.bearer_token_env_var` | `string` | Environment variable sourcing the bearer token for an MCP HTTP server. |


69| `mcp_servers.<id>.env_http_headers` | `map<string,string>` | HTTP headers populated from environment variables for an MCP HTTP server. |98| `mcp_servers.<id>.env_http_headers` | `map<string,string>` | HTTP headers populated from environment variables for an MCP HTTP server. |

70| `mcp_servers.<id>.env_vars` | `array<string>` | Additional environment variables to whitelist for an MCP stdio server. |99| `mcp_servers.<id>.env_vars` | `array<string>` | Additional environment variables to whitelist for an MCP stdio server. |

71| `mcp_servers.<id>.http_headers` | `map<string,string>` | Static HTTP headers included with each MCP HTTP request. |100| `mcp_servers.<id>.http_headers` | `map<string,string>` | Static HTTP headers included with each MCP HTTP request. |

101| `mcp_servers.<id>.oauth_resource` | `string` | Optional RFC 8707 OAuth resource parameter to include during MCP login. |

72| `mcp_servers.<id>.required` | `boolean` | When true, fail startup/resume if this enabled MCP server cannot initialize. |102| `mcp_servers.<id>.required` | `boolean` | When true, fail startup/resume if this enabled MCP server cannot initialize. |

103| `mcp_servers.<id>.scopes` | `array<string>` | OAuth scopes to request when authenticating to that MCP server. |

73| `mcp_servers.<id>.startup_timeout_ms` | `number` | Alias for `startup_timeout_sec` in milliseconds. |104| `mcp_servers.<id>.startup_timeout_ms` | `number` | Alias for `startup_timeout_sec` in milliseconds. |

74| `mcp_servers.<id>.startup_timeout_sec` | `number` | Override the default 10s startup timeout for an MCP server. |105| `mcp_servers.<id>.startup_timeout_sec` | `number` | Override the default 10s startup timeout for an MCP server. |

75| `mcp_servers.<id>.tool_timeout_sec` | `number` | Override the default 60s per-tool timeout for an MCP server. |106| `mcp_servers.<id>.tool_timeout_sec` | `number` | Override the default 60s per-tool timeout for an MCP server. |

76| `mcp_servers.<id>.url` | `string` | Endpoint for an MCP streamable HTTP server. |107| `mcp_servers.<id>.url` | `string` | Endpoint for an MCP streamable HTTP server. |

77| `model` | `string` | Model to use (e.g., `gpt-5-codex`). |108| `model` | `string` | Model to use (e.g., `gpt-5-codex`). |

78| `model_auto_compact_token_limit` | `number` | Token threshold that triggers automatic history compaction (unset uses model defaults). |109| `model_auto_compact_token_limit` | `number` | Token threshold that triggers automatic history compaction (unset uses model defaults). |

110| `model_catalog_json` | `string (path)` | Optional path to a JSON model catalog loaded on startup. Profile-level `profiles.<name>.model_catalog_json` can override this per profile. |

79| `model_context_window` | `number` | Context window tokens available to the active model. |111| `model_context_window` | `number` | Context window tokens available to the active model. |

80| `model_instructions_file` | `string (path)` | Replacement for built-in instructions instead of `AGENTS.md`. |112| `model_instructions_file` | `string (path)` | Replacement for built-in instructions instead of `AGENTS.md`. |

81| `model_provider` | `string` | Provider id from `model_providers` (default: `openai`). |113| `model_provider` | `string` | Provider id from `model_providers` (default: `openai`). |


91| `model_providers.<id>.requires_openai_auth` | `boolean` | The provider uses OpenAI authentication (defaults to false). |123| `model_providers.<id>.requires_openai_auth` | `boolean` | The provider uses OpenAI authentication (defaults to false). |

92| `model_providers.<id>.stream_idle_timeout_ms` | `number` | Idle timeout for SSE streams in milliseconds (default: 300000). |124| `model_providers.<id>.stream_idle_timeout_ms` | `number` | Idle timeout for SSE streams in milliseconds (default: 300000). |

93| `model_providers.<id>.stream_max_retries` | `number` | Retry count for SSE streaming interruptions (default: 5). |125| `model_providers.<id>.stream_max_retries` | `number` | Retry count for SSE streaming interruptions (default: 5). |

94| `model_providers.<id>.wire_api` | `chat | responses` | Protocol used by the provider (defaults to `chat` if omitted). |126| `model_providers.<id>.supports_websockets` | `boolean` | Whether that provider supports the Responses API WebSocket transport. |

127| `model_providers.<id>.wire_api` | `responses` | Protocol used by the provider. `responses` is the only supported value, and it is the default when omitted. |

95| `model_reasoning_effort` | `minimal | low | medium | high | xhigh` | Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent). |128| `model_reasoning_effort` | `minimal | low | medium | high | xhigh` | Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent). |

96| `model_reasoning_summary` | `auto | concise | detailed | none` | Select reasoning summary detail or disable summaries entirely. |129| `model_reasoning_summary` | `auto | concise | detailed | none` | Select reasoning summary detail or disable summaries entirely. |

97| `model_supports_reasoning_summaries` | `boolean` | Force Codex to send or not send reasoning metadata. |130| `model_supports_reasoning_summaries` | `boolean` | Force Codex to send or not send reasoning metadata. |

98| `model_verbosity` | `low | medium | high` | Control GPT-5 Responses API verbosity (defaults to `medium`). |131| `model_verbosity` | `low | medium | high` | Optional GPT-5 Responses API verbosity override; when unset, the selected model/preset default is used. |

99| `notice.hide_full_access_warning` | `boolean` | Track acknowledgement of the full access warning prompt. |132| `notice.hide_full_access_warning` | `boolean` | Track acknowledgement of the full access warning prompt. |

100| `notice.hide_gpt-5.1-codex-max_migration_prompt` | `boolean` | Track acknowledgement of the gpt-5.1-codex-max migration prompt. |133| `notice.hide_gpt-5.1-codex-max_migration_prompt` | `boolean` | Track acknowledgement of the gpt-5.1-codex-max migration prompt. |

101| `notice.hide_gpt5_1_migration_prompt` | `boolean` | Track acknowledgement of the GPT-5.1 migration prompt. |134| `notice.hide_gpt5_1_migration_prompt` | `boolean` | Track acknowledgement of the GPT-5.1 migration prompt. |


113| `otel.exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL exporter TLS. |146| `otel.exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL exporter TLS. |

114| `otel.exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL exporter TLS. |147| `otel.exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL exporter TLS. |

115| `otel.log_user_prompt` | `boolean` | Opt in to exporting raw user prompts with OpenTelemetry logs. |148| `otel.log_user_prompt` | `boolean` | Opt in to exporting raw user prompts with OpenTelemetry logs. |

149| `otel.metrics_exporter` | `none | statsig | otlp-http | otlp-grpc` | Select the OpenTelemetry metrics exporter (defaults to `statsig`). |

116| `otel.trace_exporter` | `none | otlp-http | otlp-grpc` | Select the OpenTelemetry trace exporter and provide any endpoint metadata. |150| `otel.trace_exporter` | `none | otlp-http | otlp-grpc` | Select the OpenTelemetry trace exporter and provide any endpoint metadata. |

117| `otel.trace_exporter.<id>.endpoint` | `string` | Trace exporter endpoint for OTEL logs. |151| `otel.trace_exporter.<id>.endpoint` | `string` | Trace exporter endpoint for OTEL logs. |

118| `otel.trace_exporter.<id>.headers` | `map<string,string>` | Static headers included with OTEL trace exporter requests. |152| `otel.trace_exporter.<id>.headers` | `map<string,string>` | Static headers included with OTEL trace exporter requests. |


120| `otel.trace_exporter.<id>.tls.ca-certificate` | `string` | CA certificate path for OTEL trace exporter TLS. |154| `otel.trace_exporter.<id>.tls.ca-certificate` | `string` | CA certificate path for OTEL trace exporter TLS. |

121| `otel.trace_exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL trace exporter TLS. |155| `otel.trace_exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL trace exporter TLS. |

122| `otel.trace_exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL trace exporter TLS. |156| `otel.trace_exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL trace exporter TLS. |

157| `permissions.network.admin_url` | `string` | Admin endpoint for the managed network proxy. |

158| `permissions.network.allow_local_binding` | `boolean` | Permit local bind/listen operations through the managed proxy. |

159| `permissions.network.allow_unix_sockets` | `array<string>` | Allowlist of Unix socket paths permitted through the managed proxy. |

160| `permissions.network.allow_upstream_proxy` | `boolean` | Allow the managed proxy to chain to another upstream proxy. |

161| `permissions.network.allowed_domains` | `array<string>` | Allowlist of domains permitted through the managed proxy. |

162| `permissions.network.dangerously_allow_all_unix_sockets` | `boolean` | Allow the proxy to use arbitrary Unix sockets instead of the default restricted set. |

163| `permissions.network.dangerously_allow_non_loopback_admin` | `boolean` | Permit non-loopback bind addresses for the managed proxy admin listener. |

164| `permissions.network.dangerously_allow_non_loopback_proxy` | `boolean` | Permit non-loopback bind addresses for the managed proxy listener. |

165| `permissions.network.denied_domains` | `array<string>` | Denylist of domains blocked by the managed proxy. |

166| `permissions.network.enable_socks5` | `boolean` | Expose a SOCKS5 listener from the managed network proxy. |

167| `permissions.network.enable_socks5_udp` | `boolean` | Allow UDP over the SOCKS5 listener when enabled. |

168| `permissions.network.enabled` | `boolean` | Enable the managed network proxy configuration for subprocesses. |

169| `permissions.network.mode` | `limited | full` | Network proxy mode used for subprocess traffic. |

170| `permissions.network.proxy_url` | `string` | HTTP proxy endpoint used by the managed network proxy. |

171| `permissions.network.socks_url` | `string` | SOCKS5 proxy endpoint used by the managed network proxy. |

123| `personality` | `none | friendly | pragmatic` | Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`. |172| `personality` | `none | friendly | pragmatic` | Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`. |

173| `plan_mode_reasoning_effort` | `none | minimal | low | medium | high | xhigh` | Plan-mode-specific reasoning override. When unset, Plan mode uses its built-in preset default. |

124| `profile` | `string` | Default profile applied at startup (equivalent to `--profile`). |174| `profile` | `string` | Default profile applied at startup (equivalent to `--profile`). |

125| `profiles.<name>.*` | `various` | Profile-scoped overrides for any of the supported configuration keys. |175| `profiles.<name>.*` | `various` | Profile-scoped overrides for any of the supported configuration keys. |

126| `profiles.<name>.experimental_use_freeform_apply_patch` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`. |176| `profiles.<name>.analytics.enabled` | `boolean` | Profile-scoped analytics enablement override. |

127| `profiles.<name>.experimental_use_unified_exec_tool` | `boolean` | Legacy name for enabling unified exec; prefer `[features].unified_exec`. |177| `profiles.<name>.experimental_use_unified_exec_tool` | `boolean` | Legacy name for enabling unified exec; prefer `[features].unified_exec`. |

128| `profiles.<name>.include_apply_patch_tool` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`. |178| `profiles.<name>.model_catalog_json` | `string (path)` | Profile-scoped model catalog JSON path override (applied on startup only; overrides the top-level `model_catalog_json` for that profile). |

179| `profiles.<name>.model_instructions_file` | `string (path)` | Profile-scoped replacement for the built-in instruction file. |

129| `profiles.<name>.oss_provider` | `lmstudio | ollama` | Profile-scoped OSS provider for `--oss` sessions. |180| `profiles.<name>.oss_provider` | `lmstudio | ollama` | Profile-scoped OSS provider for `--oss` sessions. |

130| `profiles.<name>.personality` | `none | friendly | pragmatic` | Profile-scoped communication style override for supported models. |181| `profiles.<name>.personality` | `none | friendly | pragmatic` | Profile-scoped communication style override for supported models. |

182| `profiles.<name>.plan_mode_reasoning_effort` | `none | minimal | low | medium | high | xhigh` | Profile-scoped Plan-mode reasoning override. |

183| `profiles.<name>.service_tier` | `flex | fast` | Profile-scoped service tier preference for new turns. |

184| `profiles.<name>.tools_view_image` | `boolean` | Enable or disable the `view_image` tool in that profile. |

131| `profiles.<name>.web_search` | `disabled | cached | live` | Profile-scoped web search mode override (default: `"cached"`). |185| `profiles.<name>.web_search` | `disabled | cached | live` | Profile-scoped web search mode override (default: `"cached"`). |

186| `profiles.<name>.windows.sandbox` | `unelevated | elevated` | Profile-scoped Windows sandbox mode override. |

132| `project_doc_fallback_filenames` | `array<string>` | Additional filenames to try when `AGENTS.md` is missing. |187| `project_doc_fallback_filenames` | `array<string>` | Additional filenames to try when `AGENTS.md` is missing. |

133| `project_doc_max_bytes` | `number` | Maximum bytes read from `AGENTS.md` when building project instructions. |188| `project_doc_max_bytes` | `number` | Maximum bytes read from `AGENTS.md` when building project instructions. |

134| `project_root_markers` | `array<string>` | List of project root marker filenames; used when searching parent directories for the project root. |189| `project_root_markers` | `array<string>` | List of project root marker filenames; used when searching parent directories for the project root. |


139| `sandbox_workspace_write.exclude_tmpdir_env_var` | `boolean` | Exclude `$TMPDIR` from writable roots in workspace-write mode. |194| `sandbox_workspace_write.exclude_tmpdir_env_var` | `boolean` | Exclude `$TMPDIR` from writable roots in workspace-write mode. |

140| `sandbox_workspace_write.network_access` | `boolean` | Allow outbound network access inside the workspace-write sandbox. |195| `sandbox_workspace_write.network_access` | `boolean` | Allow outbound network access inside the workspace-write sandbox. |

141| `sandbox_workspace_write.writable_roots` | `array<string>` | Additional writable roots when `sandbox_mode = "workspace-write"`. |196| `sandbox_workspace_write.writable_roots` | `array<string>` | Additional writable roots when `sandbox_mode = "workspace-write"`. |

197| `service_tier` | `flex | fast` | Preferred service tier for new turns. `fast` is honored only when the `features.fast_mode` gate is enabled. |

142| `shell_environment_policy.exclude` | `array<string>` | Glob patterns for removing environment variables after the defaults. |198| `shell_environment_policy.exclude` | `array<string>` | Glob patterns for removing environment variables after the defaults. |

143| `shell_environment_policy.experimental_use_profile` | `boolean` | Use the user shell profile when spawning subprocesses. |199| `shell_environment_policy.experimental_use_profile` | `boolean` | Use the user shell profile when spawning subprocesses. |

144| `shell_environment_policy.ignore_default_excludes` | `boolean` | Keep variables containing KEY/SECRET/TOKEN before other filters run. |200| `shell_environment_policy.ignore_default_excludes` | `boolean` | Keep variables containing KEY/SECRET/TOKEN before other filters run. |


149| `skills.config` | `array<object>` | Per-skill enablement overrides stored in config.toml. |205| `skills.config` | `array<object>` | Per-skill enablement overrides stored in config.toml. |

150| `skills.config.<index>.enabled` | `boolean` | Enable or disable the referenced skill. |206| `skills.config.<index>.enabled` | `boolean` | Enable or disable the referenced skill. |

151| `skills.config.<index>.path` | `string (path)` | Path to a skill folder containing `SKILL.md`. |207| `skills.config.<index>.path` | `string (path)` | Path to a skill folder containing `SKILL.md`. |

208| `sqlite_home` | `string (path)` | Directory where Codex stores the SQLite-backed state DB used by agent jobs and other resumable runtime state. |

152| `suppress_unstable_features_warning` | `boolean` | Suppress the warning that appears when under-development feature flags are enabled. |209| `suppress_unstable_features_warning` | `boolean` | Suppress the warning that appears when under-development feature flags are enabled. |

153| `tool_output_token_limit` | `number` | Token budget for storing individual tool/function outputs in history. |210| `tool_output_token_limit` | `number` | Token budget for storing individual tool/function outputs in history. |

211| `tools.view_image` | `boolean` | Enable the local-image attachment tool `view_image`. |

154| `tools.web_search` | `boolean` | Deprecated legacy toggle for web search; prefer the top-level `web_search` setting. |212| `tools.web_search` | `boolean` | Deprecated legacy toggle for web search; prefer the top-level `web_search` setting. |

155| `tui` | `table` | TUI-specific options such as enabling inline desktop notifications. |213| `tui` | `table` | TUI-specific options such as enabling inline desktop notifications. |

156| `tui.alternate_screen` | `auto | always | never` | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |214| `tui.alternate_screen` | `auto | always | never` | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |

157| `tui.animations` | `boolean` | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |215| `tui.animations` | `boolean` | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |

216| `tui.model_availability_nux.<model>` | `integer` | Internal startup-tooltip state keyed by model slug. |

158| `tui.notification_method` | `auto | osc9 | bel` | Notification method for unfocused terminal notifications (default: auto). |217| `tui.notification_method` | `auto | osc9 | bel` | Notification method for unfocused terminal notifications (default: auto). |

159| `tui.notifications` | `boolean | array<string>` | Enable TUI notifications; optionally restrict to specific event types. |218| `tui.notifications` | `boolean | array<string>` | Enable TUI notifications; optionally restrict to specific event types. |

160| `tui.show_tooltips` | `boolean` | Show onboarding tooltips in the TUI welcome screen (default: true). |219| `tui.show_tooltips` | `boolean` | Show onboarding tooltips in the TUI welcome screen (default: true). |

161| `tui.status_line` | `array<string> | null` | Ordered list of TUI footer status-line item identifiers. `null` disables the status line. |220| `tui.status_line` | `array<string> | null` | Ordered list of TUI footer status-line item identifiers. `null` disables the status line. |

221| `tui.theme` | `string` | Syntax-highlighting theme override (kebab-case theme name). |

162| `web_search` | `disabled | cached | live` | Web search mode (default: `"cached"`; cached uses an OpenAI-maintained index and does not fetch live pages; if you use `--yolo` or another full access sandbox setting, it defaults to `"live"`). Use `"live"` to fetch the most recent data from the web, or `"disabled"` to remove the tool. |222| `web_search` | `disabled | cached | live` | Web search mode (default: `"cached"`; cached uses an OpenAI-maintained index and does not fetch live pages; if you use `--yolo` or another full access sandbox setting, it defaults to `"live"`). Use `"live"` to fetch the most recent data from the web, or `"disabled"` to remove the tool. |

163| `windows_wsl_setup_acknowledged` | `boolean` | Track Windows onboarding acknowledgement (Windows only). |223| `windows_wsl_setup_acknowledged` | `boolean` | Track Windows onboarding acknowledgement (Windows only). |

224| `windows.sandbox` | `unelevated | elevated` | Windows-only native sandbox mode when running Codex natively on Windows. |

164 225 

165Key226Key

166 227 


188 249 

189Key250Key

190 251 

191`agents.max_threads`252`agents.<name>.nickname_candidates`

192 253 

193Type / Values254Type / Values

194 255 

195`number`256`array<string>`

196 257 

197Details258Details

198 259 

199Maximum number of agent threads that can be open concurrently.260Optional pool of display nicknames for spawned agents in that role.

200 261 

201Key262Key

202 263 

203`approval_policy`264`agents.job_max_runtime_seconds`

204 265 

205Type / Values266Type / Values

206 267 

207`untrusted | on-request | never`268`number`

208 269 

209Details270Details

210 271 

211Controls when Codex pauses for approval before executing commands. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.272Default per-worker timeout for `spawn_agents_on_csv` jobs. When unset, the tool falls back to 1800 seconds per worker.

212 273 

213Key274Key

214 275 

215`apps.<id>.disabled_reason`276`agents.max_depth`

216 277 

217Type / Values278Type / Values

218 279 

219`unknown | user`280`number`

220 281 

221Details282Details

222 283 

223Optional reason attached when an app/connector is disabled.284Maximum nesting depth allowed for spawned agent threads (root sessions start at depth 0; default: 1).

224 285 

225Key286Key

226 287 

227`apps.<id>.enabled`288`agents.max_threads`

228 289 

229Type / Values290Type / Values

230 291 

231`boolean`292`number`

232 293 

233Details294Details

234 295 

235Enable or disable a specific app/connector by id (default: true).296Maximum number of agent threads that can be open concurrently. Defaults to `6` when unset.

236 297 

237Key298Key

238 299 

239`chatgpt_base_url`300`allow_login_shell`

240 301 

241Type / Values302Type / Values

242 303 

243`string`304`boolean`

244 305 

245Details306Details

246 307 

247Override the base URL used during the ChatGPT login flow.308Allow shell-based tools to use login-shell semantics. Defaults to `true`; when `false`, `login = true` requests are rejected and omitted `login` defaults to non-login shells.

248 309 

249Key310Key

250 311 

251`check_for_update_on_startup`312`analytics.enabled`

252 313 

253Type / Values314Type / Values

254 315 


256 317 

257Details318Details

258 319 

259Check for Codex updates on startup (set to false only when updates are centrally managed).320Enable or disable analytics for this machine/profile. When unset, the client default applies.

260 321 

261Key322Key

262 323 

263`cli_auth_credentials_store`324`approval_policy`

264 325 

265Type / Values326Type / Values

266 327 

267`file | keyring | auto`328`untrusted | on-request | never | { reject = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool } }`

268 329 

269Details330Details

270 331 

271Control where the CLI stores cached credentials (file-based auth.json vs OS keychain).332Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { reject = { ... } }` to auto-reject specific prompt categories while keeping other prompts interactive. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.

272 333 

273Key334Key

274 335 

275`compact_prompt`336`approval_policy.reject.mcp_elicitations`

276 337 

277Type / Values338Type / Values

278 339 

279`string`340`boolean`

280 341 

281Details342Details

282 343 

283Inline override for the history compaction prompt.344When `true`, MCP elicitation prompts are auto-rejected instead of shown to the user.

284 345 

285Key346Key

286 347 

287`developer_instructions`348`approval_policy.reject.rules`

288 349 

289Type / Values350Type / Values

290 351 

291`string`352`boolean`

292 353 

293Details354Details

294 355 

295Additional developer instructions injected into the session (optional).356When `true`, approvals triggered by execpolicy `prompt` rules are auto-rejected.

296 357 

297Key358Key

298 359 

299`disable_paste_burst`360`approval_policy.reject.sandbox_approval`

300 361 

301Type / Values362Type / Values

302 363 


304 365 

305Details366Details

306 367 

307Disable burst-paste detection in the TUI.368When `true`, sandbox escalation approval prompts are auto-rejected.

308 369 

309Key370Key

310 371 

311`experimental_compact_prompt_file`372`apps._default.destructive_enabled`

312 373 

313Type / Values374Type / Values

314 375 

315`string (path)`376`boolean`

316 377 

317Details378Details

318 379 

319Load the compaction prompt override from a file (experimental).380Default allow/deny for app tools with `destructive_hint = true`.

320 381 

321Key382Key

322 383 

323`experimental_use_freeform_apply_patch`384`apps._default.enabled`

324 385 

325Type / Values386Type / Values

326 387 


328 389 

329Details390Details

330 391 

331Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform` or `codex --enable apply_patch_freeform`.392Default app enabled state for all apps unless overridden per app.

332 393 

333Key394Key

334 395 

335`experimental_use_unified_exec_tool`396`apps._default.open_world_enabled`

336 397 

337Type / Values398Type / Values

338 399 


340 401 

341Details402Details

342 403 

343Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`.404Default allow/deny for app tools with `open_world_hint = true`.

344 405 

345Key406Key

346 407 

347`features.apply_patch_freeform`408`apps.<id>.default_tools_approval_mode`

348 409 

349Type / Values410Type / Values

350 411 

351`boolean`412`auto | prompt | approve`

352 413 

353Details414Details

354 415 

355Expose the freeform `apply_patch` tool (experimental).416Default approval behavior for tools in this app unless a per-tool override exists.

356 417 

357Key418Key

358 419 

359`features.apps`420`apps.<id>.default_tools_enabled`

360 421 

361Type / Values422Type / Values

362 423 


364 425 

365Details426Details

366 427 

367Enable ChatGPT Apps/connectors support (experimental).428Default enabled state for tools in this app unless a per-tool override exists.

368 429 

369Key430Key

370 431 

371`features.apps_mcp_gateway`432`apps.<id>.destructive_enabled`

372 433 

373Type / Values434Type / Values

374 435 


376 437 

377Details438Details

378 439 

379Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).440Allow or block tools in this app that advertise `destructive_hint = true`.

380 441 

381Key442Key

382 443 

383`features.child_agents_md`444`apps.<id>.enabled`

384 445 

385Type / Values446Type / Values

386 447 


388 449 

389Details450Details

390 451 

391Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).452Enable or disable a specific app/connector by id (default: true).

392 453 

393Key454Key

394 455 

395`features.collaboration_modes`456`apps.<id>.open_world_enabled`

396 457 

397Type / Values458Type / Values

398 459 


400 461 

401Details462Details

402 463 

403Enable collaboration modes such as plan mode (stable; on by default).464Allow or block tools in this app that advertise `open_world_hint = true`.

404 465 

405Key466Key

406 467 

407`features.elevated_windows_sandbox`468`apps.<id>.tools.<tool>.approval_mode`

408 469 

409Type / Values470Type / Values

410 471 

411`boolean`472`auto | prompt | approve`

412 473 

413Details474Details

414 475 

415Enable the elevated Windows sandbox pipeline (experimental).476Per-tool approval behavior override for a single app tool.

416 477 

417Key478Key

418 479 

419`features.experimental_windows_sandbox`480`apps.<id>.tools.<tool>.enabled`

420 481 

421Type / Values482Type / Values

422 483 


424 485 

425Details486Details

426 487 

427Run the Windows restricted-token sandbox (experimental).488Per-tool enabled override for an app tool (for example `repos/list`).

428 489 

429Key490Key

430 491 

431`features.multi_agent`492`background_terminal_max_timeout`

432 493 

433Type / Values494Type / Values

434 495 

435`boolean`496`number`

436 497 

437Details498Details

438 499 

439Enable multi-agent collaboration tools (`spawn\_agent`, `send\_input`, `resume\_agent`, `wait`, and `close\_agent`) (experimental; off by default).500Maximum poll window in milliseconds for empty `write_stdin` polls (background terminal polling). Default: `300000` (5 minutes). Replaces the older `background_terminal_timeout` key.

440 501 

441Key502Key

442 503 

443`features.personality`504`chatgpt_base_url`

444 505 

445Type / Values506Type / Values

446 507 

447`boolean`508`string`

448 509 

449Details510Details

450 511 

451Enable personality selection controls (stable; on by default).512Override the base URL used during the ChatGPT login flow.

452 513 

453Key514Key

454 515 

455`features.powershell_utf8`516`check_for_update_on_startup`

456 517 

457Type / Values518Type / Values

458 519 


460 521 

461Details522Details

462 523 

463Force PowerShell UTF-8 output (defaults to true).524Check for Codex updates on startup (set to false only when updates are centrally managed).

464 525 

465Key526Key

466 527 

467`features.remote_models`528`cli_auth_credentials_store`

468 529 

469Type / Values530Type / Values

470 531 

471`boolean`532`file | keyring | auto`

472 533 

473Details534Details

474 535 

475Refresh remote model list before showing readiness (experimental).536Control where the CLI stores cached credentials (file-based auth.json vs OS keychain).

476 537 

477Key538Key

478 539 

479`features.request_rule`540`commit_attribution`

480 541 

481Type / Values542Type / Values

482 543 

483`boolean`544`string`

484 545 

485Details546Details

486 547 

487Enable Smart approvals (`prefix_rule` suggestions on escalation requests; stable; on by default).548Override the commit co-author trailer text. Set an empty string to disable automatic attribution.

488 549 

489Key550Key

490 551 

491`features.runtime_metrics`552`compact_prompt`

492 553 

493Type / Values554Type / Values

494 555 

495`boolean`556`string`

496 557 

497Details558Details

498 559 

499Show runtime metrics summary in TUI turn separators (experimental).560Inline override for the history compaction prompt.

500 561 

501Key562Key

502 563 

503`features.search_tool`564`developer_instructions`

504 565 

505Type / Values566Type / Values

506 567 

507`boolean`568`string`

508 569 

509Details570Details

510 571 

511Enable `search_tool_bm25` for Apps tool discovery before invoking app MCP tools (experimental).572Additional developer instructions injected into the session (optional).

512 573 

513Key574Key

514 575 

515`features.shell_snapshot`576`disable_paste_burst`

516 577 

517Type / Values578Type / Values

518 579 


520 581 

521Details582Details

522 583 

523Snapshot shell environment to speed up repeated commands (beta).584Disable burst-paste detection in the TUI.

524 585 

525Key586Key

526 587 

527`features.shell_tool`588`experimental_compact_prompt_file`

528 589 

529Type / Values590Type / Values

530 591 

531`boolean`592`string (path)`

532 593 

533Details594Details

534 595 

535Enable the default `shell` tool for running commands (stable; on by default).596Load the compaction prompt override from a file (experimental).

536 597 

537Key598Key

538 599 

539`features.unified_exec`600`experimental_use_unified_exec_tool`

540 601 

541Type / Values602Type / Values

542 603 


544 605 

545Details606Details

546 607 

547Use the unified PTY-backed exec tool (beta).608Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`.

548 609 

549Key610Key

550 611 

551`features.use_linux_sandbox_bwrap`612`features.apps`

552 613 

553Type / Values614Type / Values

554 615 


556 617 

557Details618Details

558 619 

559Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).620Enable ChatGPT Apps/connectors support (experimental).

560 621 

561Key622Key

562 623 

563`features.web_search`624`features.apps_mcp_gateway`

564 625 

565Type / Values626Type / Values

566 627 


568 629 

569Details630Details

570 631 

571Deprecated legacy toggle; prefer the top-level `web_search` setting.632Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).

572 633 

573Key634Key

574 635 

575`features.web_search_cached`636`features.artifact`

576 637 

577Type / Values638Type / Values

578 639 


580 641 

581Details642Details

582 643 

583Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`.644Enable native artifact tools such as slides and spreadsheets (under development).

584 645 

585Key646Key

586 647 

587`features.web_search_request`648`features.child_agents_md`

588 649 

589Type / Values650Type / Values

590 651 


592 653 

593Details654Details

594 655 

595Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`.656Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).

596 657 

597Key658Key

598 659 

599`feedback.enabled`660`features.collaboration_modes`

600 661 

601Type / Values662Type / Values

602 663 


604 665 

605Details666Details

606 667 

607Enable feedback submission via `/feedback` across Codex surfaces (default: true).668Legacy toggle for collaboration modes. Plan and default modes are available in current builds without setting this key.

608 669 

609Key670Key

610 671 

611`file_opener`672`features.default_mode_request_user_input`

612 673 

613Type / Values674Type / Values

614 675 

615`vscode | vscode-insiders | windsurf | cursor | none`676`boolean`

616 677 

617Details678Details

618 679 

619URI scheme used to open citations from Codex output (default: `vscode`).680Allow `request_user_input` in default collaboration mode (under development; off by default).

620 681 

621Key682Key

622 683 

623`forced_chatgpt_workspace_id`684`features.elevated_windows_sandbox`

624 685 

625Type / Values686Type / Values

626 687 

627`string (uuid)`688`boolean`

628 689 

629Details690Details

630 691 

631Limit ChatGPT logins to a specific workspace identifier.692Legacy toggle for an earlier elevated Windows sandbox rollout. Current builds do not use it.

632 693 

633Key694Key

634 695 

635`forced_login_method`696`features.enable_request_compression`

636 697 

637Type / Values698Type / Values

638 699 

639`chatgpt | api`700`boolean`

640 701 

641Details702Details

642 703 

643Restrict Codex to a specific authentication method.704Compress streaming request bodies with zstd when supported (stable; on by default).

644 705 

645Key706Key

646 707 

647`hide_agent_reasoning`708`features.experimental_windows_sandbox`

648 709 

649Type / Values710Type / Values

650 711 


652 713 

653Details714Details

654 715 

655Suppress reasoning events in both the TUI and `codex exec` output.716Legacy toggle for an earlier Windows sandbox rollout. Current builds do not use it.

656 717 

657Key718Key

658 719 

659`history.max_bytes`720`features.fast_mode`

660 721 

661Type / Values722Type / Values

662 723 

663`number`724`boolean`

664 725 

665Details726Details

666 727 

667If set, caps the history file size in bytes by dropping oldest entries.728Enable Fast mode selection and the `service_tier = "fast"` path (stable; on by default).

668 729 

669Key730Key

670 731 

671`history.persistence`732`features.image_detail_original`

672 733 

673Type / Values734Type / Values

674 735 

675`save-all | none`736`boolean`

676 737 

677Details738Details

678 739 

679Control whether Codex saves session transcripts to history.jsonl.740Allow image outputs with `detail = "original"` on supported models (under development).

680 741 

681Key742Key

682 743 

683`include_apply_patch_tool`744`features.image_generation`

684 745 

685Type / Values746Type / Values

686 747 


688 749 

689Details750Details

690 751 

691Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`.752Enable the built-in image generation tool (under development).

692 753 

693Key754Key

694 755 

695`instructions`756`features.personality`

696 757 

697Type / Values758Type / Values

698 759 

699`string`760`boolean`

700 761 

701Details762Details

702 763 

703Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.764Enable personality selection controls (stable; on by default).

704 765 

705Key766Key

706 767 

707`log_dir`768`features.powershell_utf8`

708 769 

709Type / Values770Type / Values

710 771 

711`string (path)`772`boolean`

712 773 

713Details774Details

714 775 

715Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.776Force PowerShell UTF-8 output. Enabled by default on Windows and off elsewhere.

716 777 

717Key778Key

718 779 

719`mcp_oauth_callback_port`780`features.prevent_idle_sleep`

720 781 

721Type / Values782Type / Values

722 783 

723`integer`784`boolean`

724 785 

725Details786Details

726 787 

727Optional fixed port for the local HTTP callback server used during MCP OAuth login. When unset, Codex binds to an ephemeral port chosen by the OS.788Prevent the machine from sleeping while a turn is actively running (experimental; off by default).

728 789 

729Key790Key

730 791 

731`mcp_oauth_credentials_store`792`features.remote_models`

732 793 

733Type / Values794Type / Values

734 795 

735`auto | file | keyring`796`boolean`

736 797 

737Details798Details

738 799 

739Preferred store for MCP OAuth credentials.800Legacy toggle for an older remote-model readiness flow. Current builds do not use it.

740 801 

741Key802Key

742 803 

743`mcp_servers.<id>.args`804`features.request_rule`

744 805 

745Type / Values806Type / Values

746 807 

747`array<string>`808`boolean`

748 809 

749Details810Details

750 811 

751Arguments passed to the MCP stdio server command.812Legacy toggle for Smart approvals. Current builds include this behavior by default, so most users can leave this unset.

752 813 

753Key814Key

754 815 

755`mcp_servers.<id>.bearer_token_env_var`816`features.responses_websockets`

756 817 

757Type / Values818Type / Values

758 819 

759`string`820`boolean`

760 821 

761Details822Details

762 823 

763Environment variable sourcing the bearer token for an MCP HTTP server.824Prefer the Responses API WebSocket transport for supported providers (under development).

764 825 

765Key826Key

766 827 

767`mcp_servers.<id>.command`828`features.responses_websockets_v2`

768 829 

769Type / Values830Type / Values

770 831 

771`string`832`boolean`

772 833 

773Details834Details

774 835 

775Launcher command for an MCP stdio server.836Enable Responses API WebSocket v2 mode (under development).

776 837 

777Key838Key

778 839 

779`mcp_servers.<id>.cwd`840`features.runtime_metrics`

780 841 

781Type / Values842Type / Values

782 843 

783`string`844`boolean`

784 845 

785Details846Details

786 847 

787Working directory for the MCP stdio server process.848Show runtime metrics summary in TUI turn separators (experimental).

788 849 

789Key850Key

790 851 

791`mcp_servers.<id>.disabled_tools`852`features.search_tool`

792 853 

793Type / Values854Type / Values

794 855 

795`array<string>`856`boolean`

796 857 

797Details858Details

798 859 

799Deny list applied after `enabled_tools` for the MCP server.860Legacy toggle for an older Apps discovery flow. Current builds do not use it.

800 861 

801Key862Key

802 863 

803`mcp_servers.<id>.enabled`864`features.shell_snapshot`

804 865 

805Type / Values866Type / Values

806 867 


808 869 

809Details870Details

810 871 

811Disable an MCP server without removing its configuration.872Snapshot shell environment to speed up repeated commands (stable; on by default).

812 873 

813Key874Key

814 875 

815`mcp_servers.<id>.enabled_tools`876`features.shell_tool`

816 877 

817Type / Values878Type / Values

818 879 

819`array<string>`880`boolean`

820 881 

821Details882Details

822 883 

823Allow list of tool names exposed by the MCP server.884Enable the default `shell` tool for running commands (stable; on by default).

824 885 

825Key886Key

826 887 

827`mcp_servers.<id>.env`888`features.skill_env_var_dependency_prompt`

828 889 

829Type / Values890Type / Values

830 891 

831`map<string,string>`892`boolean`

832 893 

833Details894Details

834 895 

835Environment variables forwarded to the MCP stdio server.896Prompt for missing skill environment-variable dependencies (under development).

836 897 

837Key898Key

838 899 

839`mcp_servers.<id>.env_http_headers`900`features.skill_mcp_dependency_install`

840 901 

841Type / Values902Type / Values

842 903 

843`map<string,string>`904`boolean`

844 905 

845Details906Details

846 907 

847HTTP headers populated from environment variables for an MCP HTTP server.908Allow prompting and installing missing MCP dependencies for skills (stable; on by default).

848 909 

849Key910Key

850 911 

851`mcp_servers.<id>.env_vars`912`features.sqlite`

852 913 

853Type / Values914Type / Values

854 915 

855`array<string>`916`boolean`

856 917 

857Details918Details

858 919 

859Additional environment variables to whitelist for an MCP stdio server.920Enable SQLite-backed state persistence (stable; on by default).

860 921 

861Key922Key

862 923 

863`mcp_servers.<id>.http_headers`924`features.steer`

864 925 

865Type / Values926Type / Values

866 927 

867`map<string,string>`928`boolean`

868 929 

869Details930Details

870 931 

871Static HTTP headers included with each MCP HTTP request.932Legacy toggle from an earlier Enter/Tab steering rollout. Current builds always use the current steering behavior.

872 933 

873Key934Key

874 935 

875`mcp_servers.<id>.required`936`features.undo`

876 937 

877Type / Values938Type / Values

878 939 


880 941 

881Details942Details

882 943 

883When true, fail startup/resume if this enabled MCP server cannot initialize.944Enable undo support (stable; off by default).

884 945 

885Key946Key

886 947 

887`mcp_servers.<id>.startup_timeout_ms`948`features.unified_exec`

888 949 

889Type / Values950Type / Values

890 951 

891`number`952`boolean`

892 953 

893Details954Details

894 955 

895Alias for `startup_timeout_sec` in milliseconds.956Use the unified PTY-backed exec tool (stable; enabled by default except on Windows).

896 957 

897Key958Key

898 959 

899`mcp_servers.<id>.startup_timeout_sec`960`features.use_linux_sandbox_bwrap`

900 961 

901Type / Values962Type / Values

902 963 

903`number`964`boolean`

904 965 

905Details966Details

906 967 

907Override the default 10s startup timeout for an MCP server.968Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).

908 969 

909Key970Key

910 971 

911`mcp_servers.<id>.tool_timeout_sec`972`features.web_search`

912 973 

913Type / Values974Type / Values

914 975 

915`number`976`boolean`

916 977 

917Details978Details

918 979 

919Override the default 60s per-tool timeout for an MCP server.980Deprecated legacy toggle; prefer the top-level `web_search` setting.

920 981 

921Key982Key

922 983 

923`mcp_servers.<id>.url`984`features.web_search_cached`

924 985 

925Type / Values986Type / Values

926 987 

927`string`988`boolean`

928 989 

929Details990Details

930 991 

931Endpoint for an MCP streamable HTTP server.992Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`.

932 993 

933Key994Key

934 995 

935`model`996`features.web_search_request`

936 997 

937Type / Values998Type / Values

938 999 

939`string`1000`boolean`

940 1001 

941Details1002Details

942 1003 

943Model to use (e.g., `gpt-5-codex`).1004Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`.

944 1005 

945Key1006Key

946 1007 

947`model_auto_compact_token_limit`1008`feedback.enabled`

948 1009 

949Type / Values1010Type / Values

950 1011 

951`number`1012`boolean`

952 1013 

953Details1014Details

954 1015 

955Token threshold that triggers automatic history compaction (unset uses model defaults).1016Enable feedback submission via `/feedback` across Codex surfaces (default: true).

956 1017 

957Key1018Key

958 1019 

959`model_context_window`1020`file_opener`

960 1021 

961Type / Values1022Type / Values

962 1023 

963`number`1024`vscode | vscode-insiders | windsurf | cursor | none`

964 1025 

965Details1026Details

966 1027 

967Context window tokens available to the active model.1028URI scheme used to open citations from Codex output (default: `vscode`).

968 1029 

969Key1030Key

970 1031 

971`model_instructions_file`1032`forced_chatgpt_workspace_id`

972 1033 

973Type / Values1034Type / Values

974 1035 

975`string (path)`1036`string (uuid)`

976 1037 

977Details1038Details

978 1039 

979Replacement for built-in instructions instead of `AGENTS.md`.1040Limit ChatGPT logins to a specific workspace identifier.

980 1041 

981Key1042Key

982 1043 

983`model_provider`1044`forced_login_method`

984 1045 

985Type / Values1046Type / Values

986 1047 

987`string`1048`chatgpt | api`

988 1049 

989Details1050Details

990 1051 

991Provider id from `model_providers` (default: `openai`).1052Restrict Codex to a specific authentication method.

992 1053 

993Key1054Key

994 1055 

995`model_providers.<id>.base_url`1056`hide_agent_reasoning`

1057 

1058Type / Values

1059 

1060`boolean`

1061 

1062Details

1063 

1064Suppress reasoning events in both the TUI and `codex exec` output.

1065 

1066Key

1067 

1068`history.max_bytes`

1069 

1070Type / Values

1071 

1072`number`

1073 

1074Details

1075 

1076If set, caps the history file size in bytes by dropping oldest entries.

1077 

1078Key

1079 

1080`history.persistence`

1081 

1082Type / Values

1083 

1084`save-all | none`

1085 

1086Details

1087 

1088Control whether Codex saves session transcripts to history.jsonl.

1089 

1090Key

1091 

1092`instructions`

996 1093 

997Type / Values1094Type / Values

998 1095 


1000 1097 

1001Details1098Details

1002 1099 

1003API base URL for the model provider.1100Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.

1004 1101 

1005Key1102Key

1006 1103 

1007`model_providers.<id>.env_http_headers`1104`log_dir`

1008 1105 

1009Type / Values1106Type / Values

1010 1107 

1011`map<string,string>`1108`string (path)`

1012 1109 

1013Details1110Details

1014 1111 

1015HTTP headers populated from environment variables when present.1112Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.

1016 1113 

1017Key1114Key

1018 1115 

1019`model_providers.<id>.env_key`1116`mcp_oauth_callback_port`

1117 

1118Type / Values

1119 

1120`integer`

1121 

1122Details

1123 

1124Optional fixed port for the local HTTP callback server used during MCP OAuth login. When unset, Codex binds to an ephemeral port chosen by the OS.

1125 

1126Key

1127 

1128`mcp_oauth_callback_url`

1020 1129 

1021Type / Values1130Type / Values

1022 1131 


1024 1133 

1025Details1134Details

1026 1135 

1027Environment variable supplying the provider API key.1136Optional redirect URI override for MCP OAuth login (for example, a devbox ingress URL). `mcp_oauth_callback_port` still controls the callback listener port.

1028 1137 

1029Key1138Key

1030 1139 

1031`model_providers.<id>.env_key_instructions`1140`mcp_oauth_credentials_store`

1141 

1142Type / Values

1143 

1144`auto | file | keyring`

1145 

1146Details

1147 

1148Preferred store for MCP OAuth credentials.

1149 

1150Key

1151 

1152`mcp_servers.<id>.args`

1153 

1154Type / Values

1155 

1156`array<string>`

1157 

1158Details

1159 

1160Arguments passed to the MCP stdio server command.

1161 

1162Key

1163 

1164`mcp_servers.<id>.bearer_token_env_var`

1032 1165 

1033Type / Values1166Type / Values

1034 1167 


1036 1169 

1037Details1170Details

1038 1171 

1039Optional setup guidance for the provider API key.1172Environment variable sourcing the bearer token for an MCP HTTP server.

1040 1173 

1041Key1174Key

1042 1175 

1043`model_providers.<id>.experimental_bearer_token`1176`mcp_servers.<id>.command`

1044 1177 

1045Type / Values1178Type / Values

1046 1179 


1048 1181 

1049Details1182Details

1050 1183 

1051Direct bearer token for the provider (discouraged; use `env_key`).1184Launcher command for an MCP stdio server.

1052 1185 

1053Key1186Key

1054 1187 

1055`model_providers.<id>.http_headers`1188`mcp_servers.<id>.cwd`

1189 

1190Type / Values

1191 

1192`string`

1193 

1194Details

1195 

1196Working directory for the MCP stdio server process.

1197 

1198Key

1199 

1200`mcp_servers.<id>.disabled_tools`

1201 

1202Type / Values

1203 

1204`array<string>`

1205 

1206Details

1207 

1208Deny list applied after `enabled_tools` for the MCP server.

1209 

1210Key

1211 

1212`mcp_servers.<id>.enabled`

1213 

1214Type / Values

1215 

1216`boolean`

1217 

1218Details

1219 

1220Disable an MCP server without removing its configuration.

1221 

1222Key

1223 

1224`mcp_servers.<id>.enabled_tools`

1225 

1226Type / Values

1227 

1228`array<string>`

1229 

1230Details

1231 

1232Allow list of tool names exposed by the MCP server.

1233 

1234Key

1235 

1236`mcp_servers.<id>.env`

1056 1237 

1057Type / Values1238Type / Values

1058 1239 


1060 1241 

1061Details1242Details

1062 1243 

1063Static HTTP headers added to provider requests.1244Environment variables forwarded to the MCP stdio server.

1064 1245 

1065Key1246Key

1066 1247 

1067`model_providers.<id>.name`1248`mcp_servers.<id>.env_http_headers`

1068 1249 

1069Type / Values1250Type / Values

1070 1251 

1071`string`1252`map<string,string>`

1072 1253 

1073Details1254Details

1074 1255 

1075Display name for a custom model provider.1256HTTP headers populated from environment variables for an MCP HTTP server.

1076 1257 

1077Key1258Key

1078 1259 

1079`model_providers.<id>.query_params`1260`mcp_servers.<id>.env_vars`

1261 

1262Type / Values

1263 

1264`array<string>`

1265 

1266Details

1267 

1268Additional environment variables to whitelist for an MCP stdio server.

1269 

1270Key

1271 

1272`mcp_servers.<id>.http_headers`

1080 1273 

1081Type / Values1274Type / Values

1082 1275 


1084 1277 

1085Details1278Details

1086 1279 

1087Extra query parameters appended to provider requests.1280Static HTTP headers included with each MCP HTTP request.

1088 1281 

1089Key1282Key

1090 1283 

1091`model_providers.<id>.request_max_retries`1284`mcp_servers.<id>.oauth_resource`

1092 1285 

1093Type / Values1286Type / Values

1094 1287 

1095`number`1288`string`

1096 1289 

1097Details1290Details

1098 1291 

1099Retry count for HTTP requests to the provider (default: 4).1292Optional RFC 8707 OAuth resource parameter to include during MCP login.

1100 1293 

1101Key1294Key

1102 1295 

1103`model_providers.<id>.requires_openai_auth`1296`mcp_servers.<id>.required`

1104 1297 

1105Type / Values1298Type / Values

1106 1299 


1108 1301 

1109Details1302Details

1110 1303 

1111The provider uses OpenAI authentication (defaults to false).1304When true, fail startup/resume if this enabled MCP server cannot initialize.

1112 1305 

1113Key1306Key

1114 1307 

1115`model_providers.<id>.stream_idle_timeout_ms`1308`mcp_servers.<id>.scopes`

1309 

1310Type / Values

1311 

1312`array<string>`

1313 

1314Details

1315 

1316OAuth scopes to request when authenticating to that MCP server.

1317 

1318Key

1319 

1320`mcp_servers.<id>.startup_timeout_ms`

1321 

1322Type / Values

1323 

1324`number`

1325 

1326Details

1327 

1328Alias for `startup_timeout_sec` in milliseconds.

1329 

1330Key

1331 

1332`mcp_servers.<id>.startup_timeout_sec`

1333 

1334Type / Values

1335 

1336`number`

1337 

1338Details

1339 

1340Override the default 10s startup timeout for an MCP server.

1341 

1342Key

1343 

1344`mcp_servers.<id>.tool_timeout_sec`

1345 

1346Type / Values

1347 

1348`number`

1349 

1350Details

1351 

1352Override the default 60s per-tool timeout for an MCP server.

1353 

1354Key

1355 

1356`mcp_servers.<id>.url`

1357 

1358Type / Values

1359 

1360`string`

1361 

1362Details

1363 

1364Endpoint for an MCP streamable HTTP server.

1365 

1366Key

1367 

1368`model`

1369 

1370Type / Values

1371 

1372`string`

1373 

1374Details

1375 

1376Model to use (e.g., `gpt-5-codex`).

1377 

1378Key

1379 

1380`model_auto_compact_token_limit`

1381 

1382Type / Values

1383 

1384`number`

1385 

1386Details

1387 

1388Token threshold that triggers automatic history compaction (unset uses model defaults).

1389 

1390Key

1391 

1392`model_catalog_json`

1393 

1394Type / Values

1395 

1396`string (path)`

1397 

1398Details

1399 

1400Optional path to a JSON model catalog loaded on startup. Profile-level `profiles.<name>.model_catalog_json` can override this per profile.

1401 

1402Key

1403 

1404`model_context_window`

1405 

1406Type / Values

1407 

1408`number`

1409 

1410Details

1411 

1412Context window tokens available to the active model.

1413 

1414Key

1415 

1416`model_instructions_file`

1417 

1418Type / Values

1419 

1420`string (path)`

1421 

1422Details

1423 

1424Replacement for built-in instructions instead of `AGENTS.md`.

1425 

1426Key

1427 

1428`model_provider`

1429 

1430Type / Values

1431 

1432`string`

1433 

1434Details

1435 

1436Provider id from `model_providers` (default: `openai`).

1437 

1438Key

1439 

1440`model_providers.<id>.base_url`

1441 

1442Type / Values

1443 

1444`string`

1445 

1446Details

1447 

1448API base URL for the model provider.

1449 

1450Key

1451 

1452`model_providers.<id>.env_http_headers`

1453 

1454Type / Values

1455 

1456`map<string,string>`

1457 

1458Details

1459 

1460HTTP headers populated from environment variables when present.

1461 

1462Key

1463 

1464`model_providers.<id>.env_key`

1465 

1466Type / Values

1467 

1468`string`

1469 

1470Details

1471 

1472Environment variable supplying the provider API key.

1473 

1474Key

1475 

1476`model_providers.<id>.env_key_instructions`

1477 

1478Type / Values

1479 

1480`string`

1481 

1482Details

1483 

1484Optional setup guidance for the provider API key.

1485 

1486Key

1487 

1488`model_providers.<id>.experimental_bearer_token`

1489 

1490Type / Values

1491 

1492`string`

1493 

1494Details

1495 

1496Direct bearer token for the provider (discouraged; use `env_key`).

1497 

1498Key

1499 

1500`model_providers.<id>.http_headers`

1501 

1502Type / Values

1503 

1504`map<string,string>`

1505 

1506Details

1507 

1508Static HTTP headers added to provider requests.

1509 

1510Key

1511 

1512`model_providers.<id>.name`

1513 

1514Type / Values

1515 

1516`string`

1517 

1518Details

1519 

1520Display name for a custom model provider.

1521 

1522Key

1523 

1524`model_providers.<id>.query_params`

1525 

1526Type / Values

1527 

1528`map<string,string>`

1529 

1530Details

1531 

1532Extra query parameters appended to provider requests.

1533 

1534Key

1535 

1536`model_providers.<id>.request_max_retries`

1537 

1538Type / Values

1539 

1540`number`

1541 

1542Details

1543 

1544Retry count for HTTP requests to the provider (default: 4).

1545 

1546Key

1547 

1548`model_providers.<id>.requires_openai_auth`

1549 

1550Type / Values

1551 

1552`boolean`

1553 

1554Details

1555 

1556The provider uses OpenAI authentication (defaults to false).

1557 

1558Key

1559 

1560`model_providers.<id>.stream_idle_timeout_ms`

1561 

1562Type / Values

1563 

1564`number`

1565 

1566Details

1567 

1568Idle timeout for SSE streams in milliseconds (default: 300000).

1569 

1570Key

1571 

1572`model_providers.<id>.stream_max_retries`

1573 

1574Type / Values

1575 

1576`number`

1577 

1578Details

1579 

1580Retry count for SSE streaming interruptions (default: 5).

1581 

1582Key

1583 

1584`model_providers.<id>.supports_websockets`

1585 

1586Type / Values

1587 

1588`boolean`

1589 

1590Details

1591 

1592Whether that provider supports the Responses API WebSocket transport.

1593 

1594Key

1595 

1596`model_providers.<id>.wire_api`

1597 

1598Type / Values

1599 

1600`responses`

1601 

1602Details

1603 

1604Protocol used by the provider. `responses` is the only supported value, and it is the default when omitted.

1605 

1606Key

1607 

1608`model_reasoning_effort`

1609 

1610Type / Values

1611 

1612`minimal | low | medium | high | xhigh`

1613 

1614Details

1615 

1616Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent).

1617 

1618Key

1619 

1620`model_reasoning_summary`

1621 

1622Type / Values

1623 

1624`auto | concise | detailed | none`

1625 

1626Details

1627 

1628Select reasoning summary detail or disable summaries entirely.

1629 

1630Key

1631 

1632`model_supports_reasoning_summaries`

1633 

1634Type / Values

1635 

1636`boolean`

1637 

1638Details

1639 

1640Force Codex to send or not send reasoning metadata.

1641 

1642Key

1643 

1644`model_verbosity`

1645 

1646Type / Values

1647 

1648`low | medium | high`

1649 

1650Details

1651 

1652Optional GPT-5 Responses API verbosity override; when unset, the selected model/preset default is used.

1653 

1654Key

1655 

1656`notice.hide_full_access_warning`

1657 

1658Type / Values

1659 

1660`boolean`

1661 

1662Details

1663 

1664Track acknowledgement of the full access warning prompt.

1665 

1666Key

1667 

1668`notice.hide_gpt-5.1-codex-max_migration_prompt`

1669 

1670Type / Values

1671 

1672`boolean`

1673 

1674Details

1675 

1676Track acknowledgement of the gpt-5.1-codex-max migration prompt.

1677 

1678Key

1679 

1680`notice.hide_gpt5_1_migration_prompt`

1681 

1682Type / Values

1683 

1684`boolean`

1685 

1686Details

1687 

1688Track acknowledgement of the GPT-5.1 migration prompt.

1689 

1690Key

1691 

1692`notice.hide_rate_limit_model_nudge`

1693 

1694Type / Values

1695 

1696`boolean`

1697 

1698Details

1699 

1700Track opt-out of the rate limit model switch reminder.

1701 

1702Key

1703 

1704`notice.hide_world_writable_warning`

1705 

1706Type / Values

1707 

1708`boolean`

1709 

1710Details

1711 

1712Track acknowledgement of the Windows world-writable directories warning.

1713 

1714Key

1715 

1716`notice.model_migrations`

1717 

1718Type / Values

1719 

1720`map<string,string>`

1721 

1722Details

1723 

1724Track acknowledged model migrations as old->new mappings.

1725 

1726Key

1727 

1728`notify`

1729 

1730Type / Values

1731 

1732`array<string>`

1733 

1734Details

1735 

1736Command invoked for notifications; receives a JSON payload from Codex.

1737 

1738Key

1739 

1740`oss_provider`

1741 

1742Type / Values

1743 

1744`lmstudio | ollama`

1745 

1746Details

1747 

1748Default local provider used when running with `--oss` (defaults to prompting if unset).

1749 

1750Key

1751 

1752`otel.environment`

1753 

1754Type / Values

1755 

1756`string`

1757 

1758Details

1759 

1760Environment tag applied to emitted OpenTelemetry events (default: `dev`).

1761 

1762Key

1763 

1764`otel.exporter`

1765 

1766Type / Values

1767 

1768`none | otlp-http | otlp-grpc`

1769 

1770Details

1771 

1772Select the OpenTelemetry exporter and provide any endpoint metadata.

1773 

1774Key

1775 

1776`otel.exporter.<id>.endpoint`

1777 

1778Type / Values

1779 

1780`string`

1781 

1782Details

1783 

1784Exporter endpoint for OTEL logs.

1785 

1786Key

1787 

1788`otel.exporter.<id>.headers`

1789 

1790Type / Values

1791 

1792`map<string,string>`

1793 

1794Details

1795 

1796Static headers included with OTEL exporter requests.

1797 

1798Key

1799 

1800`otel.exporter.<id>.protocol`

1801 

1802Type / Values

1803 

1804`binary | json`

1805 

1806Details

1807 

1808Protocol used by the OTLP/HTTP exporter.

1809 

1810Key

1811 

1812`otel.exporter.<id>.tls.ca-certificate`

1813 

1814Type / Values

1815 

1816`string`

1817 

1818Details

1819 

1820CA certificate path for OTEL exporter TLS.

1821 

1822Key

1823 

1824`otel.exporter.<id>.tls.client-certificate`

1116 1825 

1117Type / Values1826Type / Values

1118 1827 

1119`number`1828`string`

1120 1829 

1121Details1830Details

1122 1831 

1123Idle timeout for SSE streams in milliseconds (default: 300000).1832Client certificate path for OTEL exporter TLS.

1124 1833 

1125Key1834Key

1126 1835 

1127`model_providers.<id>.stream_max_retries`1836`otel.exporter.<id>.tls.client-private-key`

1128 1837 

1129Type / Values1838Type / Values

1130 1839 

1131`number`1840`string`

1132 1841 

1133Details1842Details

1134 1843 

1135Retry count for SSE streaming interruptions (default: 5).1844Client private key path for OTEL exporter TLS.

1136 1845 

1137Key1846Key

1138 1847 

1139`model_providers.<id>.wire_api`1848`otel.log_user_prompt`

1140 1849 

1141Type / Values1850Type / Values

1142 1851 

1143`chat | responses`1852`boolean`

1144 1853 

1145Details1854Details

1146 1855 

1147Protocol used by the provider (defaults to `chat` if omitted).1856Opt in to exporting raw user prompts with OpenTelemetry logs.

1148 1857 

1149Key1858Key

1150 1859 

1151`model_reasoning_effort`1860`otel.metrics_exporter`

1152 1861 

1153Type / Values1862Type / Values

1154 1863 

1155`minimal | low | medium | high | xhigh`1864`none | statsig | otlp-http | otlp-grpc`

1156 1865 

1157Details1866Details

1158 1867 

1159Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent).1868Select the OpenTelemetry metrics exporter (defaults to `statsig`).

1160 1869 

1161Key1870Key

1162 1871 

1163`model_reasoning_summary`1872`otel.trace_exporter`

1164 1873 

1165Type / Values1874Type / Values

1166 1875 

1167`auto | concise | detailed | none`1876`none | otlp-http | otlp-grpc`

1168 1877 

1169Details1878Details

1170 1879 

1171Select reasoning summary detail or disable summaries entirely.1880Select the OpenTelemetry trace exporter and provide any endpoint metadata.

1172 1881 

1173Key1882Key

1174 1883 

1175`model_supports_reasoning_summaries`1884`otel.trace_exporter.<id>.endpoint`

1176 1885 

1177Type / Values1886Type / Values

1178 1887 

1179`boolean`1888`string`

1180 1889 

1181Details1890Details

1182 1891 

1183Force Codex to send or not send reasoning metadata.1892Trace exporter endpoint for OTEL logs.

1184 1893 

1185Key1894Key

1186 1895 

1187`model_verbosity`1896`otel.trace_exporter.<id>.headers`

1188 1897 

1189Type / Values1898Type / Values

1190 1899 

1191`low | medium | high`1900`map<string,string>`

1192 1901 

1193Details1902Details

1194 1903 

1195Control GPT-5 Responses API verbosity (defaults to `medium`).1904Static headers included with OTEL trace exporter requests.

1196 1905 

1197Key1906Key

1198 1907 

1199`notice.hide_full_access_warning`1908`otel.trace_exporter.<id>.protocol`

1200 1909 

1201Type / Values1910Type / Values

1202 1911 

1203`boolean`1912`binary | json`

1204 1913 

1205Details1914Details

1206 1915 

1207Track acknowledgement of the full access warning prompt.1916Protocol used by the OTLP/HTTP trace exporter.

1208 1917 

1209Key1918Key

1210 1919 

1211`notice.hide_gpt-5.1-codex-max_migration_prompt`1920`otel.trace_exporter.<id>.tls.ca-certificate`

1212 1921 

1213Type / Values1922Type / Values

1214 1923 

1215`boolean`1924`string`

1216 1925 

1217Details1926Details

1218 1927 

1219Track acknowledgement of the gpt-5.1-codex-max migration prompt.1928CA certificate path for OTEL trace exporter TLS.

1220 1929 

1221Key1930Key

1222 1931 

1223`notice.hide_gpt5_1_migration_prompt`1932`otel.trace_exporter.<id>.tls.client-certificate`

1224 1933 

1225Type / Values1934Type / Values

1226 1935 

1227`boolean`1936`string`

1228 1937 

1229Details1938Details

1230 1939 

1231Track acknowledgement of the GPT-5.1 migration prompt.1940Client certificate path for OTEL trace exporter TLS.

1232 1941 

1233Key1942Key

1234 1943 

1235`notice.hide_rate_limit_model_nudge`1944`otel.trace_exporter.<id>.tls.client-private-key`

1236 1945 

1237Type / Values1946Type / Values

1238 1947 

1239`boolean`1948`string`

1240 1949 

1241Details1950Details

1242 1951 

1243Track opt-out of the rate limit model switch reminder.1952Client private key path for OTEL trace exporter TLS.

1244 1953 

1245Key1954Key

1246 1955 

1247`notice.hide_world_writable_warning`1956`permissions.network.admin_url`

1248 1957 

1249Type / Values1958Type / Values

1250 1959 

1251`boolean`1960`string`

1252 1961 

1253Details1962Details

1254 1963 

1255Track acknowledgement of the Windows world-writable directories warning.1964Admin endpoint for the managed network proxy.

1256 1965 

1257Key1966Key

1258 1967 

1259`notice.model_migrations`1968`permissions.network.allow_local_binding`

1260 1969 

1261Type / Values1970Type / Values

1262 1971 

1263`map<string,string>`1972`boolean`

1264 1973 

1265Details1974Details

1266 1975 

1267Track acknowledged model migrations as old->new mappings.1976Permit local bind/listen operations through the managed proxy.

1268 1977 

1269Key1978Key

1270 1979 

1271`notify`1980`permissions.network.allow_unix_sockets`

1272 1981 

1273Type / Values1982Type / Values

1274 1983 


1276 1985 

1277Details1986Details

1278 1987 

1279Command invoked for notifications; receives a JSON payload from Codex.1988Allowlist of Unix socket paths permitted through the managed proxy.

1280 1989 

1281Key1990Key

1282 1991 

1283`oss_provider`1992`permissions.network.allow_upstream_proxy`

1284 1993 

1285Type / Values1994Type / Values

1286 1995 

1287`lmstudio | ollama`1996`boolean`

1288 1997 

1289Details1998Details

1290 1999 

1291Default local provider used when running with `--oss` (defaults to prompting if unset).2000Allow the managed proxy to chain to another upstream proxy.

1292 2001 

1293Key2002Key

1294 2003 

1295`otel.environment`2004`permissions.network.allowed_domains`

1296 2005 

1297Type / Values2006Type / Values

1298 2007 

1299`string`2008`array<string>`

1300 2009 

1301Details2010Details

1302 2011 

1303Environment tag applied to emitted OpenTelemetry events (default: `dev`).2012Allowlist of domains permitted through the managed proxy.

1304 2013 

1305Key2014Key

1306 2015 

1307`otel.exporter`2016`permissions.network.dangerously_allow_all_unix_sockets`

1308 2017 

1309Type / Values2018Type / Values

1310 2019 

1311`none | otlp-http | otlp-grpc`2020`boolean`

1312 2021 

1313Details2022Details

1314 2023 

1315Select the OpenTelemetry exporter and provide any endpoint metadata.2024Allow the proxy to use arbitrary Unix sockets instead of the default restricted set.

1316 2025 

1317Key2026Key

1318 2027 

1319`otel.exporter.<id>.endpoint`2028`permissions.network.dangerously_allow_non_loopback_admin`

1320 2029 

1321Type / Values2030Type / Values

1322 2031 

1323`string`2032`boolean`

1324 2033 

1325Details2034Details

1326 2035 

1327Exporter endpoint for OTEL logs.2036Permit non-loopback bind addresses for the managed proxy admin listener.

1328 2037 

1329Key2038Key

1330 2039 

1331`otel.exporter.<id>.headers`2040`permissions.network.dangerously_allow_non_loopback_proxy`

1332 2041 

1333Type / Values2042Type / Values

1334 2043 

1335`map<string,string>`2044`boolean`

1336 2045 

1337Details2046Details

1338 2047 

1339Static headers included with OTEL exporter requests.2048Permit non-loopback bind addresses for the managed proxy listener.

1340 2049 

1341Key2050Key

1342 2051 

1343`otel.exporter.<id>.protocol`2052`permissions.network.denied_domains`

1344 2053 

1345Type / Values2054Type / Values

1346 2055 

1347`binary | json`2056`array<string>`

1348 2057 

1349Details2058Details

1350 2059 

1351Protocol used by the OTLP/HTTP exporter.2060Denylist of domains blocked by the managed proxy.

1352 2061 

1353Key2062Key

1354 2063 

1355`otel.exporter.<id>.tls.ca-certificate`2064`permissions.network.enable_socks5`

1356 2065 

1357Type / Values2066Type / Values

1358 2067 

1359`string`2068`boolean`

1360 2069 

1361Details2070Details

1362 2071 

1363CA certificate path for OTEL exporter TLS.2072Expose a SOCKS5 listener from the managed network proxy.

1364 2073 

1365Key2074Key

1366 2075 

1367`otel.exporter.<id>.tls.client-certificate`2076`permissions.network.enable_socks5_udp`

1368 2077 

1369Type / Values2078Type / Values

1370 2079 

1371`string`2080`boolean`

1372 2081 

1373Details2082Details

1374 2083 

1375Client certificate path for OTEL exporter TLS.2084Allow UDP over the SOCKS5 listener when enabled.

1376 2085 

1377Key2086Key

1378 2087 

1379`otel.exporter.<id>.tls.client-private-key`2088`permissions.network.enabled`

1380 2089 

1381Type / Values2090Type / Values

1382 2091 

1383`string`2092`boolean`

1384 2093 

1385Details2094Details

1386 2095 

1387Client private key path for OTEL exporter TLS.2096Enable the managed network proxy configuration for subprocesses.

1388 2097 

1389Key2098Key

1390 2099 

1391`otel.log_user_prompt`2100`permissions.network.mode`

1392 2101 

1393Type / Values2102Type / Values

1394 2103 

1395`boolean`2104`limited | full`

1396 2105 

1397Details2106Details

1398 2107 

1399Opt in to exporting raw user prompts with OpenTelemetry logs.2108Network proxy mode used for subprocess traffic.

1400 2109 

1401Key2110Key

1402 2111 

1403`otel.trace_exporter`2112`permissions.network.proxy_url`

1404 2113 

1405Type / Values2114Type / Values

1406 2115 

1407`none | otlp-http | otlp-grpc`2116`string`

1408 2117 

1409Details2118Details

1410 2119 

1411Select the OpenTelemetry trace exporter and provide any endpoint metadata.2120HTTP proxy endpoint used by the managed network proxy.

1412 2121 

1413Key2122Key

1414 2123 

1415`otel.trace_exporter.<id>.endpoint`2124`permissions.network.socks_url`

1416 2125 

1417Type / Values2126Type / Values

1418 2127 


1420 2129 

1421Details2130Details

1422 2131 

1423Trace exporter endpoint for OTEL logs.2132SOCKS5 proxy endpoint used by the managed network proxy.

1424 2133 

1425Key2134Key

1426 2135 

1427`otel.trace_exporter.<id>.headers`2136`personality`

1428 2137 

1429Type / Values2138Type / Values

1430 2139 

1431`map<string,string>`2140`none | friendly | pragmatic`

1432 2141 

1433Details2142Details

1434 2143 

1435Static headers included with OTEL trace exporter requests.2144Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`.

1436 2145 

1437Key2146Key

1438 2147 

1439`otel.trace_exporter.<id>.protocol`2148`plan_mode_reasoning_effort`

1440 2149 

1441Type / Values2150Type / Values

1442 2151 

1443`binary | json`2152`none | minimal | low | medium | high | xhigh`

1444 2153 

1445Details2154Details

1446 2155 

1447Protocol used by the OTLP/HTTP trace exporter.2156Plan-mode-specific reasoning override. When unset, Plan mode uses its built-in preset default.

1448 2157 

1449Key2158Key

1450 2159 

1451`otel.trace_exporter.<id>.tls.ca-certificate`2160`profile`

1452 2161 

1453Type / Values2162Type / Values

1454 2163 


1456 2165 

1457Details2166Details

1458 2167 

1459CA certificate path for OTEL trace exporter TLS.2168Default profile applied at startup (equivalent to `--profile`).

1460 2169 

1461Key2170Key

1462 2171 

1463`otel.trace_exporter.<id>.tls.client-certificate`2172`profiles.<name>.*`

1464 2173 

1465Type / Values2174Type / Values

1466 2175 

1467`string`2176`various`

1468 2177 

1469Details2178Details

1470 2179 

1471Client certificate path for OTEL trace exporter TLS.2180Profile-scoped overrides for any of the supported configuration keys.

1472 2181 

1473Key2182Key

1474 2183 

1475`otel.trace_exporter.<id>.tls.client-private-key`2184`profiles.<name>.analytics.enabled`

1476 2185 

1477Type / Values2186Type / Values

1478 2187 

1479`string`2188`boolean`

1480 2189 

1481Details2190Details

1482 2191 

1483Client private key path for OTEL trace exporter TLS.2192Profile-scoped analytics enablement override.

1484 2193 

1485Key2194Key

1486 2195 

1487`personality`2196`profiles.<name>.experimental_use_unified_exec_tool`

1488 2197 

1489Type / Values2198Type / Values

1490 2199 

1491`none | friendly | pragmatic`2200`boolean`

1492 2201 

1493Details2202Details

1494 2203 

1495Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`.2204Legacy name for enabling unified exec; prefer `[features].unified_exec`.

1496 2205 

1497Key2206Key

1498 2207 

1499`profile`2208`profiles.<name>.model_catalog_json`

1500 2209 

1501Type / Values2210Type / Values

1502 2211 

1503`string`2212`string (path)`

1504 2213 

1505Details2214Details

1506 2215 

1507Default profile applied at startup (equivalent to `--profile`).2216Profile-scoped model catalog JSON path override (applied on startup only; overrides the top-level `model_catalog_json` for that profile).

1508 2217 

1509Key2218Key

1510 2219 

1511`profiles.<name>.*`2220`profiles.<name>.model_instructions_file`

1512 2221 

1513Type / Values2222Type / Values

1514 2223 

1515`various`2224`string (path)`

1516 2225 

1517Details2226Details

1518 2227 

1519Profile-scoped overrides for any of the supported configuration keys.2228Profile-scoped replacement for the built-in instruction file.

1520 2229 

1521Key2230Key

1522 2231 

1523`profiles.<name>.experimental_use_freeform_apply_patch`2232`profiles.<name>.oss_provider`

1524 2233 

1525Type / Values2234Type / Values

1526 2235 

1527`boolean`2236`lmstudio | ollama`

1528 2237 

1529Details2238Details

1530 2239 

1531Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`.2240Profile-scoped OSS provider for `--oss` sessions.

1532 2241 

1533Key2242Key

1534 2243 

1535`profiles.<name>.experimental_use_unified_exec_tool`2244`profiles.<name>.personality`

1536 2245 

1537Type / Values2246Type / Values

1538 2247 

1539`boolean`2248`none | friendly | pragmatic`

1540 2249 

1541Details2250Details

1542 2251 

1543Legacy name for enabling unified exec; prefer `[features].unified_exec`.2252Profile-scoped communication style override for supported models.

1544 2253 

1545Key2254Key

1546 2255 

1547`profiles.<name>.include_apply_patch_tool`2256`profiles.<name>.plan_mode_reasoning_effort`

1548 2257 

1549Type / Values2258Type / Values

1550 2259 

1551`boolean`2260`none | minimal | low | medium | high | xhigh`

1552 2261 

1553Details2262Details

1554 2263 

1555Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`.2264Profile-scoped Plan-mode reasoning override.

1556 2265 

1557Key2266Key

1558 2267 

1559`profiles.<name>.oss_provider`2268`profiles.<name>.service_tier`

1560 2269 

1561Type / Values2270Type / Values

1562 2271 

1563`lmstudio | ollama`2272`flex | fast`

1564 2273 

1565Details2274Details

1566 2275 

1567Profile-scoped OSS provider for `--oss` sessions.2276Profile-scoped service tier preference for new turns.

1568 2277 

1569Key2278Key

1570 2279 

1571`profiles.<name>.personality`2280`profiles.<name>.tools_view_image`

1572 2281 

1573Type / Values2282Type / Values

1574 2283 

1575`none | friendly | pragmatic`2284`boolean`

1576 2285 

1577Details2286Details

1578 2287 

1579Profile-scoped communication style override for supported models.2288Enable or disable the `view_image` tool in that profile.

1580 2289 

1581Key2290Key

1582 2291 


1592 2301 

1593Key2302Key

1594 2303 

2304`profiles.<name>.windows.sandbox`

2305 

2306Type / Values

2307 

2308`unelevated | elevated`

2309 

2310Details

2311 

2312Profile-scoped Windows sandbox mode override.

2313 

2314Key

2315 

1595`project_doc_fallback_filenames`2316`project_doc_fallback_filenames`

1596 2317 

1597Type / Values2318Type / Values


1712 2433 

1713Key2434Key

1714 2435 

2436`service_tier`

2437 

2438Type / Values

2439 

2440`flex | fast`

2441 

2442Details

2443 

2444Preferred service tier for new turns. `fast` is honored only when the `features.fast_mode` gate is enabled.

2445 

2446Key

2447 

1715`shell_environment_policy.exclude`2448`shell_environment_policy.exclude`

1716 2449 

1717Type / Values2450Type / Values


1832 2565 

1833Key2566Key

1834 2567 

2568`sqlite_home`

2569 

2570Type / Values

2571 

2572`string (path)`

2573 

2574Details

2575 

2576Directory where Codex stores the SQLite-backed state DB used by agent jobs and other resumable runtime state.

2577 

2578Key

2579 

1835`suppress_unstable_features_warning`2580`suppress_unstable_features_warning`

1836 2581 

1837Type / Values2582Type / Values


1856 2601 

1857Key2602Key

1858 2603 

2604`tools.view_image`

2605 

2606Type / Values

2607 

2608`boolean`

2609 

2610Details

2611 

2612Enable the local-image attachment tool `view_image`.

2613 

2614Key

2615 

1859`tools.web_search`2616`tools.web_search`

1860 2617 

1861Type / Values2618Type / Values


1904 2661 

1905Key2662Key

1906 2663 

2664`tui.model_availability_nux.<model>`

2665 

2666Type / Values

2667 

2668`integer`

2669 

2670Details

2671 

2672Internal startup-tooltip state keyed by model slug.

2673 

2674Key

2675 

1907`tui.notification_method`2676`tui.notification_method`

1908 2677 

1909Type / Values2678Type / Values


1952 2721 

1953Key2722Key

1954 2723 

2724`tui.theme`

2725 

2726Type / Values

2727 

2728`string`

2729 

2730Details

2731 

2732Syntax-highlighting theme override (kebab-case theme name).

2733 

2734Key

2735 

1955`web_search`2736`web_search`

1956 2737 

1957Type / Values2738Type / Values


1974 2755 

1975Track Windows onboarding acknowledgement (Windows only).2756Track Windows onboarding acknowledgement (Windows only).

1976 2757 

2758Key

2759 

2760`windows.sandbox`

2761 

2762Type / Values

2763 

2764`unelevated | elevated`

2765 

2766Details

2767 

2768Windows-only native sandbox mode when running Codex natively on Windows.

2769 

1977Expand to view all2770Expand to view all

1978 2771 

1979You can find the latest JSON schema for `config.toml` [here](https://developers.openai.com/codex/config-schema.json).2772You can find the latest JSON schema for `config.toml` [here](https://developers.openai.com/codex/config-schema.json).


1988 2781 

1989## `requirements.toml`2782## `requirements.toml`

1990 2783 

1991`requirements.toml` is an admin-enforced configuration file that constrains security-sensitive settings users cant override. For details, locations, and examples, see [Admin-enforced requirements](https://developers.openai.com/codex/security#admin-enforced-requirements-requirementstoml).2784`requirements.toml` is an admin-enforced configuration file that constrains security-sensitive settings users can't override. For details, locations, and examples, see [Admin-enforced requirements](https://developers.openai.com/codex/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml).

1992 2785 

1993For ChatGPT Business and Enterprise users, Codex can also apply cloud-fetched2786For ChatGPT Business and Enterprise users, Codex can also apply cloud-fetched

1994requirements. See the security page for precedence details.2787requirements. See the security page for precedence details.

1995 2788 

2789Use `[features]` in `requirements.toml` to pin feature flags by the same

2790canonical keys that `config.toml` uses. Omitted keys remain unconstrained.

2791 

1996| Key | Type / Values | Details |2792| Key | Type / Values | Details |

1997| --- | --- | --- |2793| --- | --- | --- |

1998| `allowed_approval_policies` | `array<string>` | Allowed values for `approval\_policy`. |2794| `allowed_approval_policies` | `array<string>` | Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `reject`). |

1999| `allowed_sandbox_modes` | `array<string>` | Allowed values for `sandbox_mode`. |2795| `allowed_sandbox_modes` | `array<string>` | Allowed values for `sandbox_mode`. |

2000| `allowed_web_search_modes` | `array<string>` | Allowed values for `web_search` (`disabled`, `cached`, `live`). `disabled` is always allowed; an empty list effectively allows only `disabled`. |2796| `allowed_web_search_modes` | `array<string>` | Allowed values for `web_search` (`disabled`, `cached`, `live`). `disabled` is always allowed; an empty list effectively allows only `disabled`. |

2797| `features` | `table` | Pinned feature values keyed by the canonical names from `config.toml`'s `[features]` table. |

2798| `features.<name>` | `boolean` | Require a specific canonical feature key to stay enabled or disabled. |

2001| `mcp_servers` | `table` | Allowlist of MCP servers that may be enabled. Both the server name (`<id>`) and its identity must match for the MCP server to be enabled. Any configured MCP server not in the allowlist (or with a mismatched identity) is disabled. |2799| `mcp_servers` | `table` | Allowlist of MCP servers that may be enabled. Both the server name (`<id>`) and its identity must match for the MCP server to be enabled. Any configured MCP server not in the allowlist (or with a mismatched identity) is disabled. |

2002| `mcp_servers.<id>.identity` | `table` | Identity rule for a single MCP server. Set either `command` (stdio) or `url` (streamable HTTP). |2800| `mcp_servers.<id>.identity` | `table` | Identity rule for a single MCP server. Set either `command` (stdio) or `url` (streamable HTTP). |

2003| `mcp_servers.<id>.identity.command` | `string` | Allow an MCP stdio server when its `mcp_servers.<id>.command` matches this command. |2801| `mcp_servers.<id>.identity.command` | `string` | Allow an MCP stdio server when its `mcp_servers.<id>.command` matches this command. |


2020 2818 

2021Details2819Details

2022 2820 

2023Allowed values for `approval\_policy`.2821Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `reject`).

2024 2822 

2025Key2823Key

2026 2824 


2048 2846 

2049Key2847Key

2050 2848 

2849`features`

2850 

2851Type / Values

2852 

2853`table`

2854 

2855Details

2856 

2857Pinned feature values keyed by the canonical names from `config.toml`'s `[features]` table.

2858 

2859Key

2860 

2861`features.<name>`

2862 

2863Type / Values

2864 

2865`boolean`

2866 

2867Details

2868 

2869Require a specific canonical feature key to stay enabled or disabled.

2870 

2871Key

2872 

2051`mcp_servers`2873`mcp_servers`

2052 2874 

2053Type / Values2875Type / Values