Claude Code terminals should get isolated Chrome tab groups (like Desktop projects)
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 apptabGroupId— 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:
fcoeoabgfenejglbffodgkkbkcdhcgfnv1.0.69 - macOS Darwin 25.4.0
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗