config-reference.md +1175 −338
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/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
9| Key | Type / Values | Details |11| Key | Type / Values | Details |
10| --- | --- | --- |12| --- | --- | --- |
11| `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. |
12| `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.<name>.nickname_candidates` | `array<string>` | Optional pool of display nicknames for spawned agents in that role. |
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| `agents.max_depth` | `number` | Maximum nesting depth allowed for spawned agent threads (root sessions start at depth 0; default: 1). |
13| `agents.max_threads` | `number` | Maximum number of agent threads that can be open concurrently. |18| `agents.max_threads` | `number` | Maximum number of agent threads that can be open concurrently. |
1419| `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. || `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. |
1520| `apps.<id>.disabled_reason` | `unknown | user` | Optional reason attached when an app/connector is disabled. || `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`. |
16| `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. |
17| `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. |
18| `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). |
19| `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. |
20| `compact_prompt` | `string` | Inline override for the history compaction prompt. |40| `compact_prompt` | `string` | Inline override for the history compaction prompt. |
21| `developer_instructions` | `string` | Additional developer instructions injected into the session (optional). |41| `developer_instructions` | `string` | Additional developer instructions injected into the session (optional). |
22| `disable_paste_burst` | `boolean` | Disable burst-paste detection in the TUI. |42| `disable_paste_burst` | `boolean` | Disable burst-paste detection in the TUI. |
23| `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). |
24| `experimental_use_freeform_apply_patch` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform` or `codex --enable apply_patch_freeform`. |
25| `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`. |
26| `features.apply_patch_freeform` | `boolean` | Expose the freeform `apply_patch` tool (experimental). |
27| `features.apps` | `boolean` | Enable ChatGPT Apps/connectors support (experimental). |45| `features.apps` | `boolean` | Enable ChatGPT Apps/connectors support (experimental). |
28| `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). |
29| `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). |
3049| `features.collaboration_modes` | `boolean` | Enable collaboration modes such as plan mode (stable; on by default). || `features.collaboration_modes` | `boolean` | Legacy toggle for collaboration modes. Plan and default modes are available in current builds without setting this key. |
3150| `features.elevated_windows_sandbox` | `boolean` | Enable the elevated Windows sandbox pipeline (experimental). || `features.default_mode_request_user_input` | `boolean` | Allow `request_user_input` in default collaboration mode (under development; off by default). |
3251| `features.experimental_windows_sandbox` | `boolean` | Run the Windows restricted-token sandbox (experimental). || `features.elevated_windows_sandbox` | `boolean` | Legacy toggle for an earlier elevated Windows sandbox rollout. Current builds do not use it. |
3352| `features.multi_agent` | `boolean` | Enable multi-agent collaboration tools (`spawn\_agent`, `send\_input`, `resume\_agent`, `wait`, and `close\_agent`) (experimental; off by default). || `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). |
57| `features.multi_agent` | `boolean` | Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait`, `close_agent`, and `spawn_agents_on_csv`) (experimental; off by default). |
34| `features.personality` | `boolean` | Enable personality selection controls (stable; on by default). |58| `features.personality` | `boolean` | Enable personality selection controls (stable; on by default). |
3559| `features.powershell_utf8` | `boolean` | Force PowerShell UTF-8 output (defaults to true). || `features.powershell_utf8` | `boolean` | Force PowerShell UTF-8 output. Enabled by default on Windows and off elsewhere. |
3660| `features.remote_models` | `boolean` | Refresh remote model list before showing readiness (experimental). || `features.prevent_idle_sleep` | `boolean` | Prevent the machine from sleeping while a turn is actively running (experimental; off by default). |
3761| `features.request_rule` | `boolean` | Enable Smart approvals (`prefix_rule` suggestions on escalation requests; stable; on by default). || `features.remote_models` | `boolean` | Legacy toggle for an older remote-model readiness flow. Current builds do not use it. |
62| `features.request_rule` | `boolean` | Legacy toggle for Smart approvals. Current builds include this behavior by default, so most users can leave this unset. |
63| `features.responses_websockets` | `boolean` | Prefer the Responses API WebSocket transport for supported providers (under development). |
64| `features.responses_websockets_v2` | `boolean` | Enable Responses API WebSocket v2 mode (under development). |
38| `features.runtime_metrics` | `boolean` | Show runtime metrics summary in TUI turn separators (experimental). |65| `features.runtime_metrics` | `boolean` | Show runtime metrics summary in TUI turn separators (experimental). |
3966| `features.search_tool` | `boolean` | Enable `search_tool_bm25` for Apps tool discovery before invoking app MCP tools (experimental). || `features.search_tool` | `boolean` | Legacy toggle for an older Apps discovery flow. Current builds do not use it. |
4067| `features.shell_snapshot` | `boolean` | Snapshot shell environment to speed up repeated commands (beta). || `features.shell_snapshot` | `boolean` | Snapshot shell environment to speed up repeated commands (stable; on by default). |
41| `features.shell_tool` | `boolean` | Enable the default `shell` tool for running commands (stable; on by default). |68| `features.shell_tool` | `boolean` | Enable the default `shell` tool for running commands (stable; on by default). |
4269| `features.unified_exec` | `boolean` | Use the unified PTY-backed exec tool (beta). || `features.skill_env_var_dependency_prompt` | `boolean` | Prompt for missing skill environment-variable dependencies (under development). |
70| `features.skill_mcp_dependency_install` | `boolean` | Allow prompting and installing missing MCP dependencies for skills (stable; on by default). |
71| `features.sqlite` | `boolean` | Enable SQLite-backed state persistence (stable; on by default). |
72| `features.steer` | `boolean` | Legacy toggle from an earlier Enter/Tab steering rollout. Current builds always use the current steering behavior. |
73| `features.undo` | `boolean` | Enable undo support (stable; off by default). |
74| `features.unified_exec` | `boolean` | Use the unified PTY-backed exec tool (stable; enabled by default except on Windows). |
43| `features.use_linux_sandbox_bwrap` | `boolean` | Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default). |75| `features.use_linux_sandbox_bwrap` | `boolean` | Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default). |
44| `features.web_search` | `boolean` | Deprecated legacy toggle; prefer the top-level `web_search` setting. |76| `features.web_search` | `boolean` | Deprecated legacy toggle; prefer the top-level `web_search` setting. |
45| `features.web_search_cached` | `boolean` | Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`. |77| `features.web_search_cached` | `boolean` | Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`. |
51| `hide_agent_reasoning` | `boolean` | Suppress reasoning events in both the TUI and `codex exec` output. |83| `hide_agent_reasoning` | `boolean` | Suppress reasoning events in both the TUI and `codex exec` output. |
52| `history.max_bytes` | `number` | If set, caps the history file size in bytes by dropping oldest entries. |84| `history.max_bytes` | `number` | If set, caps the history file size in bytes by dropping oldest entries. |
53| `history.persistence` | `save-all | none` | Control whether Codex saves session transcripts to history.jsonl. |85| `history.persistence` | `save-all | none` | Control whether Codex saves session transcripts to history.jsonl. |
54| `include_apply_patch_tool` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`. |
55| `instructions` | `string` | Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`. |86| `instructions` | `string` | Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`. |
56| `log_dir` | `string (path)` | Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`. |87| `log_dir` | `string (path)` | Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`. |
57| `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_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. |
89| `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. |
58| `mcp_oauth_credentials_store` | `auto | file | keyring` | Preferred store for MCP OAuth credentials. |90| `mcp_oauth_credentials_store` | `auto | file | keyring` | Preferred store for MCP OAuth credentials. |
59| `mcp_servers.<id>.args` | `array<string>` | Arguments passed to the MCP stdio server command. |91| `mcp_servers.<id>.args` | `array<string>` | Arguments passed to the MCP stdio server command. |
60| `mcp_servers.<id>.bearer_token_env_var` | `string` | Environment variable sourcing the bearer token for an MCP HTTP server. |92| `mcp_servers.<id>.bearer_token_env_var` | `string` | Environment variable sourcing the bearer token for an MCP HTTP server. |
67| `mcp_servers.<id>.env_http_headers` | `map<string,string>` | HTTP headers populated from environment variables for an MCP HTTP server. |99| `mcp_servers.<id>.env_http_headers` | `map<string,string>` | HTTP headers populated from environment variables for an MCP HTTP server. |
68| `mcp_servers.<id>.env_vars` | `array<string>` | Additional environment variables to whitelist for an MCP stdio server. |100| `mcp_servers.<id>.env_vars` | `array<string>` | Additional environment variables to whitelist for an MCP stdio server. |
69| `mcp_servers.<id>.http_headers` | `map<string,string>` | Static HTTP headers included with each MCP HTTP request. |101| `mcp_servers.<id>.http_headers` | `map<string,string>` | Static HTTP headers included with each MCP HTTP request. |
102| `mcp_servers.<id>.oauth_resource` | `string` | Optional RFC 8707 OAuth resource parameter to include during MCP login. |
70| `mcp_servers.<id>.required` | `boolean` | When true, fail startup/resume if this enabled MCP server cannot initialize. |103| `mcp_servers.<id>.required` | `boolean` | When true, fail startup/resume if this enabled MCP server cannot initialize. |
104| `mcp_servers.<id>.scopes` | `array<string>` | OAuth scopes to request when authenticating to that MCP server. |
71| `mcp_servers.<id>.startup_timeout_ms` | `number` | Alias for `startup_timeout_sec` in milliseconds. |105| `mcp_servers.<id>.startup_timeout_ms` | `number` | Alias for `startup_timeout_sec` in milliseconds. |
72| `mcp_servers.<id>.startup_timeout_sec` | `number` | Override the default 10s startup timeout for an MCP server. |106| `mcp_servers.<id>.startup_timeout_sec` | `number` | Override the default 10s startup timeout for an MCP server. |
73| `mcp_servers.<id>.tool_timeout_sec` | `number` | Override the default 60s per-tool timeout for an MCP server. |107| `mcp_servers.<id>.tool_timeout_sec` | `number` | Override the default 60s per-tool timeout for an MCP server. |
74| `mcp_servers.<id>.url` | `string` | Endpoint for an MCP streamable HTTP server. |108| `mcp_servers.<id>.url` | `string` | Endpoint for an MCP streamable HTTP server. |
75| `model` | `string` | Model to use (e.g., `gpt-5-codex`). |109| `model` | `string` | Model to use (e.g., `gpt-5-codex`). |
76| `model_auto_compact_token_limit` | `number` | Token threshold that triggers automatic history compaction (unset uses model defaults). |110| `model_auto_compact_token_limit` | `number` | Token threshold that triggers automatic history compaction (unset uses model defaults). |
111| `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. |
77| `model_context_window` | `number` | Context window tokens available to the active model. |112| `model_context_window` | `number` | Context window tokens available to the active model. |
78| `model_instructions_file` | `string (path)` | Replacement for built-in instructions instead of `AGENTS.md`. |113| `model_instructions_file` | `string (path)` | Replacement for built-in instructions instead of `AGENTS.md`. |
79| `model_provider` | `string` | Provider id from `model_providers` (default: `openai`). |114| `model_provider` | `string` | Provider id from `model_providers` (default: `openai`). |
89| `model_providers.<id>.requires_openai_auth` | `boolean` | The provider uses OpenAI authentication (defaults to false). |124| `model_providers.<id>.requires_openai_auth` | `boolean` | The provider uses OpenAI authentication (defaults to false). |
90| `model_providers.<id>.stream_idle_timeout_ms` | `number` | Idle timeout for SSE streams in milliseconds (default: 300000). |125| `model_providers.<id>.stream_idle_timeout_ms` | `number` | Idle timeout for SSE streams in milliseconds (default: 300000). |
91| `model_providers.<id>.stream_max_retries` | `number` | Retry count for SSE streaming interruptions (default: 5). |126| `model_providers.<id>.stream_max_retries` | `number` | Retry count for SSE streaming interruptions (default: 5). |
92127| `model_providers.<id>.wire_api` | `chat | responses` | Protocol used by the provider (defaults to `chat` if omitted). || `model_providers.<id>.supports_websockets` | `boolean` | Whether that provider supports the Responses API WebSocket transport. |
128| `model_providers.<id>.wire_api` | `responses` | Protocol used by the provider. `responses` is the only supported value, and it is the default when omitted. |
93| `model_reasoning_effort` | `minimal | low | medium | high | xhigh` | Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent). |129| `model_reasoning_effort` | `minimal | low | medium | high | xhigh` | Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent). |
94| `model_reasoning_summary` | `auto | concise | detailed | none` | Select reasoning summary detail or disable summaries entirely. |130| `model_reasoning_summary` | `auto | concise | detailed | none` | Select reasoning summary detail or disable summaries entirely. |
95| `model_supports_reasoning_summaries` | `boolean` | Force Codex to send or not send reasoning metadata. |131| `model_supports_reasoning_summaries` | `boolean` | Force Codex to send or not send reasoning metadata. |
96132| `model_verbosity` | `low | medium | high` | Control GPT-5 Responses API verbosity (defaults to `medium`). || `model_verbosity` | `low | medium | high` | Optional GPT-5 Responses API verbosity override; when unset, the selected model/preset default is used. |
97| `notice.hide_full_access_warning` | `boolean` | Track acknowledgement of the full access warning prompt. |133| `notice.hide_full_access_warning` | `boolean` | Track acknowledgement of the full access warning prompt. |
98| `notice.hide_gpt-5.1-codex-max_migration_prompt` | `boolean` | Track acknowledgement of the gpt-5.1-codex-max migration prompt. |134| `notice.hide_gpt-5.1-codex-max_migration_prompt` | `boolean` | Track acknowledgement of the gpt-5.1-codex-max migration prompt. |
99| `notice.hide_gpt5_1_migration_prompt` | `boolean` | Track acknowledgement of the GPT-5.1 migration prompt. |135| `notice.hide_gpt5_1_migration_prompt` | `boolean` | Track acknowledgement of the GPT-5.1 migration prompt. |
111| `otel.exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL exporter TLS. |147| `otel.exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL exporter TLS. |
112| `otel.exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL exporter TLS. |148| `otel.exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL exporter TLS. |
113| `otel.log_user_prompt` | `boolean` | Opt in to exporting raw user prompts with OpenTelemetry logs. |149| `otel.log_user_prompt` | `boolean` | Opt in to exporting raw user prompts with OpenTelemetry logs. |
150| `otel.metrics_exporter` | `none | statsig | otlp-http | otlp-grpc` | Select the OpenTelemetry metrics exporter (defaults to `statsig`). |
114| `otel.trace_exporter` | `none | otlp-http | otlp-grpc` | Select the OpenTelemetry trace exporter and provide any endpoint metadata. |151| `otel.trace_exporter` | `none | otlp-http | otlp-grpc` | Select the OpenTelemetry trace exporter and provide any endpoint metadata. |
115| `otel.trace_exporter.<id>.endpoint` | `string` | Trace exporter endpoint for OTEL logs. |152| `otel.trace_exporter.<id>.endpoint` | `string` | Trace exporter endpoint for OTEL logs. |
116| `otel.trace_exporter.<id>.headers` | `map<string,string>` | Static headers included with OTEL trace exporter requests. |153| `otel.trace_exporter.<id>.headers` | `map<string,string>` | Static headers included with OTEL trace exporter requests. |
118| `otel.trace_exporter.<id>.tls.ca-certificate` | `string` | CA certificate path for OTEL trace exporter TLS. |155| `otel.trace_exporter.<id>.tls.ca-certificate` | `string` | CA certificate path for OTEL trace exporter TLS. |
119| `otel.trace_exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL trace exporter TLS. |156| `otel.trace_exporter.<id>.tls.client-certificate` | `string` | Client certificate path for OTEL trace exporter TLS. |
120| `otel.trace_exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL trace exporter TLS. |157| `otel.trace_exporter.<id>.tls.client-private-key` | `string` | Client private key path for OTEL trace exporter TLS. |
158| `permissions.network.admin_url` | `string` | Admin endpoint for the managed network proxy. |
159| `permissions.network.allow_local_binding` | `boolean` | Permit local bind/listen operations through the managed proxy. |
160| `permissions.network.allow_unix_sockets` | `array<string>` | Allowlist of Unix socket paths permitted through the managed proxy. |
161| `permissions.network.allow_upstream_proxy` | `boolean` | Allow the managed proxy to chain to another upstream proxy. |
162| `permissions.network.allowed_domains` | `array<string>` | Allowlist of domains permitted through the managed proxy. |
163| `permissions.network.dangerously_allow_all_unix_sockets` | `boolean` | Allow the proxy to use arbitrary Unix sockets instead of the default restricted set. |
164| `permissions.network.dangerously_allow_non_loopback_admin` | `boolean` | Permit non-loopback bind addresses for the managed proxy admin listener. |
165| `permissions.network.dangerously_allow_non_loopback_proxy` | `boolean` | Permit non-loopback bind addresses for the managed proxy listener. |
166| `permissions.network.denied_domains` | `array<string>` | Denylist of domains blocked by the managed proxy. |
167| `permissions.network.enable_socks5` | `boolean` | Expose a SOCKS5 listener from the managed network proxy. |
168| `permissions.network.enable_socks5_udp` | `boolean` | Allow UDP over the SOCKS5 listener when enabled. |
169| `permissions.network.enabled` | `boolean` | Enable the managed network proxy configuration for subprocesses. |
170| `permissions.network.mode` | `limited | full` | Network proxy mode used for subprocess traffic. |
171| `permissions.network.proxy_url` | `string` | HTTP proxy endpoint used by the managed network proxy. |
172| `permissions.network.socks_url` | `string` | SOCKS5 proxy endpoint used by the managed network proxy. |
121| `personality` | `none | friendly | pragmatic` | Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`. |173| `personality` | `none | friendly | pragmatic` | Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`. |
174| `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. |
122| `profile` | `string` | Default profile applied at startup (equivalent to `--profile`). |175| `profile` | `string` | Default profile applied at startup (equivalent to `--profile`). |
123| `profiles.<name>.*` | `various` | Profile-scoped overrides for any of the supported configuration keys. |176| `profiles.<name>.*` | `various` | Profile-scoped overrides for any of the supported configuration keys. |
124177| `profiles.<name>.experimental_use_freeform_apply_patch` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`. || `profiles.<name>.analytics.enabled` | `boolean` | Profile-scoped analytics enablement override. |
125| `profiles.<name>.experimental_use_unified_exec_tool` | `boolean` | Legacy name for enabling unified exec; prefer `[features].unified_exec`. |178| `profiles.<name>.experimental_use_unified_exec_tool` | `boolean` | Legacy name for enabling unified exec; prefer `[features].unified_exec`. |
126179| `profiles.<name>.include_apply_patch_tool` | `boolean` | Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`. || `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). |
180| `profiles.<name>.model_instructions_file` | `string (path)` | Profile-scoped replacement for the built-in instruction file. |
127| `profiles.<name>.oss_provider` | `lmstudio | ollama` | Profile-scoped OSS provider for `--oss` sessions. |181| `profiles.<name>.oss_provider` | `lmstudio | ollama` | Profile-scoped OSS provider for `--oss` sessions. |
128| `profiles.<name>.personality` | `none | friendly | pragmatic` | Profile-scoped communication style override for supported models. |182| `profiles.<name>.personality` | `none | friendly | pragmatic` | Profile-scoped communication style override for supported models. |
183| `profiles.<name>.plan_mode_reasoning_effort` | `none | minimal | low | medium | high | xhigh` | Profile-scoped Plan-mode reasoning override. |
184| `profiles.<name>.service_tier` | `flex | fast` | Profile-scoped service tier preference for new turns. |
185| `profiles.<name>.tools_view_image` | `boolean` | Enable or disable the `view_image` tool in that profile. |
129| `profiles.<name>.web_search` | `disabled | cached | live` | Profile-scoped web search mode override (default: `"cached"`). |186| `profiles.<name>.web_search` | `disabled | cached | live` | Profile-scoped web search mode override (default: `"cached"`). |
187| `profiles.<name>.windows.sandbox` | `unelevated | elevated` | Profile-scoped Windows sandbox mode override. |
130| `project_doc_fallback_filenames` | `array<string>` | Additional filenames to try when `AGENTS.md` is missing. |188| `project_doc_fallback_filenames` | `array<string>` | Additional filenames to try when `AGENTS.md` is missing. |
131| `project_doc_max_bytes` | `number` | Maximum bytes read from `AGENTS.md` when building project instructions. |189| `project_doc_max_bytes` | `number` | Maximum bytes read from `AGENTS.md` when building project instructions. |
132| `project_root_markers` | `array<string>` | List of project root marker filenames; used when searching parent directories for the project root. |190| `project_root_markers` | `array<string>` | List of project root marker filenames; used when searching parent directories for the project root. |
137| `sandbox_workspace_write.exclude_tmpdir_env_var` | `boolean` | Exclude `$TMPDIR` from writable roots in workspace-write mode. |195| `sandbox_workspace_write.exclude_tmpdir_env_var` | `boolean` | Exclude `$TMPDIR` from writable roots in workspace-write mode. |
138| `sandbox_workspace_write.network_access` | `boolean` | Allow outbound network access inside the workspace-write sandbox. |196| `sandbox_workspace_write.network_access` | `boolean` | Allow outbound network access inside the workspace-write sandbox. |
139| `sandbox_workspace_write.writable_roots` | `array<string>` | Additional writable roots when `sandbox_mode = "workspace-write"`. |197| `sandbox_workspace_write.writable_roots` | `array<string>` | Additional writable roots when `sandbox_mode = "workspace-write"`. |
198| `service_tier` | `flex | fast` | Preferred service tier for new turns. `fast` is honored only when the `features.fast_mode` gate is enabled. |
140| `shell_environment_policy.exclude` | `array<string>` | Glob patterns for removing environment variables after the defaults. |199| `shell_environment_policy.exclude` | `array<string>` | Glob patterns for removing environment variables after the defaults. |
141| `shell_environment_policy.experimental_use_profile` | `boolean` | Use the user shell profile when spawning subprocesses. |200| `shell_environment_policy.experimental_use_profile` | `boolean` | Use the user shell profile when spawning subprocesses. |
142| `shell_environment_policy.ignore_default_excludes` | `boolean` | Keep variables containing KEY/SECRET/TOKEN before other filters run. |201| `shell_environment_policy.ignore_default_excludes` | `boolean` | Keep variables containing KEY/SECRET/TOKEN before other filters run. |
147| `skills.config` | `array<object>` | Per-skill enablement overrides stored in config.toml. |206| `skills.config` | `array<object>` | Per-skill enablement overrides stored in config.toml. |
148| `skills.config.<index>.enabled` | `boolean` | Enable or disable the referenced skill. |207| `skills.config.<index>.enabled` | `boolean` | Enable or disable the referenced skill. |
149| `skills.config.<index>.path` | `string (path)` | Path to a skill folder containing `SKILL.md`. |208| `skills.config.<index>.path` | `string (path)` | Path to a skill folder containing `SKILL.md`. |
209| `sqlite_home` | `string (path)` | Directory where Codex stores the SQLite-backed state DB used by agent jobs and other resumable runtime state. |
150| `suppress_unstable_features_warning` | `boolean` | Suppress the warning that appears when under-development feature flags are enabled. |210| `suppress_unstable_features_warning` | `boolean` | Suppress the warning that appears when under-development feature flags are enabled. |
151| `tool_output_token_limit` | `number` | Token budget for storing individual tool/function outputs in history. |211| `tool_output_token_limit` | `number` | Token budget for storing individual tool/function outputs in history. |
212| `tools.view_image` | `boolean` | Enable the local-image attachment tool `view_image`. |
152| `tools.web_search` | `boolean` | Deprecated legacy toggle for web search; prefer the top-level `web_search` setting. |213| `tools.web_search` | `boolean` | Deprecated legacy toggle for web search; prefer the top-level `web_search` setting. |
153| `tui` | `table` | TUI-specific options such as enabling inline desktop notifications. |214| `tui` | `table` | TUI-specific options such as enabling inline desktop notifications. |
154| `tui.alternate_screen` | `auto | always | never` | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |215| `tui.alternate_screen` | `auto | always | never` | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |
155| `tui.animations` | `boolean` | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |216| `tui.animations` | `boolean` | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |
217| `tui.model_availability_nux.<model>` | `integer` | Internal startup-tooltip state keyed by model slug. |
156| `tui.notification_method` | `auto | osc9 | bel` | Notification method for unfocused terminal notifications (default: auto). |218| `tui.notification_method` | `auto | osc9 | bel` | Notification method for unfocused terminal notifications (default: auto). |
157| `tui.notifications` | `boolean | array<string>` | Enable TUI notifications; optionally restrict to specific event types. |219| `tui.notifications` | `boolean | array<string>` | Enable TUI notifications; optionally restrict to specific event types. |
158| `tui.show_tooltips` | `boolean` | Show onboarding tooltips in the TUI welcome screen (default: true). |220| `tui.show_tooltips` | `boolean` | Show onboarding tooltips in the TUI welcome screen (default: true). |
159| `tui.status_line` | `array<string> | null` | Ordered list of TUI footer status-line item identifiers. `null` disables the status line. |221| `tui.status_line` | `array<string> | null` | Ordered list of TUI footer status-line item identifiers. `null` disables the status line. |
222| `tui.theme` | `string` | Syntax-highlighting theme override (kebab-case theme name). |
160| `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. |223| `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. |
161| `windows_wsl_setup_acknowledged` | `boolean` | Track Windows onboarding acknowledgement (Windows only). |224| `windows_wsl_setup_acknowledged` | `boolean` | Track Windows onboarding acknowledgement (Windows only). |
225| `windows.sandbox` | `unelevated | elevated` | Windows-only native sandbox mode when running Codex natively on Windows. |
162 226
163Key227Key
164 228
186 250
187Key251Key
188 252
189253`agents.max_threads``agents.<name>.nickname_candidates`
190 254
191Type / Values255Type / Values
192 256
193257`number``array<string>`
194 258
195Details259Details
196 260
197261Maximum number of agent threads that can be open concurrently.Optional pool of display nicknames for spawned agents in that role.
198 262
199Key263Key
200 264
201265`approval_policy``agents.job_max_runtime_seconds`
202 266
203Type / Values267Type / Values
204 268
205269`untrusted | on-request | never``number`
206 270
207Details271Details
208 272
209273Controls when Codex pauses for approval before executing commands. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.Default per-worker timeout for `spawn_agents_on_csv` jobs. When unset, the tool falls back to 1800 seconds per worker.
210 274
211Key275Key
212 276
213277`apps.<id>.disabled_reason``agents.max_depth`
214 278
215Type / Values279Type / Values
216 280
217281`unknown | user``number`
218 282
219Details283Details
220 284
221285Optional reason attached when an app/connector is disabled.Maximum nesting depth allowed for spawned agent threads (root sessions start at depth 0; default: 1).
222 286
223Key287Key
224 288
225289`apps.<id>.enabled``agents.max_threads`
226 290
227Type / Values291Type / Values
228 292
229293`boolean``number`
230 294
231Details295Details
232 296
233297Enable or disable a specific app/connector by id (default: true).Maximum number of agent threads that can be open concurrently.
234 298
235Key299Key
236 300
237301`chatgpt_base_url``allow_login_shell`
238 302
239Type / Values303Type / Values
240 304
241305`string``boolean`
242 306
243Details307Details
244 308
245309Override the base URL used during the ChatGPT login flow.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.
246 310
247Key311Key
248 312
249313`check_for_update_on_startup``analytics.enabled`
250 314
251Type / Values315Type / Values
252 316
254 318
255Details319Details
256 320
257321Check for Codex updates on startup (set to false only when updates are centrally managed).Enable or disable analytics for this machine/profile. When unset, the client default applies.
258 322
259Key323Key
260 324
261325`cli_auth_credentials_store``approval_policy`
262 326
263Type / Values327Type / Values
264 328
265329`file | keyring | auto``untrusted | on-request | never | { reject = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool } }`
266 330
267Details331Details
268 332
269333Control where the CLI stores cached credentials (file-based auth.json vs OS keychain).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.
270 334
271Key335Key
272 336
273337`compact_prompt``approval_policy.reject.mcp_elicitations`
274 338
275Type / Values339Type / Values
276 340
277341`string``boolean`
278 342
279Details343Details
280 344
281345Inline override for the history compaction prompt.When `true`, MCP elicitation prompts are auto-rejected instead of shown to the user.
282 346
283Key347Key
284 348
285349`developer_instructions``approval_policy.reject.rules`
286 350
287Type / Values351Type / Values
288 352
289353`string``boolean`
290 354
291Details355Details
292 356
293357Additional developer instructions injected into the session (optional).When `true`, approvals triggered by execpolicy `prompt` rules are auto-rejected.
294 358
295Key359Key
296 360
297361`disable_paste_burst``approval_policy.reject.sandbox_approval`
298 362
299Type / Values363Type / Values
300 364
302 366
303Details367Details
304 368
305369Disable burst-paste detection in the TUI.When `true`, sandbox escalation approval prompts are auto-rejected.
306 370
307Key371Key
308 372
309373`experimental_compact_prompt_file``apps._default.destructive_enabled`
310 374
311Type / Values375Type / Values
312 376
313377`string (path)``boolean`
314 378
315Details379Details
316 380
317381Load the compaction prompt override from a file (experimental).Default allow/deny for app tools with `destructive_hint = true`.
318 382
319Key383Key
320 384
321385`experimental_use_freeform_apply_patch``apps._default.enabled`
322 386
323Type / Values387Type / Values
324 388
326 390
327Details391Details
328 392
329393Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform` or `codex --enable apply_patch_freeform`.Default app enabled state for all apps unless overridden per app.
330 394
331Key395Key
332 396
333397`experimental_use_unified_exec_tool``apps._default.open_world_enabled`
334 398
335Type / Values399Type / Values
336 400
338 402
339Details403Details
340 404
341405Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`.Default allow/deny for app tools with `open_world_hint = true`.
342 406
343Key407Key
344 408
345409`features.apply_patch_freeform``apps.<id>.default_tools_approval_mode`
346 410
347Type / Values411Type / Values
348 412
349413`boolean``auto | prompt | approve`
350 414
351Details415Details
352 416
353417Expose the freeform `apply_patch` tool (experimental).Default approval behavior for tools in this app unless a per-tool override exists.
354 418
355Key419Key
356 420
357421`features.apps``apps.<id>.default_tools_enabled`
358 422
359Type / Values423Type / Values
360 424
362 426
363Details427Details
364 428
365429Enable ChatGPT Apps/connectors support (experimental).Default enabled state for tools in this app unless a per-tool override exists.
366 430
367Key431Key
368 432
369433`features.apps_mcp_gateway``apps.<id>.destructive_enabled`
370 434
371Type / Values435Type / Values
372 436
374 438
375Details439Details
376 440
377441Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).Allow or block tools in this app that advertise `destructive_hint = true`.
378 442
379Key443Key
380 444
381445`features.child_agents_md``apps.<id>.enabled`
382 446
383Type / Values447Type / Values
384 448
386 450
387Details451Details
388 452
389453Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).Enable or disable a specific app/connector by id (default: true).
390 454
391Key455Key
392 456
393457`features.collaboration_modes``apps.<id>.open_world_enabled`
394 458
395Type / Values459Type / Values
396 460
398 462
399Details463Details
400 464
401465Enable collaboration modes such as plan mode (stable; on by default).Allow or block tools in this app that advertise `open_world_hint = true`.
402 466
403Key467Key
404 468
405469`features.elevated_windows_sandbox``apps.<id>.tools.<tool>.approval_mode`
406 470
407Type / Values471Type / Values
408 472
409473`boolean``auto | prompt | approve`
410 474
411Details475Details
412 476
413477Enable the elevated Windows sandbox pipeline (experimental).Per-tool approval behavior override for a single app tool.
414 478
415Key479Key
416 480
417481`features.experimental_windows_sandbox``apps.<id>.tools.<tool>.enabled`
418 482
419Type / Values483Type / Values
420 484
422 486
423Details487Details
424 488
425489Run the Windows restricted-token sandbox (experimental).Per-tool enabled override for an app tool (for example `repos/list`).
426 490
427Key491Key
428 492
429493`features.multi_agent``background_terminal_max_timeout`
430 494
431Type / Values495Type / Values
432 496
433497`boolean``number`
434 498
435Details499Details
436 500
437501Enable multi-agent collaboration tools (`spawn\_agent`, `send\_input`, `resume\_agent`, `wait`, and `close\_agent`) (experimental; off by default).Maximum poll window in milliseconds for empty `write_stdin` polls (background terminal polling). Default: `300000` (5 minutes). Replaces the older `background_terminal_timeout` key.
438 502
439Key503Key
440 504
441505`features.personality``chatgpt_base_url`
442 506
443Type / Values507Type / Values
444 508
445509`boolean``string`
446 510
447Details511Details
448 512
449513Enable personality selection controls (stable; on by default).Override the base URL used during the ChatGPT login flow.
450 514
451Key515Key
452 516
453517`features.powershell_utf8``check_for_update_on_startup`
454 518
455Type / Values519Type / Values
456 520
458 522
459Details523Details
460 524
461525Force PowerShell UTF-8 output (defaults to true).Check for Codex updates on startup (set to false only when updates are centrally managed).
462 526
463Key527Key
464 528
465529`features.remote_models``cli_auth_credentials_store`
466 530
467Type / Values531Type / Values
468 532
469533`boolean``file | keyring | auto`
470 534
471Details535Details
472 536
473537Refresh remote model list before showing readiness (experimental).Control where the CLI stores cached credentials (file-based auth.json vs OS keychain).
474 538
475Key539Key
476 540
477541`features.request_rule``commit_attribution`
478 542
479Type / Values543Type / Values
480 544
481545`boolean``string`
482 546
483Details547Details
484 548
485549Enable Smart approvals (`prefix_rule` suggestions on escalation requests; stable; on by default).Override the commit co-author trailer text. Set an empty string to disable automatic attribution.
486 550
487Key551Key
488 552
489553`features.runtime_metrics``compact_prompt`
490 554
491Type / Values555Type / Values
492 556
493557`boolean``string`
494 558
495Details559Details
496 560
497561Show runtime metrics summary in TUI turn separators (experimental).Inline override for the history compaction prompt.
498 562
499Key563Key
500 564
501565`features.search_tool``developer_instructions`
502 566
503Type / Values567Type / Values
504 568
505569`boolean``string`
506 570
507Details571Details
508 572
509573Enable `search_tool_bm25` for Apps tool discovery before invoking app MCP tools (experimental).Additional developer instructions injected into the session (optional).
510 574
511Key575Key
512 576
513577`features.shell_snapshot``disable_paste_burst`
514 578
515Type / Values579Type / Values
516 580
518 582
519Details583Details
520 584
521585Snapshot shell environment to speed up repeated commands (beta).Disable burst-paste detection in the TUI.
522 586
523Key587Key
524 588
525589`features.shell_tool``experimental_compact_prompt_file`
526 590
527Type / Values591Type / Values
528 592
529593`boolean``string (path)`
530 594
531Details595Details
532 596
533597Enable the default `shell` tool for running commands (stable; on by default).Load the compaction prompt override from a file (experimental).
534 598
535Key599Key
536 600
537601`features.unified_exec``experimental_use_unified_exec_tool`
538 602
539Type / Values603Type / Values
540 604
542 606
543Details607Details
544 608
545609Use the unified PTY-backed exec tool (beta).Legacy name for enabling unified exec; prefer `[features].unified_exec` or `codex --enable unified_exec`.
546 610
547Key611Key
548 612
549613`features.use_linux_sandbox_bwrap``features.apps`
550 614
551Type / Values615Type / Values
552 616
554 618
555Details619Details
556 620
557621Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).Enable ChatGPT Apps/connectors support (experimental).
558 622
559Key623Key
560 624
561625`features.web_search``features.apps_mcp_gateway`
562 626
563Type / Values627Type / Values
564 628
566 630
567Details631Details
568 632
569633Deprecated legacy toggle; prefer the top-level `web_search` setting.Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).
570 634
571Key635Key
572 636
573637`features.web_search_cached``features.artifact`
574 638
575Type / Values639Type / Values
576 640
578 642
579Details643Details
580 644
581645Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`.Enable native artifact tools such as slides and spreadsheets (under development).
582 646
583Key647Key
584 648
585649`features.web_search_request``features.child_agents_md`
586 650
587Type / Values651Type / Values
588 652
590 654
591Details655Details
592 656
593657Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`.Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).
594 658
595Key659Key
596 660
597661`feedback.enabled``features.collaboration_modes`
598 662
599Type / Values663Type / Values
600 664
602 666
603Details667Details
604 668
605669Enable feedback submission via `/feedback` across Codex surfaces (default: true).Legacy toggle for collaboration modes. Plan and default modes are available in current builds without setting this key.
606 670
607Key671Key
608 672
609673`file_opener``features.default_mode_request_user_input`
610 674
611Type / Values675Type / Values
612 676
613677`vscode | vscode-insiders | windsurf | cursor | none``boolean`
614 678
615Details679Details
616 680
617681URI scheme used to open citations from Codex output (default: `vscode`).Allow `request_user_input` in default collaboration mode (under development; off by default).
618 682
619Key683Key
620 684
621685`forced_chatgpt_workspace_id``features.elevated_windows_sandbox`
622 686
623Type / Values687Type / Values
624 688
625689`string (uuid)``boolean`
626 690
627Details691Details
628 692
629693Limit ChatGPT logins to a specific workspace identifier.Legacy toggle for an earlier elevated Windows sandbox rollout. Current builds do not use it.
630 694
631Key695Key
632 696
633697`forced_login_method``features.enable_request_compression`
634 698
635Type / Values699Type / Values
636 700
637701`chatgpt | api``boolean`
638 702
639Details703Details
640 704
641705Restrict Codex to a specific authentication method.Compress streaming request bodies with zstd when supported (stable; on by default).
642 706
643Key707Key
644 708
645709`hide_agent_reasoning``features.experimental_windows_sandbox`
646 710
647Type / Values711Type / Values
648 712
650 714
651Details715Details
652 716
653717Suppress reasoning events in both the TUI and `codex exec` output.Legacy toggle for an earlier Windows sandbox rollout. Current builds do not use it.
654 718
655Key719Key
656 720
657721`history.max_bytes``features.fast_mode`
658 722
659Type / Values723Type / Values
660 724
661725`number``boolean`
662 726
663Details727Details
664 728
665729If set, caps the history file size in bytes by dropping oldest entries.Enable Fast mode selection and the `service_tier = "fast"` path (stable; on by default).
666 730
667Key731Key
668 732
669733`history.persistence``features.image_detail_original`
670 734
671Type / Values735Type / Values
672 736
673737`save-all | none``boolean`
674 738
675Details739Details
676 740
677741Control whether Codex saves session transcripts to history.jsonl.Allow image outputs with `detail = "original"` on supported models (under development).
678 742
679Key743Key
680 744
681745`include_apply_patch_tool``features.image_generation`
682 746
683Type / Values747Type / Values
684 748
686 750
687Details751Details
688 752
689753Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`.Enable the built-in image generation tool (under development).
690 754
691Key755Key
692 756
693757`instructions``features.multi_agent`
694 758
695Type / Values759Type / Values
696 760
697761`string``boolean`
698 762
699Details763Details
700 764
701765Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait`, `close_agent`, and `spawn_agents_on_csv`) (experimental; off by default).
702 766
703Key767Key
704 768
705769`log_dir``features.personality`
706 770
707Type / Values771Type / Values
708 772
709773`string (path)``boolean`
710 774
711Details775Details
712 776
713777Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.Enable personality selection controls (stable; on by default).
714 778
715Key779Key
716 780
717781`mcp_oauth_callback_port``features.powershell_utf8`
718 782
719Type / Values783Type / Values
720 784
721785`integer``boolean`
722 786
723Details787Details
724 788
725789Optional 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.Force PowerShell UTF-8 output. Enabled by default on Windows and off elsewhere.
726 790
727Key791Key
728 792
729793`mcp_oauth_credentials_store``features.prevent_idle_sleep`
730 794
731Type / Values795Type / Values
732 796
733797`auto | file | keyring``boolean`
734 798
735Details799Details
736 800
737801Preferred store for MCP OAuth credentials.Prevent the machine from sleeping while a turn is actively running (experimental; off by default).
738 802
739Key803Key
740 804
741805`mcp_servers.<id>.args``features.remote_models`
742 806
743Type / Values807Type / Values
744 808
745809`array<string>``boolean`
746 810
747Details811Details
748 812
749813Arguments passed to the MCP stdio server command.Legacy toggle for an older remote-model readiness flow. Current builds do not use it.
750 814
751Key815Key
752 816
753817`mcp_servers.<id>.bearer_token_env_var``features.request_rule`
754 818
755Type / Values819Type / Values
756 820
757821`string``boolean`
758 822
759Details823Details
760 824
761825Environment variable sourcing the bearer token for an MCP HTTP server.Legacy toggle for Smart approvals. Current builds include this behavior by default, so most users can leave this unset.
762 826
763Key827Key
764 828
765829`mcp_servers.<id>.command``features.responses_websockets`
766 830
767Type / Values831Type / Values
768 832
769833`string``boolean`
770 834
771Details835Details
772 836
773837Launcher command for an MCP stdio server.Prefer the Responses API WebSocket transport for supported providers (under development).
774 838
775Key839Key
776 840
777841`mcp_servers.<id>.cwd``features.responses_websockets_v2`
778 842
779Type / Values843Type / Values
780 844
781845`string``boolean`
782 846
783Details847Details
784 848
785849Working directory for the MCP stdio server process.Enable Responses API WebSocket v2 mode (under development).
786 850
787Key851Key
788 852
789853`mcp_servers.<id>.disabled_tools``features.runtime_metrics`
790 854
791Type / Values855Type / Values
792 856
793857`array<string>``boolean`
794 858
795Details859Details
796 860
797861Deny list applied after `enabled_tools` for the MCP server.Show runtime metrics summary in TUI turn separators (experimental).
798 862
799Key863Key
800 864
801865`mcp_servers.<id>.enabled``features.search_tool`
802 866
803Type / Values867Type / Values
804 868
806 870
807Details871Details
808 872
809873Disable an MCP server without removing its configuration.Legacy toggle for an older Apps discovery flow. Current builds do not use it.
810 874
811Key875Key
812 876
813877`mcp_servers.<id>.enabled_tools``features.shell_snapshot`
814 878
815Type / Values879Type / Values
816 880
817881`array<string>``boolean`
818 882
819Details883Details
820 884
821885Allow list of tool names exposed by the MCP server.Snapshot shell environment to speed up repeated commands (stable; on by default).
822 886
823Key887Key
824 888
825889`mcp_servers.<id>.env``features.shell_tool`
826 890
827Type / Values891Type / Values
828 892
829893`map<string,string>``boolean`
830 894
831Details895Details
832 896
833897Environment variables forwarded to the MCP stdio server.Enable the default `shell` tool for running commands (stable; on by default).
834 898
835Key899Key
836 900
837901`mcp_servers.<id>.env_http_headers``features.skill_env_var_dependency_prompt`
838 902
839Type / Values903Type / Values
840 904
841905`map<string,string>``boolean`
842 906
843Details907Details
844 908
845909HTTP headers populated from environment variables for an MCP HTTP server.Prompt for missing skill environment-variable dependencies (under development).
846 910
847Key911Key
848 912
849913`mcp_servers.<id>.env_vars``features.skill_mcp_dependency_install`
850 914
851Type / Values915Type / Values
852 916
853917`array<string>``boolean`
854 918
855Details919Details
856 920
857921Additional environment variables to whitelist for an MCP stdio server.Allow prompting and installing missing MCP dependencies for skills (stable; on by default).
858 922
859Key923Key
860 924
861925`mcp_servers.<id>.http_headers``features.sqlite`
862 926
863Type / Values927Type / Values
864 928
865929`map<string,string>``boolean`
866 930
867Details931Details
868 932
869933Static HTTP headers included with each MCP HTTP request.Enable SQLite-backed state persistence (stable; on by default).
870 934
871Key935Key
872 936
873937`mcp_servers.<id>.required``features.steer`
874 938
875Type / Values939Type / Values
876 940
878 942
879Details943Details
880 944
881945When true, fail startup/resume if this enabled MCP server cannot initialize.Legacy toggle from an earlier Enter/Tab steering rollout. Current builds always use the current steering behavior.
882 946
883Key947Key
884 948
885949`mcp_servers.<id>.startup_timeout_ms``features.undo`
886 950
887Type / Values951Type / Values
888 952
889953`number``boolean`
890 954
891Details955Details
892 956
893957Alias for `startup_timeout_sec` in milliseconds.Enable undo support (stable; off by default).
894 958
895Key959Key
896 960
897961`mcp_servers.<id>.startup_timeout_sec``features.unified_exec`
898 962
899Type / Values963Type / Values
900 964
901965`number``boolean`
902 966
903Details967Details
904 968
905969Override the default 10s startup timeout for an MCP server.Use the unified PTY-backed exec tool (stable; enabled by default except on Windows).
906 970
907Key971Key
908 972
909973`mcp_servers.<id>.tool_timeout_sec``features.use_linux_sandbox_bwrap`
910 974
911Type / Values975Type / Values
912 976
913977`number``boolean`
914 978
915Details979Details
916 980
917981Override the default 60s per-tool timeout for an MCP server.Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).
918 982
919Key983Key
920 984
921985`mcp_servers.<id>.url``features.web_search`
922 986
923Type / Values987Type / Values
924 988
925989`string``boolean`
926 990
927Details991Details
928 992
929993Endpoint for an MCP streamable HTTP server.Deprecated legacy toggle; prefer the top-level `web_search` setting.
930 994
931Key995Key
932 996
933997`model``features.web_search_cached`
934 998
935Type / Values999Type / Values
936 1000
9371001`string``boolean`
938 1002
939Details1003Details
940 1004
9411005Model to use (e.g., `gpt-5-codex`).Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`.
942 1006
943Key1007Key
944 1008
9451009`model_auto_compact_token_limit``features.web_search_request`
946 1010
947Type / Values1011Type / Values
948 1012
9491013`number``boolean`
950 1014
951Details1015Details
952 1016
9531017Token threshold that triggers automatic history compaction (unset uses model defaults).Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`.
954 1018
955Key1019Key
956 1020
9571021`model_context_window``feedback.enabled`
958 1022
959Type / Values1023Type / Values
960 1024
9611025`number``boolean`
962 1026
963Details1027Details
964 1028
9651029Context window tokens available to the active model.Enable feedback submission via `/feedback` across Codex surfaces (default: true).
966 1030
967Key1031Key
968 1032
9691033`model_instructions_file``file_opener`
970 1034
971Type / Values1035Type / Values
972 1036
9731037`string (path)``vscode | vscode-insiders | windsurf | cursor | none`
974 1038
975Details1039Details
976 1040
9771041Replacement for built-in instructions instead of `AGENTS.md`.URI scheme used to open citations from Codex output (default: `vscode`).
978 1042
979Key1043Key
980 1044
9811045`model_provider``forced_chatgpt_workspace_id`
1046
1047Type / Values
1048
1049`string (uuid)`
1050
1051Details
1052
1053Limit ChatGPT logins to a specific workspace identifier.
1054
1055Key
1056
1057`forced_login_method`
1058
1059Type / Values
1060
1061`chatgpt | api`
1062
1063Details
1064
1065Restrict Codex to a specific authentication method.
1066
1067Key
1068
1069`hide_agent_reasoning`
1070
1071Type / Values
1072
1073`boolean`
1074
1075Details
1076
1077Suppress reasoning events in both the TUI and `codex exec` output.
1078
1079Key
1080
1081`history.max_bytes`
1082
1083Type / Values
1084
1085`number`
1086
1087Details
1088
1089If set, caps the history file size in bytes by dropping oldest entries.
1090
1091Key
1092
1093`history.persistence`
1094
1095Type / Values
1096
1097`save-all | none`
1098
1099Details
1100
1101Control whether Codex saves session transcripts to history.jsonl.
1102
1103Key
1104
1105`instructions`
982 1106
983Type / Values1107Type / Values
984 1108
986 1110
987Details1111Details
988 1112
9891113Provider id from `model_providers` (default: `openai`).Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.
990 1114
991Key1115Key
992 1116
9931117`model_providers.<id>.base_url``log_dir`
1118
1119Type / Values
1120
1121`string (path)`
1122
1123Details
1124
1125Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.
1126
1127Key
1128
1129`mcp_oauth_callback_port`
1130
1131Type / Values
1132
1133`integer`
1134
1135Details
1136
1137Optional 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.
1138
1139Key
1140
1141`mcp_oauth_callback_url`
994 1142
995Type / Values1143Type / Values
996 1144
998 1146
999Details1147Details
1000 1148
10011149API base URL for the model provider.Optional redirect URI override for MCP OAuth login (for example, a devbox ingress URL). `mcp_oauth_callback_port` still controls the callback listener port.
1002 1150
1003Key1151Key
1004 1152
10051153`model_providers.<id>.env_http_headers``mcp_oauth_credentials_store`
1006 1154
1007Type / Values1155Type / Values
1008 1156
10091157`map<string,string>``auto | file | keyring`
1010 1158
1011Details1159Details
1012 1160
10131161HTTP headers populated from environment variables when present.Preferred store for MCP OAuth credentials.
1014 1162
1015Key1163Key
1016 1164
10171165`model_providers.<id>.env_key``mcp_servers.<id>.args`
1166
1167Type / Values
1168
1169`array<string>`
1170
1171Details
1172
1173Arguments passed to the MCP stdio server command.
1174
1175Key
1176
1177`mcp_servers.<id>.bearer_token_env_var`
1018 1178
1019Type / Values1179Type / Values
1020 1180
1022 1182
1023Details1183Details
1024 1184
10251185Environment variable supplying the provider API key.Environment variable sourcing the bearer token for an MCP HTTP server.
1026 1186
1027Key1187Key
1028 1188
10291189`model_providers.<id>.env_key_instructions``mcp_servers.<id>.command`
1030 1190
1031Type / Values1191Type / Values
1032 1192
1034 1194
1035Details1195Details
1036 1196
10371197Optional setup guidance for the provider API key.Launcher command for an MCP stdio server.
1038 1198
1039Key1199Key
1040 1200
10411201`model_providers.<id>.experimental_bearer_token``mcp_servers.<id>.cwd`
1042 1202
1043Type / Values1203Type / Values
1044 1204
1046 1206
1047Details1207Details
1048 1208
10491209Direct bearer token for the provider (discouraged; use `env_key`).Working directory for the MCP stdio server process.
1050 1210
1051Key1211Key
1052 1212
10531213`model_providers.<id>.http_headers``mcp_servers.<id>.disabled_tools`
1214
1215Type / Values
1216
1217`array<string>`
1218
1219Details
1220
1221Deny list applied after `enabled_tools` for the MCP server.
1222
1223Key
1224
1225`mcp_servers.<id>.enabled`
1226
1227Type / Values
1228
1229`boolean`
1230
1231Details
1232
1233Disable an MCP server without removing its configuration.
1234
1235Key
1236
1237`mcp_servers.<id>.enabled_tools`
1238
1239Type / Values
1240
1241`array<string>`
1242
1243Details
1244
1245Allow list of tool names exposed by the MCP server.
1246
1247Key
1248
1249`mcp_servers.<id>.env`
1054 1250
1055Type / Values1251Type / Values
1056 1252
1058 1254
1059Details1255Details
1060 1256
10611257Static HTTP headers added to provider requests.Environment variables forwarded to the MCP stdio server.
1062 1258
1063Key1259Key
1064 1260
10651261`model_providers.<id>.name``mcp_servers.<id>.env_http_headers`
1066 1262
1067Type / Values1263Type / Values
1068 1264
10691265`string``map<string,string>`
1070 1266
1071Details1267Details
1072 1268
10731269Display name for a custom model provider.HTTP headers populated from environment variables for an MCP HTTP server.
1074 1270
1075Key1271Key
1076 1272
10771273`model_providers.<id>.query_params``mcp_servers.<id>.env_vars`
1274
1275Type / Values
1276
1277`array<string>`
1278
1279Details
1280
1281Additional environment variables to whitelist for an MCP stdio server.
1282
1283Key
1284
1285`mcp_servers.<id>.http_headers`
1078 1286
1079Type / Values1287Type / Values
1080 1288
1082 1290
1083Details1291Details
1084 1292
10851293Extra query parameters appended to provider requests.Static HTTP headers included with each MCP HTTP request.
1086 1294
1087Key1295Key
1088 1296
10891297`model_providers.<id>.request_max_retries``mcp_servers.<id>.oauth_resource`
1090 1298
1091Type / Values1299Type / Values
1092 1300
10931301`number``string`
1094 1302
1095Details1303Details
1096 1304
10971305Retry count for HTTP requests to the provider (default: 4).Optional RFC 8707 OAuth resource parameter to include during MCP login.
1098 1306
1099Key1307Key
1100 1308
11011309`model_providers.<id>.requires_openai_auth``mcp_servers.<id>.required`
1102 1310
1103Type / Values1311Type / Values
1104 1312
1106 1314
1107Details1315Details
1108 1316
11091317The provider uses OpenAI authentication (defaults to false).When true, fail startup/resume if this enabled MCP server cannot initialize.
1110 1318
1111Key1319Key
1112 1320
11131321`model_providers.<id>.stream_idle_timeout_ms``mcp_servers.<id>.scopes`
1322
1323Type / Values
1324
1325`array<string>`
1326
1327Details
1328
1329OAuth scopes to request when authenticating to that MCP server.
1330
1331Key
1332
1333`mcp_servers.<id>.startup_timeout_ms`
1334
1335Type / Values
1336
1337`number`
1338
1339Details
1340
1341Alias for `startup_timeout_sec` in milliseconds.
1342
1343Key
1344
1345`mcp_servers.<id>.startup_timeout_sec`
1346
1347Type / Values
1348
1349`number`
1350
1351Details
1352
1353Override the default 10s startup timeout for an MCP server.
1354
1355Key
1356
1357`mcp_servers.<id>.tool_timeout_sec`
1358
1359Type / Values
1360
1361`number`
1362
1363Details
1364
1365Override the default 60s per-tool timeout for an MCP server.
1366
1367Key
1368
1369`mcp_servers.<id>.url`
1370
1371Type / Values
1372
1373`string`
1374
1375Details
1376
1377Endpoint for an MCP streamable HTTP server.
1378
1379Key
1380
1381`model`
1382
1383Type / Values
1384
1385`string`
1386
1387Details
1388
1389Model to use (e.g., `gpt-5-codex`).
1390
1391Key
1392
1393`model_auto_compact_token_limit`
1394
1395Type / Values
1396
1397`number`
1398
1399Details
1400
1401Token threshold that triggers automatic history compaction (unset uses model defaults).
1402
1403Key
1404
1405`model_catalog_json`
1406
1407Type / Values
1408
1409`string (path)`
1410
1411Details
1412
1413Optional path to a JSON model catalog loaded on startup. Profile-level `profiles.<name>.model_catalog_json` can override this per profile.
1414
1415Key
1416
1417`model_context_window`
1418
1419Type / Values
1420
1421`number`
1422
1423Details
1424
1425Context window tokens available to the active model.
1426
1427Key
1428
1429`model_instructions_file`
1430
1431Type / Values
1432
1433`string (path)`
1434
1435Details
1436
1437Replacement for built-in instructions instead of `AGENTS.md`.
1438
1439Key
1440
1441`model_provider`
1442
1443Type / Values
1444
1445`string`
1446
1447Details
1448
1449Provider id from `model_providers` (default: `openai`).
1450
1451Key
1452
1453`model_providers.<id>.base_url`
1454
1455Type / Values
1456
1457`string`
1458
1459Details
1460
1461API base URL for the model provider.
1462
1463Key
1464
1465`model_providers.<id>.env_http_headers`
1466
1467Type / Values
1468
1469`map<string,string>`
1470
1471Details
1472
1473HTTP headers populated from environment variables when present.
1474
1475Key
1476
1477`model_providers.<id>.env_key`
1478
1479Type / Values
1480
1481`string`
1482
1483Details
1484
1485Environment variable supplying the provider API key.
1486
1487Key
1488
1489`model_providers.<id>.env_key_instructions`
1490
1491Type / Values
1492
1493`string`
1494
1495Details
1496
1497Optional setup guidance for the provider API key.
1498
1499Key
1500
1501`model_providers.<id>.experimental_bearer_token`
1502
1503Type / Values
1504
1505`string`
1506
1507Details
1508
1509Direct bearer token for the provider (discouraged; use `env_key`).
1510
1511Key
1512
1513`model_providers.<id>.http_headers`
1514
1515Type / Values
1516
1517`map<string,string>`
1518
1519Details
1520
1521Static HTTP headers added to provider requests.
1522
1523Key
1524
1525`model_providers.<id>.name`
1526
1527Type / Values
1528
1529`string`
1530
1531Details
1532
1533Display name for a custom model provider.
1534
1535Key
1536
1537`model_providers.<id>.query_params`
1538
1539Type / Values
1540
1541`map<string,string>`
1542
1543Details
1544
1545Extra query parameters appended to provider requests.
1546
1547Key
1548
1549`model_providers.<id>.request_max_retries`
1550
1551Type / Values
1552
1553`number`
1554
1555Details
1556
1557Retry count for HTTP requests to the provider (default: 4).
1558
1559Key
1560
1561`model_providers.<id>.requires_openai_auth`
1562
1563Type / Values
1564
1565`boolean`
1566
1567Details
1568
1569The provider uses OpenAI authentication (defaults to false).
1570
1571Key
1572
1573`model_providers.<id>.stream_idle_timeout_ms`
1574
1575Type / Values
1576
1577`number`
1578
1579Details
1580
1581Idle timeout for SSE streams in milliseconds (default: 300000).
1582
1583Key
1584
1585`model_providers.<id>.stream_max_retries`
1586
1587Type / Values
1588
1589`number`
1590
1591Details
1592
1593Retry count for SSE streaming interruptions (default: 5).
1594
1595Key
1596
1597`model_providers.<id>.supports_websockets`
1598
1599Type / Values
1600
1601`boolean`
1602
1603Details
1604
1605Whether that provider supports the Responses API WebSocket transport.
1606
1607Key
1608
1609`model_providers.<id>.wire_api`
1610
1611Type / Values
1612
1613`responses`
1614
1615Details
1616
1617Protocol used by the provider. `responses` is the only supported value, and it is the default when omitted.
1618
1619Key
1620
1621`model_reasoning_effort`
1622
1623Type / Values
1624
1625`minimal | low | medium | high | xhigh`
1626
1627Details
1628
1629Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent).
1630
1631Key
1632
1633`model_reasoning_summary`
1634
1635Type / Values
1636
1637`auto | concise | detailed | none`
1638
1639Details
1640
1641Select reasoning summary detail or disable summaries entirely.
1642
1643Key
1644
1645`model_supports_reasoning_summaries`
1646
1647Type / Values
1648
1649`boolean`
1650
1651Details
1652
1653Force Codex to send or not send reasoning metadata.
1654
1655Key
1656
1657`model_verbosity`
1658
1659Type / Values
1660
1661`low | medium | high`
1662
1663Details
1664
1665Optional GPT-5 Responses API verbosity override; when unset, the selected model/preset default is used.
1666
1667Key
1668
1669`notice.hide_full_access_warning`
1670
1671Type / Values
1672
1673`boolean`
1674
1675Details
1676
1677Track acknowledgement of the full access warning prompt.
1678
1679Key
1680
1681`notice.hide_gpt-5.1-codex-max_migration_prompt`
1682
1683Type / Values
1684
1685`boolean`
1686
1687Details
1688
1689Track acknowledgement of the gpt-5.1-codex-max migration prompt.
1690
1691Key
1692
1693`notice.hide_gpt5_1_migration_prompt`
1694
1695Type / Values
1696
1697`boolean`
1698
1699Details
1700
1701Track acknowledgement of the GPT-5.1 migration prompt.
1702
1703Key
1704
1705`notice.hide_rate_limit_model_nudge`
1706
1707Type / Values
1708
1709`boolean`
1710
1711Details
1712
1713Track opt-out of the rate limit model switch reminder.
1714
1715Key
1716
1717`notice.hide_world_writable_warning`
1718
1719Type / Values
1720
1721`boolean`
1722
1723Details
1724
1725Track acknowledgement of the Windows world-writable directories warning.
1726
1727Key
1728
1729`notice.model_migrations`
1730
1731Type / Values
1732
1733`map<string,string>`
1734
1735Details
1736
1737Track acknowledged model migrations as old->new mappings.
1738
1739Key
1740
1741`notify`
1742
1743Type / Values
1744
1745`array<string>`
1746
1747Details
1748
1749Command invoked for notifications; receives a JSON payload from Codex.
1750
1751Key
1752
1753`oss_provider`
1754
1755Type / Values
1756
1757`lmstudio | ollama`
1758
1759Details
1760
1761Default local provider used when running with `--oss` (defaults to prompting if unset).
1762
1763Key
1764
1765`otel.environment`
1766
1767Type / Values
1768
1769`string`
1770
1771Details
1772
1773Environment tag applied to emitted OpenTelemetry events (default: `dev`).
1774
1775Key
1776
1777`otel.exporter`
1778
1779Type / Values
1780
1781`none | otlp-http | otlp-grpc`
1782
1783Details
1784
1785Select the OpenTelemetry exporter and provide any endpoint metadata.
1786
1787Key
1788
1789`otel.exporter.<id>.endpoint`
1790
1791Type / Values
1792
1793`string`
1794
1795Details
1796
1797Exporter endpoint for OTEL logs.
1798
1799Key
1800
1801`otel.exporter.<id>.headers`
1802
1803Type / Values
1804
1805`map<string,string>`
1806
1807Details
1808
1809Static headers included with OTEL exporter requests.
1810
1811Key
1812
1813`otel.exporter.<id>.protocol`
1814
1815Type / Values
1816
1817`binary | json`
1818
1819Details
1820
1821Protocol used by the OTLP/HTTP exporter.
1822
1823Key
1824
1825`otel.exporter.<id>.tls.ca-certificate`
1826
1827Type / Values
1828
1829`string`
1830
1831Details
1832
1833CA certificate path for OTEL exporter TLS.
1834
1835Key
1836
1837`otel.exporter.<id>.tls.client-certificate`
1114 1838
1115Type / Values1839Type / Values
1116 1840
11171841`number``string`
1118 1842
1119Details1843Details
1120 1844
11211845Idle timeout for SSE streams in milliseconds (default: 300000).Client certificate path for OTEL exporter TLS.
1122 1846
1123Key1847Key
1124 1848
11251849`model_providers.<id>.stream_max_retries``otel.exporter.<id>.tls.client-private-key`
1126 1850
1127Type / Values1851Type / Values
1128 1852
11291853`number``string`
1130 1854
1131Details1855Details
1132 1856
11331857Retry count for SSE streaming interruptions (default: 5).Client private key path for OTEL exporter TLS.
1134 1858
1135Key1859Key
1136 1860
11371861`model_providers.<id>.wire_api``otel.log_user_prompt`
1138 1862
1139Type / Values1863Type / Values
1140 1864
11411865`chat | responses``boolean`
1142 1866
1143Details1867Details
1144 1868
11451869Protocol used by the provider (defaults to `chat` if omitted).Opt in to exporting raw user prompts with OpenTelemetry logs.
1146 1870
1147Key1871Key
1148 1872
11491873`model_reasoning_effort``otel.metrics_exporter`
1150 1874
1151Type / Values1875Type / Values
1152 1876
11531877`minimal | low | medium | high | xhigh``none | statsig | otlp-http | otlp-grpc`
1154 1878
1155Details1879Details
1156 1880
11571881Adjust reasoning effort for supported models (Responses API only; `xhigh` is model-dependent).Select the OpenTelemetry metrics exporter (defaults to `statsig`).
1158 1882
1159Key1883Key
1160 1884
11611885`model_reasoning_summary``otel.trace_exporter`
1162 1886
1163Type / Values1887Type / Values
1164 1888
11651889`auto | concise | detailed | none``none | otlp-http | otlp-grpc`
1166 1890
1167Details1891Details
1168 1892
11691893Select reasoning summary detail or disable summaries entirely.Select the OpenTelemetry trace exporter and provide any endpoint metadata.
1170 1894
1171Key1895Key
1172 1896
11731897`model_supports_reasoning_summaries``otel.trace_exporter.<id>.endpoint`
1174 1898
1175Type / Values1899Type / Values
1176 1900
11771901`boolean``string`
1178 1902
1179Details1903Details
1180 1904
11811905Force Codex to send or not send reasoning metadata.Trace exporter endpoint for OTEL logs.
1182 1906
1183Key1907Key
1184 1908
11851909`model_verbosity``otel.trace_exporter.<id>.headers`
1186 1910
1187Type / Values1911Type / Values
1188 1912
11891913`low | medium | high``map<string,string>`
1190 1914
1191Details1915Details
1192 1916
11931917Control GPT-5 Responses API verbosity (defaults to `medium`).Static headers included with OTEL trace exporter requests.
1194 1918
1195Key1919Key
1196 1920
11971921`notice.hide_full_access_warning``otel.trace_exporter.<id>.protocol`
1198 1922
1199Type / Values1923Type / Values
1200 1924
12011925`boolean``binary | json`
1202 1926
1203Details1927Details
1204 1928
12051929Track acknowledgement of the full access warning prompt.Protocol used by the OTLP/HTTP trace exporter.
1206 1930
1207Key1931Key
1208 1932
12091933`notice.hide_gpt-5.1-codex-max_migration_prompt``otel.trace_exporter.<id>.tls.ca-certificate`
1210 1934
1211Type / Values1935Type / Values
1212 1936
12131937`boolean``string`
1214 1938
1215Details1939Details
1216 1940
12171941Track acknowledgement of the gpt-5.1-codex-max migration prompt.CA certificate path for OTEL trace exporter TLS.
1218 1942
1219Key1943Key
1220 1944
12211945`notice.hide_gpt5_1_migration_prompt``otel.trace_exporter.<id>.tls.client-certificate`
1222 1946
1223Type / Values1947Type / Values
1224 1948
12251949`boolean``string`
1226 1950
1227Details1951Details
1228 1952
12291953Track acknowledgement of the GPT-5.1 migration prompt.Client certificate path for OTEL trace exporter TLS.
1230 1954
1231Key1955Key
1232 1956
12331957`notice.hide_rate_limit_model_nudge``otel.trace_exporter.<id>.tls.client-private-key`
1234 1958
1235Type / Values1959Type / Values
1236 1960
12371961`boolean``string`
1238 1962
1239Details1963Details
1240 1964
12411965Track opt-out of the rate limit model switch reminder.Client private key path for OTEL trace exporter TLS.
1242 1966
1243Key1967Key
1244 1968
12451969`notice.hide_world_writable_warning``permissions.network.admin_url`
1246 1970
1247Type / Values1971Type / Values
1248 1972
12491973`boolean``string`
1250 1974
1251Details1975Details
1252 1976
12531977Track acknowledgement of the Windows world-writable directories warning.Admin endpoint for the managed network proxy.
1254 1978
1255Key1979Key
1256 1980
12571981`notice.model_migrations``permissions.network.allow_local_binding`
1258 1982
1259Type / Values1983Type / Values
1260 1984
12611985`map<string,string>``boolean`
1262 1986
1263Details1987Details
1264 1988
12651989Track acknowledged model migrations as old->new mappings.Permit local bind/listen operations through the managed proxy.
1266 1990
1267Key1991Key
1268 1992
12691993`notify``permissions.network.allow_unix_sockets`
1270 1994
1271Type / Values1995Type / Values
1272 1996
1274 1998
1275Details1999Details
1276 2000
12772001Command invoked for notifications; receives a JSON payload from Codex.Allowlist of Unix socket paths permitted through the managed proxy.
1278 2002
1279Key2003Key
1280 2004
12812005`oss_provider``permissions.network.allow_upstream_proxy`
1282 2006
1283Type / Values2007Type / Values
1284 2008
12852009`lmstudio | ollama``boolean`
1286 2010
1287Details2011Details
1288 2012
12892013Default local provider used when running with `--oss` (defaults to prompting if unset).Allow the managed proxy to chain to another upstream proxy.
1290 2014
1291Key2015Key
1292 2016
12932017`otel.environment``permissions.network.allowed_domains`
1294 2018
1295Type / Values2019Type / Values
1296 2020
12972021`string``array<string>`
1298 2022
1299Details2023Details
1300 2024
13012025Environment tag applied to emitted OpenTelemetry events (default: `dev`).Allowlist of domains permitted through the managed proxy.
1302 2026
1303Key2027Key
1304 2028
13052029`otel.exporter``permissions.network.dangerously_allow_all_unix_sockets`
1306 2030
1307Type / Values2031Type / Values
1308 2032
13092033`none | otlp-http | otlp-grpc``boolean`
1310 2034
1311Details2035Details
1312 2036
13132037Select the OpenTelemetry exporter and provide any endpoint metadata.Allow the proxy to use arbitrary Unix sockets instead of the default restricted set.
1314 2038
1315Key2039Key
1316 2040
13172041`otel.exporter.<id>.endpoint``permissions.network.dangerously_allow_non_loopback_admin`
1318 2042
1319Type / Values2043Type / Values
1320 2044
13212045`string``boolean`
1322 2046
1323Details2047Details
1324 2048
13252049Exporter endpoint for OTEL logs.Permit non-loopback bind addresses for the managed proxy admin listener.
1326 2050
1327Key2051Key
1328 2052
13292053`otel.exporter.<id>.headers``permissions.network.dangerously_allow_non_loopback_proxy`
1330 2054
1331Type / Values2055Type / Values
1332 2056
13332057`map<string,string>``boolean`
1334 2058
1335Details2059Details
1336 2060
13372061Static headers included with OTEL exporter requests.Permit non-loopback bind addresses for the managed proxy listener.
1338 2062
1339Key2063Key
1340 2064
13412065`otel.exporter.<id>.protocol``permissions.network.denied_domains`
1342 2066
1343Type / Values2067Type / Values
1344 2068
13452069`binary | json``array<string>`
1346 2070
1347Details2071Details
1348 2072
13492073Protocol used by the OTLP/HTTP exporter.Denylist of domains blocked by the managed proxy.
1350 2074
1351Key2075Key
1352 2076
13532077`otel.exporter.<id>.tls.ca-certificate``permissions.network.enable_socks5`
1354 2078
1355Type / Values2079Type / Values
1356 2080
13572081`string``boolean`
1358 2082
1359Details2083Details
1360 2084
13612085CA certificate path for OTEL exporter TLS.Expose a SOCKS5 listener from the managed network proxy.
1362 2086
1363Key2087Key
1364 2088
13652089`otel.exporter.<id>.tls.client-certificate``permissions.network.enable_socks5_udp`
1366 2090
1367Type / Values2091Type / Values
1368 2092
13692093`string``boolean`
1370 2094
1371Details2095Details
1372 2096
13732097Client certificate path for OTEL exporter TLS.Allow UDP over the SOCKS5 listener when enabled.
1374 2098
1375Key2099Key
1376 2100
13772101`otel.exporter.<id>.tls.client-private-key``permissions.network.enabled`
1378 2102
1379Type / Values2103Type / Values
1380 2104
13812105`string``boolean`
1382 2106
1383Details2107Details
1384 2108
13852109Client private key path for OTEL exporter TLS.Enable the managed network proxy configuration for subprocesses.
1386 2110
1387Key2111Key
1388 2112
13892113`otel.log_user_prompt``permissions.network.mode`
1390 2114
1391Type / Values2115Type / Values
1392 2116
13932117`boolean``limited | full`
1394 2118
1395Details2119Details
1396 2120
13972121Opt in to exporting raw user prompts with OpenTelemetry logs.Network proxy mode used for subprocess traffic.
1398 2122
1399Key2123Key
1400 2124
14012125`otel.trace_exporter``permissions.network.proxy_url`
1402 2126
1403Type / Values2127Type / Values
1404 2128
14052129`none | otlp-http | otlp-grpc``string`
1406 2130
1407Details2131Details
1408 2132
14092133Select the OpenTelemetry trace exporter and provide any endpoint metadata.HTTP proxy endpoint used by the managed network proxy.
1410 2134
1411Key2135Key
1412 2136
14132137`otel.trace_exporter.<id>.endpoint``permissions.network.socks_url`
1414 2138
1415Type / Values2139Type / Values
1416 2140
1418 2142
1419Details2143Details
1420 2144
14212145Trace exporter endpoint for OTEL logs.SOCKS5 proxy endpoint used by the managed network proxy.
1422 2146
1423Key2147Key
1424 2148
14252149`otel.trace_exporter.<id>.headers``personality`
1426 2150
1427Type / Values2151Type / Values
1428 2152
14292153`map<string,string>``none | friendly | pragmatic`
1430 2154
1431Details2155Details
1432 2156
14332157Static headers included with OTEL trace exporter requests.Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`.
1434 2158
1435Key2159Key
1436 2160
14372161`otel.trace_exporter.<id>.protocol``plan_mode_reasoning_effort`
1438 2162
1439Type / Values2163Type / Values
1440 2164
14412165`binary | json``none | minimal | low | medium | high | xhigh`
1442 2166
1443Details2167Details
1444 2168
14452169Protocol used by the OTLP/HTTP trace exporter.Plan-mode-specific reasoning override. When unset, Plan mode uses its built-in preset default.
1446 2170
1447Key2171Key
1448 2172
14492173`otel.trace_exporter.<id>.tls.ca-certificate``profile`
1450 2174
1451Type / Values2175Type / Values
1452 2176
1454 2178
1455Details2179Details
1456 2180
14572181CA certificate path for OTEL trace exporter TLS.Default profile applied at startup (equivalent to `--profile`).
1458 2182
1459Key2183Key
1460 2184
14612185`otel.trace_exporter.<id>.tls.client-certificate``profiles.<name>.*`
1462 2186
1463Type / Values2187Type / Values
1464 2188
14652189`string``various`
1466 2190
1467Details2191Details
1468 2192
14692193Client certificate path for OTEL trace exporter TLS.Profile-scoped overrides for any of the supported configuration keys.
1470 2194
1471Key2195Key
1472 2196
14732197`otel.trace_exporter.<id>.tls.client-private-key``profiles.<name>.analytics.enabled`
1474 2198
1475Type / Values2199Type / Values
1476 2200
14772201`string``boolean`
1478 2202
1479Details2203Details
1480 2204
14812205Client private key path for OTEL trace exporter TLS.Profile-scoped analytics enablement override.
1482 2206
1483Key2207Key
1484 2208
14852209`personality``profiles.<name>.experimental_use_unified_exec_tool`
1486 2210
1487Type / Values2211Type / Values
1488 2212
14892213`none | friendly | pragmatic``boolean`
1490 2214
1491Details2215Details
1492 2216
14932217Default communication style for models that advertise `supportsPersonality`; can be overridden per thread/turn or via `/personality`.Legacy name for enabling unified exec; prefer `[features].unified_exec`.
1494 2218
1495Key2219Key
1496 2220
14972221`profile``profiles.<name>.model_catalog_json`
1498 2222
1499Type / Values2223Type / Values
1500 2224
15012225`string``string (path)`
1502 2226
1503Details2227Details
1504 2228
15052229Default profile applied at startup (equivalent to `--profile`).Profile-scoped model catalog JSON path override (applied on startup only; overrides the top-level `model_catalog_json` for that profile).
1506 2230
1507Key2231Key
1508 2232
15092233`profiles.<name>.*``profiles.<name>.model_instructions_file`
1510 2234
1511Type / Values2235Type / Values
1512 2236
15132237`various``string (path)`
1514 2238
1515Details2239Details
1516 2240
15172241Profile-scoped overrides for any of the supported configuration keys.Profile-scoped replacement for the built-in instruction file.
1518 2242
1519Key2243Key
1520 2244
15212245`profiles.<name>.experimental_use_freeform_apply_patch``profiles.<name>.oss_provider`
1522 2246
1523Type / Values2247Type / Values
1524 2248
15252249`boolean``lmstudio | ollama`
1526 2250
1527Details2251Details
1528 2252
15292253Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`.Profile-scoped OSS provider for `--oss` sessions.
1530 2254
1531Key2255Key
1532 2256
15332257`profiles.<name>.experimental_use_unified_exec_tool``profiles.<name>.personality`
1534 2258
1535Type / Values2259Type / Values
1536 2260
15372261`boolean``none | friendly | pragmatic`
1538 2262
1539Details2263Details
1540 2264
15412265Legacy name for enabling unified exec; prefer `[features].unified_exec`.Profile-scoped communication style override for supported models.
1542 2266
1543Key2267Key
1544 2268
15452269`profiles.<name>.include_apply_patch_tool``profiles.<name>.plan_mode_reasoning_effort`
1546 2270
1547Type / Values2271Type / Values
1548 2272
15492273`boolean``none | minimal | low | medium | high | xhigh`
1550 2274
1551Details2275Details
1552 2276
15532277Legacy name for enabling freeform apply\_patch; prefer `[features].apply_patch_freeform`.Profile-scoped Plan-mode reasoning override.
1554 2278
1555Key2279Key
1556 2280
15572281`profiles.<name>.oss_provider``profiles.<name>.service_tier`
1558 2282
1559Type / Values2283Type / Values
1560 2284
15612285`lmstudio | ollama``flex | fast`
1562 2286
1563Details2287Details
1564 2288
15652289Profile-scoped OSS provider for `--oss` sessions.Profile-scoped service tier preference for new turns.
1566 2290
1567Key2291Key
1568 2292
15692293`profiles.<name>.personality``profiles.<name>.tools_view_image`
1570 2294
1571Type / Values2295Type / Values
1572 2296
15732297`none | friendly | pragmatic``boolean`
1574 2298
1575Details2299Details
1576 2300
15772301Profile-scoped communication style override for supported models.Enable or disable the `view_image` tool in that profile.
1578 2302
1579Key2303Key
1580 2304
1590 2314
1591Key2315Key
1592 2316
2317`profiles.<name>.windows.sandbox`
2318
2319Type / Values
2320
2321`unelevated | elevated`
2322
2323Details
2324
2325Profile-scoped Windows sandbox mode override.
2326
2327Key
2328
1593`project_doc_fallback_filenames`2329`project_doc_fallback_filenames`
1594 2330
1595Type / Values2331Type / Values
1710 2446
1711Key2447Key
1712 2448
2449`service_tier`
2450
2451Type / Values
2452
2453`flex | fast`
2454
2455Details
2456
2457Preferred service tier for new turns. `fast` is honored only when the `features.fast_mode` gate is enabled.
2458
2459Key
2460
1713`shell_environment_policy.exclude`2461`shell_environment_policy.exclude`
1714 2462
1715Type / Values2463Type / Values
1830 2578
1831Key2579Key
1832 2580
2581`sqlite_home`
2582
2583Type / Values
2584
2585`string (path)`
2586
2587Details
2588
2589Directory where Codex stores the SQLite-backed state DB used by agent jobs and other resumable runtime state.
2590
2591Key
2592
1833`suppress_unstable_features_warning`2593`suppress_unstable_features_warning`
1834 2594
1835Type / Values2595Type / Values
1854 2614
1855Key2615Key
1856 2616
2617`tools.view_image`
2618
2619Type / Values
2620
2621`boolean`
2622
2623Details
2624
2625Enable the local-image attachment tool `view_image`.
2626
2627Key
2628
1857`tools.web_search`2629`tools.web_search`
1858 2630
1859Type / Values2631Type / Values
1902 2674
1903Key2675Key
1904 2676
2677`tui.model_availability_nux.<model>`
2678
2679Type / Values
2680
2681`integer`
2682
2683Details
2684
2685Internal startup-tooltip state keyed by model slug.
2686
2687Key
2688
1905`tui.notification_method`2689`tui.notification_method`
1906 2690
1907Type / Values2691Type / Values
1950 2734
1951Key2735Key
1952 2736
2737`tui.theme`
2738
2739Type / Values
2740
2741`string`
2742
2743Details
2744
2745Syntax-highlighting theme override (kebab-case theme name).
2746
2747Key
2748
1953`web_search`2749`web_search`
1954 2750
1955Type / Values2751Type / Values
1972 2768
1973Track Windows onboarding acknowledgement (Windows only).2769Track Windows onboarding acknowledgement (Windows only).
1974 2770
2771Key
2772
2773`windows.sandbox`
2774
2775Type / Values
2776
2777`unelevated | elevated`
2778
2779Details
2780
2781Windows-only native sandbox mode when running Codex natively on Windows.
2782
1975Expand to view all2783Expand to view all
1976 2784
1977You can find the latest JSON schema for `config.toml` [here](https://developers.openai.com/codex/config-schema.json).2785You can find the latest JSON schema for `config.toml` [here](https://developers.openai.com/codex/config-schema.json).
1986 2794
1987## `requirements.toml`2795## `requirements.toml`
1988 2796
19892797`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/security#admin-enforced-requirements-requirementstoml).`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).
1990 2798
1991For ChatGPT Business and Enterprise users, Codex can also apply cloud-fetched2799For ChatGPT Business and Enterprise users, Codex can also apply cloud-fetched
1992requirements. See the security page for precedence details.2800requirements. See the security page for precedence details.
1993 2801
2802Use `[features]` in `requirements.toml` to pin feature flags by the same
2803canonical keys that `config.toml` uses. Omitted keys remain unconstrained.
2804
1994| Key | Type / Values | Details |2805| Key | Type / Values | Details |
1995| --- | --- | --- |2806| --- | --- | --- |
19962807| `allowed_approval_policies` | `array<string>` | Allowed values for `approval\_policy`. || `allowed_approval_policies` | `array<string>` | Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `reject`). |
1997| `allowed_sandbox_modes` | `array<string>` | Allowed values for `sandbox_mode`. |2808| `allowed_sandbox_modes` | `array<string>` | Allowed values for `sandbox_mode`. |
1998| `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`. |2809| `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`. |
2810| `features` | `table` | Pinned feature values keyed by the canonical names from `config.toml`'s `[features]` table. |
2811| `features.<name>` | `boolean` | Require a specific canonical feature key to stay enabled or disabled. |
1999| `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. |2812| `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. |
2000| `mcp_servers.<id>.identity` | `table` | Identity rule for a single MCP server. Set either `command` (stdio) or `url` (streamable HTTP). |2813| `mcp_servers.<id>.identity` | `table` | Identity rule for a single MCP server. Set either `command` (stdio) or `url` (streamable HTTP). |
2001| `mcp_servers.<id>.identity.command` | `string` | Allow an MCP stdio server when its `mcp_servers.<id>.command` matches this command. |2814| `mcp_servers.<id>.identity.command` | `string` | Allow an MCP stdio server when its `mcp_servers.<id>.command` matches this command. |
2018 2831
2019Details2832Details
2020 2833
20212834Allowed values for `approval\_policy`.Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `reject`).
2022 2835
2023Key2836Key
2024 2837
2046 2859
2047Key2860Key
2048 2861
2862`features`
2863
2864Type / Values
2865
2866`table`
2867
2868Details
2869
2870Pinned feature values keyed by the canonical names from `config.toml`'s `[features]` table.
2871
2872Key
2873
2874`features.<name>`
2875
2876Type / Values
2877
2878`boolean`
2879
2880Details
2881
2882Require a specific canonical feature key to stay enabled or disabled.
2883
2884Key
2885
2049`mcp_servers`2886`mcp_servers`
2050 2887
2051Type / Values2888Type / Values