Where does the bug appear (feature/product)?
- MCP & tools
- Cursor IDE Browser / Glass Browser Tab (
cursor-ide-browser)
Describe the Bug
The built-in Browser Tab MCP server reports connected (catalog ready, 16 tools) but agent tool calls such as browser_tabs with action: "list" never return. There is no client timeout. Calls have stayed in-flight for hours until the user cancels them or the Browser Automation MCP provider is disposed.
This is not a network or OS issue. It is a Cursor browser-automation lifecycle / guest-webview IPC bug. It has persisted for 1–2 weeks through multiple Cursor updates and machine reboots.
This is related to, but not the same as, the 30s “MCP provider did not re-register” / stale-catalog reports. Here the namespace stays ready and the call simply never completes.
Steps to Reproduce
- macOS, Cursor Glass layout, Browser Automation enabled, using the built-in Browser Tab (not an external Chrome target).
- Open an Agent chat. Confirm
cursor-ide-browseris listed as connected /namespaceStatus: readywith the usual browser tools (browser_tabs,browser_navigate,browser_snapshot, …). - From the agent, call
browser_tabswithaction: "list"(no other arguments required). - Optionally leave the call running; do not cancel immediately.
Expected Behavior
browser_tabs returns the open Browser Tab list, or fails fast (seconds, or at most the documented ~30s re-register timeout) with an error the agent can handle.
Actual Behavior
- Tool call hangs with no completion, no error, no timeout.
- Cancelling is the only way to unblock the agent (one observed hang lasted ~2 hours 10 minutes, ~15:53–18:03 local, until provider dispose/cancel).
- After cancel/dispose, later calls in the same window often hang the same way until Developer: Reload Window.
- Meanwhile MCP status continues to say connected.
- Screenshot/helper path also fails with
Browser view not foundeven when a Browser Tab exists.
Screenshots / Screen Recording
Not attached. This is an IPC hang, not a visual glitch. Log signatures below are sufficient to match internally.
Operating System
- macOS 27.0 (Darwin 27.0.0), build 26A428
- darwin-arm64
Version
Current (still reproducing):
Cursor 3.21.13 (stable)
Commit: e44a49c17e334d442e58bbde931d791200f014a0
Date: 2026-09-18T06:43:24.799Z
Electron: 42.10.0
OS: Darwin arm64 27.0.0
Layout: glass
Also reproduced on the same machine after updates, with the same log signatures:
- 3.20.21
- 3.21.9
- 3.21.13 (current)
Log sessions spanning 2026-09-15 through 2026-09-19 (multiple app launches / reboots / updates). Reproduced on two independent --user-data-dir profiles (default Cursor profile and a second isolated profile).
For AI issues: which model did you use?
Any agent model. This is a local MCP/tool-runtime hang, not a model-quality issue.
For AI issues: add Request ID with privacy disabled
Request ID from a hung browser_tabs call that was later cancelled:
142c571a-508a-4069-83a5-d9c71d0129dc
Please treat this as a tool-runtime hang, not an agent-behavior/content issue. I am not attaching prompts, code, paths, or conversation content.
Additional Information
Why this is Cursor, not the host OS
- The Browser Tab UI can still exist while automation IPC is dead.
cursor-ide-browserremains advertised as connected (toolCount: 16, statusconnected) while calls never complete.- Failures are in Cursor’s own renderer / Browser Automation extension, not in page JS or DNS.
Recurring log signatures (redacted paths only)
From ~/Library/Application Support/Cursor/logs/ (renderer + 1-Cursor IDE Browser Automation.log):
[WebviewBrowserManager] Guest webview dead for glass-browser-<uuid>, recreating
Error invoking remote method 'GUEST_VIEW_MANAGER_CALL': reply was never sent
command 'mcp.onBrowserConnectivityChanged' not found
at …/workbench.glass.main.js
Failed to inject browser UI script:: No browser view available
Browser Automation MCP Provider disposed
Failed to update screenshot service: Error: Browser view not found
[MCPService] Server status update: cursor-ide-browser -> connected
[MCPService] Received snapshot for cursor-ide-browser status=connected toolCount=16
[MCPService] Skipping createClient for already-connected server: cursor-ide-browser
Counts from local logs over this window (same machine, multiple sessions):
Browser Automation MCP Provider disposed: 182 Browser Automation log filesNo browser view available: 6 filesBrowser view not found: 8 filesGuest webview dead/reply was never sent: burst of 13 lines in a single renderer.log (2026-09-19 ~02:56), all for the sameglass-browser-*idmcp.onBrowserConnectivityChanged not found: repeated in renderer.log on 2026-09-17, 2026-09-18, and 2026-09-19
Cold-start pattern: extension activates → inject fails with No browser view available → MCP still marked connected → later Provider disposed → agent call either 30s-misses or, in this bug, hangs with no timeout.
Aggravating conditions
- Glass layout
- Long-lived Cursor window with many workbenches / renderer processes
- Multiple Agent chats / subagents that all try to own
cursor-ide-browser - Calling browser tools when no Browser Tab view has been created yet (inject-before-view race)
- Overloaded Cursor process (high renderer count / CPU) makes the hang more likely but is not required
What does not fix it
- Updating Cursor (seen on 3.20.21 → 3.21.9 → 3.21.13)
- Rebooting macOS
- Starting a new Agent chat in the same window (catalog still “ready”, calls still hang)
- Waiting (no timeout)
Workaround (partial)
- Cancel the hung tool after ~20s (do not wait; there is no timeout).
- Command Palette → Developer: Reload Window.
- Keep a single agent as the browser-tool owner; open a Browser Tab before the first automation call.
Reload is not durable. The hang returns in the same session/day after further use.
Related public reports (same subsystem, different failure mode)
Please do not close this as a duplicate of the 30s re-register bug without checking the hang-forever path. Related Bug Reports topics (no URLs; this is a new account with a 2-link limit):
- Topic 170312 — Linux Glass: cursor-ide-browser MCP disposed after No browser view — 30s re-register timeout
- Topic 168965 — Stale cursor-ide-browser provider disposal removes newer registration and leaves MCP catalog ready
- Topic 169858 — cursor-ide-browser MCP missing from Agent chats even when Browser Tab is connected
Staff previously noted a provider-registration ownership fix. That does not cover this case: on 3.21.13 the server still shows connected and browser_tabs never returns.
Suggested fix
- Never advertise
cursor-ide-browserasready/connectedafter a failed inject or dead guest webview. - Fail tool calls in <1s (or at most 30s) when the guest view is dead /
GUEST_VIEW_MANAGER_CALLgets no reply; do not hang the agent. - Keep the MCP provider alive until a Browser Tab exists, then inject; do not dispose after a single
No browser view available. - Rebind
mcp.onBrowserConnectivityChangedso Glass workbenches do not logcommand not found. - Recreate a dead
glass-browser-*guest webview once, not in a tightreply was never sentloop.
Does this stop you from using Cursor?
- Sometimes — I can sometimes use Cursor. Agent browser automation is unreliable for 1–2 weeks and through several updates; other Cursor features still work.