[Bug]: Tabs created by browser click are not tracked or cleaned up
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Tabs created by a browser click action are not recorded in OpenClaw's tab-ownership tracker, so they escape the configured idle/cap sweeper and lifecycle cleanup.
Steps to reproduce
- Start the managed OpenClaw browser with default
browser.tabCleanupsettings (enabled: true,idleMinutes: 120,maxTabsPerSession: 8,sweepMinutes: 5). - Use
browser.opento open a page containing a link that opens a new target/tab. - Use the browser
clickaction on that link. - Confirm that the new target appears in the live browser tab list.
- Compare that target with OpenClaw's tracked-tab ownership records, then leave it idle past the cleanup threshold and sweep interval.
Observed instance: clicking a LinkedIn result created target t39. The page remained alive for more than 13 hours and had no ownership/tracking record. In the same managed Chrome session, a control target created directly with browser.open was tracked and automatically reclaimed after 129 minutes.
Expected behavior
A new target created as the direct result of an OpenClaw browser action should inherit the initiating action's session ownership and participate in the same idle, cap, reset, and run-lifecycle cleanup as a target created by browser.open.
Actual behavior
The click-created target is visible through browser tab enumeration but absent from OpenClaw's tracked-tab ownership state. It therefore survives the configured 120-minute idle threshold and five-minute sweeps. The browser process itself remains healthy; no cleanup error is surfaced.
OpenClaw version
OpenClaw 2026.7.1 (2d2ddc4)
Operating system
Ubuntu 24.04.4 LTS
Install method
npm global
Model
openai/gpt-5.6-sol
Provider / routing chain
OpenClaw -> OpenAI
Additional provider/model setup details
The model/provider route does not appear relevant to the defect; ownership is lost after the browser action creates a new Chrome target.
Logs
Default cleanup configuration:
enabled=true idleMinutes=120 maxTabsPerSession=8 sweepMinutes=5
Control target created by browser.open:
tracked=true; automatically closed after 129 minutes; Chrome stayed running
Target created by browser click:
target=t39; visible in browser tab enumeration; tracked=false; still open after >13 hoursScreenshots, recordings, and evidence
- A controlled
browser.opentarget was reclaimed after 129 minutes, demonstrating that the primary-session idle sweeper was running. - The click-created
t39target remained open in the same Chrome session for more than 13 hours and was absent from the ownership tracker. - Current configuration documentation describes cleanup as reclaiming "tracked primary-agent tabs." The missing step is registering a child target created by a tracked browser action.
Impact and severity
- Affected: agents using OpenClaw's managed browser when a click opens a new tab/target.
- Severity: moderate resource leak and lifecycle-state defect; it does not crash the browser.
- Frequency: reproduced in the observed click-created target; the control
browser.openpath cleaned up correctly. - Consequence: click-created tabs and their renderer processes can accumulate indefinitely until manually closed or Chrome is restarted.
Additional information
Related but distinct: #40694 concerns whether ordinary primary-task completion should become a cleanup boundary. This report does not require that product decision: the click-created target is not registered at all, so it also escapes the already-supported idle, cap, reset, and isolated-run cleanup boundaries.
Suggested remediation: when a browser action creates a new target, record that target with the initiating action's owner/session identity before returning the action result. Preserve the existing rule that unrelated or user-opened targets are not adopted.
Source: openclaw/openclaw