Add automatic lifecycle cleanup for completed/idle sub-agents (and unused MCP clients)

Resolved 💬 4 comments Opened Feb 20, 2026 by ginishuh Closed Mar 3, 2026

What variant of Codex are you using?

CLI (multi-agent)

What feature would you like to see?

A built-in lifecycle policy so completed/idle sub-agents are automatically closed, and their MCP clients are torn down when no longer needed.

In current multi-agent usage, completed work often leaves long-lived agent/MCP processes behind. Over time this accumulates memory usage and makes long sessions expensive.

Why this matters

In practice, multi-agent sessions can leave many long-lived MCP subprocesses (especially stdio MCPs). For Serena, this can cascade into additional language-server child processes, amplifying memory use.

This appears related to MCP connection sharing/lifecycle concerns discussed in #12333, but this request is specifically about automatic agent closure + MCP teardown policy.

Proposed behavior

  1. Auto-close completed sub-agents by default (or configurable policy).
  2. If an agent is idle for N minutes and has no pending work/messages, auto-close it.
  3. When an agent closes, release/teardown MCP client resources associated with that agent.
  4. Keep explicit opt-out behavior for workflows that want persistent idle agents.

Suggested config knobs

[agents.lifecycle]
auto_close_completed = true
idle_timeout_sec = 300
keep_failed_agents_open = true

[mcp.lifecycle]
shutdown_when_unused = true
unused_ttl_sec = 120

Expected UX

  • Multi-agent runs should not require manual close_agent cleanup for normal cases.
  • Process count should naturally return toward a baseline after tasks complete.
  • Long-running sessions should remain memory-stable.

What steps can reproduce the underlying pain point?

  1. Enable one or more stdio MCP servers (e.g., Serena) in Codex CLI.
  2. Run multi-agent tasks repeatedly / keep multiple active threads.
  3. Observe that completed work still leaves many long-lived agent/MCP processes.

Additional information

Related (not duplicate):

  • #12333 (MCP duplication / sharing pressure in multi-agent runs)
  • #12047 (broader multi-agent UX/DX proposal; includes idle-state ideas)
  • #9902 (TUI sidepanel / manual close affordances)

This issue is focused on default automatic lifecycle cleanup for finished/idle agents and unused MCP clients.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗