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

68 lines
2.8 KiB
Markdown

# Configuration
For basic configuration instructions, see [this documentation](https://developers.openai.com/codex/config-basic).
For advanced configuration instructions, see [this documentation](https://developers.openai.com/codex/config-advanced).
For a full configuration reference, see [this documentation](https://developers.openai.com/codex/config-reference).
## 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:
- https://developers.openai.com/codex/config-reference
## 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:
- https://developers.openai.com/codex/config-reference
## 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`:
```toml
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`).