Devotd Github
NewAI agents

omnigent-ai/omnigent #13079 — Sub-agent native panes reclaimed one hour later

A commit that fixes sub-agent native terminal panes spawned by other agents to be reclaimed after one hour instead of the runner's one-day idle window.

Repositoryomnigent-ai/omnigent ↗

A commit that fixes sub-agent native terminal panes spawned by other agents to be reclaimed after one hour instead of the runner's one-day idle window.

GitHub description: Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.

stars
★ 10.9K
Forks
1.8K
Language
Python
License
Apache-2.0
Latest release
v0.18.0
Read original source ↗View on GitHub ↗

omnigent-ai/omnigent is an open-source agent framework that manages coding agents such as Claude Code, Codex, Cursor, and Pi all at once. The November 6, 2026 commit 57c2b64 (#13079) fixes the native terminal pane cleanup behavior of this runner. Sessions spawned by other agents, that is, panes for sub-agents, are now reclaimed after one hour has passed, while panes of top-level sessions opened directly by a human continue to follow the existing retention time.

The problem was timing. Native panes inherit the runner's idle timeout, which keeps top-level sessions from disappearing, but in managed hosts this value was one day. As a result, leftover CLI, TUI, and MCP processes from short-lived worker sessions created by other agents piled up for as long as a day each. The fix limits the idle window of sub-agent panes to one hour, the native pane default (adjustable via the environment variable OMNIGENT_NATIVE_PANE_IDLE_TIMEOUT_S). The implementation adds a new resolve_sub_agent_pane_idle_timeout_s in pane_reaper.py and attaches a sub_agent flag to PaneRef so that the idle window is chosen per pane. On the app.py side, whether a session is a sub-agent is determined by the parent connection in the session initialization envelope.

A follow-up fix in the same PR brought back the documented behavior that setting runner.idle_timeout_s to 0 turns off native pane reclamation. The earlier implementation reverted the sub-agent window to the native default even when the value was 0, so it still reclaimed child panes after one hour. Now 0 turns off reclamation for both top-level and sub-agents, and the sub-agent window is limited only when the value is positive. The tests check, on the basis of the init-envelope, whether a Codex child session gets the one-hour window while a top-level session keeps the 24-hour window.

That said, much cannot be determined from this commit record alone. Neither the license and release version nor the number of processes actually reduced on the server are presented. Because sub-agent detection depends on the parent connection, child sessions that do not carry such a marker keep the longer window as-is. Since this is a change that narrows the reclamation target, the reduction in process count in production environments needs to be verified separately.