[Bug] gpt-5.6-luna subagents lose spawn_agent in Multi-Agent V2 while Luna root and Sol children retain it

Open 💬 2 comments Opened Aug 7, 2026 by tonywo2049
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Codex version

Codex Desktop with CLI 0.147.0 on Linux x86_64.

Configuration

[features.multi_agent_v2]
enabled = true
max_concurrent_threads_per_session = 30

The root session and the custom child agent both use:

  • model: gpt-5.6-luna
  • reasoning effort: max
  • multi-agent version: v2

No explicit agents.max_depth override is configured.

What issue are you seeing?

A root Luna session exposes collaboration.spawn_agent and can use it successfully, but a Luna subagent at depth 1 does not receive the same collaboration tool and therefore cannot spawn a required grandchild.

This is not a different Luna invocation syntax:

  • The Luna root session made 22 successful collaboration.spawn_agent calls.
  • A Luna child session was explicitly instructed to call spawn_agent directly, but the collaboration tool was absent. Searching its effective tool registry returned no spawn_agent entry.
  • The child received the standard multi-agent developer instruction saying child agents can spawn their own subagents, so the prompt and effective tool surface disagree.

Controlled comparison

Using the same Multi-Agent V2 runtime, custom agent role, prompt, depth, and fork_turns: "none":

| Child model | Direct spawn attempts | Successful collaboration.spawn_agent calls |
|---|---:|---:|
| gpt-5.6-luna | 3 | 0 |
| gpt-5.6-sol | 3 | 3 |

The Sol children successfully spawned grandchildren at the same depth where the Luna children had no spawn tool.

Steps to reproduce

  1. Start a Multi-Agent V2 root session using gpt-5.6-luna.
  2. Confirm that the root can call collaboration.spawn_agent.
  3. Spawn a custom child agent whose TOML pins model = "gpt-5.6-luna".
  4. Explicitly ask that child to call spawn_agent directly.
  5. Observe that the collaboration spawn tool is not available to the child.
  6. Repeat with an otherwise equivalent child using gpt-5.6-sol.
  7. Observe that the Sol child receives and successfully calls collaboration.spawn_agent.

Expected behavior

A child agent should receive the documented nested collaboration capability when runtime depth policy allows it, independent of whether the child model is Luna or Sol.

If Luna children intentionally cannot spawn subagents, Codex should expose an explicit capability restriction or return a concrete unsupported error instead of giving the child instructions that say it can spawn while omitting the tool.

Actual behavior

Nested spawning is silently unavailable only for the Luna child in this comparison. The Luna root session and Sol child sessions use the same collaboration.spawn_agent interface successfully.

Impact

Workflows in which a Runner must create an independent Architect or Auditor stop at the child Agent. The child reports that dispatch is unavailable even though the root session and sibling models can dispatch normally.

Related issues

  • #34964 reports that Luna is not exposed as an explicit spawn_agent model override. This report is different: a custom child already running as Luna loses the nested spawn tool.
  • #32027 covers depth enforcement. This report compares Luna and Sol children at the same depth.
  • #11701 discusses subagent configuration and orchestration generally.

View original on GitHub ↗

2 Comments

github-actions[bot] contributor · 20 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #36294

Powered by Codex Action

dspevo-afk · 4 days ago

Confirmed workaround: Luna nested spawning works if Multi-Agent V2 is disabled and the session is started fresh on V1.

Tested on Codex Desktop on Windows on 2026-08-23 with gpt-5.6-luna as the root model.

Relevant config:

[features]
multi_agent = true

[features.multi_agent_v2]
enabled = false

[agents]
enabled = true
max_depth = 2
max_concurrent_threads_per_session = 10

After fully restarting Codex and starting a brand-new Luna session, I tested this hierarchy:

Luna root (depth 0)
└── Luna child (depth 1)
    └── Luna grandchild (depth 2)
        GRANDCHILD_SUCCESS

The depth-1 Luna child successfully received/used spawn_agent and created the depth-2 Luna grandchild.

So for anyone blocked by Luna children losing spawn_agent under V2, disabling multi_agent_v2 and using the V1 agent runtime appears to be a working temporary workaround. agents.max_depth = 2 permits the root -> child -> grandchild hierarchy in this configuration.

Important: I used a completely fresh session after changing the config. I did not test whether an existing V2 conversation can be converted in place.

This does not resolve the reported V2 behavior; it only provides a reproducible workaround while #37495 remains open.