Skip to content

[Feature]: Support multiple concurrent Extension clients with isolated tab groups #42015

Description

@WitMiao

What's going on?

The Playwright Chrome Extension currently supports only one active client connection per browser profile.

Reproduction

  1. Start client A with the Playwright Extension enabled and connect it to a tab.
  2. While client A is still connected, start client B against the same Chrome profile and connect it to another tab.

Current behavior

  • Connecting client B disconnects client A.
  • Tabs controlled by client A are removed from their Playwright tab group.
  • On token-bypass connections, the newly selected tab/window is brought to the foreground.

This follows the current implementation in packages/extension/src/background.ts: the extension stores a single _activeGroup, and _connectTab() calls _disconnect('Another connection is requested') before installing the new group.

Expected behavior

Multiple clients should be able to use the same browser profile concurrently:

  • each connection owns an independent ConnectedTabGroup;
  • tabs and disconnect/cleanup operations are scoped to that connection;
  • groups have distinct labels so users can identify their owner;
  • an automatic/token-bypass connection does not focus the browser window;
  • the status page lists and disconnects clients independently.

This is useful for parallel browser automation that needs the authenticated state of the user's existing Chrome profile. Isolated browser contexts are not always an equivalent replacement because they do not share that profile's login state.

There is already a proposed implementation with tests in #41922, but that PR was closed because it did not have a corresponding issue. I am filing this issue to provide the requested discussion/triage entry. if maintainers approve the direction, the existing contributor may be able to reopen or supersede it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions