Claude Code terminals should get isolated Chrome tab groups (like Desktop projects)

Resolved 💬 3 comments Opened May 1, 2026 by donovanrmiller51-ctrl Closed May 5, 2026

Problem

When multiple Claude Code terminal sessions connect to the Claude-in-Chrome extension, they share a single MCP tab group. This means two terminals can navigate, click, and interact with the same tabs simultaneously — causing race conditions and conflicts.

Claude Desktop already solves this: each project gets its own isolated tab group (separate color, separate tabs). Two Desktop projects can drive Chrome side-by-side without interference.

Root Cause

The Chrome extension supports per-session isolation via three fields in the MCP native messaging protocol:

  • client_id — identifies the Claude app (Desktop vs Code)
  • session_scope — identifies the project/workspace within that app
  • tabGroupId — the Chrome tab group assigned to that client+session combo

Claude Desktop passes a unique session_scope per project → extension creates separate tab groups → full isolation.

Claude Code does not pass a differentiating session_scope per terminal session, even though each terminal already has a unique sessionId (stored in ~/.claude/sessions/[PID].json). All terminals hit the same scope → same tab group → conflict.

Expected Behavior

Each Claude Code terminal session should get its own Chrome tab group, isolated from other terminals — matching Desktop's per-project behavior.

Proposed Fix

Pass the terminal's sessionId (from ~/.claude/sessions/[PID].json) as the session_scope field in the native messaging bridge (cli.js --chrome-native-host). The Chrome extension already handles scope-based tab group creation — no extension changes should be needed.

Environment

  • Claude Code CLI (via @anthropic-ai/claude-code)
  • Chrome extension: fcoeoabgfenejglbffodgkkbkcdhcgfn v1.0.69
  • macOS Darwin 25.4.0

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗