Skip to content

[Feature Request] Claude in Chrome extension multi-profile support #19740

Description

@rschwegler

Bug Description

Bug Report / Feature Request: Claude in Chrome Multi-Profile Support

Summary

Claude in Chrome extension always opens tabs in a single bound Chrome profile, making it impossible to use with multiple customer engagements that require different Chrome profiles and logins.

Environment

  • Product: Claude in Chrome (Browser Automation)
  • Platform: Chrome with multiple profiles
  • Date: January 2025

Current Behavior

When using tabs_context_mcp or other browser automation tools:

  1. The extension is bound to a single Chrome profile (e.g., "Customer A" profile)
  2. When working with a different customer requiring a different Chrome profile (different logins, Google accounts, etc.), the extension still opens tabs in the original bound profile
  3. Even when a tab group is manually prepared in the correct profile (e.g., with Google Slides open), the extension cannot detect or access it
  4. Each tabs_context_mcp call creates a new window in the wrong profile, causing repeated frustration

Expected Behavior

Users should be able to:

  1. Use Claude in Chrome across multiple Chrome profiles for different customer engagements
  2. Specify which profile/window to use, or have the extension detect the currently active window
  3. Access pre-existing tab groups in any profile where the extension is installed

Use Case

As a consultant working with multiple clients:

  • Client A: Uses Chrome Profile A with specific Google Workspace login
  • Client B: Uses Chrome Profile B with different Google account
  • Need to automate browser tasks (e.g., editing Google Slides) for each client in their respective profiles

Proposed Solution: Slash Command

Implement a slash command or profile selector to specify the target:

/profile <profile_name>    - Switch to a specific Chrome profile
/window <window_id>        - Target a specific browser window
/list-profiles             - Show available Chrome profiles

Alternative approaches:

  1. Auto-detect active window: Have the extension operate in whichever Chrome window is currently focused/active
  2. Profile picker in extension UI: Allow users to select target profile before starting automation
  3. Per-conversation binding: Allow binding a conversation to a specific profile at the start
  4. Multi-instance support: Allow the extension to run independently in each Chrome profile

Impact

  • Severity: High for users with multiple customer engagements
  • Workaround: Manual file export/import (loses the value of browser automation)
  • User frustration: Repeated failed attempts create new windows in wrong profile

Steps to Reproduce

  1. Install Claude in Chrome extension in Chrome Profile A
  2. Open Chrome Profile B with different Google account
  3. Prepare a tab group in Profile B with target page (e.g., Google Slides)
  4. In Claude.ai conversation, attempt to use browser automation
  5. Observe: Extension opens new window in Profile A instead of using Profile B

Additional Context

This is a common scenario for:

  • Consultants working with multiple clients
  • Agencies managing multiple customer accounts
  • Users separating personal/work Chrome profiles
  • Anyone with multiple Google Workspace accounts

Priority: Feature Request / Usability Bug

Environment Info

  • Platform: darwin
  • Terminal: iTerm.app
  • Version: 2.1.12
  • Feedback ID: c9631aed-377d-42a7-8814-dc98010df7ed

Errors

[{"error":"Error\n    at nb (/$bunfs/root/claude:42:1143)\n    at <anonymous> (/$bunfs/root/claude:47:10085)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:49:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-20T17:55:56.941Z"},{"error":"Error\n    at nb (/$bunfs/root/claude:42:1143)\n    at <anonymous> (/$bunfs/root/claude:47:10085)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:49:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-20T17:55:57.082Z"},{"error":"Error: Request was aborted.\n    at makeRequest (/$bunfs/root/claude:884:3940)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-01-20T21:47:30.390Z"}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions