Type object
File match **/.codex/config.toml
Schema URL https://catalog.lintel.tools/schemas/schemastore/codex/latest.json
Source https://developers.openai.com/codex/config-schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Base config deserialized from ~/.codex/config.toml.

Properties

agents

Agent-related settings (thread limits, etc.).

All of: AgentsToml object
allow_login_shell boolean

Whether the model may request a login shell for shell-based tools. Default to true

If true, the model may request a login shell (login = true), and omitting login defaults to using a login shell. If false, the model can never use a login shell: login = true requests are rejected, and omitting login defaults to a non-login shell.

analytics

When false, disables analytics across Codex product surfaces in this machine. Defaults to true.

All of: AnalyticsConfigToml object
approval_policy

Default approval policy for executing commands.

All of: AskForApproval string | string | string | object | string
approvals_reviewer

Configures who approval requests are routed to for review once they have been escalated. This does not disable separate safety checks such as ARC.

All of: ApprovalsReviewer string
apps

Settings for app-specific controls.

Default: null
All of: AppsConfigToml object
audio

Machine-local realtime audio device preferences used by realtime voice.

Default: null
All of: RealtimeAudioToml object
auto_review

Optional policy instructions for the guardian auto-reviewer.

Default: null
All of: AutoReviewToml object
background_terminal_max_timeout integer

Maximum poll window for background terminal output (write_stdin), in milliseconds. Default: 300000 (5 minutes).

format=uint64min=0.0
chatgpt_base_url string

Base URL for requests to ChatGPT (as opposed to the OpenAI API).

check_for_update_on_startup boolean

When true, checks for Codex updates on startup and surfaces update prompts. Set to false only if your Codex updates are centrally managed. Defaults to true.

cli_auth_credentials_store

Preferred backend for storing CLI auth credentials. file (default): Use a file in the Codex home directory. keyring: Use an OS-specific keyring service. auto: Use the keyring if available, otherwise use a file.

Default: null
All of: AuthCredentialsStoreMode string | string | string | string
commit_attribution string

Optional commit attribution text for commit message co-author trailers.

Set to an empty string to disable automatic commit attribution.

compact_prompt string

Compact prompt used for history compaction.

default_permissions string

Default permissions profile to apply. Names starting with : refer to built-in profiles; other names are resolved from the [permissions] table.

developer_instructions string

Developer instructions inserted as a developer role message.

Default: null
disable_paste_burst boolean

When true, disables burst-paste detection for typed input entirely. All characters are inserted as they are received, and no buffering or placeholder replacement will occur for fast keypress bursts.

experimental_compact_prompt_file string

A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).

IMPORTANT: When deserializing an AbsolutePathBuf, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.

experimental_realtime_start_instructions string

Experimental / do not use. Replaces the built-in realtime start instructions inserted into developer messages when realtime becomes active.

experimental_realtime_ws_backend_prompt string

Experimental / do not use. Overrides only the realtime conversation websocket transport instructions (the Op::RealtimeConversation /ws session.update instructions) without changing normal prompts.

experimental_realtime_ws_base_url string

Experimental / do not use. Overrides only the realtime conversation websocket transport base URL (the Op::RealtimeConversation /v1/realtime connection) without changing normal provider HTTP requests.

experimental_realtime_ws_model string

Experimental / do not use. Selects the realtime websocket model/snapshot used for the Op::RealtimeConversation connection.

experimental_realtime_ws_startup_context string

Experimental / do not use. Replaces the synthesized realtime startup context appended to websocket session instructions. An empty string disables startup context injection entirely.

experimental_thread_config_endpoint string

Experimental / do not use. When set, app-server fetches thread-scoped config from a remote service at this endpoint.

experimental_thread_store

Experimental / do not use. Selects the thread store implementation.

All of: ThreadStoreToml object | object
experimental_thread_store_endpoint string

Experimental / do not use. When set, app-server uses a remote thread store at this endpoint instead of the local filesystem/SQLite store.

experimental_use_freeform_apply_patch boolean
experimental_use_unified_exec_tool boolean
features object

Centralized feature flags (new). Prefer this over individual toggles.

Default: null
78 nested properties
apply_patch_freeform boolean
apply_patch_streaming_events boolean
apps boolean
apps_mcp_path_override boolean | AppsMcpPathOverrideConfigToml
browser_use boolean
child_agents_md boolean
chronicle boolean
code_mode boolean
code_mode_only boolean
codex_git_commit boolean
codex_hooks boolean
collab boolean
collaboration_modes boolean
computer_use boolean
connectors boolean
default_mode_request_user_input boolean
elevated_windows_sandbox boolean
enable_experimental_windows_sandbox boolean
enable_fanout boolean
enable_mcp_apps boolean
enable_request_compression boolean
exec_permission_approvals boolean
experimental_use_freeform_apply_patch boolean
experimental_use_unified_exec_tool boolean
experimental_windows_sandbox boolean
external_migration boolean
fast_mode boolean
goals boolean
guardian_approval boolean
image_detail_original boolean
image_generation boolean
in_app_browser boolean
include_apply_patch_tool boolean
js_repl boolean
js_repl_tools_only boolean
memories boolean
memory_tool boolean
multi_agent boolean
multi_agent_v2 boolean | MultiAgentV2ConfigToml
personality boolean
plugin_hooks boolean
plugins boolean
prevent_idle_sleep boolean
realtime_conversation boolean
remote_control boolean
remote_models boolean
remote_plugin boolean
request_permissions boolean
request_permissions_tool boolean
request_rule boolean
responses_websockets boolean
responses_websockets_v2 boolean
runtime_metrics boolean
search_tool boolean
shell_snapshot boolean
shell_tool boolean
shell_zsh_fork boolean
skill_env_var_dependency_prompt boolean
skill_mcp_dependency_install boolean
sqlite boolean
steer boolean
telepathy boolean
terminal_resize_reflow boolean
tool_call_mcp_elicitation boolean
tool_search boolean
tool_search_always_defer_mcp_tools boolean
tool_suggest boolean
tui_app_server boolean
unavailable_dummy_tools boolean
undo boolean
unified_exec boolean
use_legacy_landlock boolean
use_linux_sandbox_bwrap boolean
web_search boolean
web_search_cached boolean
web_search_request boolean
workspace_dependencies boolean
workspace_owner_usage_nudge boolean
feedback

When false, disables feedback collection across Codex product surfaces. Defaults to true.

All of: FeedbackConfigToml object
file_opener

Optional URI-based file opener. If set, citations to files in the model output will be hyperlinked using the specified URI scheme.

All of: UriBasedFileOpener string | string
forced_chatgpt_workspace_id string

When set, restricts ChatGPT login to a specific workspace identifier.

Default: null
forced_login_method

When set, restricts the login mechanism users may use.

Default: null
All of: ForcedLoginMethod string
ghost_snapshot

Compatibility-only settings retained so legacy ghost_snapshot config still loads.

Default: null
All of: GhostSnapshotToml object
hide_agent_reasoning boolean

When set to true, AgentReasoning events will be hidden from the UI/output. Defaults to false.

history

Settings that govern if and what will be written to ~/.codex/history.jsonl.

Default: null
All of: History object
hooks

Lifecycle hooks configured inline in TOML plus user-level overrides.

All of: HooksToml object
include_apps_instructions boolean

Whether to inject the <apps_instructions> developer block.

include_environment_context boolean

Whether to inject the <environment_context> user block.

include_permissions_instructions boolean

Whether to inject the <permissions instructions> developer block.

instructions string

System instructions.

log_dir

Directory where Codex writes log files, for example codex-tui.log. Defaults to $CODEX_HOME/log.

All of: AbsolutePathBuf string
marketplaces Record<string, object>

User-level marketplace entries keyed by marketplace name.

Default:
{}
mcp_oauth_callback_port integer

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

format=uint16min=0.0
mcp_oauth_callback_url string

Optional redirect URI to use during MCP OAuth login. When set, this URI is used in the OAuth authorization request instead of the local listener address. The local callback listener still binds to 127.0.0.1 (using mcp_oauth_callback_port when provided).

mcp_oauth_credentials_store

Preferred backend for storing MCP OAuth credentials. keyring: Use an OS-specific keyring service. https://github.com/openai/codex/blob/main/codex-rs/rmcp-client/src/oauth.rs#L2 file: Use a file in the Codex home directory. auto (default): Use the OS-specific keyring service if available, otherwise use a file.

Default: null
All of: OAuthCredentialsStoreMode string | string | string
mcp_servers Record<string, object>

Definition for MCP servers that Codex can reach out to for tool calls.

Default:
{}
memories

Memories subsystem settings.

All of: MemoriesToml object
model string

Optional override of model selection.

model_auto_compact_token_limit integer

Token usage threshold triggering auto-compaction of conversation history.

format=int64
model_catalog_json

Optional path to a JSON model catalog (applied on startup only). Per-thread config overrides are accepted but do not reapply this (no-ops).

All of: AbsolutePathBuf string
model_context_window integer

Size of the context window for the model, in tokens.

format=int64
model_instructions_file

Optional path to a file containing model instructions that will override the built-in instructions for the selected model. Users are STRONGLY DISCOURAGED from using this field, as deviating from the instructions sanctioned by Codex will likely degrade model performance.

All of: AbsolutePathBuf string
model_provider string

Provider to use from the model_providers map.

model_providers Record<string, object>

User-defined provider entries that extend the built-in list. Built-in IDs cannot be overridden.

Default:
{}
model_reasoning_effort string
Values: "none" "minimal" "low" "medium" "high" "xhigh"
model_reasoning_summary string | string

A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries

model_supports_reasoning_summaries boolean

Override to force-enable reasoning summaries for the configured model.

model_verbosity

Optional verbosity control for GPT-5 models (Responses API text.verbosity).

All of: Verbosity string
notice

Collection of in-product notices (different from notifications) See [crate::types::Notice] for more details

All of: Notice object
notify string[]

Optional external command to spawn for end-user notifications.

Default: null
openai_base_url string

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

oss_provider string

Preferred OSS provider for local models, e.g. "lmstudio" or "ollama".

otel

OTEL configuration.

All of: OtelConfigToml object
permissions

Named permissions profiles.

Default: null
All of: PermissionsToml object
personality

Optionally specify a personality for the model

All of: Personality string
plan_mode_reasoning_effort string
Values: "none" "minimal" "low" "medium" "high" "xhigh"
plugins Record<string, object>

User-level plugin config entries keyed by plugin name.

Default:
{}
profile string

Profile to use from the profiles map.

profiles Record<string, object>

Named profiles to facilitate switching between different configurations.

Default:
{}
project_doc_fallback_filenames string[]

Ordered list of fallback filenames to look for when AGENTS.md is missing.

project_doc_max_bytes integer

Maximum number of bytes to include from an AGENTS.md project doc file.

format=uintmin=0.0
project_root_markers string[]

Markers used to detect the project root when searching parent directories for .codex folders. Defaults to [".git"] when unset.

Default: null
projects Record<string, object>
realtime

Experimental / do not use. Realtime websocket session selection. version controls v1/v2 and type controls conversational/transcription.

Default: null
All of: RealtimeToml object
review_model string

Review model override used by the /review feature.

sandbox_mode

Sandbox mode to use.

All of: SandboxMode string
sandbox_workspace_write

Sandbox configuration to apply if sandbox is WorkspaceWrite.

All of: SandboxWorkspaceWrite object
service_tier

Optional explicit service tier preference for new turns (fast or flex).

All of: ServiceTier string
shell_environment_policy
Default:
{
  "exclude": null,
  "experimental_use_profile": null,
  "ignore_default_excludes": null,
  "include_only": null,
  "inherit": null,
  "set": null
}
show_raw_agent_reasoning boolean

When set to true, AgentReasoningRawContentEvent events will be shown in the UI/output. Defaults to false.

skills

User-level skill config entries keyed by SKILL.md path.

All of: SkillsConfig object
sqlite_home

Directory where Codex stores the SQLite state DB. Defaults to $CODEX_SQLITE_HOME when set. Otherwise uses $CODEX_HOME.

All of: AbsolutePathBuf string
suppress_unstable_features_warning boolean

Suppress warnings about unstable (under development) features.

tool_output_token_limit integer

Token budget applied when storing tool/function outputs in the context manager.

format=uintmin=0.0
tool_suggest

Additional discoverable tools that can be suggested for installation.

All of: ToolSuggestConfig object
tools

Nested tools section for feature toggles

All of: ToolsToml object
tui

Collection of settings that are specific to the TUI.

All of: Tui object
windows

Windows-specific configuration.

Default: null
All of: WindowsToml object
windows_wsl_setup_acknowledged boolean

Tracks whether the Windows onboarding screen has been acknowledged.

zsh_path

Optional absolute path to patched zsh used by zsh-exec-bridge-backed shell execution.

All of: AbsolutePathBuf string

Definitions

AbsolutePathBuf string

A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).

IMPORTANT: When deserializing an AbsolutePathBuf, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.

AgentRoleToml object
config_file

Path to a role-specific config layer. Relative paths are resolved relative to the config.toml that defines them.

All of: AbsolutePathBuf string
description string

Human-facing role documentation used in spawn tool guidance. Required unless supplied by the referenced agent role file.

nickname_candidates string[]

Candidate nicknames for agents spawned with this role.

AgentsToml Record<string, object>
interrupt_message boolean

Whether to record a model-visible message when an agent turn is interrupted. Defaults to true.

job_max_runtime_seconds integer

Default maximum runtime in seconds for agent job workers.

format=uint64min=1.0
max_depth integer

Maximum nesting depth allowed for spawned agent threads. Root sessions start at depth 0.

format=int32min=1.0
max_threads integer

Maximum number of agent threads that can be open concurrently. When unset, no limit is enforced.

format=uintmin=1.0
AltScreenMode string | string | string

Controls whether the TUI uses the terminal's alternate screen buffer.

Background: The alternate screen buffer provides a cleaner fullscreen experience without polluting the terminal's scrollback history. However, it conflicts with terminal multiplexers like Zellij that strictly follow the xterm specification, which defines that alternate screen buffers should not have scrollback.

Zellij's behavior: Zellij intentionally disables scrollback in alternate screen mode (see https://github.com/zellij-org/zellij/pull/1032) to comply with the xterm spec. This is by design and not configurable in Zellij—there is no option to enable scrollback in alternate screen mode.

Solution: This setting provides a pragmatic workaround: - auto (default): Automatically detect the terminal multiplexer. If running in Zellij, disable alternate screen to preserve scrollback. Enable it everywhere else. - always: Always use alternate screen mode (original behavior before this fix). - never: Never use alternate screen mode. Runs in inline mode, preserving scrollback in all multiplexers.

The CLI flag --no-alt-screen can override this setting at runtime.

AnalyticsConfigToml object

Analytics settings loaded from config.toml. Fields are optional so we can apply defaults.

enabled boolean

When false, disables analytics across Codex product surfaces in this profile.

AppConfig object

Config values for a single app/connector.

default_tools_approval_mode

Approval mode for tools in this app unless a tool override exists.

All of: AppToolApproval string
default_tools_enabled boolean

Whether tools are enabled by default for this app.

destructive_enabled boolean

Whether tools with destructive_hint = true are allowed for this app.

enabled boolean

When false, Codex does not surface this app.

Default: true
open_world_enabled boolean

Whether tools with open_world_hint = true are allowed for this app.

tools

Per-tool settings for this app.

All of: AppToolsConfig object
AppToolApproval string
AppToolConfig object

Per-tool settings for a single app tool.

approval_mode

Approval mode for this tool.

All of: AppToolApproval string
enabled boolean

Whether this tool is enabled. Some(true) explicitly allows this tool.

AppToolsConfig Record<string, object>

Tool settings for a single app.

ApprovalsReviewer string

Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to user. auto_review uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value guardian_subagent is accepted for compatibility.

AppsConfigToml Record<string, object>

App/connector settings loaded from config.toml.

_default

Default settings for all apps.

All of: AppsDefaultConfig object
AppsDefaultConfig object

Default settings that apply to all apps.

destructive_enabled boolean

Whether tools with destructive_hint = true are allowed by default.

enabled boolean

When false, apps are disabled unless overridden by per-app settings.

Default: true
open_world_enabled boolean

Whether tools with open_world_hint = true are allowed by default.

AppsMcpPathOverrideConfigToml object
enabled boolean
path string
AskForApproval string | string | string | object | string

Determines the conditions under which the user is consulted to approve running the command proposed by Codex.

AuthCredentialsStoreMode string | string | string | string

Determine where Codex should store CLI auth credentials.

AutoReviewToml object
policy string

Additional policy instructions inserted into the guardian prompt.

BundledSkillsConfig object
enabled boolean
Default: true
ConfigProfile object

Collection of common configuration options that a user can define as a unit in config.toml.

analytics object

Analytics settings loaded from config.toml. Fields are optional so we can apply defaults.

1 nested properties
enabled boolean

When false, disables analytics across Codex product surfaces in this profile.

approval_policy string | string | string | object | string

Determines the conditions under which the user is consulted to approve running the command proposed by Codex.

approvals_reviewer string

Configures who approval requests are routed to for review. Examples include sandbox escapes, blocked network access, MCP approval prompts, and ARC escalations. Defaults to user. auto_review uses a carefully prompted subagent to gather relevant context and apply a risk-based decision framework before approving or denying the request. The legacy value guardian_subagent is accepted for compatibility.

Values: "user" "auto_review" "guardian_subagent"
chatgpt_base_url string
experimental_compact_prompt_file string

A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).

IMPORTANT: When deserializing an AbsolutePathBuf, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.

experimental_use_freeform_apply_patch boolean
experimental_use_unified_exec_tool boolean
features object

Optional feature toggles scoped to this profile.

Default: null
78 nested properties
apply_patch_freeform boolean
apply_patch_streaming_events boolean
apps boolean
apps_mcp_path_override boolean | AppsMcpPathOverrideConfigToml
browser_use boolean
child_agents_md boolean
chronicle boolean
code_mode boolean
code_mode_only boolean
codex_git_commit boolean
codex_hooks boolean
collab boolean
collaboration_modes boolean
computer_use boolean
connectors boolean
default_mode_request_user_input boolean
elevated_windows_sandbox boolean
enable_experimental_windows_sandbox boolean
enable_fanout boolean
enable_mcp_apps boolean
enable_request_compression boolean
exec_permission_approvals boolean
experimental_use_freeform_apply_patch boolean
experimental_use_unified_exec_tool boolean
experimental_windows_sandbox boolean
external_migration boolean
fast_mode boolean
goals boolean
guardian_approval boolean
image_detail_original boolean
image_generation boolean
in_app_browser boolean
include_apply_patch_tool boolean
js_repl boolean
js_repl_tools_only boolean
memories boolean
memory_tool boolean
multi_agent boolean
multi_agent_v2 boolean | MultiAgentV2ConfigToml
personality boolean
plugin_hooks boolean
plugins boolean
prevent_idle_sleep boolean
realtime_conversation boolean
remote_control boolean
remote_models boolean
remote_plugin boolean
request_permissions boolean
request_permissions_tool boolean
request_rule boolean
responses_websockets boolean
responses_websockets_v2 boolean
runtime_metrics boolean
search_tool boolean
shell_snapshot boolean
shell_tool boolean
shell_zsh_fork boolean
skill_env_var_dependency_prompt boolean
skill_mcp_dependency_install boolean
sqlite boolean
steer boolean
telepathy boolean
terminal_resize_reflow boolean
tool_call_mcp_elicitation boolean
tool_search boolean
tool_search_always_defer_mcp_tools boolean
tool_suggest boolean
tui_app_server boolean
unavailable_dummy_tools boolean
undo boolean
unified_exec boolean
use_legacy_landlock boolean
use_linux_sandbox_bwrap boolean
web_search boolean
web_search_cached boolean
web_search_request boolean
workspace_dependencies boolean
workspace_owner_usage_nudge boolean
include_apply_patch_tool boolean
include_apps_instructions boolean
include_environment_context boolean
include_permissions_instructions boolean
model string
model_catalog_json

Optional path to a JSON model catalog (applied on startup only).

All of: AbsolutePathBuf string
model_instructions_file

Optional path to a file containing model instructions.

All of: AbsolutePathBuf string
model_provider string

The key in the model_providers map identifying the [ModelProviderInfo] to use.

model_reasoning_effort string
Values: "none" "minimal" "low" "medium" "high" "xhigh"
model_reasoning_summary string | string

A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries

model_verbosity string

Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.

Values: "low" "medium" "high"
oss_provider string
personality string
Values: "none" "friendly" "pragmatic"
plan_mode_reasoning_effort string
Values: "none" "minimal" "low" "medium" "high" "xhigh"
sandbox_mode string
Values: "read-only" "workspace-write" "danger-full-access"
service_tier

Optional explicit service tier preference for new turns (fast or flex).

All of: ServiceTier string
tools object
2 nested properties
view_image boolean

Enable the view_image tool that lets the agent attach local images.

Default: null
web_search
Default: null
All of: WebSearchToolConfig object
tools_view_image boolean
web_search string
Values: "disabled" "cached" "live"
windows
Default: null
All of: WindowsToml object
zsh_path

Optional absolute path to patched zsh used by zsh-exec-bridge-backed shell execution.

All of: AbsolutePathBuf string
ExternalConfigMigrationPrompts object

Settings for notices we display to users via the tui and app-server clients (primarily the Codex IDE extension). NOTE: these are different from notifications - notices are warnings, NUX screens, acknowledgements, etc.

home boolean

Tracks whether home-level external config migration prompts are hidden.

home_last_prompted_at integer

Tracks the last time the home-level external config migration prompt was shown.

format=int64
project_last_prompted_at Record<string, integer>

Tracks the last time a project-level external config migration prompt was shown.

Default:
{}
projects Record<string, boolean>

Tracks which project paths have opted out of external config migration prompts.

Default:
{}
FeatureToml_for_AppsMcpPathOverrideConfigToml boolean | AppsMcpPathOverrideConfigToml
FeatureToml_for_MultiAgentV2ConfigToml boolean | MultiAgentV2ConfigToml
FeedbackConfigToml object
enabled boolean

When false, disables the feedback flow across Codex product surfaces.

FileSystemAccessMode string

Access mode for a filesystem entry.

When two equally specific entries target the same path, we compare these by conflict precedence rather than by capability breadth: none beats write, and write beats read.

FilesystemPermissionToml FileSystemAccessMode | object
FilesystemPermissionsToml object
glob_scan_max_depth integer

Optional maximum depth for expanding unreadable glob patterns on platforms that snapshot glob matches before sandbox startup.

format=uintmin=1.0
ForcedLoginMethod string
GhostSnapshotToml object
disable_warnings boolean

Legacy no-op setting retained for compatibility.

ignore_large_untracked_dirs integer

Legacy no-op setting retained for compatibility.

format=int64
ignore_large_untracked_files integer

Legacy no-op setting retained for compatibility.

format=int64
GranularApprovalConfig object
mcp_elicitations boolean required

Whether to allow MCP elicitation prompts.

rules boolean required

Whether to allow prompts triggered by execpolicy prompt rules.

sandbox_approval boolean required

Whether to allow shell command approval requests, including inline with_additional_permissions and require_escalated requests.

request_permissions boolean

Whether to allow prompts triggered by the request_permissions tool.

Default: false
skill_approval boolean

Whether to allow approval prompts triggered by skill script execution.

Default: false
History object

Settings that govern if and what will be written to ~/.codex/history.jsonl.

persistence required

If true, history entries will not be written to disk.

All of: HistoryPersistence string | string
max_bytes integer

If set, the maximum size of the history file in bytes. The oldest entries are dropped once the file exceeds this limit.

format=uintmin=0.0
HistoryPersistence string | string
HookHandlerConfig object | object | object
HookStateToml object
enabled boolean
HooksToml object
PermissionRequest MatcherGroup[]
Default:
[]
PostToolUse MatcherGroup[]
Default:
[]
PreToolUse MatcherGroup[]
Default:
[]
SessionStart MatcherGroup[]
Default:
[]
Default:
[]
UserPromptSubmit MatcherGroup[]
Default:
[]
state Record<string, object>
KeybindingsSpec string | string[]

One action binding value in config.

This accepts either:

  1. A single key spec string ("ctrl-a"). 2. A list of key spec strings (["ctrl-a", "alt-a"]).

An empty list explicitly unbinds the action in that scope. Because an explicit empty list is still a configured value, runtime resolution must not fall through to global or built-in defaults for that action.

MarketplaceConfig object
last_revision string

Git revision Codex last successfully activated for this marketplace.

Default: null
last_updated string

Last time Codex successfully added or refreshed this marketplace.

Default: null
ref string

Git ref to check out when source_type is git.

Default: null
source string

Source location used when the marketplace was added.

Default: null
source_type

Source kind used to install this marketplace.

Default: null
All of: MarketplaceSourceType string
sparse_paths string[]

Sparse checkout paths used when source_type is git.

Default: null
MarketplaceSourceType string
MatcherGroup object
Default:
[]
matcher string
Default: null
McpServerEnvVar string | object
McpServerToolConfig object

Per-tool approval settings for a single MCP server tool.

approval_mode

Approval mode for this tool.

All of: AppToolApproval string
MemoriesToml object

Memories settings loaded from config.toml.

consolidation_model string

Model used for memory consolidation.

disable_on_external_context boolean

When true, external context sources mark the thread memory_mode as "polluted".

extract_model string

Model used for thread summarisation.

generate_memories boolean

When false, newly created threads are stored with memory_mode = "disabled" in the state DB.

max_raw_memories_for_consolidation integer

Maximum number of recent raw memories retained for global consolidation.

format=uintmin=1.0max=4096.0
max_rollout_age_days integer

Maximum age of the threads used for memories.

format=int64
max_rollouts_per_startup integer

Maximum number of rollout candidates processed per pass.

format=uintmin=1.0max=128.0
max_unused_days integer

Maximum number of days since a memory was last used before it becomes ineligible for phase 2 selection.

format=int64
min_rate_limit_remaining_percent integer

Minimum remaining percentage required in Codex rate-limit windows before memory startup runs.

format=int64min=0.0max=100.0
min_rollout_idle_hours integer

Minimum idle time between last thread activity and memory creation (hours). > 12h recommended.

format=int64
use_memories boolean

When false, skip injecting memory usage instructions into developer prompts.

ModelAvailabilityNuxConfig Record<string, integer>
ModelProviderAuthInfo object

Configuration for obtaining a provider bearer token from a command.

command string required

Command to execute. Bare names are resolved via PATH; paths are resolved against cwd.

args string[]

Command arguments.

Default:
[]
cwd

Working directory used when running the token command.

All of: AbsolutePathBuf string
refresh_interval_ms integer

Maximum age for the cached token before rerunning the command. Set to 0 to disable proactive refresh and only rerun after a 401 retry path.

Default: 300000
format=uint64min=0.0
timeout_ms integer

Maximum time to wait for the token command to exit successfully.

Default: 5000
format=uint64min=1.0
ModelProviderAwsAuthInfo object

AWS SigV4 auth configuration for a model provider.

profile string

AWS profile name to use. When unset, the AWS SDK default chain decides.

region string

AWS region to use for provider-specific endpoints.

ModelProviderInfo object

Serializable representation of a provider definition.

auth

Command-backed bearer-token configuration for this provider.

All of: ModelProviderAuthInfo object
aws

AWS SigV4 auth configuration for this provider.

All of: ModelProviderAwsAuthInfo object
base_url string

Base URL for the provider's OpenAI-compatible API.

env_http_headers Record<string, string>

Optional HTTP headers to include in requests to this provider where the (key, value) pairs are the header name and environment variable whose value should be used. If the environment variable is not set, or the value is empty, the header will not be included in the request.

env_key string

Environment variable that stores the user's API key for this provider.

env_key_instructions string

Optional instructions to help the user get a valid value for the variable and set it.

experimental_bearer_token string

Value to use with Authorization: Bearer <token> header. Use of this config is discouraged in favor of env_key for security reasons, but this may be necessary when using this programmatically.

http_headers Record<string, string>

Additional HTTP headers to include in requests to this provider where the (key, value) pairs are the header name and value.

name string

Friendly display name.

Default: ""
query_params Record<string, string>

Optional query parameters to append to the base URL.

request_max_retries integer

Maximum number of times to retry a failed HTTP request to this provider.

format=uint64min=0.0
requires_openai_auth boolean

Does this provider require an OpenAI API Key or ChatGPT login token? If true, user is presented with login screen on first run, and login preference and token/key are stored in auth.json. If false (which is the default), login screen is skipped, and API key (if needed) comes from the "env_key" environment variable.

Default: false
stream_idle_timeout_ms integer

Idle timeout (in milliseconds) to wait for activity on a streaming response before treating the connection as lost.

format=uint64min=0.0
stream_max_retries integer

Number of times to retry reconnecting a dropped streaming response before failing.

format=uint64min=0.0
supports_websockets boolean

Whether this provider supports the Responses API WebSocket transport.

Default: false
websocket_connect_timeout_ms integer

Maximum time (in milliseconds) to wait for a websocket connection attempt before treating it as failed.

format=uint64min=0.0
wire_api

Which wire protocol this provider expects.

Default: "responses"
All of: WireApi string
MultiAgentV2ConfigToml object
enabled boolean
hide_spawn_agent_metadata boolean
max_concurrent_threads_per_session integer
format=uintmin=1.0
min_wait_timeout_ms integer
format=int64min=1.0max=3600000.0
root_agent_usage_hint_text string
subagent_usage_hint_text string
usage_hint_enabled boolean
usage_hint_text string
NetworkDomainPermissionToml string
NetworkDomainPermissionsToml object
NetworkModeSchema string
NetworkToml object
allow_local_binding boolean
allow_upstream_proxy boolean
dangerously_allow_all_unix_sockets boolean
dangerously_allow_non_loopback_proxy boolean
domains object
enable_socks5 boolean
enable_socks5_udp boolean
enabled boolean
mode string
Values: "limited" "full"
proxy_url string
socks_url string
unix_sockets object
NetworkUnixSocketPermissionToml string
NetworkUnixSocketPermissionsToml object
Notice object
external_config_migration_prompts

Tracks scopes where external config migration prompts should be suppressed.

Default:
{
  "home": null,
  "home_last_prompted_at": null,
  "project_last_prompted_at": {},
  "projects": {}
}
fast_default_opt_out boolean

Tracks whether the user opted out of Codex-managed fast defaults.

hide_full_access_warning boolean

Tracks whether the user has acknowledged the full access warning prompt.

hide_gpt-5.1-codex-max_migration_prompt boolean

Tracks whether the user has seen the gpt-5.1-codex-max migration prompt

hide_gpt5_1_migration_prompt boolean

Tracks whether the user has seen the model migration prompt

hide_rate_limit_model_nudge boolean

Tracks whether the user opted out of the rate limit model switch reminder.

hide_world_writable_warning boolean

Tracks whether the user has acknowledged the Windows world-writable directories warning.

model_migrations Record<string, string>

Tracks acknowledged model migrations as old->new model slug mappings.

Default:
{}
NotificationCondition string | string
NotificationMethod string
Notifications boolean | string[]
OAuthCredentialsStoreMode string | string | string

Determine where Codex should store and read MCP credentials.

OtelConfigToml object

OTEL settings loaded from config.toml. Fields are optional so we can apply defaults.

environment string

Mark traces with environment (dev, staging, prod, test). Defaults to dev.

exporter

Optional log exporter

All of: OtelExporterKind string | object | object
log_user_prompt boolean

Log user prompt in traces

metrics_exporter

Optional metrics exporter

All of: OtelExporterKind string | object | object
trace_exporter

Optional trace exporter

All of: OtelExporterKind string | object | object
OtelExporterKind string | object | object

Which OTEL exporter to use.

OtelHttpProtocol string | string
OtelTlsConfig object
ca-certificate string

A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).

IMPORTANT: When deserializing an AbsolutePathBuf, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.

client-certificate string

A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).

IMPORTANT: When deserializing an AbsolutePathBuf, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.

client-private-key string

A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).

IMPORTANT: When deserializing an AbsolutePathBuf, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.

PermissionProfileToml object
filesystem object
1 nested properties
glob_scan_max_depth integer

Optional maximum depth for expanding unreadable glob patterns on platforms that snapshot glob matches before sandbox startup.

format=uintmin=1.0
network object
12 nested properties
allow_local_binding boolean
allow_upstream_proxy boolean
dangerously_allow_all_unix_sockets boolean
dangerously_allow_non_loopback_proxy boolean
domains object
enable_socks5 boolean
enable_socks5_udp boolean
enabled boolean
mode string
Values: "limited" "full"
proxy_url string
socks_url string
unix_sockets object
PermissionsToml object
Personality string
PluginConfig object
enabled boolean
Default: true
mcp_servers Record<string, object>

Per-MCP-server policy overlays for MCP servers contributed by this plugin.

PluginMcpServerConfig object

Policy settings for a plugin-provided MCP server.

This intentionally excludes transport settings: plugin manifests own how the MCP server is launched, while user config owns enablement and tool policy.

default_tools_approval_mode

Approval mode for tools in this server unless a tool override exists.

All of: AppToolApproval string
disabled_tools string[]

Explicit deny-list of tools. These tools are removed after applying enabled_tools.

enabled boolean

When false, Codex skips initializing this plugin MCP server.

Default: true
enabled_tools string[]

Explicit allow-list of tools exposed from this server.

tools Record<string, object>

Per-tool approval settings keyed by tool name.

ProjectConfig object
trust_level string

Represents the trust level for a project directory. This determines the approval policy and sandbox mode applied.

Values: "trusted" "untrusted"
RawMcpServerConfig object

Raw MCP config shape used for deserialization and supported-field JSON Schema generation.

Fields that are accepted only to produce targeted validation errors should be skipped in the generated schema.

Keep TryFrom<RawMcpServerConfig> for McpServerConfig exhaustively destructuring this struct so new TOML fields cannot be added here without updating the validation/mapping logic that produces [McpServerConfig].

args string[]
Default: null
bearer_token_env_var string
command string
cwd string
Default: null
default_tools_approval_mode
Default: null
All of: AppToolApproval string
disabled_tools string[]
Default: null
enabled boolean
Default: null
enabled_tools string[]
Default: null
env Record<string, string>
Default: null
env_http_headers Record<string, string>
Default: null
Default: null
experimental_environment string
Default: null
http_headers Record<string, string>
name string

Legacy display-name field accepted for backward compatibility.

Default: null
oauth_resource string
Default: null
required boolean
Default: null
scopes string[]
Default: null
startup_timeout_ms integer
Default: null
format=uint64min=0.0
startup_timeout_sec number
Default: null
format=double
supports_parallel_tool_calls boolean
Default: null
tool_timeout_sec number
Default: null
format=double
tools Record<string, object>
Default: null
url string
RealtimeAudioToml object
microphone string
speaker string
RealtimeConversationVersion string
RealtimeToml object
transport string
Values: "webrtc" "websocket"
type string
Values: "conversational" "transcription"
version string
Values: "v1" "v2"
voice string
Values: "alloy" "arbor" "ash" "ballad" "breeze" "cedar" "coral" "cove" "echo" "ember" "juniper" "maple" "marin" "sage" "shimmer" "sol" "spruce" "vale" "verse"
RealtimeTransport string
RealtimeVoice string
RealtimeWsMode string
ReasoningSummary string | string

A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process. See https://platform.openai.com/docs/guides/reasoning?api-mode=responses#reasoning-summaries

SandboxMode string
SandboxWorkspaceWrite object
exclude_slash_tmp boolean
Default: false
exclude_tmpdir_env_var boolean
Default: false
network_access boolean
Default: false
writable_roots AbsolutePathBuf[]
Default:
[]
ServiceTier string
ShellEnvironmentPolicyInherit string | string | string
ShellEnvironmentPolicyToml object

Policy for building the env when spawning a process via either the shell or local_shell tool.

exclude string[]

List of regular expressions.

experimental_use_profile boolean
ignore_default_excludes boolean
include_only string[]

List of regular expressions.

inherit string | string | string
set Record<string, string>
SkillConfig object
enabled boolean required
name string

Name-based selector.

path

Path-based selector.

All of: AbsolutePathBuf string
SkillsConfig object
bundled object
1 nested properties
enabled boolean
Default: true
config SkillConfig[]
include_instructions boolean

Whether turns receive the automatic skills instructions block.

ThreadStoreToml object | object
ToolSuggestConfig object
disabled_tools ToolSuggestDisabledTool[]
Default:
[]
Default:
[]
ToolSuggestDisabledTool object
id string required
type string required
Values: "connector" "plugin"
ToolSuggestDiscoverable object
id string required
type string required
Values: "connector" "plugin"
ToolSuggestDiscoverableType string
ToolsToml object
view_image boolean

Enable the view_image tool that lets the agent attach local images.

Default: null
web_search
Default: null
All of: WebSearchToolConfig object
TrustLevel string

Represents the trust level for a project directory. This determines the approval policy and sandbox mode applied.

Tui object

Collection of settings that are specific to the TUI.

alternate_screen

Controls whether the TUI uses the terminal's alternate screen buffer.

  • auto (default): Disable alternate screen in Zellij, enable elsewhere. - always: Always use alternate screen (original behavior). - never: Never use alternate screen (inline mode only, preserves scrollback).

Using alternate screen provides a cleaner fullscreen experience but prevents scrollback in terminal multiplexers like Zellij that follow the xterm spec.

Default: "auto"
All of: AltScreenMode string | string | string
animations boolean

Enable animations (welcome screen, shimmer effects, spinners). Defaults to true.

Default: true
keymap

Keybinding overrides for the TUI.

This supports rebinding selected actions globally and by context. Context bindings take precedence over global bindings.

Default:
{
  "approval": {
    "approve": null,
    "approve_for_prefix": null,
    "approve_for_session": null,
    "cancel": null,
    "decline": null,
    "deny": null,
    "open_fullscreen": null,
    "open_thread": null
  },
  "chat": {
    "decrease_reasoning_effort": null,
    "edit_queued_message": null,
    "increase_reasoning_effort": null
  },
  "composer": {
    "history_search_next": null,
    "history_search_previous": null,
    "queue": null,
    "submit": null,
    "toggle_shortcuts": null
  },
  "editor": {
    "delete_backward": null,
    "delete_backward_word": null,
    "delete_forward": null,
    "delete_forward_word": null,
    "insert_newline": null,
    "kill_line_end": null,
    "kill_line_start": null,
    "move_down": null,
    "move_left": null,
    "move_line_end": null,
    "move_line_start": null,
    "move_right": null,
    "move_up": null,
    "move_word_left": null,
    "move_word_right": null,
    "yank": null
  },
  "global": {
    "clear_terminal": null,
    "copy": null,
    "open_external_editor": null,
    "open_transcript": null,
    "queue": null,
    "submit": null,
    "toggle_shortcuts": null
  },
  "list": {
    "accept": null,
    "cancel": null,
    "move_down": null,
    "move_up": null
  },
  "pager": {
    "close": null,
    "close_transcript": null,
    "half_page_down": null,
    "half_page_up": null,
    "jump_bottom": null,
    "jump_top": null,
    "page_down": null,
    "page_up": null,
    "scroll_down": null,
    "scroll_up": null
  }
}
All of: TuiKeymap object
model_availability_nux

Startup tooltip availability NUX state persisted by the TUI.

Default:
{}
notification_condition

Controls whether TUI notifications are delivered only when the terminal is unfocused or regardless of focus. Defaults to unfocused.

Default: "unfocused"
All of: NotificationCondition string | string
notification_method

Notification method to use for terminal notifications. Defaults to auto.

Default: "auto"
All of: NotificationMethod string
notifications

Enable desktop notifications from the TUI. Defaults to true.

Default: true
All of: Notifications boolean | string[]
show_tooltips boolean

Show startup tooltips in the TUI welcome screen. Defaults to true.

Default: true
status_line string[]

Ordered list of status line item identifiers.

When set, the TUI renders the selected items as the status line. When unset, the TUI defaults to: model-with-reasoning and current-dir.

Default: null
terminal_resize_reflow_max_rows integer

Trim terminal resize-reflow replay to the most recent rendered terminal rows when the transcript exceeds this cap. Omit to use Codex's terminal-specific default. Set to 0 to keep all rendered rows.

Default: null
format=uintmin=0.0
terminal_title string[]

Ordered list of terminal title item identifiers.

When set, the TUI renders the selected items into the terminal window/tab title. When unset, the TUI defaults to: activity and project. The activity item spins while working and shows an action-required message when blocked on the user.

Default: null
theme string

Syntax highlighting theme name (kebab-case).

When set, overrides automatic light/dark theme detection. Use /theme in the TUI or see $CODEX_HOME/themes for custom themes.

Default: null
TuiApprovalKeymap object

Approval overlay keybindings.

approve

Approve the primary option.

All of: KeybindingsSpec string | string[]
approve_for_prefix

Approve with exec-policy prefix when that option exists.

All of: KeybindingsSpec string | string[]
approve_for_session

Approve for session when that option exists.

All of: KeybindingsSpec string | string[]
cancel

Cancel an elicitation request.

All of: KeybindingsSpec string | string[]
decline

Decline and provide corrective guidance.

All of: KeybindingsSpec string | string[]
deny

Deny without providing follow-up guidance.

All of: KeybindingsSpec string | string[]
open_fullscreen

Open the full-screen approval details view.

All of: KeybindingsSpec string | string[]
open_thread

Open the thread that requested approval when shown from another thread.

All of: KeybindingsSpec string | string[]
TuiChatKeymap object

Chat context keybindings.

decrease_reasoning_effort

Decrease the active reasoning effort.

All of: KeybindingsSpec string | string[]
edit_queued_message

Edit the most recently queued message.

All of: KeybindingsSpec string | string[]
increase_reasoning_effort

Increase the active reasoning effort.

All of: KeybindingsSpec string | string[]
TuiComposerKeymap object

Composer context keybindings. These override corresponding global actions.

history_search_next

Move to the next match in reverse history search.

All of: KeybindingsSpec string | string[]
history_search_previous

Open reverse history search or move to the previous match.

All of: KeybindingsSpec string | string[]
queue

Queue the current composer draft while a task is running.

All of: KeybindingsSpec string | string[]
submit

Submit the current composer draft.

All of: KeybindingsSpec string | string[]
toggle_shortcuts

Toggle the composer shortcut overlay.

All of: KeybindingsSpec string | string[]
TuiEditorKeymap object

Editor context keybindings for text editing inside text areas.

delete_backward

Delete one grapheme to the left.

All of: KeybindingsSpec string | string[]
delete_backward_word

Delete the previous word.

All of: KeybindingsSpec string | string[]
delete_forward

Delete one grapheme to the right.

All of: KeybindingsSpec string | string[]
delete_forward_word

Delete the next word.

All of: KeybindingsSpec string | string[]
insert_newline

Insert a newline in the editor.

All of: KeybindingsSpec string | string[]
kill_line_end

Kill text from cursor to line end.

All of: KeybindingsSpec string | string[]
kill_line_start

Kill text from cursor to line start.

All of: KeybindingsSpec string | string[]
move_down

Move cursor down one visual line.

All of: KeybindingsSpec string | string[]
move_left

Move cursor left by one grapheme.

All of: KeybindingsSpec string | string[]
move_line_end

Move cursor to end of line.

All of: KeybindingsSpec string | string[]
move_line_start

Move cursor to beginning of line.

All of: KeybindingsSpec string | string[]
move_right

Move cursor right by one grapheme.

All of: KeybindingsSpec string | string[]
move_up

Move cursor up one visual line.

All of: KeybindingsSpec string | string[]
move_word_left

Move cursor to beginning of previous word.

All of: KeybindingsSpec string | string[]
move_word_right

Move cursor to end of next word.

All of: KeybindingsSpec string | string[]
yank

Yank the kill buffer.

All of: KeybindingsSpec string | string[]
TuiGlobalKeymap object

Global keybindings. These are used when a context does not define an override.

clear_terminal

Clear the terminal UI.

All of: KeybindingsSpec string | string[]
copy

Copy the last agent response to the clipboard.

All of: KeybindingsSpec string | string[]
open_external_editor

Open the external editor for the current draft.

All of: KeybindingsSpec string | string[]
open_transcript

Open the transcript overlay.

All of: KeybindingsSpec string | string[]
queue

Queue the current composer draft while a task is running.

All of: KeybindingsSpec string | string[]
submit

Submit the current composer draft.

All of: KeybindingsSpec string | string[]
toggle_shortcuts

Toggle the composer shortcut overlay.

All of: KeybindingsSpec string | string[]
TuiKeymap object

Raw keymap configuration from [tui.keymap].

Each context contains action-level overrides. Missing actions inherit from built-in defaults, and selected chat/composer actions can fall back through global during runtime resolution.

This type is intentionally a persistence shape, not the structure used by input handlers. Runtime consumers should resolve it into RuntimeKeymap first so precedence, empty-list unbinding, and duplicate-key validation are applied consistently.

approval
Default:
{
  "approve": null,
  "approve_for_prefix": null,
  "approve_for_session": null,
  "cancel": null,
  "decline": null,
  "deny": null,
  "open_fullscreen": null,
  "open_thread": null
}
All of: TuiApprovalKeymap object
chat
Default:
{
  "decrease_reasoning_effort": null,
  "edit_queued_message": null,
  "increase_reasoning_effort": null
}
All of: TuiChatKeymap object
composer
Default:
{
  "history_search_next": null,
  "history_search_previous": null,
  "queue": null,
  "submit": null,
  "toggle_shortcuts": null
}
All of: TuiComposerKeymap object
editor
Default:
{
  "delete_backward": null,
  "delete_backward_word": null,
  "delete_forward": null,
  "delete_forward_word": null,
  "insert_newline": null,
  "kill_line_end": null,
  "kill_line_start": null,
  "move_down": null,
  "move_left": null,
  "move_line_end": null,
  "move_line_start": null,
  "move_right": null,
  "move_up": null,
  "move_word_left": null,
  "move_word_right": null,
  "yank": null
}
All of: TuiEditorKeymap object
global
Default:
{
  "clear_terminal": null,
  "copy": null,
  "open_external_editor": null,
  "open_transcript": null,
  "queue": null,
  "submit": null,
  "toggle_shortcuts": null
}
All of: TuiGlobalKeymap object
list
Default:
{
  "accept": null,
  "cancel": null,
  "move_down": null,
  "move_up": null
}
All of: TuiListKeymap object
pager
Default:
{
  "close": null,
  "close_transcript": null,
  "half_page_down": null,
  "half_page_up": null,
  "jump_bottom": null,
  "jump_top": null,
  "page_down": null,
  "page_up": null,
  "scroll_down": null,
  "scroll_up": null
}
All of: TuiPagerKeymap object
TuiListKeymap object

List selection context keybindings for popup-style selectable lists.

accept

Accept current selection.

All of: KeybindingsSpec string | string[]
cancel

Cancel and close selection view.

All of: KeybindingsSpec string | string[]
move_down

Move list selection down.

All of: KeybindingsSpec string | string[]
move_up

Move list selection up.

All of: KeybindingsSpec string | string[]
TuiPagerKeymap object

Pager context keybindings for transcript and static overlays.

close

Close the pager overlay.

All of: KeybindingsSpec string | string[]
close_transcript

Close the transcript overlay via its dedicated toggle key.

All of: KeybindingsSpec string | string[]
half_page_down

Scroll down by half a page.

All of: KeybindingsSpec string | string[]
half_page_up

Scroll up by half a page.

All of: KeybindingsSpec string | string[]
jump_bottom

Jump to the end.

All of: KeybindingsSpec string | string[]
jump_top

Jump to the beginning.

All of: KeybindingsSpec string | string[]
page_down

Scroll down by one page.

All of: KeybindingsSpec string | string[]
page_up

Scroll up by one page.

All of: KeybindingsSpec string | string[]
scroll_down

Scroll down by one row.

All of: KeybindingsSpec string | string[]
scroll_up

Scroll up by one row.

All of: KeybindingsSpec string | string[]
UriBasedFileOpener string | string
Verbosity string

Controls output length/detail on GPT-5 models via the Responses API. Serialized with lowercase values to match the OpenAI API.

WebSearchContextSize string
WebSearchLocation object
city string
country string
region string
timezone string
WebSearchMode string
WebSearchToolConfig object
allowed_domains string[]
context_size string
Values: "low" "medium" "high"
location object
4 nested properties
city string
country string
region string
timezone string
WindowsSandboxModeToml string
WindowsToml object
sandbox string
Values: "elevated" "unelevated"
sandbox_private_desktop boolean

Defaults to true. Set to false to launch the final sandboxed child process on Winsta0\\Default instead of a private desktop.

WireApi string

Wire protocol that the provider speaks.