Subagent reasoning level is displayed incorrectly
Open 💬 1 comment Opened Mar 17, 2026 by ozan-s
What version of Codex CLI is running?
codex-cli 0.115.0
What subscription do you have?
Pro
Which model were you using?
GPT-5.4
What platform is your computer?
Darwin 24.6.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
Ghostty
What issue are you seeing?
When Codex launches a subagent, the display shows the wrong model reasoning level. My subagent is launched with High, but the CLI showed Medium.
Spawned Noether [planner_readonly] (gpt-5.4 medium)
My planner agent's definition is:
approval_policy = "never"
sandbox_mode = "read-only"
model_reasoning_effort = "high"
model_verbosity = "high"
When I used Codex to probe the issue, this is the assessment it came back with:
I updated openai/codex from 49edf311ac3ae84659b0ec5eacd5e471c881eee8 to 78e8ee4591d4ff42d180000fbad29d5fb3bcd2a5 and rechecked the path. The conclusion did not change: the agent for session 019cfcde-1541-7301-987d-9699d427ecb8 was effectively high, while the medium label came from the spawn-banner plumbing.
Why I’m confident:
The spawned child config still starts from the parent turn’s effective reasoning in codex/codex-rs/core/src/tools/handlers/multi_agents.rs:271, where config.model_reasoning_effort = turn.reasoning_effort. Your parent session default was high. Then the role layer is applied in codex/codex-rs/core/src/tools/handlers/multi_agents/spawn.rs:71, and Codex has a test showing a role file with only model_reasoning_effort = "high" forces the final config to high in codex/codex-rs/core/src/agent/role_tests.rs:156.
The display bug is also still present in current main. The TUI banner stores the spawn metadata from the begin event, not the effective child config, in codex/codex-rs/tui/src/chatwidget.rs:5391. That begin event is still populated with args.reasoning_effort.unwrap_or_default() in codex/codex-rs/core/src/tools/handlers/multi_agents/spawn.rs:51, so omitted effort shows the enum default, which is the medium you saw. The current code now computes an effective reasoning effort from the spawned agent snapshot for the end event in codex/codex-rs/core/src/tools/
handlers/multi_agents/spawn.rs:124, but the TUI still ignores that and renders from the stored begin-summary in codex/codex-rs/tui/src/multi_agents.rs:174 and codex/codex-rs/tui/src/multi_agents.rs:416.
So the updated answer is sharper than before:
- Actual effective child reasoning: high
- Banner text you saw: medium
- Current upstream status: still a UI/reporting mismatch, even after update
If you want, I can point you to the minimal fix in Codex source that would make the spawn banner show the effective end-event reasoning instead of the stale begin-event default.
What steps can reproduce the bug?
- Reproduce with a role that locks reasoning to
highand aspawn_agentcall that omitsreasoning_effort. - Verify whether the child thread/session config is actually
highwhile the banner showsmedium.
What is the expected behavior?
_No response_
Additional information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗