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?

  1. Reproduce with a role that locks reasoning to high and a spawn_agent call that omits reasoning_effort.
  2. Verify whether the child thread/session config is actually high while the banner shows medium.

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗