Improve MultiAgentV2 fan-out behavior and TUI summarization

Open 💬 0 comments Opened Jun 23, 2026 by starSumi

Proposal

Codex already has MultiAgentV2 task-path agents and a TUI /agent surface. The current behavior supports multiple subagents, but broad fan-out is hard to follow because the model guidance and terminal presentation are not optimized around a fan-out workflow.

I propose a staged improvement:

  1. Strengthen MultiAgentV2 guidance so root agents fan out only for independent subtasks, assign disjoint file ownership, and continue useful local work while children run.
  2. Improve /agent to show a bounded roll-up of running/completed/errored child agents with stable task-path ordering and short activity previews.
  3. Consider protocol-level batch identity only if the UI cannot reliably group existing subagent activity events.

This avoids a new runtime or multi-pane UI and reuses existing spawn_agent, wait_agent, list_agents, send_message, and followup_task semantics.

Why this path

  • MultiAgentV2 already owns task paths, child thread creation, mailbox waiting, and agent listing.
  • The TUI already has multi_agents.rs, /agent, agent picker, and bounded activity previews.
  • A first-class spawn_agents/fan_out_agents batch tool would duplicate existing spawn_agent validation and should be deferred unless maintainers want explicit batch identity.

Related issues found during duplicate search

  • #23479 asks for subagent capacity/status preflight before spawn attempts.
  • #23749 tracks memory pressure with multiple agents.
  • #26822 covers subagents shutting down without delivering results.
  • #26200 discusses rendering referenced Codex threads/subagents as clickable chips.

These are related, but I did not find a direct duplicate for improving MultiAgentV2 fan-out behavior plus the /agent roll-up.

Suggested first PR

A minimal first PR can add a local architecture note and, if maintainers agree, follow with a narrower code PR that updates MultiAgentV2 prompt/tool guidance before any protocol changes.

View original on GitHub ↗