Add automatic lifecycle cleanup for completed/idle sub-agents (and unused MCP clients)
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
- Auto-close completed sub-agents by default (or configurable policy).
- If an agent is idle for N minutes and has no pending work/messages, auto-close it.
- When an agent closes, release/teardown MCP client resources associated with that agent.
- 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_agentcleanup 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?
- Enable one or more stdio MCP servers (e.g., Serena) in Codex CLI.
- Run multi-agent tasks repeatedly / keep multiple active threads.
- 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.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗