Skip to content

[CLI] GPT-5.5 forces MultiAgentV2 despite disable and hides documented custom-agent controls #31097

Description

@Alek2077

What version of Codex CLI is running?

codex-cli 0.142.5

What subscription do you have?

ChatGPT Plus

Which model were you using?

gpt-5.5

What platform is your computer?

Linux 6.18.33.2-microsoft-standard-WSL2 x86_64 x86_64

What terminal emulator and version are you using?

VS Code 1.127.0 under WSL (Ubuntu 22.04); no terminal multiplexer.

Codex doctor report

codex doctor --json confirmed Codex 0.142.5, valid configuration, ChatGPT authentication, reachable HTTP/WebSocket endpoints, and gpt-5.5 as the configured model. The report's overall failure was caused by the expected side-by-side npm test executable differing from the global npm installation. The full report is omitted here because it contains local filesystem paths and unrelated local session inventory; it can be provided in redacted form if needed.

What issue are you seeing?

GPT-5.5 forces the MultiAgentV2 tool surface even when MultiAgentV2 is explicitly disabled in both config.toml and command-line overrides.

The effective feature listing says:

multi_agent       stable             true
multi_agent_v2    under development  false

Adding or removing those persistent [features] entries produces no observable difference in the tested sessions: fresh GPT-5.4 threads use V1 in either case, while fresh GPT-5.5 threads use V2 in either case. The entries are accepted by configuration loading and reflected by features list, but multi_agent_v2 = false is not effective for GPT-5.5.

The current model catalog says:

gpt-5.5       multi_agent_version: v2
gpt-5.4       multi_agent_version: null
gpt-5.4-mini  multi_agent_version: null

In a fresh GPT-5.5 thread, spawn_agent exposes the V2 parameters task_name, message, and fork_turns. A V1 call fails with:

failed to parse function arguments: missing field task_name

Changing that existing thread from GPT-5.5 to GPT-5.4 does not change its tool surface; it remains V2. In contrast, a fresh GPT-5.4 thread exposes the V1 schema and successfully spawns gpt-5.4-mini with an explicit reasoning effort.

This matches the 0.142.5 implementation: model_info.multi_agent_version takes precedence over config.multi_agent_version_from_features() and the selected version is pinned to the thread:

https://github.com/openai/codex/blob/rust-v0.142.5/codex-rs/core/src/session/mod.rs#L2954-L2968

This makes the local feature listing misleading for GPT-5.5 and prevents users from following the published recommendation not to use MultiAgentV2 while it remains under development.

It also removes documented custom-agent functionality. The current Subagents documentation says Codex identifies custom agents by their name, and that agent files may pin model, model_reasoning_effort, sandbox_mode, and developer_instructions:

https://developers.openai.com/codex/subagents

For example, valid personal profiles named reviewer and harness_reviewer exist under ~/.codex/agents/. In a fresh GPT-5.4/V1 thread, spawning agent_type: "harness_reviewer" succeeded and returned role harness_reviewer, displayed model gpt-5.4, displayed reasoning effort medium, and the expected child response. In a GPT-5.5/V2 thread, the callable schema does not expose agent_type, model, or reasoning_effort. A task named reviewer is only a generic task identifier and does not activate the configured reviewer profile. The profile's pinned model, reasoning effort, read-only sandbox, and developer instructions therefore cannot be selected through the available tool surface.

Operational impact

  • Users selecting GPT-5.5 cannot opt out of an implementation the same CLI still labels under development, even with both persistent and command-line disables.
  • features list reports V2 as disabled while the active GPT-5.5 thread uses V2, so the reported feature state does not describe effective behavior.
  • Documented custom reviewer profiles cannot be selected, including their pinned model, reasoning effort, sandbox policy, and developer instructions.
  • A reproduced V2 child run failed during encrypted communication, so this is not only a schema or presentation difference.
  • Switching an affected thread from GPT-5.5 to GPT-5.4 does not recover V1 because the selected multi-agent version remains pinned to that thread.

What steps can reproduce the bug?

  1. Configure:

    [features]
    multi_agent = true
    multi_agent_v2 = false
  2. Launch Codex 0.142.5 normally with GPT-5.5:

    codex -m gpt-5.5
  3. Observe that the persistent multi_agent_v2 = false setting does not change the GPT-5.5 tool surface.

  4. As an independent confirmation, launch with explicit command-line overrides:

    codex -m gpt-5.5 -c 'features.multi_agent_v2=false' -c 'features.multi_agent=true'
  5. Ask Codex to list the exact spawn_agent schema, or call it with V1's fork_context argument.

  6. Observe that both launch paths require V2's task_name and fork_turns, despite the persistent and command-line disables.

  7. Run codex debug models and observe that GPT-5.5 carries multi_agent_version: v2 while GPT-5.4 does not.

  8. Start a fresh GPT-5.4 thread with the same feature configuration and observe that V1 works normally, including selection of a configured harness_reviewer profile with its pinned GPT-5.4 medium settings.

What is the expected behavior?

An explicit local features.multi_agent_v2=false should take precedence over model metadata. If GPT-5.5 cannot operate with V1, Codex should reject the incompatible configuration or clearly warn that selecting GPT-5.5 overrides the local setting and mandates an under-development feature. features list should report the effective per-model behavior rather than saying V2 is disabled while the active thread uses it.

If GPT-5.5 must use V2, the V2 tool surface should retain the documented ability to select custom agents and their configured model, reasoning, sandbox, and instructions, or the documentation should clearly disclose that these capabilities are unavailable with GPT-5.5.

Additional information

This is related to, but distinct from:

When V2 metadata was explicitly exposed during testing, a spawned GPT-5.4-mini child also failed with:

stream disconnected before completion: Encrypted function output content could not be decrypted or decoded

The central issue here is configuration precedence: GPT-5.5 makes V2 effectively mandatory even though the CLI still labels V2 under development.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIbugSomething isn't workingconfigIssues involving config.toml, config keys, config merging, or config updatessubagentIssues involving subagents or multi-agent features

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions