Skip to content

v0.4.3

Choose a tag to compare

@sheehanmunim sheehanmunim released this 22 Sep 19:19
· 20 commits to main since this release

Parallel browser tasks

Separate tasks — separate agent threads, separate MCP processes — can now use the browser at the same time through one Chrome extension without touching each other's tabs. (#6)

  • Every MCP process shares the extension, on every platform. The first server owns it and later servers go through it, each with its own tab group. When the owner exits another takes over, and nobody's tabs close.
  • session_id on every browser_* tool (optional). Several tasks inside one MCP process each get their own tabs, tab group and cleanup. Pass a stable id per task; omit it for the process's default session.
  • Cleanup is scoped. browser_close_all_tabs closes only the calling task's tabs; a process exiting closes only its own sessions.

Fixed

  • Third MCP process hung (macOS). The bridge owner served peer processes one at a time on its accept loop, so a third server waited forever behind the second.
  • Owner exit closed everyone's tabs. The extension closed every client's tabs whenever the native host dropped. It now keeps them and reconnects with backoff.
  • Two agents could adopt the same tab. browser_use_tab checked ownership before an await; simultaneous claims could both succeed.
  • One browser user at a time (Windows/Linux). The Rust host now implements the same owner + peer protocol as the macOS host.

Notes

  • 30 tools; 12 browser tools gained session_id. Chrome extension 0.4.3 — reload it in chrome://extensions (or load it unpacked again from chrome-extension/).
  • Tasks still share Chrome's cookies and logins; desktop apps and the clipboard are not per-task.