[BUG] Claude in Chrome + Control Chrome Failures in Cowork Mode
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug Report: Claude in Chrome + Control Chrome Failures in Cowork Mode
Date: April 15, 2026
Reporter: Julian (claude2@freethinkster.com)
Environment: macOS, Claude Desktop (updated April 15, 2026), Chrome 147.0.7727.56
Account: claude2@freethinkster.com
Org UUID: 8fb00521-cc0c-4af3-92f0-7917a2aea19b
---
Summary
Two separate browser automation failures are completely blocking web access from within Cowork mode. Both issues appeared after Claude Desktop auto-updated on April 15, 2026.
- Claude in Chrome extension fails to pair with Cowork session — the extension is installed, signed in with the correct account, and visible in Chrome, but
tabs_context_mcpconsistently returns "Claude in Chrome is not connected." - Control Chrome MCP (nicholmikey/chrome-tools-MCP) —
execute_javascriptandget_page_contenttools fail with "Google Chrome is not running" regardless of Chrome's state, while other tools in the same MCP work correctly.
---
Issue 1: Claude in Chrome Extension Not Pairing with Cowork
Symptom
Every call to mcp__Claude_in_Chrome__tabs_context_mcp (with or without createIfEmpty: true) returns:
⚠️ Claude in Chrome is not connected
The Chrome extension isn't reachable right now.
Environment
- Claude Desktop updated April 15, 2026 (exact version not visible in UI)
- Chrome 147.0.7727.56 (confirmed via CDP
/json/versionendpoint) - macOS (Intel Mac OS X 10_15_7, confirmed via Chrome user-agent)
- Claude in Chrome extension: installed, enabled, signed in as
claude2@freethinkster.com - Claude Desktop account:
claude2@freethinkster.com(same account)
What Was Verified
- Extension is installed and visible in
chrome://extensions/ - Extension settings page (
chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/options.html#permissions) loads and shows the account as signed in:claude@freethinkster.com - "Claude in Chrome" toggle is present in Claude Desktop Settings → Desktop app → Connectors
- No blocked sites are listed in Claude Desktop Settings → Desktop app → Claude in Chrome
Steps Taken to Resolve (All Failed)
- Reloaded the Chrome extension from
chrome://extensions/ - Uninstalled and reinstalled the Claude in Chrome extension
- Restarted Chrome (multiple times)
- Restarted Claude Desktop (multiple times)
- Updated Claude Desktop to the latest available version
- Verified account match between Chrome extension and Claude Desktop (same email)
- Tried from a freshly launched Chrome instance with
--remote-debugging-port=9222 - Tried from the original Chrome profile and from a fresh
--user-data-dirprofile
Result of Each Attempt
All attempts returned the same "Claude in Chrome is not connected" error from tabs_context_mcp. No change in behavior was observed across any configuration.
Related Known Issues (GitHub)
This appears to be the same regression documented in:
- Issue #26305 — Claude Code Desktop App (Conductor) – Chrome Extension Connection Failure (reported ~Feb 13, 2026)
- Issue #21371 — Claude in Chrome extension not connecting despite being installed
- Issue #24593 — Browser extension persistently fails to connect from CLI
- Issue #38783 — Cowork browser automation tools missing after Claude Desktop update
The connection failure appears to be a Desktop app regression where the app bundles its own Claude Code binary and either (a) has a bug in its Chrome/MCP integration, or (b) does not correctly read the global Chrome config after an update.
---
Issue 2: Control Chrome MCP — execute_javascript and get_page_content Always Fail
Background
Because Claude in Chrome was broken, the Control Chrome MCP (nicholmikey/chrome-tools-MCP) was installed as an alternative for browser content access.
Symptom
execute_javascript and get_page_content consistently return:
Error: Google Chrome is not running. Please launch Chrome and try again.
This occurs regardless of Chrome's state. Meanwhile, list_tabs, open_url, get_current_tab, reload_tab, and close_tab all work correctly in the same session.
Key Diagnostic Finding: Split Behavior
The MCP server has a two-track behavior:
- Navigation tools (
list_tabs,open_url,get_current_tab,reload_tab) — use the Chrome Extension API. Work correctly;list_tabsreturns valid tab IDs in Chrome Extension integer format. - Content tools (
execute_javascript,get_page_content) — use Chrome DevTools Protocol (CDP) via WebSocket onlocalhost:9222. Fail with the above error.
Exhaustive Debug Steps and Results
Step 1 — Chrome running normally (no debug port): execute_javascript → Error: Google Chrome is not running list_tabs → returns correct tabs ✓
Step 2 — Launched Chrome with open -a "Google Chrome" --args --remote-debugging-port=9222:
Port did not open. Chrome was already running; macOS open -a passes flags only on first launch, so the flag was ignored. localhost:9222/json/version returned ERR_CONNECTION_REFUSED.
Step 3 — Quit Chrome (Cmd+Q), then relaunched with open -a "Google Chrome" --args --remote-debugging-port=9222:
Port still did not open. Chrome opened a new window without applying the flag (possible session restore or macOS Launch Services behavior).
Step 4 — Launched via full binary path with fresh profile:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/chrome-debug &
Port opened successfully. localhost:9222/json/version returned full JSON:
{
"Browser": "Chrome/147.0.7727.56",
"Protocol-Version": "1.3",
"webSocketDebuggerUrl": "ws://localhost:9222/devtools/browser/22d2c419-5641-494f-9fe8-ce0591177c5b"
}
CDP confirmed active. Restarted Claude Desktop to allow MCP server to reconnect. execute_javascript → STILL Error: Google Chrome is not running list_tabs → returned correct tab ✓
Step 5 — Navigated to real webpage (example.com) to rule out internal Chrome page restriction: execute_javascript → STILL Error: Google Chrome is not running
Step 6 — Verified AppleScript access to Chrome:
osascript -e 'tell application "Google Chrome" to get URL of active tab of front window'
Returned the current tab URL correctly. AppleScript can access Chrome. This rules out macOS Automation/Accessibility permission issues.
Step 7 — Killed fresh-profile Chrome, relaunched with original profile + debug port:
pkill -f "chrome-debug"
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 &
Chrome opened with original profile (Claude in Chrome extension visible and signed in).
However: localhost:9222/json/version → ERR_CONNECTION_REFUSED — port did not open.
This is because the pkill -f "chrome-debug" only killed the fresh-profile instance; the original Chrome (without debug port) was still running in the background, so the binary command opened a new window in the existing instance without applying the flag.
Step 8 — Completely quit all Chrome instances (Cmd+Q), relaunched with binary + original profile:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 &
Chrome opened with original profile. Claude in Chrome extension confirmed present. localhost:9222/json/version → ERR_CONNECTION_REFUSED (port STILL not open).
Root cause unknown — Chrome binary launched directly via Terminal with the flag, but the port does not bind. This may be a macOS security restriction, a Chrome policy, or the launch process being captured by a running Chrome parent process.
Step 9 — After fresh-profile launch (Step 4, where port DID open), compared tool behavior: list_tabs returns integer tab IDs (Chrome Extension API format, e.g., 2109890274), not UUID-format CDP target IDs. This confirms list_tabs uses a browser-side Chrome Extension, not CDP HTTP.
Yet execute_javascript still fails with the port confirmed open.
Hypothesis: The browser-side Control Chrome extension is not installed in the fresh --user-data-dir=/tmp/chrome-debug profile. execute_javascript requires the extension's content scripts, not raw CDP. The extension only exists in the original Chrome profile.
Root Cause Summary
The content tools (execute_javascript, get_page_content) appear to require either:
- A browser-side Control Chrome Chrome extension (which would only be present in the original Chrome profile), AND/OR
- A CDP WebSocket connection on port 9222
When using the original Chrome profile, port 9222 cannot be opened reliably via Terminal binary launch. When using a fresh profile (where port 9222 opens successfully), the browser-side extension is absent. These two requirements cannot currently be satisfied simultaneously through available user-facing configuration.
---
Combined Impact
Both failures together mean that Cowork mode has zero browser content access. The session cannot read web pages. WebFetch is also blocked by the network egress proxy for essentially all external domains (returns EGRESS_BLOCKED for runwayml.com, lumalabs.ai, arxiv.org, github.com, npmjs.com, d5render.com, and dozens of others). The only remaining web access tool is WebSearch, which returns search snippet previews only.
This combination completely prevents web research tasks from being executed with adequate source quality.
---
Requested Actions
- Investigate and fix the Claude in Chrome pairing failure in Cowork — this is the highest-priority item. The extension connects successfully in the browser, but the Cowork session never receives the handshake. This regression correlates with the April 15, 2026 Desktop update.
- Clarify the Control Chrome MCP setup requirements — specifically: (a) does the content access path require a browser-side Chrome extension in addition to the Claude Desktop MCP server? (b) is there a supported way to launch Chrome with
--remote-debugging-port=9222while using the original user profile on macOS?
- Consider relaxing the
EGRESS_BLOCKEDproxy policy for common research and documentation domains (GitHub, npmjs, arxiv.org, tool vendor sites), or document which domains are accessible so users can understand the scope of web access.
---
Session Reference
- Session ID:
70f4cbd5-19ff-4a65-9851-f1e47a5e5848 - Session started: April 14–15, 2026
- Claude Desktop org UUID:
8fb00521-cc0c-4af3-92f0-7917a2aea19b
What Should Happen?
Full report on first box.
Error Messages/Logs
Full report on first box.
Steps to Reproduce
Full report on first box.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude 1.2581.0 (f10398) 2026-04-14T17:16:40.000Z
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
Showing cached comments. Read the full discussion on GitHub ↗
27 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Adding a data point. 17 April 2026, macOS Sequoia, Claude Desktop latest, Chrome latest, extension latest, subscription auth, matching accounts.
Same symptoms:
tabs_context_mcp→ "Claude in Chrome is not connected".Regression correlates exactly with the 15 April Desktop auto-update here too. Before 15 April the feature was working. This is the second major Chrome-connection regression in 4 weeks (previous one 20 March, see #38845 / #36910).
Please treat as P0. For many users this is the feature they bought the subscription for.
hit the same pairing failure on 15 April after the auto-update. spent an afternoon on it before giving up and going back to driving chrome via CDP on port 9222 directly. the native messaging handshake between Desktop and the extension is where this breaks. the host binary path in the extension manifest points into the Desktop.app bundle, and when Desktop updates it rewrites that path mid-flight without reloading the registered host. you can verify with
lsof -p $(pgrep -f 'Claude Helper')and compare the bundle path to what chrome has registered in ~/Library/Application Support/Google/Chrome/NativeMessagingHosts. going fully accessibility-API based (AXUIElement on the chrome process) dodged this entirely for me, no handshake to break.Subject: Claude in Chrome bridge - persistent "Invalid token or user mismatch"
Email: hsonvu1912@gmail.com
Account ID: 94fb62eb-93e7-40ea-9126-855a3d6a7fb8
Organization ID: 95f0a38a-da05-4431-bb98-fefc776d54f3
Issue: Chrome extension "Claude in Chrome" cannot connect via Cowork bridge
since 2026-03-06 (989+ failed attempts logged).
Error pattern (repeats with exponential backoff):
[Claude in Chrome] Connecting to bridge:
wss://bridge.claudeusercontent.com/chrome/94fb62eb-93e7-40ea-9126-855a3d6a7fb8
[Claude in Chrome] Bridge error: Invalid token or user mismatch
[Claude in Chrome] Bridge connection closed (code: 1008)
Troubleshooting performed (none fixed the issue):
Network folder (cookies), IndexedDB, Local Storage, Session Storage,
Cache, local-agent-mode-sessions/<accountId>/ folder
After wipe + fresh login, login API returns same accountId 94fb62eb-...
but bridge API still rejects with "user mismatch". This appears to be
backend inconsistency between auth.anthropic.com and
bridge.claudeusercontent.com for this account.
Attaching main.log (filter for "bridge|mismatch" for relevant lines).
Desktop version: Claude 1.1.4498.0 UWP (Windows 11).
I am hitting the same issue. Are there any workarounds? I am on Claude desktop app 1.4758.0 on Mac Air.
Bug Report: Claude in Chrome MCP disconnected in Cowork
Issue: Claude in Chrome MCP stopped connecting to Cowork
When: Started on April 28, 2026 morning (was working on April 27)
Affected devices: Two separate computers, same issue on both
Extension status: Installed, signed in with correct account ([hugohouse01@gmail.com](mailto:hugohouse01@gmail.com))
Steps taken: Reinstalled extension, restarted Chrome (applied pending update), restarted Cowork app — issue persists
Note: No Claude Code installed, so no conflict between the two
Subject: Claude in Chrome bridge persistently rejects OAuth token (Issue #48806)
Hi,
I'm experiencing a persistent "Invalid OAuth token" error when Claude Desktop /
Cowork tries to connect to the Claude in Chrome WebSocket bridge. This appears
to be the same issue as GitHub #48806. After exhaustive local-state cleanup,
the bridge keeps rejecting authentication, which strongly suggests an
account-level or server-side state issue that needs to be reset on your end.
═══════════════════════════════════════════════════
ENVIRONMENT
═══════════════════════════════════════════════════
(ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)
═══════════════════════════════════════════════════
EXACT ERROR (from ~/Library/Logs/Claude/main.log)
═══════════════════════════════════════════════════
Repeating every ~30 seconds:
[Claude in Chrome] Connecting to bridge:
wss://bridge.claudeusercontent.com/chrome/<session-id>
[Claude in Chrome] WebSocket connected, sending connect message
[Claude in Chrome] Bridge error: Invalid OAuth token
[Claude in Chrome] Bridge connection closed (code: 1008, duration: 0ms)
Close code 1008 = policy violation, indicating the server is actively
rejecting the token rather than the token being malformed.
═══════════════════════════════════════════════════
SYMPTOMS
═══════════════════════════════════════════════════
"Claude in Chrome is not connected"
(side panel chat with Sonnet 4.6 controls the browser correctly)
only the Claude in Chrome bridge path is broken
Chrome extension
═══════════════════════════════════════════════════
LOCAL FIXES ATTEMPTED (none resolved the issue)
═══════════════════════════════════════════════════
(cookies, IndexedDB, Service Worker for claude.ai and claudeusercontent.com),
re-logged in
from 2026-04-10) and all "Claude Code-credentials-*" keychain entries
"com.anthropic.claude_browser_extension" (Desktop) and
"com.anthropic.claude_code_browser_extension" (Code) host names
The bridge URL session ID and the rejection error remain identical across
all of the above. The new OAuth token issued by fresh login is rejected
just like the old one — pointing to server-side state, not local state.
═══════════════════════════════════════════════════
WHAT I NEED
═══════════════════════════════════════════════════
Please reset / re-provision the Claude in Chrome bridge auth binding for my
account on the server side. I suspect the bridge has cached invalid
authorization metadata for celina@thetawave.ai that no client-side action
can clear.
I am happy to provide additional logs, run any diagnostic commands, or
get on a call.
Thanks,
Celina
Same issue here on macOS. Fresh install of Claude Desktop today, fresh Chrome profile, the Claude in Chrome extension is paired and working in the Chrome sidebar (it can navigate and browse fine), but Cowork mode keeps returning "Claude in Chrome is not connected" every time I try to use a browser tool there.
Started failing on April 27, 2026. It was working the night before with no settings changed.
Things I tried that did not fix it: full reset and reinstall of Claude Desktop, full reset of Chrome, reinstalling the extension, creating a new Chrome profile, rebooting the Mac, verifying all toggles in Capabilities and Connectors are enabled.
Confirming this is reproducible and currently affecting my workflow.
@Celinaguo11 @jaliliitdpt-rgb
Could you perform the following, find the Claude extension in the list of your Chrome extensions, right click on the triple dot and select "Manage Extension". Click on "service_worker.html", that should bring up a DevTools window. Select the Network tab.
In Chrome, go to the following URL: https://clau.de/chrome/reconnect
that will force bridge to reconnect, you should see some activity there including a connection to a long UUID. Click on that, then select the Messages tab (next to Headers), you should ideally see some messages like "ping", "pong", every few seconds. The very first message in the list should appear to be a successful connection message. On the headers tab you should see the URL go to wss://bridge.claudeusercontent.com/chrome/<uuid>, note the uuid (not necessary to post this).
In the DevTools Console from the service_worker.html, run the following:
If you are seeing authentication issues with the bridge, please try the following:
open the sidepanel (click on the extension to open this). Click on the triple dot in the upper right, go to Settings -> Log Out, then log back in.
Could you also sign out and sign back in within the Desktop app as well?
[Claude in Chrome] Bridge error: OAuth token forbidden (403) — missing
scope or org access
[Claude in Chrome] Bridge connection closed (code: 1008, duration: 0ms)
On Tue, Apr 28, 2026 at 9:04 PM ekolve-ant @.***> wrote:
--
Jalili Real Estate LLC
IT. Department
Office: 1701-1702
The Tower Plaza Hotel (Office Building)
Bug Description
After Claude in Chrome updated to v1.0.69 on April 28, 2026,
the Chrome MCP connection in Cowork immediately drops every time
it connects. The native host starts successfully, but Chrome
disconnects within seconds (EOF received), causing Cowork to
show "Claude in Chrome is not connected."
Environment
Timeline
Log Evidence (chrome-native-host.log)
The log shows the native host starts and creates the pipe
successfully, but Chrome immediately disconnects:
[2026-04-28 10:33:30] Chrome disconnected (EOF received)
[2026-04-28 10:33:31] Chrome native host starting → pipe created → listening
[2026-04-28 10:52:46] Chrome disconnected (EOF received)
[2026-04-28 10:52:55] Chrome native host starting → pipe created → listening
[2026-04-28 11:12:17] Chrome disconnected (EOF received)
[2026-04-28 11:14:26] Chrome disconnected (EOF received)
(Full log attached)
Impact
High — Chrome MCP is completely non-functional.
All browser automation tasks in Cowork are blocked.
Steps to Reproduce
chrome-native-host.log
+1 — confirmed on macOS 14, Claude Max, single account, single Chrome instance.
Adding asymmetric evidence: in my Cowork session, Claude in Chrome MCP is fully dead while Control Chrome MCP still works. This issue title may be capturing two different breakage modes that need separating.
Symptom A — Claude in Chrome MCP (DEAD in Cowork)
mcp__Claude_in_Chrome__*tools load via ToolSearch. Every call returns instantly:list_connected_browsers → "Claude in Chrome is not connected"
tabs_context_mcp(createIfEmpty=true) → "Claude in Chrome is not connected"
switch_browser → "Claude in Chrome is not connected"
(instant return — no broadcast, no 2-min wait)
switch_browserreturning instantly without broadcasting is the tell — there's no listening peer for the MCP server to reach.Tried, no effect:
Symptom B — Control Chrome MCP (ALIVE in Cowork, in my setup)
Same Cowork session, same Chrome, same moment:
mcp__Control_Chrome__list_tabs() → returned my open tabs cleanly, full URLs + titles
This contradicts the title of this issue. Either:
Useful context either way. Control Chrome is a partial workaround for navigation but can't substitute for Claude in Chrome when you need realistic mouse + hover events (it's all JavaScript dispatch, no visible cursor).
Symptom C — Claude Code CLI fallback also blocked (NEW)
Per #38475's note that the env-var workaround fixes CLI sessions:
$ export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
$ claude # v2.1.123, Opus 4.7
> Bash: echo "ENV=$CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC"
ENV=1 # env var inherited
> Bash: claude mcp list 2>&1 | head -50
# 20 servers (Composio, Gmail, Drive, Calendar, claude-peers,
# claude-mem, stitch, plus claude.ai integrations).
# NONE are claude-in-chrome.
> ToolSearch: query="claude-in-chrome"
→ No matching deferred tools found.
> grep -r claude-in-chrome ~/.claude/
# Hits only in old session history and doc references.
# No active server config.
So
claude-in-chromeis not registered as an MCP server out-of-the-box in Claude Code CLI v2.1.123. The env-var workaround in #38475 presupposes the server is configured but blocked from connecting. On a fresh Mac it isn't.Net effect
No documented path from a clean install to a working Claude-in-Chrome MCP session for screen-recording-grade browser automation:
Asks
claude-in-chromepre-registered in Claude Code, or document theclaude mcp addcommand/URL that adds it.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1(or whatever the underlying fix is) into the child Claude Code process. A user-facing toggle in Cowork → Settings → Connectors would be enough.Related: #38475, #44541.
+1, hitting this exact regression on macOS Cowork.
Environment:
Symptom: every browser tool call from Cowork returns "Claude in Chrome is not connected. The Chrome extension isn't reachable right now." Worked fine as recently as Sunday April 26, broke since.
Tried (none resolved): Chrome restart, Cowork restart, laptop restart, extension uninstall + reinstall, connector toggle off/on with 60 second wait, fresh Cowork conversation, account match verification.
Notable: ~/Library/Logs/Claude/mcp*.log shows no Chrome-related entries from the failed connection attempts. Suggests the MCP isn't even initiating a handshake from Cowork's side, matching the "stale server-side bridge state" hypothesis in the original report.
Impact: blocks all browser-driven workflows. Falling back to manual screenshots is costing several hours a day.
Requesting either a server-side bridge reset for affected accounts or an ETA on the fix.
Adding a Windows data point. Same symptom as the original report: extension installed, signed in, visible in Chrome, but Cowork's Browser Use panel shows "No browsers connected" and Recheck does nothing.
Environment
OS: Windows 11 Pro 25H2, build 26200.8246
Device: Lenovo ThinkPad X1 Carbon Gen 11, i7-1365U, 32GB RAM
Claude Desktop: Microsoft Store build (package family Claude_pzs8sxrjxfjjc)
Chrome: latest (just updated)
Extension ID: fcoeoabgfenejglbffodgkkbkcdhcgfn (Chrome Web Store)
Plan: Max
Client side verified clean
Native messaging manifest registered at HKCU\Software\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_browser_extension
Manifest points to existing chrome-native-host.exe at the expected LocalCache\Roaming\Claude\ChromeNativeHost\ path
Installed extension ID matches one of the three allowed_origins in the manifest
Single machine, single extension install, no Chrome Canary or other Chromium variants
Supported 4.5 model selected, per-conversation connector toggle enabled
Restart sequence performed: Claude Desktop fully exited from system tray, confirmed killed in Task Manager, Chrome fully closed, Desktop relaunched first then Chrome
Cycled sign-in methods (Google then email magic link) across Desktop, extension, and claude.ai
Cleared cache, uninstalled and reinstalled both Desktop and extension
Behaviour
Settings > Browser Use > Connected browsers shows "No browsers connected". Recheck has no effect. Two support tickets via in-app chat help submitted weeks apart, no response on either.
This matches the symptom and elimination pattern in #44541 and #36626, which suggests the bridge OAuth verification failing for this account regardless of platform. Happy to provide logs from %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\ if useful.
If you are using Claude Code cli, could you run
/loginthat should retrieve a fresh token with the correct scope.I believe this advice is specifically for Claude Code CLI users — running /login in the terminal to refresh their token. However, I'm using Cowork mode (the desktop app), which has a different authentication flow than the CLI.
Same issue, this needs fixing, ffs
Same issue here too. Cant retrograde, the versions on uptodown are not compatible with cowork...
Potential root cause: Third-party antivirus Web Shield blocking the connection
Found a fix that may help others. In my case the issue wasn't a Cowork software bug — it was AVG AntiVirus Web Shield intercepting and blocking the connection between the Chrome extension and Cowork.
How to diagnose:
netstat -ano | findstr LISTENin PowerShell and cross-reference with Claude process IDs usingGet-Process | Where-Object {$_.Name -like "*claude*"}Fix:
Add exceptions in your antivirus web shield for:
claude.aianthropic.comAfter adding those exceptions and re-enabling Web Shield, the connection was restored immediately. It's worth checking if you're running AVG, Kaspersky, Norton, Bitdefender or any AV with web traffic inspection before assuming it's a Cowork regression.
Off the back of @RichardQslice suggestion i ran some experiments with Norton AV and have concluded similar.
The HTTPS scanning feature is blocking the connection.
I had hit this problem when i was trying to the google-analytics-mcp.
I believe this is related to the upgrade in python (3.13+) where the flag
VERIFY_X509_STRICT, which requires CA certificates to have their Basic Constraints extension marked as critical is the root cause, due to AV platforms Certs as part of HTTPS scanning don't meet that requirement and silently fails.At present i turned HTTPS scanning off, not sure what the perm solution is.
same problem, how can i fix iti?
hello, in working with claude in windows and i cannot do cowork with chrome. How can i fix it? Is there somehow?
I can confirm that Norton's Web Shield / HTTPS Scanning is the root cause of the "Claude in Chrome is not connected" error in Cowork mode.
Disabling Web Shield immediately restored the connection between Cowork and the Chrome extension. No other changes needed.
This aligns with the technical explanation already posted here: Python 3.13+'s VERIFY_X509_STRICT flag rejects Norton's HTTPS scanning certificates because they don't have the Basic Constraints extension marked as critical, causing a silent connection failure.
Workaround: Disable HTTPS Scanning in Norton temporarily to confirm this is your issue. For a more targeted fix, try adding api.anthropic.com and claude.ai as URL exceptions in Norton's Safe Web settings, or add Claude Desktop as a trusted application under Firewall → Program Rules.
Hope this helps other Norton users hitting the same wall.
Confirming the Norton HTTPS scanning workaround on Windows 11.
Setup: Windows 11 corporate, Claude Desktop (MSIX install),
Chrome extension v1.0.70, Norton Small Business with default
web protection enabled.
Fix that worked: in Norton → Paramètres → Navigation web
sécurisée → Exclusions, added these 4 domains (both HTTP and
HTTPS variants auto-created by Norton):
Connection restored immediately after closing/reopening Chrome
and Cowork. mcp__Claude_in_Chrome__list_connected_browsers now
returns a valid Browser entry where it returned "not connected"
permanently before.
Confirms @Gavin-Attard-120feet's diagnosis: Norton's HTTPS
scanning silently breaks the WebSocket bridge handshake. Worth
adding to official troubleshooting docs.
Update (May 2026) — Issue persists for some; my own update went clean
After investigating ~20 related threads, sharing findings for others hitting this.
The error message "Claude in Chrome is not connected" covers at least 6 distinct failure modes:
1. Native messaging path stale after Desktop update (macOS)
The manifest at
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.jsoncan point to a non-existent binary after an update. Check that thepathfield still resolves to a real file.2. OAuth token rejection at the WebSocket bridge
wss://bridge.claudeusercontent.comreturns code 1008 ("Invalid token or user mismatch") or 403 ("missing scope"). Server-side issue — no reliable client-side fix. Visiting https://clau.de/chrome/reconnect and re-pairing sometimes resolves it.3. API key mode silently blocking Chrome
If you authenticated via API key instead of a subscription login, Chrome integration won't work. Fix: sign out, go to
/login, and choose the subscription option.4. Chrome 147+ service worker not auto-initialising
Click the extension icon manually before starting a Cowork session to wake the service worker.
5. Antivirus HTTPS scanning (Windows)
Multiple Windows users confirmed that third-party AV intercepting HTTPS traffic breaks the bridge TLS handshake. Disabling HTTPS scanning resolved it for them.
6. VM-to-host bridge broken (Windows / Cowork)
Unix socket inside the Cowork VM not being created on session start.
---
My outcome: Updated from
1.1.8629→1.7196.1on macOS with extension v1.0.70. Connection survived the update intact — Chrome returned live tabs immediately post-update. The NativeMessagingHosts manifest was unchanged by both the Chrome and Claude Desktop updates.Hi All
5 worked for me and I posted my solution on github
Regards
Mehdi
Envoyé à partir de Outlook pour iOS<https://aka.ms/o0ukef>
________________________________
De : Julian M. @.*>
Envoyé : Sunday, May 17, 2026 6:43:02 PM
À : anthropics/claude-code @.*>
Cc : Mehdi BEN DALY @.>; Comment @.>
Objet : Re: [anthropics/claude-code] [BUG] Claude in Chrome + Control Chrome Failures in Cowork Mode (Issue #48806)
Attention CBA Expert e-mail users: This email originated from outside of CBA Expert and most likely was not sent by a CBA Expert employee or officer. Please be extra vigilant when opening attachments, clicking links or acting on any instructions contained in this email. Please report any concerns immediately to your Manager.
[https://avatars.githubusercontent.com/u/13994516?s=20&v=4]julian-molina left a comment (anthropics/claude-code#48806)<https://github.com/anthropics/claude-code/issues/48806#issuecomment-4471876400>
Update (May 2026) — Issue persists for some; my own update went clean
After investigating ~20 related threads, sharing findings for others hitting this.
The error message "Claude in Chrome is not connected" covers at least 6 distinct failure modes:
The manifest at ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json can point to a non-existent binary after an update. Check that the path field still resolves to a real file.
wss://bridge.claudeusercontent.com returns code 1008 ("Invalid token or user mismatch") or 403 ("missing scope"). Server-side issue — no reliable client-side fix. Visiting https://clau.de/chrome/reconnect and re-pairing sometimes resolves it.
If you authenticated via API key instead of a subscription login, Chrome integration won't work. Fix: sign out, go to /login, and choose the subscription option.
Click the extension icon manually before starting a Cowork session to wake the service worker.
Multiple Windows users confirmed that third-party AV intercepting HTTPS traffic breaks the bridge TLS handshake. Disabling HTTPS scanning resolved it for them.
Unix socket inside the Cowork VM not being created on session start.
________________________________
My outcome: Updated from 1.1.8629 → 1.7196.1 on macOS with extension v1.0.70. Connection survived the update intact — Chrome returned live tabs immediately post-update. The NativeMessagingHosts manifest was unchanged by both the Chrome and Claude Desktop updates.
—
Reply to this email directly, view it on GitHub<https://github.com/anthropics/claude-code/issues/48806#issuecomment-4471876400>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/CCJGPVTBZHTOSCNVRGPASDL43H22NAVCNFSM6AAAAACX2ZH4KSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DINZRHA3TMNBQGA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID: @.***>
Closing for now — inactive for too long. Please open a new issue if this is still relevant.