Files
codex/docs/config.md
Friel 993d3874e1 feat(agents): add watchdog and forked-agent support
Add watchdog scheduling and forked-agent spawn/resume support across the agent control plane, schemas, rollout metadata, and TUI surfaces.

Rolls up follow-up fixes for watchdog lifecycle behavior and guidance: helper cleanup/one-shot enforcement, wait semantics for watchdog check-in agents, and clarified tool descriptions so models align with runtime behavior.
2026-02-24 14:05:06 -08:00

2.8 KiB

Configuration

For basic configuration instructions, see this documentation.

For advanced configuration instructions, see this documentation.

For a full configuration reference, see this documentation.

Connecting to MCP servers

Codex can connect to MCP servers configured in ~/.codex/config.toml. See the configuration reference for the latest MCP server options:

Apps (Connectors)

Use $ in the composer to insert a ChatGPT connector; the popover lists accessible apps. The /apps command lists available and installed apps. Connected apps appear first and are labeled as connected; others are marked as can be installed.

Notify

Codex can run a notification hook when the agent finishes a turn. See the configuration reference for the latest notification settings:

Agent Inbox Delivery

Inbound messages from other agents (for example, when a watchdog uses send_input) can be injected as different roles in the root thread. Configure this with agent_delivery_role:

agent_delivery_role = "tool" # tool | developer | assistant

tool (default) injects a synthetic multi-agent inbox collab_inbox tool-call + tool-output pair so inbound agent messages are explicit tool activity in the transcript. developer injects a developer message with an explicit [collab_inbox:...] prefix so it is not mistaken for user input. assistant injects the same prefix using the assistant role.

This setting applies to non-subagent threads (for example, the root thread). Messages sent to subagents via send_input are still delivered as user input.

JSON Schema

The generated JSON Schema for config.toml lives at codex-rs/core/config.schema.json.

SQLite State DB

Codex stores the SQLite-backed state DB under sqlite_home (config key) or the CODEX_SQLITE_HOME environment variable. When unset, WorkspaceWrite sandbox sessions default to a temp directory; other modes default to CODEX_HOME.

Notices

Codex stores "do not show again" flags for some UI prompts under the [notice] table.

Plan mode defaults

plan_mode_reasoning_effort lets you set a Plan-mode-specific default reasoning effort override. When unset, Plan mode uses the built-in Plan preset default (currently medium). When explicitly set (including none), it overrides the Plan preset. The string value none means "no reasoning" (an explicit Plan override), not "inherit the global default". There is currently no separate config value for "follow the global default in Plan mode".

Ctrl+C/Ctrl+D quitting uses a ~1 second double-press hint (ctrl + c again to quit).