gpt-5.6-luna is marked as MultiAgent V1, so V2 spawn_agent rejects it
Open 💬 29 comments Opened Jul 24, 2026 by Arbiter5ItsSoul
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of Codex CLI is running?
codex-cli 0.145.0
What subscription do you have?
pro20x
Which model were you using?
gpt-5.6-sol
What platform is your computer?
Darwin 25.5.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
_No response_
Codex doctor report
What issue are you seeing?
gpt-5.6-luna is marked as MultiAgent V1 in the model catalog. In a MultiAgent V2 session, spawn_agent only allows models marked for V2, so Luna
cannot be selected:
Unknown model gpt-5.6-luna for spawn_agent. Available models: gpt-5.6-sol, gpt-5.6-terra.
What steps can reproduce the bug?
- Start a session using MultiAgent V2.
- Call spawn_agent with model="gpt-5.6-luna" and fork_turns="none".
- Observe that the request is rejected because Luna is not available as a V2 model.
What is the expected behavior?
gpt-5.6-luna should be marked as supporting MultiAgent V2 and should be accepted as a spawn_agent model override.
Additional information
_No response_
29 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional reproduction on macOS with a newer build:
26.721.318360.146.0-alpha.3.1gpt-5.6-sol/ mediumgpt-5.6-luna/ highspawn_agent(model="gpt-5.6-luna", reasoning_effort="high", fork_turns="none")Actual result remains:
No child session is created. This reproduced in a fresh top-level Codex Desktop task. The local raw model catalog exposes Luna, while the current native
spawn_agentallowlist still exposes only Sol and Terra, consistent with the V1/V2 mismatch described in this issue.Diagnostics were uploaded via
/feedbackunder thread ID:019f9305-00c7-7c22-a4e6-6485cdff2953.Additional reproduction on Linux with the current stable release:
0.145.0(npmlatest)gpt-5.6-terra, medium reasoningspawn_agentoverride controls exposedLuna is rejected before a child is created in each tested shape:
All return:
Control spawns using explicit
gpt-5.6-solandgpt-5.6-terrawithfork_turns="none"and low reasoning succeeded.This confirms the failure is not caused by local configuration, fork mode, or reasoning effort; it appears to be the model-catalog / MultiAgent V1–V2 routing mismatch described in this issue.
Feedback uploaded from thread:
019fa563-3d4d-77f0-b87c-93cf38da74dd.i have the same issue
Reproduced this on macOS with Codex app 26.721.41059 and CLI 0.146.0-alpha.3.1.
Parent model:
gpt-5.6-solChild request:
model=gpt-5.6-luna,reasoning_effort=medium,fork_turns=noneThe result is the same:
As a control, an explicit Terra medium spawn from the same parent completed successfully. I also checked the current
maincatalog: Sol and Terra are markedmulti_agent_version: v2, while Luna is still markedv1. That lines up with the V2 backend filter described here.I am not sure whether changing the bundled model metadata is sufficient, or whether the server-side catalog/backend needs a corresponding update as well. If Luna is intended to support V2 and a maintainer is open to an external contribution, I would be happy to send a focused PR with regression coverage. Otherwise I can provide additional session metadata if useful.
I reproduced this on macOS with stable
codex-cli 0.146.0and verified that the catalog metadata gate is the blocker in this environment.Runtime proof
model_catalog_jsonwhose only semantic change wasgpt-5.6-luna.multi_agent_version: "v1" -> "v2".model="gpt-5.6-luna",reasoning_effort="high", andfork_turns="none"./root/luna_v2_smokeand returned the exact markerLUNA_V2_OK. No model fallback was reported.This shows that, for the tested CLI/backend combination, Luna can complete a v2 child run once it passes the catalog compatibility filter. The current
v1metadata appears to be the immediate blocker rather than a backend execution failure. This is still bounded evidence from one environment, not a claim about every Codex surface.I prepared the smallest upstream candidate: change only the bundled Luna metadata in
codex-rs/models-manager/models.jsonfromv1tov2.just fmt;just test -p codex-models-manager— 41/41 passedI have not opened an unsolicited PR because
docs/contributing.mdsays external PRs require a maintainer invitation. If this metadata change matches the intended backend rollout, I would be happy to open the focused PR when invited.Still not working on WSL
Please prioritize this fix. The current V1/V2 mismatch blocks one of the most useful multi-agent configurations: using Sol as the orchestrator while delegating bounded investigation and routine work to Luna children.
The available workarounds—using Luna as the parent or launching separate
codex execprocesses—lose the intended native orchestration workflow and are unnecessarily cumbersome. It also forces users toward more expensive child models when Sol/Terra are the only selectable V2 options.At minimum, please clarify whether Luna V2 support is planned and whether this requires a server-side rollout in addition to the model-catalog change. A status update or target release would be useful.
Additional regression detail from my recent Codex Desktop usage:
spawn_agentmodel list, but explicitly passing the known fields—such asmodel="gpt-5.6-luna", a reasoning effort, andfork_turns="none"—could still create a Luna child.So this has worsened from a discoverability/schema problem into hard capability enforcement. Prompting the controller to use the hidden-but-valid Luna override used to be a workable path; it is no longer possible.
This blocks one of the most valuable native multi-agent configurations: Sol as controller, Luna as the bounded execution worker for repository search, targeted context reading, spec implementation, tests, and routine code changes. Replacing every Luna worker with Sol or Terra raises usage and cost, while launching a separate
codex execprocess loses the native child thread, orchestration, context handoff, and Subagents-panel workflow.This is especially counterproductive after the announced Luna price reduction: https://x.com/OpenAI/status/2082878156483219672. A major practical value of that price change is precisely to make high-reasoning Luna workers economical at scale under a stronger controller. Keeping Luna excluded from native Multi-Agent V2 undermines that benefit.
Please prioritize this regression. At minimum, it would help to clarify:
Sol/Terra -> Lunanative spawning.There is already bounded runtime evidence in this thread that changing Luna's catalog metadata from
v1tov2allows a native Luna child to run successfully in at least one environment.Independent fix and regression coverage for the same catalog gate, extending @himomohi's runtime report with a Max child and a Core behavioral test.
Environment:
Before the fix, a fresh Multi-Agent V2 run rejected Luna before creating a child:
Unknown model
gpt-5.6-lunafor spawn_agent. Available models: gpt-5.6-sol, gpt-5.6-terraThe candidate changes only two lines:
gpt-5.6-luna.multi_agent_versionfromv1tov2.TDD evidence:
Validation:
just test -p codex-models-manager: 42/42 passedjust test -p codex-core multi_agent_v2: 76/76 passedjust fmt: passedRuntime proof after applying the same one-field catalog override locally:
gpt-5.6-sol, lowgpt-5.6-luna, maxnonemodel=gpt-5.6-lunaandeffort=max/root/luna_v2_smokereturnedLUNA_V2_OKContribution:
Per the repository contribution policy, I have not opened an unsolicited PR. If this matches the intended Luna backend rollout, please invite the focused PR and I will submit it immediately.
Temporary workaround verified with
codex-cli 0.146.0:``
sh
``mkdir -p "$HOME/.codex/model-catalogs"
codex debug models \
| jq '(.models[] | select(.slug == "gpt-5.6-luna") | .multi_agent_version) = "v2"' \
> "$HOME/.codex/model-catalogs/luna-v2.json"
select(...)limits the change to Luna, while the output remains a complete catalog suitable formodel_catalog_json.~/.codex/config.toml, using your absolute home path:``
toml
``# Temporary workaround for https://github.com/openai/codex/issues/35097
model_catalog_json = "/Users/<username>/.codex/model-catalogs/luna-v2.json"
Persisted child runtime metadata—not the child's natural-language response—confirmed
model=gpt-5.6-luna,effort=high, andmulti_agent_version=v2. The child completed 43 tool calls across two turns.This pins the complete model catalog. Remove the config line and catalog file once the issue is fixed.
<img width="1028" height="687" alt="Image" src="https://github.com/user-attachments/assets/906262b5-2117-4a8b-a5e3-1a8c94029081" />
Same issue, agent cant access luna and other models.
[features.multi_agent_v2]
hide_spawn_agent_metadata = false
tool_namespace = "agents"
setting these values in the ~/.codex/config.toml worked
hide_spawn_agent_metadata = false
tool_namespace = "agents"
This didn't work for me, issue still persists even after restarting codex.
I've tried the same prompt from @KarmicDaoist but couldn't replicate a similar response.
I'm unsure if environment or something else affects it, but i didn't try any of the workarounds (i'm on Windows btw).
v26.727.51351
<img width="847" height="710" alt="Image" src="https://github.com/user-attachments/assets/d4b0dcb6-3c2a-4139-8c32-aa9d5fa94bc2" />
Edit: Despite the above, when forcing the use of luna max subagents, i still get limitations that show that it isn't available
@Ronkiro try this prompt to fix this error
2 prompts you can give Codex to make Codex work better:
Let Codex ask questions outside Plan mode
Paste this prompt:
Update my personal Codex config. Under the existing [features] section, add default_mode_request_user_input = true. Create the section if it doesn’t exist, preserve every existing setting, avoid duplicate keys, and validate the final TOML. If I use both Windows and WSL, update both config files. Tell me whether Codex needs to be restarted.
This lets Codex check in when it needs an important decision instead of silently proceeding with the wrong assumption.
Let Sol call Luna as a subagent
Paste this prompt:
Inspect my active Codex model catalog and determine whether Multi-Agent V2 is filtering gpt-5.6-luna because Luna is marked with "multi_agent_version": "v1". If confirmed, do not modify the stock models_cache.json. Copy it to a custom catalog, change only Luna’s marker to "multi_agent_version": "v2", and point model_catalog_json in my active config.toml to the custom file using its absolute path. Leave hidden or special-purpose models unchanged. Validate the JSON and TOML, confirm Luna is exposed as a subagent model, and tell me to restart Codex.
Then add this routing guidance to AGENTS.md:
Use Sol for planning, orchestration, and reviews.
Use Luna for implementation and routine investigation. When spawning Luna, use
model="gpt-5.6-luna"andfork_turns="none".The result: Sol handles judgment, Luna handles execution, and Codex asks instead of guessing.
The Luna catalog change is a workaround and may need to be refreshed after a Codex update.
https://github.com/openai/codex/commit/6d4d9442c7142c08ac5c5098dfd6e82d8cd9f65a
Reproduced again on macOS 26.6 with ChatGPT/Codex Desktop
26.730.61639and its bundled Codex CLI0.147.0-alpha.1.2.gpt-5.6-sol/xhighgpt-5.6-luna/xhighnoneNative
spawn_agentstill returns:The bundled model catalog currently reports:
A separate top-level Luna CLI worker is available in the same environment, so this is specific to native child spawning rather than account-level Luna availability.
I see that #36892 / commit
6d4d9442("Support leaf models in multi-agent v2") merged on 2026-08-04. This Desktop bundle apparently does not include that behavior yet; the note may be useful for confirming which release first ships the fix.Additional reproduction from Codex Desktop on macOS:
The host model catalog and task-creation surface expose
gpt-5.6-lunaas available. However, an explicit collaboration call:is rejected with:
This persists after restarting Codex. The discrepancy is especially confusing because the same host explicitly advertises Luna for creating a top-level Codex task, while the collaboration
spawn_agentschema/runtime excludes it. No local[agents]model allowlist configuration appears to exist;[agents]only has settings such asmax_depth.Additional controlled reproduction on Codex Desktop for Windows, after the merge of #36892:
26.803.5235.00.147.0-alpha.6.5Results:
highreceivedmulti_agent_version=v2. Itsspawn_agentinterface exposed only Sol and Terra, and rejected Lunaxhigh.xhighreceivedmulti_agent_version=v1and successfully spawned a Lunaxhighchild, which returnedLUNA_SPAWN_OK.Exact Sol error:
Unknown model gpt-5.6-luna for spawn_agent. Available models: gpt-5.6-sol, gpt-5.6-terraThis confirms that Luna is available for the account and as a top-level model. The failure is specific to spawning it as a child from a Sol/V2 task.
Since #36892 (“Support leaf models in multi-agent v2”) is included in the Codex CLI 0.147.0 changelog, it appears that this Windows Desktop bundle does not yet expose the corrected leaf-model behavior.
Could a maintainer confirm which Windows Desktop build includes #36892? I can submit feedback from the affected task and provide the task IDs or local session metadata if useful.
Additional sanitized A/B reproduction on macOS:
Environment
26.803.41515(build6321)0.147.0-alpha.6.50.147.00.147.0-alpha.6.6gpt-5.6-sol/ high, withmulti_agent_version=v2gpt-5.6-luna/ maxMinimal call
The omitted model resolves through the configured default subagent model to
gpt-5.6-luna/ max.Results
Standalone stable
0.147.0: succeeds.The persisted child metadata confirms:
This was a real Luna child, not a fallback to Sol or Terra.
Alpha
0.147.0-alpha.6.6: fails before creating a child.The parent metadata still reports
multi_agent_version=v2.Desktop bundled
0.147.0-alpha.6.5: fails with the same error.This controlled comparison used the same machine, model configuration, and call shape. It suggests the leaf-model support present in stable
0.147.0is missing or not active in thealpha.6.xruntime path.No project files, source code, task identifiers, local paths, or account-specific details are included.
Damn, big company can't set 2 instead 1 on server for a whole month :(
This is intentional : https://x.com/pvncher/status/2083300990350954981?s=20
Implement required communication? Nah, tell everyone we are not recommending it...
I mean, we should keep asking for a way to use Luna as subagents, but Luna being marked as V1 is fully intentional and shouldn't be filed as a bug.
It finally happened!
Soooo, this can be fixed then :)
For MultiAgent V2 sessions where
spawn_agentrejects gpt-5.6-luna: the model catalog marks luna as MultiAgent V1, and V2 sessions only accept models catalogued as V2.Method:
gpt-5.6-solorgpt-5.6-terraforspawn_agentin V2 sessions — both are catalogued as V2, and the rejection message lists exactly the accepted models.model_catalog_jsonconfig key (applied on startup) at a copy of the catalog with luna'smulti_agent_versionset to"v2", then restart codex.Evidence: the model catalog on main (
codex-rs/models-manager/models.json) showsgpt-5.6-lunawithmulti_agent_version=v1whilegpt-5.6-sol/gpt-5.6-terraarev2; the config schema documentsmodel_catalog_jsonas an optional path to a JSON model catalog.Independent community workaround; not an official OpenAI fix.
Confirmed this against a fresh clone of
maintoday. Incodex-rs/models-manager/models.jsonthe model presets currently read:This single mislabeled field is the root cause of the V2-rejection behavior described above (via
model_supports_multi_agent_backendincodex-rs/core/src/tools/handlers/multi_agents_common.rs, introduced in #32751).Additional symptom worth noting: it also affects the V1-only path. With
features.multi_agent = trueandfeatures.multi_agent_v2 = false(codex-cli 0.149.1), running the active model asgpt-5.6-lunanever exposes themulti_agent_v1__list_agentstool at all — no error, the tool simply doesn't appear in the toolset for that session. Same root mislabel, different failure mode (tool never registered instead of spawn_agent rejecting a child model).Fix should just be flipping that one field to
"v2"for gpt-5.6-luna, matching sol/terra.