Preflight Checklist
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
- Install the Claude extension in Microsoft Edge on macOS
-
- Open the side panel (click extension icon or Cmd+E)
-
- Start a Claude session and connect via Claude in Chrome / Cowork
-
- 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.
Preflight Checklist
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
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
~/Library/Application Support/Microsoft Edge/NativeMessagingHosts/Root Cause Analysis
After inspecting the extension source (v1.0.57), the side panel is opened per-tab:
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.onActivatedlistener 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.onActivatedlistener in the service worker that re-enables and re-opens the side panel for the newly activated tab when a session is active: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.