Skip to content

Claude in Chrome extension: Side panel closes when switching/opening tabs in Microsoft Edge on macOS #30873

Description

@ogmios2

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

When using the Claude extension in Microsoft Edge on macOS, the side panel closes every time I open a new tab or switch between tabs. This also disconnects the Claude browser session, requiring me to reopen the panel and reconnect.

In Google Chrome, the side panel persists across tab switches as expected.

What Should Happen?

The side panel should stay open and the session should remain connected when switching between tabs or opening a new tab, consistent with the behavior in Google Chrome.

Error Messages/Logs

Steps to Reproduce

  1. Install the Claude extension in Microsoft Edge on macOS
    1. Open the side panel (click extension icon or Cmd+E)
    1. Start a Claude session and connect via Claude in Chrome / Cowork
    1. Open a new tab (Cmd+T) or click on a different tab
      Expected: Side panel stays open and the session remains connected.
      Actual: Side panel closes and the Claude browser session is lost.

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

No response

Claude Code Version

Claude in Chrome v1.0.57

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Environment

  • OS: macOS
    • Browser: Microsoft Edge (Chromium-based)
      • Extension: Claude in Chrome v1.0.57
        • Native Messaging Hosts: Correctly registered in ~/Library/Application Support/Microsoft Edge/NativeMessagingHosts/

Root Cause Analysis

After inspecting the extension source (v1.0.57), the side panel is opened per-tab:

chrome.sidePanel.setOptions({
  tabId: e,
  path: `sidepanel.html?tabId=${encodeURIComponent(e)}`,
  enabled: true
});
chrome.sidePanel.open({ tabId: e });

The side panel is bound to a specific tabId. Chrome handles this gracefully by keeping the panel visible when switching tabs, but Edge closes it because the panel was only enabled for the original tab.

The extension has no chrome.tabs.onActivated listener to re-open or re-attach the side panel when the user switches tabs. It relies on Chrome's more permissive side panel behavior, which Edge does not replicate.


Suggested Fix

Add a chrome.tabs.onActivated listener in the service worker that re-enables and re-opens the side panel for the newly activated tab when a session is active:

chrome.tabs.onActivated.addListener(async (activeInfo) => {
  if (hasActiveSession()) {
    chrome.sidePanel.setOptions({
      tabId: activeInfo.tabId,
      path: `sidepanel.html?tabId=${encodeURIComponent(activeInfo.tabId)}`,
      enabled: true
    });
    chrome.sidePanel.open({ tabId: activeInfo.tabId });
  }
});

Alternatively, consider using chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true }) combined with window-level (non tab-specific) panel options to make the panel persist across all tabs in the window.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions