Multi-agent prompt contains conflicting delegation guidance

Open 💬 1 comment Opened Aug 4, 2026 by bek91
💡 Likely answer: A maintainer (darlingm, contributor) responded on this thread — see the highlighted reply below.

Multi-agent mode prompt contains conflicting delegation guidance

Summary

Codex can send the model multiple native multi-agent instructions that encourage delegation and then send a later developer instruction that prohibits delegation unless explicitly requested. The later instruction is technically authoritative, but the earlier delegation guidance remains in the same request and creates avoidable prompt conflict.

Observed behavior

A normal Codex app-server turn can contain all of the following:

  1. The native model instruction template says to prefer parallelization when possible.
  2. The native multi-agent root-agent usage hint describes spawn_agent, followup_task, send_message, fork_turns, child agents, and the four-agent concurrency limit.
  3. Codex adds a later developer fragment equivalent to:

> Any earlier instruction enabling proactive multi-agent delegation no longer applies. Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.

This is especially confusing for a model because the request contains substantial positive delegation framing before the explicit-request-only restriction.

Source evidence

  • codex-rs/core/src/config/mod.rs
  • Defines the default root-agent multi-agent usage hint, including the four-concurrency-slot guidance.
  • codex-rs/core/src/context/multi_agent_mode_instructions.rs
  • Defines the explicit-request-only and proactive multi-agent messages.
  • codex-rs/core/src/session/multi_agents.rs
  • Selects ExplicitRequestOnly for ordinary reasoning efforts and Proactive for Ultra, unless a custom hint is configured.
  • codex-rs/core/src/session/mod.rs
  • Appends the multi-agent mode fragment to the contextual model input.
  • codex-rs/models-manager/models.json
  • Contains the native model instruction template that recommends parallelization.

Why this matters

  • The model must resolve a policy conflict that Codex created itself.
  • The root-agent collaboration prompt becomes partly misleading on ordinary turns: it explains how and why to delegate, while the later mode message says not to do so.
  • The extra instructions consume context and may produce inconsistent delegation behavior across reasoning efforts and session sources.
  • Integrations that add their own delegation guidance can amplify the conflict.

Expected behavior

The request should present one coherent multi-agent policy for the active mode:

  • In explicit-request-only mode, native prompt text should explain the available collaboration tools without broadly encouraging proactive delegation.
  • In proactive mode, the prompt should clearly authorize delegation without requiring the model to reinterpret earlier restrictions.
  • A later mode-switch message should be needed only when the effective mode actually changes.

Possible fixes

One of the following approaches, or an equivalent design, would help:

  1. Make the root-agent usage hint mode-aware and remove proactive-sounding language in explicit-request-only mode.
  2. Generate the root-agent usage hint and the multi-agent mode policy as one composed fragment so they cannot contradict each other.
  3. Avoid emitting the explicit-request-only correction when the root-agent hint has already been rendered in a mode-consistent form.
  4. Add tests that assert the final contextual input contains exactly one effective delegation policy for each mode.

Separate concern

The Responses request may also contain parallel_tool_calls: false. That is a model capability/API setting derived from supports_parallel_tool_calls; it is related terminology but should be investigated separately from the multi-agent prompt policy.

Reproduction

Run Codex app-server with multi-agent v2 enabled at ordinary/high reasoning effort, start a normal turn, and inspect the final model input. Search for:

  • You are \/root\``
  • fork_turns
  • Any earlier instruction enabling proactive multi-agent delegation no longer applies
  • prefer parallelization

The resulting request contains both the delegation-oriented root-agent guidance and the explicit-request-only developer message.

View original on GitHub ↗

1 Comment

darlingm contributor · 12 days ago

In Codex CLI, not an external program using app-server, I'm having the same issue. My AGENTS.md explicitly asks for aggressive subagent usage, but after one or several compactions that can get lost and my orchestrator agent starts doing all of the work itself. It says that because it had a summary of AGENTS.md in the compaction summary that it didn't read it again, but that a developer message wrapped in `<multi_agent_mode>...</multi_agent_mode>" includes "Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work."