Stale “Running” subagents cause high CPU usage in Codex Desktop on macOS
What issue are you seeing?
In Codex Desktop on macOS, many subagents that have already finished their work continue to be displayed as “Running”.
These stale Running states do not appear to continue consuming model tokens, but they cause a significant increase in local CPU usage, especially when the full subagent list is expanded and visible.
In my case, a long-running main conversation accumulated more than 40 subagents that still show as Running even though their tasks appear to have finished.
The application becomes noticeably less responsive when these stale Running subagents are displayed.
What steps can reproduce the bug?
- Open a long-running conversation that has created many subagents.
- Wait until the subagents have completed their tasks.
- Observe that many completed subagents still remain marked as “Running”.
- Open macOS Activity Monitor and filter for Codex processes.
- Keep the conversation open for about 1 minute and observe CPU usage.
- Expand the subagent list so that about 40+ stale Running subagents are visible.
- Observe that CPU usage increases significantly.
- Collapse most of the subagent list again and observe that CPU usage decreases.
In my test:
- Normal view / no expanded agent list:
- Codex (Service): ~14.5%
- Codex (Renderer): ~18.4%
<img width="628" height="516" alt="Image" src="https://github.com/user-attachments/assets/df4f90bb-7de5-485b-9f80-8694e992c66e" />
- Only a few Running subagents visible:
- Codex (Service): ~22.3%
- Codex (Renderer): ~26.9%
<img width="696" height="288" alt="Image" src="https://github.com/user-attachments/assets/bc4bea35-491d-46f3-8f29-8ee801f59932" />
- About 40+ Running subagents visible:
- Codex (Service): ~46.4%
- Codex (Renderer): ~16.9%
<img width="760" height="1572" alt="Image" src="https://github.com/user-attachments/assets/866cc66a-c6ea-4f15-91f8-62f0b817c712" />
Each state was observed for approximately 1 minute rather than using only an instantaneous CPU reading.
What is the expected behavior?
When a subagent finishes its task:
- Its status should change from “Running” to “Completed” or “Done”.
- Any unnecessary timers, polling, subscriptions, or status updates associated with the Running state should stop.
- Completed historical subagents should not cause sustained CPU usage.
- Expanding a list of completed subagents should not significantly increase Codex Desktop CPU usage.
Additional information
The CPU increase appears to be strongly related to whether the stale Running subagents are visible.
When most of the subagent list is collapsed, CPU usage decreases significantly. When approximately 40+ stale Running entries are visible, Codex (Service) CPU usage rises substantially.
This suggests the issue may not be only a visual animation/rendering problem. The largest increase in my test occurred in Codex (Service), which may indicate repeated status processing, polling, timers, subscriptions, or IPC activity associated with stale Running states.
The subagents do not appear to continue doing meaningful model work or consuming tokens, so this seems to be a local client state/lifecycle issue.
Environment:
- macOS Silicon
- Codex Desktop 26.810.52044
- Long-running main conversation
- 40+ stale subagents displayed as Running
1 Comment
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action