Skip to content

GPT-5.6: managed multi_agent_v2=false causes reserved collaboration.spawn_agent schema error #118

Description

@yoonpooh

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

  1. Use LazyCodex 4.16.0 with Codex CLI 0.144.0 and model gpt-5.6-sol.
  2. Start a session with LazyCodex config migration enabled (the default).
  3. Confirm that LazyCodex has inserted the managed [features.multi_agent_v2] section shown above with enabled = false.
  4. Send any prompt.
  5. Observe that the request is rejected before the model responds with the reserved collaboration.spawn_agent schema error.
  6. Remove the entire LazyCodex-managed [features.multi_agent_v2] block and start a new session.
  7. 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

  1. Stop unconditionally appending [features.multi_agent_v2] enabled = false on every session start.
  2. 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).
  3. Prefer leaving multi_agent_v2 unset so Codex can apply model metadata. Do not overwrite an explicit user choice.
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions