spawn_agent schema omits supported model and reasoning_effort parameters
What version of Codex CLI is running?
0.144.1
What subscription do you have?
Plus
Which model were you using?
gpt-5.6 terra xhigh
What platform is your computer?
Darwin 24.6.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
iTerm2codex
Codex doctor report
{
"schemaVersion": 1,
"generatedAt": "1783779878s since unix epoch",
"overallStatus": "warning",
"codexVersion": "0.144.1",
"checks": {
"app_server.status": {
"id": "app_server.status",
"category": "app-server",
"status": "ok",
"summary": "background server is not running",
"details": {
"control socket": "/Users/<redacted>/.codex/app-server-control/app-server-control.sock",
"daemon state dir": "/Users/<redacted>/.codex/app-server-daemon",
"mode": "ephemeral",
"pid file": "/Users/<redacted>/.codex/app-server-daemon/app-server.pid (missing)",
"settings": "/Users/<redacted>/.codex/app-server-daemon/settings.json (missing)",
"status": "not running",
"update-loop pid file": "/Users/<redacted>/.codex/app-server-daemon/app-server-updater.pid (missing)"
},
"remediation": null,
"durationMs": 0
},
"auth.credentials": {
"id": "auth.credentials",
"category": "auth",
"status": "ok",
"summary": "auth is configured",
"details": {
"auth file": "/Users/<redacted>/.codex/auth.json",
"auth storage mode": "File",
"stored API key": "false",
"stored ChatGPT tokens": "true",
"stored agent identity": "false",
"stored auth mode": "chatgpt"
},
"remediation": null,
"durationMs": 0
},
"config.load": {
"id": "config.load",
"category": "config",
"status": "ok",
"summary": "config loaded",
"details": {
"CODEX_HOME": "/Users/<redacted>/.codex",
"config.toml": "/Users/<redacted>/.codex/config.toml",
"config.toml parse": "ok",
"cwd": "/Users/<redacted>/Documents/projects/<redacted-project>",
"enabled feature flags": "shell_tool, unified_exec, shell_snapshot, code_mode_host, terminal_resize_reflow, sqlite, hooks, enable_request_compression, multi_agent, apps, tool_search_always_defer_mcp_tools, tool_suggest, plugins, in_app_browser, browser_use, browser_use_full_cdp_access, browser_use_external, computer_use, remote_plugin, plugin_sharing, image_generation, resize_all_images, skill_mcp_dependency_install, mentions_v2, steer, guardian_approval, goals, collaboration_modes, tool_call_mcp_elicitation, auth_elicitation, personality, fast_mode, tui_app_server, prevent_idle_sleep, remote_compaction_v2, workspace_dependencies",
"feature flag overrides": "prevent_idle_sleep=true",
"feature flags enabled": "36",
"log dir": "/Users/<redacted>/.codex/log",
"mcp servers": "4",
"model": "gpt-5.6-terra",
"model provider": "openai",
"sqlite home": "/Users/<redacted>/.codex"
},
"remediation": null,
"durationMs": 0
},
"git.environment": {
"id": "git.environment",
"category": "git",
"status": "ok",
"summary": "git version 2.50.1 (Apple Git-155)",
"details": {
".git entry": "directory",
"PATH git #1": "/usr/bin/git",
"PATH git entries": "1",
"git branch": "main",
"git build options": "git version 2.50.1 (Apple Git-155); cpu: arm64; no commit associated with this build; sizeof-long: 8; sizeof-size_t: 8; shell-path: /bin/sh; feature: fsmonitor--daemon; libcurl: 8.7.1; zlib: 1.2.12; SHA-1: SHA1_DC; SHA-256: SHA256_BLK",
"git exec path": "/Library/Developer/CommandLineTools/usr/libexec/git-core",
"git version": "git version 2.50.1 (Apple Git-155)",
"repo detected": "true",
"repo root": "/Users/<redacted>/Documents/projects/<redacted-project>",
"selected git": "/usr/bin/git"
},
"remediation": null,
"durationMs": 132
},
"installation": {
"id": "installation",
"category": "install",
"status": "ok",
"summary": "installation looks consistent",
"details": {
"PATH codex #1": "/Users/<redacted>/.nvm/versions/node/v22.14.0/bin/codex",
"PATH codex #2": "/opt/homebrew/bin/codex",
"PATH codex entries": "2",
"current executable": "/Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin/codex",
"install context": "npm (package /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin, bin /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin, resources /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-resources, path /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path)",
"managed by bun": "false",
"managed by npm": "true",
"managed by pnpm": "false",
"managed package root": "/Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex",
"npm update target": "/Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex"
},
"remediation": null,
"durationMs": 127
},
"mcp.config": {
"id": "mcp.config",
"category": "mcp",
"status": "warning",
"summary": "MCP configuration has optional issues",
"details": {
"configured servers": "4",
"disabled servers": "1",
"optional reachability failed": "godot-ai: <redacted-url> (HEAD connect failed; GET connect failed)",
"stdio servers": "2",
"streamable_http servers": "2"
},
"remediation": "Set the missing MCP env vars or disable the affected server.",
"durationMs": 180
},
"network.env": {
"id": "network.env",
"category": "network",
"status": "ok",
"summary": "network-related environment looks readable",
"details": {
"proxy env vars": "none"
},
"remediation": null,
"durationMs": 0
},
"network.provider_reachability": {
"id": "network.provider_reachability",
"category": "reachability",
"status": "ok",
"summary": "active provider endpoints are reachable over HTTP",
"details": {
"ChatGPT base URL": "<redacted-url> reachable (HTTP 404)",
"reachability mode": "ChatGPT auth"
},
"remediation": null,
"durationMs": 266
},
"network.websocket_reachability": {
"id": "network.websocket_reachability",
"category": "websocket",
"status": "ok",
"summary": "Responses WebSocket handshake succeeded",
"details": {
"DNS": "2 IPv4, 0 IPv6, first IPv4",
"auth mode": "chatgpt",
"connect timeout": "15000 ms",
"endpoint": "<redacted-url>",
"handshake result": "HTTP 101 Switching Protocols",
"model provider": "openai",
"models etag present": "true",
"provider name": "OpenAI",
"proxy env vars": "none",
"reasoning header": "false",
"server model present": "false",
"supports websockets": "true",
"wire API": "responses"
},
"remediation": null,
"durationMs": 842
},
"runtime.provenance": {
"id": "runtime.provenance",
"category": "runtime",
"status": "ok",
"summary": "running npm on macos-aarch64",
"details": {
"commit": "unknown",
"current executable": "/Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin/codex",
"install method": "npm (package /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin, bin /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin, resources /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-resources, path /Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path)",
"platform": "macos-aarch64",
"version": "0.144.1"
},
"remediation": null,
"durationMs": 0
},
"runtime.search": {
"id": "runtime.search",
"category": "search",
"status": "ok",
"summary": "search is OK (bundled)",
"details": {
"search command": "/Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path/rg",
"search command readiness": "file exists",
"search provider": "bundled"
},
"remediation": null,
"durationMs": 0
},
"sandbox.helpers": {
"id": "sandbox.helpers",
"category": "sandbox",
"status": "ok",
"summary": "sandbox configuration is readable",
"details": {
"approval policy": "OnRequest",
"codex-linux-sandbox helper": "none",
"execve wrapper helper": "/Users/<redacted>/.codex/tmp/arg0/codex-arg0hTSrQ7/codex-execve-wrapper",
"filesystem sandbox": "restricted",
"network sandbox": "enabled"
},
"remediation": null,
"durationMs": 0
},
"state.paths": {
"id": "state.paths",
"category": "state",
"status": "ok",
"summary": "state paths and databases are inspectable",
"details": {
"CODEX_HOME": "/Users/<redacted>/.codex (dir)",
"active rollout files": "522 files, 233317164 total bytes, 446967 average bytes",
"archived rollout files": "0 files, 0 total bytes, 0 average bytes",
"goals DB": "/Users/<redacted>/.codex/goals_1.sqlite (file)",
"goals DB integrity": "ok",
"log DB": "/Users/<redacted>/.codex/logs_2.sqlite (file)",
"log DB integrity": "ok",
"log dir": "/Users/<redacted>/.codex/log (dir)",
"memories DB": "/Users/<redacted>/.codex/memories_1.sqlite (file)",
"memories DB integrity": "ok",
"sqlite home": "/Users/<redacted>/.codex (dir)",
"state DB": "/Users/<redacted>/.codex/state_5.sqlite (file)",
"state DB integrity": "ok"
},
"remediation": null,
"durationMs": 363
},
"state.rollout_db_parity": {
"id": "state.rollout_db_parity",
"category": "threads",
"status": "ok",
"summary": "rollout files and state DB thread inventory agree",
"details": {
"default model provider": "openai",
"rollout DB active files": "522",
"rollout DB active rows": "522",
"rollout DB archive mismatches": "0",
"rollout DB archived files": "0",
"rollout DB archived rows": "0",
"rollout DB duplicate DB paths": "0",
"rollout DB duplicate rollout thread ids": "0",
"rollout DB malformed file names": "0",
"rollout DB missing active rows": "0",
"rollout DB missing archived rows": "0",
"rollout DB model providers": "openai=522",
"rollout DB rows": "522",
"rollout DB scan cap reached": "false",
"rollout DB scan errors": "0",
"rollout DB sources": "cli=417, vscode=53, subagent:thread_spawn=33, subagent:review=15, exec=4",
"rollout DB stale rows": "0"
},
"remediation": null,
"durationMs": 1413
},
"system.environment": {
"id": "system.environment",
"category": "system",
"status": "ok",
"summary": "OS language en-RU",
"details": {
"EDITOR": "not set",
"GH_PAGER": "set",
"GIT_PAGER": "set",
"LANG": "ru_RU.UTF-8",
"LC_ALL": "C.UTF-8",
"LC_CTYPE": "C.UTF-8",
"PAGER": "set",
"VISUAL": "not set",
"os": "Mac OS 15.7.7 [64-bit]",
"os language": "en-RU",
"os type": "Mac OS",
"os version": "15.7.7"
},
"remediation": null,
"durationMs": 3
},
"terminal.env": {
"id": "terminal.env",
"category": "terminal",
"status": "ok",
"summary": "terminal metadata was detected",
"details": {
"COLORFGBG": "11;15",
"COLORTERM": "truecolor",
"NO_COLOR": "1",
"TERMINFO_DIRS entry": [
"/Applications/iTerm.app/Contents/Resources/terminfo (dir)",
"/usr/share/terminfo (dir)"
],
"TERM_PROGRAM": "iTerm.app",
"color output": "disabled (NO_COLOR)",
"effective locale": "C.UTF-8",
"stderr is terminal": "false",
"stdin is terminal": "false",
"stdout is terminal": "false",
"terminal": "iTerm2",
"terminal size": "80x24",
"terminal version": "3.6.10"
},
"remediation": null,
"durationMs": 6
},
"terminal.title": {
"id": "terminal.title",
"category": "title",
"status": "ok",
"summary": "terminal title default",
"details": {
"terminal title activity": "true",
"terminal title items": "activity, project-name",
"terminal title project source": "git repo root",
"terminal title project value": "<redacted-project>",
"terminal title source": "default"
},
"remediation": null,
"durationMs": 0
},
"updates.status": {
"id": "updates.status",
"category": "updates",
"status": "ok",
"summary": "update configuration is locally consistent",
"details": {
"cached latest version": "0.144.1",
"check for update on startup": "true",
"last checked at": "2026-07-11T05:00:21.806664Z",
"latest version": "0.144.1",
"latest version status": "current version is not older",
"npm update target": "/Users/<redacted>/.nvm/versions/node/v22.14.0/lib/node_modules/@openai/codex",
"update action": "npm install -g @openai/codex",
"version cache": "/Users/<redacted>/.codex/version.json"
},
"remediation": null,
"durationMs": 660
}
}
}
What issue are you seeing?
spawn_agent exposes an incomplete schema. It lists only task_name, message, and fork_turns, but the runtime also accepts and honors model and reasoning_effort.
Because those fields are absent from the tool definition, schema-driven agents conclude they cannot select a subagent’s model or reasoning effort. My initial subagent therefore ran with inherited/default gpt-5.6-
terra at xhigh, rather than the requested Luna/medium configuration.
This direct call succeeds:
{
"task_name": "luna_medium_probe",
"fork_turns": "none",
"model": "gpt-5.6-luna",
"reasoning_effort": "medium",
"message": "Reply only with the model and reasoning effort you are running under."
}
I verified the result from the child session’s persisted turn_context, rather than relying on its self-report:
{
"model": "gpt-5.6-luna",
"effort": "medium",
"multi_agent_version": "v2"
}
The tool schema should declare the supported model and reasoning_effort fields so agents can reliably configure subagents without relying on undocumented behavior.
What steps can reproduce the bug?
Uploaded thread: 019f517c-e651-7351-b6f7-bd86ad9c3f38
What is the expected behavior?
the spawn_agent schema documents all supported launch parameters.
Additional information
model and reasoning_effort work at runtime but are missing from the schema.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Confirmed on Windows Codex Desktop as well.
Environment:
26.707.3351.0(embedded app-server resources dated 2026-07-09)0.144.3The model-visible
collaboration.spawn_agentschema in the active Desktop session contains only:task_namemessagefork_turnsIt does not expose
modelorreasoning_effort, so the root agent cannot select a per-child effort through a schema-valid call. Putting an effort request inside the child message is not equivalent, because the child model configuration is chosen before that message is handled.I traced both the installed binaries and current
openai/codexsource:reasoning_effort.features.multi_agent_v2.expose_spawn_agent_model_overridesand exposesmodelplusreasoning_effortby default.0.144.3CLI binary contains that new config key, which is consistent with the fix not yet being present in these builds.So this looks fixed on
main, but it is still reproducible in the currently installed Windows Desktop build. Please ensure the Desktop release picks up #32749 so the root agent can make schema-valid calls such as:Omitting
reasoning_effortshould continue to inherit the parent effort.Confirmed on Codex CLI 0.144.6 with
multi_agent_v2under ChatGPT auth.Parent session:
gpt-5.6-solmediumI requested exactly two direct workers:
gpt-5.6-terra, mediumgpt-5.6-terra, highBoth workers started and completed successfully, but the actual
collaboration.spawn_agentcalls contained only:task_namefork_turnsmessageThey did not include
modelorreasoning_effort.The child session JSONL records then confirmed that both workers inherited the