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

config-reference.md +402 −272

Details

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

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

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

21| `approval_policy` | `untrusted | on-request | never | { reject = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool } }` | Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { reject = { ... } }` to auto-reject specific prompt categories while keeping other prompts interactive. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs. |21| `approval_policy` | `untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }` | Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { granular = { ... } }` to allow or 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. |22| `approval_policy.granular.mcp_elicitations` | `boolean` | When `true`, MCP elicitation prompts are allowed to surface instead of being auto-rejected. |

23| `approval_policy.reject.rules` | `boolean` | When `true`, approvals triggered by execpolicy `prompt` rules are auto-rejected. |23| `approval_policy.granular.request_permissions` | `boolean` | When `true`, prompts from the `request_permissions` tool are allowed to surface. |

24| `approval_policy.reject.sandbox_approval` | `boolean` | When `true`, sandbox escalation approval prompts are auto-rejected. |24| `approval_policy.granular.rules` | `boolean` | When `true`, approvals triggered by execpolicy `prompt` rules are allowed to surface. |

25| `approval_policy.granular.sandbox_approval` | `boolean` | When `true`, sandbox escalation approval prompts are allowed to surface. |

26| `approval_policy.granular.skill_approval` | `boolean` | When `true`, skill-script approval prompts are allowed to surface. |

27| `approvals_reviewer` | `user | guardian_subagent` | Select who reviews eligible approval prompts. Defaults to `user`; `guardian_subagent` routes supported reviews through the Guardian reviewer subagent. |

25| `apps._default.destructive_enabled` | `boolean` | Default allow/deny for app tools with `destructive_hint = true`. |28| `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. |29| `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`. |30| `apps._default.open_world_enabled` | `boolean` | Default allow/deny for app tools with `open_world_hint = true`. |


38| `cli_auth_credentials_store` | `file | keyring | auto` | Control where the CLI stores cached credentials (file-based auth.json vs OS keychain). |41| `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. |42| `commit_attribution` | `string` | Override the commit co-author trailer text. Set an empty string to disable automatic attribution. |

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

44| `default_permissions` | `string` | Name of the default permissions profile to apply to sandboxed tool calls. |

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

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

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

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

45| `features.apps` | `boolean` | Enable ChatGPT Apps/connectors support (experimental). |49| `features.apps` | `boolean` | Enable ChatGPT Apps/connectors support (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). |50| `features.codex_hooks` | `boolean` | Enable lifecycle hooks loaded from `hooks.json` (under development; off by default). |

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

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

49| `features.collaboration_modes` | `boolean` | Legacy toggle for collaboration modes. Plan and default modes are available in current builds without setting this key. |

50| `features.default_mode_request_user_input` | `boolean` | Allow `request_user_input` in default collaboration mode (under development; off by default). |

51| `features.elevated_windows_sandbox` | `boolean` | Legacy toggle for an earlier elevated Windows sandbox rollout. Current builds do not use it. |

52| `features.enable_request_compression` | `boolean` | Compress streaming request bodies with zstd when supported (stable; on by default). |51| `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). |52| `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). |53| `features.guardian_approval` | `boolean` | Route eligible approval requests through the guardian reviewer subagent (experimental; off by default). Use with `approvals_reviewer = "guardian_subagent"`. |

56| `features.image_generation` | `boolean` | Enable the built-in image generation tool (under development). |54| `features.memories` | `boolean` | Enable [Memories](https://developers.openai.com/codex/memories) (off by default). |

55| `features.multi_agent` | `boolean` | Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait_agent`, and `close_agent`) (stable; on by default). |

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

58| `features.powershell_utf8` | `boolean` | Force PowerShell UTF-8 output. Enabled by default on Windows and off elsewhere. |

59| `features.prevent_idle_sleep` | `boolean` | Prevent the machine from sleeping while a turn is actively running (experimental; off by default). |57| `features.prevent_idle_sleep` | `boolean` | Prevent the machine from sleeping while a turn is actively running (experimental; off by default). |

60| `features.remote_models` | `boolean` | Legacy toggle for an older remote-model readiness flow. Current builds do not use it. |

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

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

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

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

65| `features.search_tool` | `boolean` | Legacy toggle for an older Apps discovery flow. Current builds do not use it. |

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

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

68| `features.skill_env_var_dependency_prompt` | `boolean` | Prompt for missing skill environment-variable dependencies (under development). |

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

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

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

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

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

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

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

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

77| `features.web_search_request` | `boolean` | Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`. |65| `features.web_search_request` | `boolean` | Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`. |


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

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

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

108| `model` | `string` | Model to use (e.g., `gpt-5-codex`). |96| `memories.consolidation_model` | `string` | Optional model override for global memory consolidation. |

97| `memories.extract_model` | `string` | Optional model override for per-thread memory extraction. |

98| `memories.generate_memories` | `boolean` | When `false`, newly created threads are not stored as memory-generation inputs. Defaults to `true`. |

99| `memories.max_raw_memories_for_consolidation` | `number` | Maximum recent raw memories retained for global consolidation. Defaults to `256` and is capped at `4096`. |

100| `memories.max_rollout_age_days` | `number` | Maximum age of threads considered for memory generation. Defaults to `30` and is clamped to `0`-`90`. |

101| `memories.max_rollouts_per_startup` | `number` | Maximum rollout candidates processed per startup pass. Defaults to `16` and is capped at `128`. |

102| `memories.max_unused_days` | `number` | Maximum days since a memory was last used before it becomes ineligible for consolidation. Defaults to `30` and is clamped to `0`-`365`. |

103| `memories.min_rollout_idle_hours` | `number` | Minimum idle time before a thread is considered for memory generation. Defaults to `6` and is clamped to `1`-`48`. |

104| `memories.no_memories_if_mcp_or_web_search` | `boolean` | When `true`, threads that use MCP tool calls or web search are kept out of memory generation. Defaults to `false`. |

105| `memories.use_memories` | `boolean` | When `false`, Codex skips injecting existing memories into future sessions. Defaults to `true`. |

106| `model` | `string` | Model to use (e.g., `gpt-5.4`). |

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

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

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

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

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

112| `model_providers.<id>` | `table` | Custom provider definition. Built-in provider IDs (`openai`, `ollama`, and `lmstudio`) are reserved and cannot be overridden. |

113| `model_providers.<id>.auth` | `table` | Command-backed bearer token configuration for a custom provider. Do not combine with `env_key`, `experimental_bearer_token`, or `requires_openai_auth`. |

114| `model_providers.<id>.auth.args` | `array<string>` | Arguments passed to the token command. |

115| `model_providers.<id>.auth.command` | `string` | Command to run when Codex needs a bearer token. The command must print the token to stdout. |

116| `model_providers.<id>.auth.cwd` | `string (path)` | Working directory for the token command. |

117| `model_providers.<id>.auth.refresh_interval_ms` | `number` | How often Codex proactively refreshes the token in milliseconds (default: 300000). Set to `0` to refresh only after an authentication retry. |

118| `model_providers.<id>.auth.timeout_ms` | `number` | Maximum token command runtime in milliseconds (default: 5000). |

114| `model_providers.<id>.base_url` | `string` | API base URL for the model provider. |119| `model_providers.<id>.base_url` | `string` | API base URL for the model provider. |

115| `model_providers.<id>.env_http_headers` | `map<string,string>` | HTTP headers populated from environment variables when present. |120| `model_providers.<id>.env_http_headers` | `map<string,string>` | HTTP headers populated from environment variables when present. |

116| `model_providers.<id>.env_key` | `string` | Environment variable supplying the provider API key. |121| `model_providers.<id>.env_key` | `string` | Environment variable supplying the provider API key. |


136| `notice.hide_world_writable_warning` | `boolean` | Track acknowledgement of the Windows world-writable directories warning. |141| `notice.hide_world_writable_warning` | `boolean` | Track acknowledgement of the Windows world-writable directories warning. |

137| `notice.model_migrations` | `map<string,string>` | Track acknowledged model migrations as old->new mappings. |142| `notice.model_migrations` | `map<string,string>` | Track acknowledged model migrations as old->new mappings. |

138| `notify` | `array<string>` | Command invoked for notifications; receives a JSON payload from Codex. |143| `notify` | `array<string>` | Command invoked for notifications; receives a JSON payload from Codex. |

144| `openai_base_url` | `string` | Base URL override for the built-in `openai` model provider. |

139| `oss_provider` | `lmstudio | ollama` | Default local provider used when running with `--oss` (defaults to prompting if unset). |145| `oss_provider` | `lmstudio | ollama` | Default local provider used when running with `--oss` (defaults to prompting if unset). |

140| `otel.environment` | `string` | Environment tag applied to emitted OpenTelemetry events (default: `dev`). |146| `otel.environment` | `string` | Environment tag applied to emitted OpenTelemetry events (default: `dev`). |

141| `otel.exporter` | `none | otlp-http | otlp-grpc` | Select the OpenTelemetry exporter and provide any endpoint metadata. |147| `otel.exporter` | `none | otlp-http | otlp-grpc` | Select the OpenTelemetry exporter and provide any endpoint metadata. |


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

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

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

157| `permissions.network.admin_url` | `string` | Admin endpoint for the managed network proxy. |163| `permissions.<name>.filesystem` | `table` | Named filesystem permission profile. Each key is an absolute path or special token such as `:minimal` or `:project_roots`. |

158| `permissions.network.allow_local_binding` | `boolean` | Permit local bind/listen operations through the managed proxy. |164| `permissions.<name>.filesystem.":project_roots".<subpath>` | `"read" | "write" | "none"` | Scoped filesystem access relative to the detected project roots. Use `"."` for the root itself. |

159| `permissions.network.allow_unix_sockets` | `array<string>` | Allowlist of Unix socket paths permitted through the managed proxy. |165| `permissions.<name>.filesystem.<path>` | `"read" | "write" | "none" | table` | Grant direct access for a path or special token, or scope nested entries under that root. |

160| `permissions.network.allow_upstream_proxy` | `boolean` | Allow the managed proxy to chain to another upstream proxy. |166| `permissions.<name>.network.allow_local_binding` | `boolean` | Permit local bind/listen operations through the managed proxy. |

161| `permissions.network.allowed_domains` | `array<string>` | Allowlist of domains permitted through the managed proxy. |167| `permissions.<name>.network.allow_upstream_proxy` | `boolean` | Allow the managed proxy to chain to another upstream proxy. |

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

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

164| `permissions.network.dangerously_allow_non_loopback_proxy` | `boolean` | Permit non-loopback bind addresses for the managed proxy listener. |170| `permissions.<name>.network.domains` | `map<string, allow | deny>` | Domain rules for the managed proxy. Use domain names or wildcard patterns as keys, with `allow` or `deny` values. |

165| `permissions.network.denied_domains` | `array<string>` | Denylist of domains blocked by the managed proxy. |171| `permissions.<name>.network.enable_socks5` | `boolean` | Expose a SOCKS5 listener when this permissions profile enables the managed network proxy. |

166| `permissions.network.enable_socks5` | `boolean` | Expose a SOCKS5 listener from the managed network proxy. |172| `permissions.<name>.network.enable_socks5_udp` | `boolean` | Allow UDP over the SOCKS5 listener when enabled. |

167| `permissions.network.enable_socks5_udp` | `boolean` | Allow UDP over the SOCKS5 listener when enabled. |173| `permissions.<name>.network.enabled` | `boolean` | Enable network access for this named permissions profile. |

168| `permissions.network.enabled` | `boolean` | Enable the managed network proxy configuration for subprocesses. |174| `permissions.<name>.network.mode` | `limited | full` | Network proxy mode used for subprocess traffic. |

169| `permissions.network.mode` | `limited | full` | Network proxy mode used for subprocess traffic. |175| `permissions.<name>.network.proxy_url` | `string` | HTTP proxy endpoint used when this permissions profile enables the managed network proxy. |

170| `permissions.network.proxy_url` | `string` | HTTP proxy endpoint used by the managed network proxy. |176| `permissions.<name>.network.socks_url` | `string` | SOCKS5 proxy endpoint used by this permissions profile. |

171| `permissions.network.socks_url` | `string` | SOCKS5 proxy endpoint used by the managed network proxy. |177| `permissions.<name>.network.unix_sockets` | `map<string, allow | none>` | Unix socket rules for the managed proxy. Use socket paths as keys, with `allow` or `none` values. |

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

173| `plan_mode_reasoning_effort` | `none | minimal | low | medium | high | xhigh` | Plan-mode-specific reasoning override. When unset, Plan mode uses its built-in preset default. |179| `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. |

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


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

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

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

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

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

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

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


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

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

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

217| `tool_suggest.discoverables` | `array<table>` | Allow tool suggestions for additional discoverable connectors or plugins. Each entry uses `type = "connector"` or `"plugin"` and an `id`. |

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

212| `tools.web_search` | `boolean` | Deprecated legacy toggle for web search; prefer the top-level `web_search` setting. |219| `tools.web_search` | `boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }` | Optional web search tool configuration. The legacy boolean form is still accepted, but the object form lets you set search context size, allowed domains, and approximate user location. |

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

214| `tui.alternate_screen` | `auto | always | never` | Control alternate screen usage for the TUI (default: auto; auto skips it in Zellij to preserve scrollback). |221| `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.animations` | `boolean` | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |222| `tui.animations` | `boolean` | Enable terminal animations (welcome screen, shimmer, spinner) (default: true). |


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

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

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

228| `tui.terminal_title` | `array<string> | null` | Ordered list of terminal window/tab title item identifiers. Defaults to `["spinner", "project"]`; `null` disables title updates. |

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

222| `web_search` | `disabled | cached | live` | Web search mode (default: `"cached"`; cached uses an OpenAI-maintained index and does not fetch live pages; if you use `--yolo` or another full access sandbox setting, it defaults to `"live"`). Use `"live"` to fetch the most recent data from the web, or `"disabled"` to remove the tool. |230| `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| `windows_wsl_setup_acknowledged` | `boolean` | Track Windows onboarding acknowledgement (Windows only). |231| `windows_wsl_setup_acknowledged` | `boolean` | Track Windows onboarding acknowledgement (Windows only). |

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

233| `windows.sandbox_private_desktop` | `boolean` | Run the final sandboxed child process on a private desktop by default on native Windows. Set `false` only for compatibility with the older `Winsta0\\Default` behavior. |

225 234 

226Key235Key

227 236 


325 334 

326Type / Values335Type / Values

327 336 

328`untrusted | on-request | never | { reject = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool } }`337`untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }`

329 338 

330Details339Details

331 340 

332Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { reject = { ... } }` to auto-reject specific prompt categories while keeping other prompts interactive. `on-failure` is deprecated; use `on-request` for interactive runs or `never` for non-interactive runs.341Controls when Codex pauses for approval before executing commands. You can also use `approval_policy = { granular = { ... } }` to allow or 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.

333 342 

334Key343Key

335 344 

336`approval_policy.reject.mcp_elicitations`345`approval_policy.granular.mcp_elicitations`

337 346 

338Type / Values347Type / Values

339 348 


341 350 

342Details351Details

343 352 

344When `true`, MCP elicitation prompts are auto-rejected instead of shown to the user.353When `true`, MCP elicitation prompts are allowed to surface instead of being auto-rejected.

345 354 

346Key355Key

347 356 

348`approval_policy.reject.rules`357`approval_policy.granular.request_permissions`

349 358 

350Type / Values359Type / Values

351 360 


353 362 

354Details363Details

355 364 

356When `true`, approvals triggered by execpolicy `prompt` rules are auto-rejected.365When `true`, prompts from the `request_permissions` tool are allowed to surface.

357 366 

358Key367Key

359 368 

360`approval_policy.reject.sandbox_approval`369`approval_policy.granular.rules`

361 370 

362Type / Values371Type / Values

363 372 


365 374 

366Details375Details

367 376 

368When `true`, sandbox escalation approval prompts are auto-rejected.377When `true`, approvals triggered by execpolicy `prompt` rules are allowed to surface.

378 

379Key

380 

381`approval_policy.granular.sandbox_approval`

382 

383Type / Values

384 

385`boolean`

386 

387Details

388 

389When `true`, sandbox escalation approval prompts are allowed to surface.

390 

391Key

392 

393`approval_policy.granular.skill_approval`

394 

395Type / Values

396 

397`boolean`

398 

399Details

400 

401When `true`, skill-script approval prompts are allowed to surface.

402 

403Key

404 

405`approvals_reviewer`

406 

407Type / Values

408 

409`user | guardian_subagent`

410 

411Details

412 

413Select who reviews eligible approval prompts. Defaults to `user`; `guardian_subagent` routes supported reviews through the Guardian reviewer subagent.

369 414 

370Key415Key

371 416 


561 606 

562Key607Key

563 608 

609`default_permissions`

610 

611Type / Values

612 

613`string`

614 

615Details

616 

617Name of the default permissions profile to apply to sandboxed tool calls.

618 

619Key

620 

564`developer_instructions`621`developer_instructions`

565 622 

566Type / Values623Type / Values


621 678 

622Key679Key

623 680 

624`features.apps_mcp_gateway`681`features.codex_hooks`

625 682 

626Type / Values683Type / Values

627 684 


629 686 

630Details687Details

631 688 

632Route Apps MCP calls through the OpenAI connectors MCP gateway (`https://api.openai.com/v1/connectors/mcp/`) instead of legacy routing (experimental).689Enable lifecycle hooks loaded from `hooks.json` (under development; off by default).

633 690 

634Key691Key

635 692 

636`features.artifact`693`features.enable_request_compression`

637 694 

638Type / Values695Type / Values

639 696 


641 698 

642Details699Details

643 700 

644Enable native artifact tools such as slides and spreadsheets (under development).701Compress streaming request bodies with zstd when supported (stable; on by default).

645 702 

646Key703Key

647 704 

648`features.child_agents_md`705`features.fast_mode`

649 706 

650Type / Values707Type / Values

651 708 


653 710 

654Details711Details

655 712 

656Append AGENTS.md scope/precedence guidance even when no AGENTS.md is present (experimental).713Enable Fast mode selection and the `service_tier = "fast"` path (stable; on by default).

657 714 

658Key715Key

659 716 

660`features.collaboration_modes`717`features.guardian_approval`

661 718 

662Type / Values719Type / Values

663 720 


665 722 

666Details723Details

667 724 

668Legacy toggle for collaboration modes. Plan and default modes are available in current builds without setting this key.725Route eligible approval requests through the guardian reviewer subagent (experimental; off by default). Use with `approvals_reviewer = "guardian_subagent"`.

669 726 

670Key727Key

671 728 

672`features.default_mode_request_user_input`729`features.memories`

673 730 

674Type / Values731Type / Values

675 732 


677 734 

678Details735Details

679 736 

680Allow `request_user_input` in default collaboration mode (under development; off by default).737Enable [Memories](https://developers.openai.com/codex/memories) (off by default).

681 738 

682Key739Key

683 740 

684`features.elevated_windows_sandbox`741`features.multi_agent`

685 742 

686Type / Values743Type / Values

687 744 


689 746 

690Details747Details

691 748 

692Legacy toggle for an earlier elevated Windows sandbox rollout. Current builds do not use it.749Enable multi-agent collaboration tools (`spawn_agent`, `send_input`, `resume_agent`, `wait_agent`, and `close_agent`) (stable; on by default).

693 750 

694Key751Key

695 752 

696`features.enable_request_compression`753`features.personality`

697 754 

698Type / Values755Type / Values

699 756 


701 758 

702Details759Details

703 760 

704Compress streaming request bodies with zstd when supported (stable; on by default).761Enable personality selection controls (stable; on by default).

705 762 

706Key763Key

707 764 

708`features.experimental_windows_sandbox`765`features.prevent_idle_sleep`

709 766 

710Type / Values767Type / Values

711 768 


713 770 

714Details771Details

715 772 

716Legacy toggle for an earlier Windows sandbox rollout. Current builds do not use it.773Prevent the machine from sleeping while a turn is actively running (experimental; off by default).

717 774 

718Key775Key

719 776 

720`features.fast_mode`777`features.shell_snapshot`

721 778 

722Type / Values779Type / Values

723 780 


725 782 

726Details783Details

727 784 

728Enable Fast mode selection and the `service_tier = "fast"` path (stable; on by default).785Snapshot shell environment to speed up repeated commands (stable; on by default).

729 786 

730Key787Key

731 788 

732`features.image_detail_original`789`features.shell_tool`

733 790 

734Type / Values791Type / Values

735 792 


737 794 

738Details795Details

739 796 

740Allow image outputs with `detail = "original"` on supported models (under development).797Enable the default `shell` tool for running commands (stable; on by default).

741 798 

742Key799Key

743 800 

744`features.image_generation`801`features.skill_mcp_dependency_install`

745 802 

746Type / Values803Type / Values

747 804 


749 806 

750Details807Details

751 808 

752Enable the built-in image generation tool (under development).809Allow prompting and installing missing MCP dependencies for skills (stable; on by default).

753 810 

754Key811Key

755 812 

756`features.personality`813`features.undo`

757 814 

758Type / Values815Type / Values

759 816 


761 818 

762Details819Details

763 820 

764Enable personality selection controls (stable; on by default).821Enable undo support (stable; off by default).

765 822 

766Key823Key

767 824 

768`features.powershell_utf8`825`features.unified_exec`

769 826 

770Type / Values827Type / Values

771 828 


773 830 

774Details831Details

775 832 

776Force PowerShell UTF-8 output. Enabled by default on Windows and off elsewhere.833Use the unified PTY-backed exec tool (stable; enabled by default except on Windows).

777 834 

778Key835Key

779 836 

780`features.prevent_idle_sleep`837`features.web_search`

781 838 

782Type / Values839Type / Values

783 840 


785 842 

786Details843Details

787 844 

788Prevent the machine from sleeping while a turn is actively running (experimental; off by default).845Deprecated legacy toggle; prefer the top-level `web_search` setting.

789 846 

790Key847Key

791 848 

792`features.remote_models`849`features.web_search_cached`

793 850 

794Type / Values851Type / Values

795 852 


797 854 

798Details855Details

799 856 

800Legacy toggle for an older remote-model readiness flow. Current builds do not use it.857Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`.

801 858 

802Key859Key

803 860 

804`features.request_rule`861`features.web_search_request`

805 862 

806Type / Values863Type / Values

807 864 


809 866 

810Details867Details

811 868 

812Legacy toggle for Smart approvals. Current builds include this behavior by default, so most users can leave this unset.869Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`.

813 870 

814Key871Key

815 872 

816`features.responses_websockets`873`feedback.enabled`

817 874 

818Type / Values875Type / Values

819 876 


821 878 

822Details879Details

823 880 

824Prefer the Responses API WebSocket transport for supported providers (under development).881Enable feedback submission via `/feedback` across Codex surfaces (default: true).

825 882 

826Key883Key

827 884 

828`features.responses_websockets_v2`885`file_opener`

829 886 

830Type / Values887Type / Values

831 888 

832`boolean`889`vscode | vscode-insiders | windsurf | cursor | none`

833 890 

834Details891Details

835 892 

836Enable Responses API WebSocket v2 mode (under development).893URI scheme used to open citations from Codex output (default: `vscode`).

837 894 

838Key895Key

839 896 

840`features.runtime_metrics`897`forced_chatgpt_workspace_id`

841 898 

842Type / Values899Type / Values

843 900 

844`boolean`901`string (uuid)`

845 902 

846Details903Details

847 904 

848Show runtime metrics summary in TUI turn separators (experimental).905Limit ChatGPT logins to a specific workspace identifier.

849 906 

850Key907Key

851 908 

852`features.search_tool`909`forced_login_method`

853 910 

854Type / Values911Type / Values

855 912 

856`boolean`913`chatgpt | api`

857 914 

858Details915Details

859 916 

860Legacy toggle for an older Apps discovery flow. Current builds do not use it.917Restrict Codex to a specific authentication method.

861 918 

862Key919Key

863 920 

864`features.shell_snapshot`921`hide_agent_reasoning`

865 922 

866Type / Values923Type / Values

867 924 


869 926 

870Details927Details

871 928 

872Snapshot shell environment to speed up repeated commands (stable; on by default).929Suppress reasoning events in both the TUI and `codex exec` output.

873 930 

874Key931Key

875 932 

876`features.shell_tool`933`history.max_bytes`

877 934 

878Type / Values935Type / Values

879 936 

880`boolean`937`number`

881 938 

882Details939Details

883 940 

884Enable the default `shell` tool for running commands (stable; on by default).941If set, caps the history file size in bytes by dropping oldest entries.

885 942 

886Key943Key

887 944 

888`features.skill_env_var_dependency_prompt`945`history.persistence`

889 946 

890Type / Values947Type / Values

891 948 

892`boolean`949`save-all | none`

893 950 

894Details951Details

895 952 

896Prompt for missing skill environment-variable dependencies (under development).953Control whether Codex saves session transcripts to history.jsonl.

897 954 

898Key955Key

899 956 

900`features.skill_mcp_dependency_install`957`instructions`

901 958 

902Type / Values959Type / Values

903 960 

904`boolean`961`string`

905 962 

906Details963Details

907 964 

908Allow prompting and installing missing MCP dependencies for skills (stable; on by default).965Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.

909 966 

910Key967Key

911 968 

912`features.sqlite`969`log_dir`

913 970 

914Type / Values971Type / Values

915 972 

916`boolean`973`string (path)`

917 974 

918Details975Details

919 976 

920Enable SQLite-backed state persistence (stable; on by default).977Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.

921 978 

922Key979Key

923 980 

924`features.steer`981`mcp_oauth_callback_port`

925 982 

926Type / Values983Type / Values

927 984 

928`boolean`985`integer`

929 986 

930Details987Details

931 988 

932Legacy toggle from an earlier Enter/Tab steering rollout. Current builds always use the current steering behavior.989Optional 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.

933 990 

934Key991Key

935 992 

936`features.undo`993`mcp_oauth_callback_url`

937 994 

938Type / Values995Type / Values

939 996 

940`boolean`997`string`

941 998 

942Details999Details

943 1000 

944Enable undo support (stable; off by default).1001Optional redirect URI override for MCP OAuth login (for example, a devbox ingress URL). `mcp_oauth_callback_port` still controls the callback listener port.

945 1002 

946Key1003Key

947 1004 

948`features.unified_exec`1005`mcp_oauth_credentials_store`

949 1006 

950Type / Values1007Type / Values

951 1008 

952`boolean`1009`auto | file | keyring`

953 1010 

954Details1011Details

955 1012 

956Use the unified PTY-backed exec tool (stable; enabled by default except on Windows).1013Preferred store for MCP OAuth credentials.

957 1014 

958Key1015Key

959 1016 

960`features.use_linux_sandbox_bwrap`1017`mcp_servers.<id>.args`

961 1018 

962Type / Values1019Type / Values

963 1020 

964`boolean`1021`array<string>`

965 1022 

966Details1023Details

967 1024 

968Use the bubblewrap-based Linux sandbox pipeline (experimental; off by default).1025Arguments passed to the MCP stdio server command.

969 1026 

970Key1027Key

971 1028 

972`features.web_search`1029`mcp_servers.<id>.bearer_token_env_var`

973 1030 

974Type / Values1031Type / Values

975 1032 

976`boolean`1033`string`

977 1034 

978Details1035Details

979 1036 

980Deprecated legacy toggle; prefer the top-level `web_search` setting.1037Environment variable sourcing the bearer token for an MCP HTTP server.

981 1038 

982Key1039Key

983 1040 

984`features.web_search_cached`1041`mcp_servers.<id>.command`

985 1042 

986Type / Values1043Type / Values

987 1044 

988`boolean`1045`string`

989 1046 

990Details1047Details

991 1048 

992Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "cached"`.1049Launcher command for an MCP stdio server.

993 1050 

994Key1051Key

995 1052 

996`features.web_search_request`1053`mcp_servers.<id>.cwd`

997 1054 

998Type / Values1055Type / Values

999 1056 

1000`boolean`1057`string`

1001 1058 

1002Details1059Details

1003 1060 

1004Deprecated legacy toggle. When `web_search` is unset, true maps to `web_search = "live"`.1061Working directory for the MCP stdio server process.

1005 1062 

1006Key1063Key

1007 1064 

1008`feedback.enabled`1065`mcp_servers.<id>.disabled_tools`

1009 1066 

1010Type / Values1067Type / Values

1011 1068 

1012`boolean`1069`array<string>`

1013 1070 

1014Details1071Details

1015 1072 

1016Enable feedback submission via `/feedback` across Codex surfaces (default: true).1073Deny list applied after `enabled_tools` for the MCP server.

1017 1074 

1018Key1075Key

1019 1076 

1020`file_opener`1077`mcp_servers.<id>.enabled`

1021 1078 

1022Type / Values1079Type / Values

1023 1080 

1024`vscode | vscode-insiders | windsurf | cursor | none`1081`boolean`

1025 1082 

1026Details1083Details

1027 1084 

1028URI scheme used to open citations from Codex output (default: `vscode`).1085Disable an MCP server without removing its configuration.

1029 1086 

1030Key1087Key

1031 1088 

1032`forced_chatgpt_workspace_id`1089`mcp_servers.<id>.enabled_tools`

1033 1090 

1034Type / Values1091Type / Values

1035 1092 

1036`string (uuid)`1093`array<string>`

1037 1094 

1038Details1095Details

1039 1096 

1040Limit ChatGPT logins to a specific workspace identifier.1097Allow list of tool names exposed by the MCP server.

1041 1098 

1042Key1099Key

1043 1100 

1044`forced_login_method`1101`mcp_servers.<id>.env`

1045 1102 

1046Type / Values1103Type / Values

1047 1104 

1048`chatgpt | api`1105`map<string,string>`

1049 1106 

1050Details1107Details

1051 1108 

1052Restrict Codex to a specific authentication method.1109Environment variables forwarded to the MCP stdio server.

1053 1110 

1054Key1111Key

1055 1112 

1056`hide_agent_reasoning`1113`mcp_servers.<id>.env_http_headers`

1057 1114 

1058Type / Values1115Type / Values

1059 1116 

1060`boolean`1117`map<string,string>`

1061 1118 

1062Details1119Details

1063 1120 

1064Suppress reasoning events in both the TUI and `codex exec` output.1121HTTP headers populated from environment variables for an MCP HTTP server.

1065 1122 

1066Key1123Key

1067 1124 

1068`history.max_bytes`1125`mcp_servers.<id>.env_vars`

1069 1126 

1070Type / Values1127Type / Values

1071 1128 

1072`number`1129`array<string>`

1073 1130 

1074Details1131Details

1075 1132 

1076If set, caps the history file size in bytes by dropping oldest entries.1133Additional environment variables to whitelist for an MCP stdio server.

1077 1134 

1078Key1135Key

1079 1136 

1080`history.persistence`1137`mcp_servers.<id>.http_headers`

1081 1138 

1082Type / Values1139Type / Values

1083 1140 

1084`save-all | none`1141`map<string,string>`

1085 1142 

1086Details1143Details

1087 1144 

1088Control whether Codex saves session transcripts to history.jsonl.1145Static HTTP headers included with each MCP HTTP request.

1089 1146 

1090Key1147Key

1091 1148 

1092`instructions`1149`mcp_servers.<id>.oauth_resource`

1093 1150 

1094Type / Values1151Type / Values

1095 1152 


1097 1154 

1098Details1155Details

1099 1156 

1100Reserved for future use; prefer `model_instructions_file` or `AGENTS.md`.1157Optional RFC 8707 OAuth resource parameter to include during MCP login.

1101 1158 

1102Key1159Key

1103 1160 

1104`log_dir`1161`mcp_servers.<id>.required`

1105 1162 

1106Type / Values1163Type / Values

1107 1164 

1108`string (path)`1165`boolean`

1109 1166 

1110Details1167Details

1111 1168 

1112Directory where Codex writes log files (for example `codex-tui.log`); defaults to `$CODEX_HOME/log`.1169When true, fail startup/resume if this enabled MCP server cannot initialize.

1113 1170 

1114Key1171Key

1115 1172 

1116`mcp_oauth_callback_port`1173`mcp_servers.<id>.scopes`

1117 1174 

1118Type / Values1175Type / Values

1119 1176 

1120`integer`1177`array<string>`

1121 1178 

1122Details1179Details

1123 1180 

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

1125 1182 

1126Key1183Key

1127 1184 

1128`mcp_oauth_callback_url`1185`mcp_servers.<id>.startup_timeout_ms`

1129 1186 

1130Type / Values1187Type / Values

1131 1188 

1132`string`1189`number`

1133 1190 

1134Details1191Details

1135 1192 

1136Optional redirect URI override for MCP OAuth login (for example, a devbox ingress URL). `mcp_oauth_callback_port` still controls the callback listener port.1193Alias for `startup_timeout_sec` in milliseconds.

1137 1194 

1138Key1195Key

1139 1196 

1140`mcp_oauth_credentials_store`1197`mcp_servers.<id>.startup_timeout_sec`

1141 1198 

1142Type / Values1199Type / Values

1143 1200 

1144`auto | file | keyring`1201`number`

1145 1202 

1146Details1203Details

1147 1204 

1148Preferred store for MCP OAuth credentials.1205Override the default 10s startup timeout for an MCP server.

1149 1206 

1150Key1207Key

1151 1208 

1152`mcp_servers.<id>.args`1209`mcp_servers.<id>.tool_timeout_sec`

1153 1210 

1154Type / Values1211Type / Values

1155 1212 

1156`array<string>`1213`number`

1157 1214 

1158Details1215Details

1159 1216 

1160Arguments passed to the MCP stdio server command.1217Override the default 60s per-tool timeout for an MCP server.

1161 1218 

1162Key1219Key

1163 1220 

1164`mcp_servers.<id>.bearer_token_env_var`1221`mcp_servers.<id>.url`

1165 1222 

1166Type / Values1223Type / Values

1167 1224 


1169 1226 

1170Details1227Details

1171 1228 

1172Environment variable sourcing the bearer token for an MCP HTTP server.1229Endpoint for an MCP streamable HTTP server.

1173 1230 

1174Key1231Key

1175 1232 

1176`mcp_servers.<id>.command`1233`memories.consolidation_model`

1177 1234 

1178Type / Values1235Type / Values

1179 1236 


1181 1238 

1182Details1239Details

1183 1240 

1184Launcher command for an MCP stdio server.1241Optional model override for global memory consolidation.

1185 1242 

1186Key1243Key

1187 1244 

1188`mcp_servers.<id>.cwd`1245`memories.extract_model`

1189 1246 

1190Type / Values1247Type / Values

1191 1248 


1193 1250 

1194Details1251Details

1195 1252 

1196Working directory for the MCP stdio server process.1253Optional model override for per-thread memory extraction.

1197 1254 

1198Key1255Key

1199 1256 

1200`mcp_servers.<id>.disabled_tools`1257`memories.generate_memories`

1201 1258 

1202Type / Values1259Type / Values

1203 1260 

1204`array<string>`1261`boolean`

1205 1262 

1206Details1263Details

1207 1264 

1208Deny list applied after `enabled_tools` for the MCP server.1265When `false`, newly created threads are not stored as memory-generation inputs. Defaults to `true`.

1209 1266 

1210Key1267Key

1211 1268 

1212`mcp_servers.<id>.enabled`1269`memories.max_raw_memories_for_consolidation`

1213 1270 

1214Type / Values1271Type / Values

1215 1272 

1216`boolean`1273`number`

1217 1274 

1218Details1275Details

1219 1276 

1220Disable an MCP server without removing its configuration.1277Maximum recent raw memories retained for global consolidation. Defaults to `256` and is capped at `4096`.

1221 1278 

1222Key1279Key

1223 1280 

1224`mcp_servers.<id>.enabled_tools`1281`memories.max_rollout_age_days`

1225 1282 

1226Type / Values1283Type / Values

1227 1284 

1228`array<string>`1285`number`

1229 1286 

1230Details1287Details

1231 1288 

1232Allow list of tool names exposed by the MCP server.1289Maximum age of threads considered for memory generation. Defaults to `30` and is clamped to `0`-`90`.

1233 1290 

1234Key1291Key

1235 1292 

1236`mcp_servers.<id>.env`1293`memories.max_rollouts_per_startup`

1237 1294 

1238Type / Values1295Type / Values

1239 1296 

1240`map<string,string>`1297`number`

1241 1298 

1242Details1299Details

1243 1300 

1244Environment variables forwarded to the MCP stdio server.1301Maximum rollout candidates processed per startup pass. Defaults to `16` and is capped at `128`.

1245 1302 

1246Key1303Key

1247 1304 

1248`mcp_servers.<id>.env_http_headers`1305`memories.max_unused_days`

1249 1306 

1250Type / Values1307Type / Values

1251 1308 

1252`map<string,string>`1309`number`

1253 1310 

1254Details1311Details

1255 1312 

1256HTTP headers populated from environment variables for an MCP HTTP server.1313Maximum days since a memory was last used before it becomes ineligible for consolidation. Defaults to `30` and is clamped to `0`-`365`.

1257 1314 

1258Key1315Key

1259 1316 

1260`mcp_servers.<id>.env_vars`1317`memories.min_rollout_idle_hours`

1261 1318 

1262Type / Values1319Type / Values

1263 1320 

1264`array<string>`1321`number`

1265 1322 

1266Details1323Details

1267 1324 

1268Additional environment variables to whitelist for an MCP stdio server.1325Minimum idle time before a thread is considered for memory generation. Defaults to `6` and is clamped to `1`-`48`.

1269 1326 

1270Key1327Key

1271 1328 

1272`mcp_servers.<id>.http_headers`1329`memories.no_memories_if_mcp_or_web_search`

1273 1330 

1274Type / Values1331Type / Values

1275 1332 

1276`map<string,string>`1333`boolean`

1277 1334 

1278Details1335Details

1279 1336 

1280Static HTTP headers included with each MCP HTTP request.1337When `true`, threads that use MCP tool calls or web search are kept out of memory generation. Defaults to `false`.

1281 1338 

1282Key1339Key

1283 1340 

1284`mcp_servers.<id>.oauth_resource`1341`memories.use_memories`

1285 1342 

1286Type / Values1343Type / Values

1287 1344 

1288`string`1345`boolean`

1289 1346 

1290Details1347Details

1291 1348 

1292Optional RFC 8707 OAuth resource parameter to include during MCP login.1349When `false`, Codex skips injecting existing memories into future sessions. Defaults to `true`.

1293 1350 

1294Key1351Key

1295 1352 

1296`mcp_servers.<id>.required`1353`model`

1297 1354 

1298Type / Values1355Type / Values

1299 1356 

1300`boolean`1357`string`

1301 1358 

1302Details1359Details

1303 1360 

1304When true, fail startup/resume if this enabled MCP server cannot initialize.1361Model to use (e.g., `gpt-5.4`).

1305 1362 

1306Key1363Key

1307 1364 

1308`mcp_servers.<id>.scopes`1365`model_auto_compact_token_limit`

1309 1366 

1310Type / Values1367Type / Values

1311 1368 

1312`array<string>`1369`number`

1313 1370 

1314Details1371Details

1315 1372 

1316OAuth scopes to request when authenticating to that MCP server.1373Token threshold that triggers automatic history compaction (unset uses model defaults).

1317 1374 

1318Key1375Key

1319 1376 

1320`mcp_servers.<id>.startup_timeout_ms`1377`model_catalog_json`

1321 1378 

1322Type / Values1379Type / Values

1323 1380 

1324`number`1381`string (path)`

1325 1382 

1326Details1383Details

1327 1384 

1328Alias for `startup_timeout_sec` in milliseconds.1385Optional path to a JSON model catalog loaded on startup. Profile-level `profiles.<name>.model_catalog_json` can override this per profile.

1329 1386 

1330Key1387Key

1331 1388 

1332`mcp_servers.<id>.startup_timeout_sec`1389`model_context_window`

1333 1390 

1334Type / Values1391Type / Values

1335 1392 


1337 1394 

1338Details1395Details

1339 1396 

1340Override the default 10s startup timeout for an MCP server.1397Context window tokens available to the active model.

1341 1398 

1342Key1399Key

1343 1400 

1344`mcp_servers.<id>.tool_timeout_sec`1401`model_instructions_file`

1345 1402 

1346Type / Values1403Type / Values

1347 1404 

1348`number`1405`string (path)`

1349 1406 

1350Details1407Details

1351 1408 

1352Override the default 60s per-tool timeout for an MCP server.1409Replacement for built-in instructions instead of `AGENTS.md`.

1353 1410 

1354Key1411Key

1355 1412 

1356`mcp_servers.<id>.url`1413`model_provider`

1357 1414 

1358Type / Values1415Type / Values

1359 1416 


1361 1418 

1362Details1419Details

1363 1420 

1364Endpoint for an MCP streamable HTTP server.1421Provider id from `model_providers` (default: `openai`).

1365 1422 

1366Key1423Key

1367 1424 

1368`model`1425`model_providers.<id>`

1369 1426 

1370Type / Values1427Type / Values

1371 1428 

1372`string`1429`table`

1373 1430 

1374Details1431Details

1375 1432 

1376Model to use (e.g., `gpt-5-codex`).1433Custom provider definition. Built-in provider IDs (`openai`, `ollama`, and `lmstudio`) are reserved and cannot be overridden.

1377 1434 

1378Key1435Key

1379 1436 

1380`model_auto_compact_token_limit`1437`model_providers.<id>.auth`

1381 1438 

1382Type / Values1439Type / Values

1383 1440 

1384`number`1441`table`

1385 1442 

1386Details1443Details

1387 1444 

1388Token threshold that triggers automatic history compaction (unset uses model defaults).1445Command-backed bearer token configuration for a custom provider. Do not combine with `env_key`, `experimental_bearer_token`, or `requires_openai_auth`.

1389 1446 

1390Key1447Key

1391 1448 

1392`model_catalog_json`1449`model_providers.<id>.auth.args`

1393 1450 

1394Type / Values1451Type / Values

1395 1452 

1396`string (path)`1453`array<string>`

1397 1454 

1398Details1455Details

1399 1456 

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

1401 1458 

1402Key1459Key

1403 1460 

1404`model_context_window`1461`model_providers.<id>.auth.command`

1405 1462 

1406Type / Values1463Type / Values

1407 1464 

1408`number`1465`string`

1409 1466 

1410Details1467Details

1411 1468 

1412Context window tokens available to the active model.1469Command to run when Codex needs a bearer token. The command must print the token to stdout.

1413 1470 

1414Key1471Key

1415 1472 

1416`model_instructions_file`1473`model_providers.<id>.auth.cwd`

1417 1474 

1418Type / Values1475Type / Values

1419 1476 


1421 1478 

1422Details1479Details

1423 1480 

1424Replacement for built-in instructions instead of `AGENTS.md`.1481Working directory for the token command.

1425 1482 

1426Key1483Key

1427 1484 

1428`model_provider`1485`model_providers.<id>.auth.refresh_interval_ms`

1429 1486 

1430Type / Values1487Type / Values

1431 1488 

1432`string`1489`number`

1433 1490 

1434Details1491Details

1435 1492 

1436Provider id from `model_providers` (default: `openai`).1493How often Codex proactively refreshes the token in milliseconds (default: 300000). Set to `0` to refresh only after an authentication retry.

1494 

1495Key

1496 

1497`model_providers.<id>.auth.timeout_ms`

1498 

1499Type / Values

1500 

1501`number`

1502 

1503Details

1504 

1505Maximum token command runtime in milliseconds (default: 5000).

1437 1506 

1438Key1507Key

1439 1508 


1737 1806 

1738Key1807Key

1739 1808 

1809`openai_base_url`

1810 

1811Type / Values

1812 

1813`string`

1814 

1815Details

1816 

1817Base URL override for the built-in `openai` model provider.

1818 

1819Key

1820 

1740`oss_provider`1821`oss_provider`

1741 1822 

1742Type / Values1823Type / Values


1953 2034 

1954Key2035Key

1955 2036 

1956`permissions.network.admin_url`2037`permissions.<name>.filesystem`

1957 2038 

1958Type / Values2039Type / Values

1959 2040 

1960`string`2041`table`

1961 2042 

1962Details2043Details

1963 2044 

1964Admin endpoint for the managed network proxy.2045Named filesystem permission profile. Each key is an absolute path or special token such as `:minimal` or `:project_roots`.

1965 2046 

1966Key2047Key

1967 2048 

1968`permissions.network.allow_local_binding`2049`permissions.<name>.filesystem.":project_roots".<subpath>`

1969 2050 

1970Type / Values2051Type / Values

1971 2052 

1972`boolean`2053`"read" | "write" | "none"`

1973 2054 

1974Details2055Details

1975 2056 

1976Permit local bind/listen operations through the managed proxy.2057Scoped filesystem access relative to the detected project roots. Use `"."` for the root itself.

1977 2058 

1978Key2059Key

1979 2060 

1980`permissions.network.allow_unix_sockets`2061`permissions.<name>.filesystem.<path>`

1981 2062 

1982Type / Values2063Type / Values

1983 2064 

1984`array<string>`2065`"read" | "write" | "none" | table`

1985 2066 

1986Details2067Details

1987 2068 

1988Allowlist of Unix socket paths permitted through the managed proxy.2069Grant direct access for a path or special token, or scope nested entries under that root.

1989 2070 

1990Key2071Key

1991 2072 

1992`permissions.network.allow_upstream_proxy`2073`permissions.<name>.network.allow_local_binding`

1993 2074 

1994Type / Values2075Type / Values

1995 2076 


1997 2078 

1998Details2079Details

1999 2080 

2000Allow the managed proxy to chain to another upstream proxy.2081Permit local bind/listen operations through the managed proxy.

2001 2082 

2002Key2083Key

2003 2084 

2004`permissions.network.allowed_domains`2085`permissions.<name>.network.allow_upstream_proxy`

2005 2086 

2006Type / Values2087Type / Values

2007 2088 

2008`array<string>`2089`boolean`

2009 2090 

2010Details2091Details

2011 2092 

2012Allowlist of domains permitted through the managed proxy.2093Allow the managed proxy to chain to another upstream proxy.

2013 2094 

2014Key2095Key

2015 2096 

2016`permissions.network.dangerously_allow_all_unix_sockets`2097`permissions.<name>.network.dangerously_allow_all_unix_sockets`

2017 2098 

2018Type / Values2099Type / Values

2019 2100 


2025 2106 

2026Key2107Key

2027 2108 

2028`permissions.network.dangerously_allow_non_loopback_admin`2109`permissions.<name>.network.dangerously_allow_non_loopback_proxy`

2029 2110 

2030Type / Values2111Type / Values

2031 2112 


2033 2114 

2034Details2115Details

2035 2116 

2036Permit non-loopback bind addresses for the managed proxy admin listener.2117Permit non-loopback bind addresses for the managed proxy listener.

2037 2118 

2038Key2119Key

2039 2120 

2040`permissions.network.dangerously_allow_non_loopback_proxy`2121`permissions.<name>.network.domains`

2041 2122 

2042Type / Values2123Type / Values

2043 2124 

2044`boolean`2125`map<string, allow | deny>`

2045 2126 

2046Details2127Details

2047 2128 

2048Permit non-loopback bind addresses for the managed proxy listener.2129Domain rules for the managed proxy. Use domain names or wildcard patterns as keys, with `allow` or `deny` values.

2049 2130 

2050Key2131Key

2051 2132 

2052`permissions.network.denied_domains`2133`permissions.<name>.network.enable_socks5`

2053 2134 

2054Type / Values2135Type / Values

2055 2136 

2056`array<string>`2137`boolean`

2057 2138 

2058Details2139Details

2059 2140 

2060Denylist of domains blocked by the managed proxy.2141Expose a SOCKS5 listener when this permissions profile enables the managed network proxy.

2061 2142 

2062Key2143Key

2063 2144 

2064`permissions.network.enable_socks5`2145`permissions.<name>.network.enable_socks5_udp`

2065 2146 

2066Type / Values2147Type / Values

2067 2148 


2069 2150 

2070Details2151Details

2071 2152 

2072Expose a SOCKS5 listener from the managed network proxy.2153Allow UDP over the SOCKS5 listener when enabled.

2073 2154 

2074Key2155Key

2075 2156 

2076`permissions.network.enable_socks5_udp`2157`permissions.<name>.network.enabled`

2077 2158 

2078Type / Values2159Type / Values

2079 2160 


2081 2162 

2082Details2163Details

2083 2164 

2084Allow UDP over the SOCKS5 listener when enabled.2165Enable network access for this named permissions profile.

2085 2166 

2086Key2167Key

2087 2168 

2088`permissions.network.enabled`2169`permissions.<name>.network.mode`

2089 2170 

2090Type / Values2171Type / Values

2091 2172 

2092`boolean`2173`limited | full`

2093 2174 

2094Details2175Details

2095 2176 

2096Enable the managed network proxy configuration for subprocesses.2177Network proxy mode used for subprocess traffic.

2097 2178 

2098Key2179Key

2099 2180 

2100`permissions.network.mode`2181`permissions.<name>.network.proxy_url`

2101 2182 

2102Type / Values2183Type / Values

2103 2184 

2104`limited | full`2185`string`

2105 2186 

2106Details2187Details

2107 2188 

2108Network proxy mode used for subprocess traffic.2189HTTP proxy endpoint used when this permissions profile enables the managed network proxy.

2109 2190 

2110Key2191Key

2111 2192 

2112`permissions.network.proxy_url`2193`permissions.<name>.network.socks_url`

2113 2194 

2114Type / Values2195Type / Values

2115 2196 


2117 2198 

2118Details2199Details

2119 2200 

2120HTTP proxy endpoint used by the managed network proxy.2201SOCKS5 proxy endpoint used by this permissions profile.

2121 2202 

2122Key2203Key

2123 2204 

2124`permissions.network.socks_url`2205`permissions.<name>.network.unix_sockets`

2125 2206 

2126Type / Values2207Type / Values

2127 2208 

2128`string`2209`map<string, allow | none>`

2129 2210 

2130Details2211Details

2131 2212 

2132SOCKS5 proxy endpoint used by the managed network proxy.2213Unix socket rules for the managed proxy. Use socket paths as keys, with `allow` or `none` values.

2133 2214 

2134Key2215Key

2135 2216 


2441 2522 

2442Details2523Details

2443 2524 

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

2445 2526 

2446Key2527Key

2447 2528 


2601 2682 

2602Key2683Key

2603 2684 

2685`tool_suggest.discoverables`

2686 

2687Type / Values

2688 

2689`array<table>`

2690 

2691Details

2692 

2693Allow tool suggestions for additional discoverable connectors or plugins. Each entry uses `type = "connector"` or `"plugin"` and an `id`.

2694 

2695Key

2696 

2604`tools.view_image`2697`tools.view_image`

2605 2698 

2606Type / Values2699Type / Values


2617 2710 

2618Type / Values2711Type / Values

2619 2712 

2620`boolean`2713`boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }`

2621 2714 

2622Details2715Details

2623 2716 

2624Deprecated legacy toggle for web search; prefer the top-level `web_search` setting.2717Optional web search tool configuration. The legacy boolean form is still accepted, but the object form lets you set search context size, allowed domains, and approximate user location.

2625 2718 

2626Key2719Key

2627 2720 


2721 2814 

2722Key2815Key

2723 2816 

2817`tui.terminal_title`

2818 

2819Type / Values

2820 

2821`array<string> | null`

2822 

2823Details

2824 

2825Ordered list of terminal window/tab title item identifiers. Defaults to `["spinner", "project"]`; `null` disables title updates.

2826 

2827Key

2828 

2724`tui.theme`2829`tui.theme`

2725 2830 

2726Type / Values2831Type / Values


2767 2872 

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

2769 2874 

2875Key

2876 

2877`windows.sandbox_private_desktop`

2878 

2879Type / Values

2880 

2881`boolean`

2882 

2883Details

2884 

2885Run the final sandboxed child process on a private desktop by default on native Windows. Set `false` only for compatibility with the older `Winsta0\\Default` behavior.

2886 

2770Expand to view all2887Expand to view all

2771 2888 

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


2791 2908 

2792| Key | Type / Values | Details |2909| Key | Type / Values | Details |

2793| --- | --- | --- |2910| --- | --- | --- |

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

2912| `allowed_approvals_reviewers` | `array<string>` | Allowed values for `approvals_reviewer` (for example `user` and `guardian_subagent`). |

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

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

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


2818 2936 

2819Details2937Details

2820 2938 

2821Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `reject`).2939Allowed values for `approval_policy` (for example `untrusted`, `on-request`, `never`, and `granular`).

2940 

2941Key

2942 

2943`allowed_approvals_reviewers`

2944 

2945Type / Values

2946 

2947`array<string>`

2948 

2949Details

2950 

2951Allowed values for `approvals_reviewer` (for example `user` and `guardian_subagent`).

2822 2952 

2823Key2953Key

2824 2954