[App/Windows] MCP/plugin subprocess groups scale linearly with active task runtimes
Summary
On Codex Desktop 26.707.8168.0 on Windows 11, enabled MCP/plugin subprocess groups appear to be launched separately for each active task runtime. Process count and memory usage therefore grow roughly linearly with runtime count instead of being pooled, deduplicated, or stopped when no longer needed.
Related to #20867, but this report isolates the per-runtime subprocess fan-out rather than browser MCP startup alone.
Sanitized observation
With approximately 6 active task runtimes and 5 enabled MCP/plugin services:
- 36 node.exe processes
- approximately 1.99 GB combined working set
- 12 Playwright-related processes, approximately 861 MB
- 12 server.mjs processes, approximately 564 MB
- 6 server.bundle processes, approximately 320 MB
- 6 server.cjs processes, approximately 244 MB
The repeated process groups tracked the number of active runtimes. Disabling unused plugins prevented new groups from being started, but existing groups remained until the desktop application was fully quit.
No raw command lines, local paths, account identifiers, task contents, or configuration secrets are included in this report.
Steps to reproduce
- Enable several MCP/plugin services in Codex Desktop.
- Start multiple tasks or agent runtimes in the desktop application.
- Observe node.exe child processes after each runtime becomes active.
- Close or finish tasks without fully quitting Codex.
- Compare process groups and aggregate working set with the number of active runtimes.
Actual behavior
Each runtime appears to receive its own MCP/plugin subprocess group. Multiple groups remain resident and can consume gigabytes of memory in an ordinary multi-task session.
Expected behavior
- Share or pool stateless MCP services where safe.
- Deduplicate equivalent subprocess configurations.
- Start services lazily when a tool is first used.
- Reliably terminate runtime-owned subprocesses when the runtime ends.
- Expose ownership and lifecycle information in diagnostics.
Environment
- Codex Desktop: 26.707.8168.0
- OS: Windows 11 x64
- WSL2 workspaces are used, but the observed child processes are Windows node.exe processes.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗