orphaned browser daemon cleanup and process leaks

NousResearch/hermes-agent · cluster 13081 · agent

Data as of

Nothing open on GitHub. Fix merged in #13155. Check it covers your case.

The short answer

0open issues
0open PRs
8items grouped
Known?
Yes. 8 related items grouped here, 3 issues already closed.
Fix event
A fix was merged to main in PR #13155. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this partially resolved, deciding PRs #13155, #94183. That is separate from the fix event.
Still open
Nothing open on GitHub.

Multiple issues and fixes addressing orphaned agent-browser daemon processes and Chromium trees that accumulate due to timeouts, force-closed sessions, or startup failures. Includes detection, reaping logic, idle timeouts, and a bug in the glob pattern used to identify orphaned sessions.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #13155 fix(tools): reap orphaned cloud browser daemons with hermes session prefix

    merged to main

    files: tools/browser_tool.py

    Show the diff
    • tools/browser_tool.py
      @@ -582,6 +582,8 @@ def _reap_orphaned_browser_sessions():
           socket_dirs = glob.glob(pattern)
           # Also pick up CDP sessions
           socket_dirs += glob.glob(os.path.join(tmpdir, "agent-browser-cdp_*"))
      +    # Also pick up cloud-provider sessions (browser-use/browserbase/firecrawl)
      +    socket_dirs += glob.glob(os.path.join(tmpdir, "agent-browser-hermes_*"))
       
           if not socket_dirs:
               return
  • #94183 fix(browser): suspect-session recycle + wedged-daemon tree-kill on timeout (#85125 3b-browser/4c)

    merged to main

    files: tests/tools/test_browser_open_timeout.py, tests/tools/test_browser_suspect_recycle.py, tools/browser_tool.py

  • #94188 refactor(deadline): consolidate site-local tree-kills onto agent.deadline.kill_process_tree (#85125 4d)

    merged to main

    files: hermes_cli/_subprocess_compat.py, tests/agent/test_treekill_consolidation.py, tests/tools/test_browser_npx_warmup.py, tools/browser_tool.py, tools/code_execution_tool.py

2 PRs closed without merging

From the close comments: done elsewhere 1 · merged via another change 1

  • #13084 fix(tools): reap orphaned cloud browser daemons with hermes session p… · merged via another change → #13155
  • #68220 fix(browser): tree-kill orphaned agent-browser daemon on command timeout (#68139) · done elsewhere → #94183, #85125, #68139, #94188
Closed issues · 3
  • Closed#13081[Bug]: `_reap_orphaned_browser_sessions()` glob pattern doesn't match actual socket directories, causing daemon startup failure
  • Closed#13793Orphaned agent-browser daemons accumulate after force-closed sessions, eventually freezing CLI input
  • Closed#68139browser_tool: command timeout leaks the spawned agent-browser daemon + Chromium tree (long-lived gateway accumulates orphans until host OOM)
How this cluster was grouped
  • Link evidence (partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
  • Members outside that structural core may belong to a different underlying problem.
  • Pairwise link density 0.20: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Subsystem
agent
Merged PRs
#13155, #94183, #94188
Closed issues
3
Attempts
2 PRs closed without merging
Fix link checked
27 Aug 2026

For your agent

The same facts, typed.