Summary
With GPT-5.6 (gpt-5.6-sol), LazyCodex 4.16.0 can make every turn fail before the model responds by re-inserting a managed [features.multi_agent_v2] enabled = false section on session start. Removing the entire LazyCodex-managed section immediately restores normal turns.
The failure is:
Invalid Value: 'tools'. Function 'collaboration.spawn_agent' is reserved for use by this model and must match the configured schema.
Environment
- LazyCodex version: 4.16.0
- Codex CLI version: 0.144.0
- Model:
gpt-5.6-sol
- OS: macOS 27.0, arm64
- Surface: Codex Desktop session
- Install method: Codex plugin cache / LazyCodex OMO plugin
- Relevant managed config:
# Managed by LazyCodex: multi_agent_v2 is re-disabled on every Codex session start
# because enabling it fails every turn with HTTP 400 (openai/codex#26753).
# Opt out: LAZYCODEX_CONFIG_MIGRATION_DISABLED=1 (or OMO_CODEX_CONFIG_MIGRATION_DISABLED=1).
[features.multi_agent_v2]
enabled = false
hide_spawn_agent_metadata = false
max_concurrent_threads_per_session = 1000
Repository Decision
Reproduction
- Use LazyCodex 4.16.0 with Codex CLI 0.144.0 and model
gpt-5.6-sol.
- Start a session with LazyCodex config migration enabled (the default).
- Confirm that LazyCodex has inserted the managed
[features.multi_agent_v2] section shown above with enabled = false.
- Send any prompt.
- Observe that the request is rejected before the model responds with the reserved
collaboration.spawn_agent schema error.
- Remove the entire LazyCodex-managed
[features.multi_agent_v2] block and start a new session.
- Send the same kind of prompt and observe that the turn succeeds normally.
Expected Behavior
LazyCodex should not write a feature override that makes GPT-5.6 sessions unusable. Model-specific multi-agent defaults should be left intact unless LazyCodex has verified that an override is required and compatible with the selected Codex/model combination.
Actual Behavior
LazyCodex re-adds enabled = false on every session start. With GPT-5.6, this produces a tool-schema mismatch against the model-reserved collaboration.spawn_agent function and causes every turn to fail:
Invalid Value: 'tools'. Function 'collaboration.spawn_agent' is reserved for use by this model and must match the configured schema.
Deleting the managed section fixes the problem.
Evidence
- Toggle proof from the affected environment:
- Managed section present: every turn fails with the exact schema error above.
- Managed section deleted: turns work normally.
- Local version fingerprint:
codex-cli 0.144.0, LazyCodex 4.16.0, gpt-5.6-sol, macOS arm64.
- Latest LazyCodex source at
58d34daae803787ce82507345cfc5b1158c033a4 still unconditionally calls appendDisabledSection() when no V2 section exists.
- Latest upstream Codex source at
d72d669ca727a26765315ffe03db3dd2594d9b91 has model-aware multi-agent version selection and a dedicated namespaced V2 collaboration tool surface.
- No matching issue was found in
code-yeongyu/lazycodex for collaboration.spawn_agent, the reserved-schema error, or GPT-5.6 plus multi_agent_v2.
Root Cause
The LazyCodex workaround for openai/codex#26753 is now stale for GPT-5.6. forceDisableMultiAgentV2() materializes an explicit enabled = false section on every session start, overriding the absence of a setting that Codex can otherwise resolve per model. GPT-5.6 reserves collaboration.spawn_agent with a specific schema; with the managed override present, the client sends a conflicting schema and the API rejects the entire turn. Removing the managed section toggles the failure off, so the LazyCodex migration is the confirmed trigger. The exact server-side schema-selection details remain upstream, but clean operation without the LazyCodex-managed block shows that no upstream change is required for the observed workaround.
Proposed Fix
- Stop unconditionally appending
[features.multi_agent_v2] enabled = false on every session start.
- Remove previously generated sections identified by the
openai/codex#26753 managed marker when running on Codex/model combinations that use the reserved collaboration schema (at minimum GPT-5.6).
- Prefer leaving
multi_agent_v2 unset so Codex can apply model metadata. Do not overwrite an explicit user choice.
- Add a migration regression test showing that GPT-5.6-compatible configurations do not receive the stale disable block.
Verification Plan
This issue or PR was generated by LazyCodex.
Tag: lazycodex-generated
Summary
With GPT-5.6 (
gpt-5.6-sol), LazyCodex 4.16.0 can make every turn fail before the model responds by re-inserting a managed[features.multi_agent_v2] enabled = falsesection on session start. Removing the entire LazyCodex-managed section immediately restores normal turns.The failure is:
Environment
gpt-5.6-solRepository Decision
code-yeongyu/lazycodexSessionStart. Removing only that LazyCodex-managed block fixes the session.plugins/omo/scripts/migrate-codex-config/multi-agent-v2-guard.mjsexplicitly removes model-resolved behavior and appendsenabled = falsewhen the section is absent.session/mod.rs). The stable V1 and under-development V2 paths also expose different tool surfaces (config/mod.rs). This model-aware behavior makes a blanket session-start override unsafe.Reproduction
gpt-5.6-sol.[features.multi_agent_v2]section shown above withenabled = false.collaboration.spawn_agentschema error.[features.multi_agent_v2]block and start a new session.Expected Behavior
LazyCodex should not write a feature override that makes GPT-5.6 sessions unusable. Model-specific multi-agent defaults should be left intact unless LazyCodex has verified that an override is required and compatible with the selected Codex/model combination.
Actual Behavior
LazyCodex re-adds
enabled = falseon every session start. With GPT-5.6, this produces a tool-schema mismatch against the model-reservedcollaboration.spawn_agentfunction and causes every turn to fail:Deleting the managed section fixes the problem.
Evidence
codex-cli 0.144.0, LazyCodex 4.16.0,gpt-5.6-sol, macOS arm64.58d34daae803787ce82507345cfc5b1158c033a4still unconditionally callsappendDisabledSection()when no V2 section exists.d72d669ca727a26765315ffe03db3dd2594d9b91has model-aware multi-agent version selection and a dedicated namespaced V2 collaboration tool surface.code-yeongyu/lazycodexforcollaboration.spawn_agent, the reserved-schema error, or GPT-5.6 plusmulti_agent_v2.Root Cause
The LazyCodex workaround for openai/codex#26753 is now stale for GPT-5.6.
forceDisableMultiAgentV2()materializes an explicitenabled = falsesection on every session start, overriding the absence of a setting that Codex can otherwise resolve per model. GPT-5.6 reservescollaboration.spawn_agentwith a specific schema; with the managed override present, the client sends a conflicting schema and the API rejects the entire turn. Removing the managed section toggles the failure off, so the LazyCodex migration is the confirmed trigger. The exact server-side schema-selection details remain upstream, but clean operation without the LazyCodex-managed block shows that no upstream change is required for the observed workaround.Proposed Fix
[features.multi_agent_v2] enabled = falseon every session start.openai/codex#26753managed marker when running on Codex/model combinations that use the reserved collaboration schema (at minimum GPT-5.6).multi_agent_v2unset so Codex can apply model metadata. Do not overwrite an explicit user choice.Verification Plan
toolsschema error.collaboration.spawn_agentand confirm the schema matches the model-reserved definition.This issue or PR was generated by LazyCodex.
Tag: lazycodex-generated