multi_agent_v2=true runs Luna on V2, but spawn_agent still filters Luna as V1

Open
#36,294 3 comments 18 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
backend, cli

Research direction

Start at the spawn_agent compatibility check described in PR #32751, then trace the model catalog and effective turn_context.multi_agent_version used under the multi_agent_v2 feature. Reproduce the Luna child rejection with the supplied configuration; done means compatibility reflects the effective runtime or returns an explicit compatibility error instead of Unknown model.

Written by the indexing model from the issue text.

Description

app bug subagent
What issue are you seeing?

features.multi_agent_v2 = true promotes a fresh GPT-5.6 Luna session to the V2 multi-agent runtime, but a V2 Sol parent still rejects Luna as a child because spawn_agent filters against Luna's static catalog value (multi_agent_version = "v1") rather than its effective runtime.

This is a narrower runtime/catalog consistency issue related to #34700. The existing issue demonstrates the user-visible rejection; this report adds A/B session metadata showing that Luna can already run on V2 when the global feature is enabled.

Environment
  • Codex Desktop: 26.727.40816
  • Bundled Codex CLI: 0.146.0-alpha.9.2
  • macOS on Apple Silicon (arm64)
  • Feature state:
    • multi_agent = true
    • multi_agent_v2 = true
Current model catalog

codex debug models reports:

[
  {"model":"gpt-5.6-sol","multi_agent_version":"v2"},
  {"model":"gpt-5.6-terra","multi_agent_version":"v2"},
  {"model":"gpt-5.6-luna","multi_agent_version":"v1"}
]
A/B runtime verification

I started three fresh, read-only CLI sessions and inspected each persisted turn_context rather than relying on the model's natural-language response.

Sol with V2 explicitly disabled
model: gpt-5.6-sol
CLI override: --disable multi_agent_v2
actual turn_context.multi_agent_version: v2
Luna with V2 explicitly enabled
model: gpt-5.6-luna
CLI override: --enable multi_agent_v2
actual turn_context.multi_agent_version: v2
Luna with V2 explicitly disabled
model: gpt-5.6-luna
CLI override: --disable multi_agent_v2
actual turn_context.multi_agent_version: v1

This demonstrates that the feature flag changes Luna's effective runtime from V1 to V2. Disabling the flag does not downgrade Sol, whose model metadata already selects V2.

Reproduction of the mismatch

With global configuration:

[features]
multi_agent_v2 = true

start a fresh gpt-5.6-sol session and call:

{
  "task_name": "luna_v2_child_probe",
  "agent_type": "default",
  "fork_turns": "none",
  "model": "gpt-5.6-luna",
  "reasoning_effort": "max"
}

Actual result:

Unknown model `gpt-5.6-luna` for spawn_agent. Available models: gpt-5.6-sol, gpt-5.6-terra

No child agent is created.

Why this appears inconsistent

PR #32751 intentionally restricts child model overrides to models compatible with the active multi-agent backend. That compatibility check appears to use the model catalog's static multi_agent_version.

However, when features.multi_agent_v2 = true, Luna's effective runtime is demonstrably V2. The parent runs V2, and a separately started Luna session under the same global feature also runs V2, yet Luna is rejected as if it could only run V1.

Expected behavior

One of the following would make the behavior consistent:

  1. Resolve child compatibility using the model's effective multi-agent runtime after feature overrides.
  2. Advertise Luna as V2 in the authoritative model catalog when V2 is enabled/supported.
  3. If the override is intentionally unsupported for spawned children, return an explicit compatibility error explaining why a top-level Luna V2 session is allowed but a Luna V2 child is not.

The current Unknown model message is misleading because Luna is a known, picker-visible model and can run with turn_context.multi_agent_version = "v2" under the same global feature configuration.

Related
  • #34700
  • #35097
  • #34301
  • PR #32751
Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.