[BUG] Cowork on macOS 1.8555.2 — zero MCP tools bind in any install path (.mcpb + SDK bridge + Custom Connectors + project .mcp.json); spawn pipeline missing --mcp-config since 2026-05-23 auto-update
Preflight Checklist
- [x] Searched existing issues (related: #26259 closed inactive, #27492 still open)
- [x] Single bug report
- [x] Using the latest version (1.8555.2)
What's Wrong?
After auto-update to Claude Desktop 1.8555.2 (signed 2026-05-23 01:13:36 CET),
Cowork sessions on macOS have zero MCP tools bound — affects every install
vector simultaneously:
.mcpbDesktop Extensions (Filesystem, Apple Notes, pdf-viewer, Control your
Mac, Chrome Control, plus two third-party Empirica extensions)
claude_desktop_config.jsonmcpServers SDK bridge- Custom Connectors registered via Settings → Connectors
- Project-local
.mcp.jsonmcpServers (e.g.npx mcp-remote https://cortex.getempirica.com/sse …)
This is broader than the .mcpb-only pattern in #20377/#26259 — all four install
paths for MCPs fail to bind in Cowork after the 1.8555.2 update. Chat tab is
unaffected; the same MCPs initialize cleanly there.
Root cause evidence (from a live affected install)
The Cowork VM spawner is producing zero --mcp-config / --allowedTools args:
$ grep -E "mcp-config|allowedTools|mcpServers" ~/Library/Logs/Claude/cowork_vm_node.log
# (no output — 500+ vmOneShot spawn events, zero matches)
$ grep -E "mcp-config|allowedTools|mcpServers" ~/Library/Logs/Claude/cowork_vm_swift.log
# (no output)
$ grep -E "mcp-config|allowedTools|mcpServers" ~/Library/Logs/Claude/coworkd.log
# (no output)
Inside-VM .claude.json (the Claude Code CLI config in the spawned session) is
correspondingly empty of mcpServers:
$ grep mcpServers \
~/Library/Application\ Support/Claude/local-agent-mode-sessions/<sessionId>/<orgId>/local_*/.claude/.claude.json
# (no matches)
No .mcp.json is being written into the session dirs either. The VM itself
boots and runs bash commands fine — the breakage is exclusively in
spawn-config generation, not VM lifecycle.
Ruling out customer-side causes
| Check | Result |
|---|---|
| Org-level Organization allowlist enabled | false (no restrictions) |
| can_install API per-extension response | All 7 extensions returned canInstall: true |
| Global claude_desktop_config.json::mcpServers | empty {} (no conflict from multi-registration) |
| .mcpb extensions on disk (Claude Extensions/) | All 7 installed correctly |
| Chat-tab MCP lifecycle (mcp.log) | Healthy — initialize + tools/list succeed for all 7, normal port-release teardown |
| MDM keys (isLocalDevMcpEnabled, isDesktopExtensionEnabled) | Default true |
| Sole [error] in main.log since update | One write EPIPE (transient VM channel drop) — unrelated |
Timing match
User reports "everything worked great until last week, then all connectors
stopped suddenly." The Claude.app binary on disk showsTimestamp=23.05.2026 at 01:13:36 (codesign). The last working entries in~/Library/Logs/Claude/mcp-server-cortex.log (a project-localnpx mcp-remote MCP pointed at https://cortex.getempirica.com/sse) are from
2026-04-27. Symptom onset matches the auto-update window exactly.
Also notable: [updater] Using GrowthBook check_interval_ticks=1 (default 4) —
the updater is being forced to check 4× more frequently than baseline, which
suggests a staged rollout / hotfix in flight. Hasn't landed yet on this install
as of 2026-05-24.
Steps to reproduce (likely; user side can't repro post-downgrade
because there's no public DMG for an older version)
- Auto-update Claude Desktop on macOS to 1.8555.2 (signed 2026-05-23)
- Open a Cowork session with at least one
.mcpbextension or project-local
.mcp.json mcpServers entry
- Ask the agent to list available tools → none of the MCP tools appear
- Compare
cowork_vm_node.logbefore/after the update — pre-update spawns
should contain --mcp-config, post-update spawns do not
Environment
- Claude Desktop: 1.8555.2 (signed 2026-05-23 01:13:36 CET)
- macOS: 15.1.1 (24B91), Apple Silicon
- Plan: Team
- Extensions installed: Filesystem, Apple Notes, pdf-viewer, Control your
Mac, Chrome Control, Empirica (local writer), Empirica Cortex
- Active in affected sessions: project-local
.mcp.jsonwith
npx mcp-remote https://cortex.getempirica.com/sse + a .claude-plugin/
with sub-agents
Suggested area to look at
coworkd / cowork_vm_node spawn-config generation — specifically the path
that should serialize installed-and-enabled MCP servers (whether .mcpb,mcpServers SDK bridge, Custom Connectors, or project-local .mcp.json) into
the --mcp-config arg passed to the in-VM Claude Code SDK. Looks like that
serializer is returning empty / null on every spawn in 1.8555.2.
Last Working Version
Pre-1.8555.0 (May 22 release). Specifically confirmed working: 1.3883.0
(user has a Time Machine snapshot from 2026-04-26 with this version active,
and Cowork MCPs were working at that point). Versions in between (1.4x–1.7x)
likely also work since the public Desktop changelog ends at 1.7196.0 (May 12)
with no MCP-spawn changes noted.
Is this a regression?
Yes — between the last documented Desktop version 1.7196.0 (May 12) and the
current undocumented 1.8555.x (May 22–23).
Diagnostic bundle
Happy to share a redacted version of the snapshot tarball (sanitized of
session content, account UUIDs, and tokens) directly to an Anthropic engineer
if it accelerates triage. Reach me via the contact email on this GitHub
account.
18 Comments
Found 2 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
This is not a duplicate of #26259 or #36405 — the symptom shape is materially different. Tagging @bot to prevent auto-close.
The duplicates suggested describe an intermittent race:
--mcp-configfor some spawns, missing for others. ~50/50 across consecutive sessions. Partial loss, varies per spawn.This issue is the opposite — deterministic total loss since a specific build:
cowork_vm_node.log,cowork_vm_swift.log, andcoworkd.logsince the 1.8555.2 update on 2026-05-23--mcp-config,--allowedTools, ormcpServersreferences in any of them.mcp.json) fail simultaneously.claude.jsonis also empty ofmcpServers— the wiring isn't being written anywhere downstream of the spawn eithermcp.logshows all 7 .mcpb extensions doing healthyinitialize+tools/listexchanges on every app launch)The intermittent race in the older issues would have some extensions getting through. This regression has none — across hundreds of spawn attempts over 24+ hours. Different bug, almost certainly different root cause in the spawn-config serializer.
Also worth noting: both candidate duplicates (#26259, #36405) are closed and locked, with #26259 closed-for-inactivity rather than fixed. If this gets auto-closed as a duplicate of those, there's no live thread to track the (different + much worse) 1.8555.2 regression.
Please keep this open. Happy to provide a redacted snapshot bundle to an engineer for triage if useful — full evidence chain is in the issue body above.
Update — workaround validated empirically, regression boundary confirmed
Following up after running the same-machine, same-config A/B comparison to nail down whether 1.8555.2 is genuinely the regression point.
Method
/Applications/Claude.appfrom a Time Machine local snapshot dated 2026-04-26 (version 1.3883.0, codesigned 2026-04-21)defaults write com.anthropic.claudefordesktop disableAutoUpdates -bool trueto prevent auto-upgrade back to 1.8555.2.mcpbextensions, same project files, same connectors, same account)Result — sharp differential
| MCP install path | In 1.8555.2 (broken) | In 1.3883.0 (restored) |
|---|---|---|
|
.mcpbDesktop Extensions → Cowork | ❌ Zero bind across 500+ spawns | ✅ All 7 extensions bind cleanly,mcp.logshows healthyinitialize+tools/listfor every server || Global
claude_desktop_config.json::mcpServersSDK bridge → Cowork | ❌ Same — not bridged | ✅ Wired in. Older app's hardcoded PATH search list auto-resolvesnpxvia~/.nvm/versions/node/*/bin+/opt/homebrew/bin+/usr/local/bin+~/.local/bin|| Project-local
.mcp.json::mcpServers→ Cowork | ❌ Not bridged | ⚠️ Also not bridged — separate / older limitation (workaround: lift entry up into globalclaude_desktop_config.json) || Chat tab (any install path) | ✅ Works | ✅ Works |
~/Library/Logs/Claude/mcp-server-cortex.loghad last activity on 2026-04-27 before going silent. After the downgrade + global-mcpServers patch on 2026-05-25, it wrote fresh entries within seconds of the first Cowork tool call. Same backend, same auth, same config — only Claude.app version differs. This is the regression isolated.End-to-end verification post-fix
Three test calls inside a Cowork session under 1.3883.0, all returned real data:
cortex_session_init(no params) → returned user, org, projects[], skills[], voice_profile — full envelopecortex_finding_log→ok:true, persisted:1(with one separate fallback-bug discovery, internal follow-up)Customer-side workaround (for other affected users reading this)
If you have a pre-2026-05-22 Time Machine snapshot containing
/Applications/Claude.app:Caveats:
Why we're confident this is a regression in 1.8555.2 specifically
mcp-server-cortex.loggoing silent 2026-04-27 and resuming 2026-05-25 maps to that boundaryHappy to share the redacted snapshot bundle to an Anthropic engineer if it accelerates the fix.
Fleet evidence — three independent machines confirm regression boundary
Since the last comment, ran the same A/B test on two additional machines. Same single-variable change (Claude Desktop binary version), same behavior flip across two operating systems and two architectures:
| # | Machine | OS | Arch | Broken on | Restored to | Outcome |
|---|---|---|---|---|---|---|
| 1 | Apple Silicon MacBook Pro | macOS 15.1.1 | arm64 (M2) | 1.8555.2 | 1.3883.0 (via TM local snapshot) | ✅ Cowork MCP wiring restored |
| 2 | ThinkPad X1 Yoga | Ubuntu 25.10 | x86_64 | 1.8555.2-2.0.12 (community port via aaddrick/claude-desktop-debian) | 1.7196.3-2.0.12 (older .deb from GitHub releases,
apt-mark holdto prevent re-upgrade) | ✅ Cowork MCP wiring restored || 3 | Intel MacBook Pro | macOS 15.7.7 | x86_64 (Core i9) | 1.8555.2 | 1.3883.0 (cross-Mac tar over tailnet from machine #1) | ✅ Cowork MCP wiring restored |
All three: same
.mcpbextensions registered, sameclaude_desktop_config.json::mcpServersSDK-bridge config (cortex vianpx mcp-remote), samemcp.loghealth pattern post-downgrade. All three sawmcp-server-cortex.logresume writing within seconds of first tool call after restore.This isn't a Mac-only or arm64-only quirk. The regression is in the shared Electron app code that ships across all three platforms via the same version stream.
Three install vectors confirmed broken in 1.8555.x simultaneously across all three boxes, restored simultaneously on downgrade:
.mcpbDesktop Extensions → Coworkclaude_desktop_config.json::mcpServersSDK bridge → Cowork.mcp.json::mcpServers→ Cowork (this one was already broken in 1.3883.0 too, mitigated by lifting the entry up into the global config)Sibling regression also worth Anthropic's attention: #61563 (1.8555 — 403 expired token on Cowork auth) — different surface symptom (auth) but same version stream, suggests this version introduced multiple Cowork-side regressions.
Asking for an engineering response on this thread rather than a triage label. Customer-side workarounds are in place across our fleet, but new affected installs are happening every day as users auto-update.
Confirming this on macOS, currently on Claude 1.9255.2 (1dc8f7) built 2026-05-27T01:57:20Z — so this regression is still present on builds shipped after 1.8555.2.
Same fingerprint: zero MCP tools bind in Cowork sessions. Only file tools (Read, Write, Grep, Glob) and the Skill invoker are available. Chrome MCP, computer-use, workspace bash, web_fetch, WebSearch, scheduled tasks, MCP registry search all fail to register. ToolSearch returns nothing for any of these. Connectors panel shows everything as Connected. Chat tab is unaffected — same MCPs work fine there.
Symptom onset matches the May 22 update window for me. Reproduced across three models (Opus 4.7, Sonnet, Opus 4.6) — model choice has no effect, consistent with the root cause being in spawn-config generation rather than the model.
Additional symptom worth flagging: with only file tools + the Skill invoker available, the Skill tool itself misfires. On asking Cowork to fetch a URL, the Skill tool repeatedly auto-triggered a bootstrap skill (setup-cowork in one session, init in another) regardless of the request — looping ~12 times in one case. The model narrated awareness of the loop ("the Skill tool is stuck returning setup-cowork") while continuing to invoke it, before giving up and confirming its only available tools were Read, Write, Grep, Glob, Skill. So the missing --mcp-config binding doesn't just remove the web/browser tools — it also leaves the model attempting to self-recover via bootstrap skills that can't succeed, since the underlying tool binding is what's broken. Loop behavior is non-deterministic (sometimes ~12 calls, sometimes a clean stop), which may point to a timing/race condition in spawn-config generation.
Already tried (no fix): fresh Cowork sessions, full app quit + relaunch, app update check, Settings → Connectors and Settings → Capabilities review, switching models.
Happy to share spawn logs from ~/Library/Logs/Claude/ if useful for confirming the --mcp-config serializer is still returning empty on 1.9255.2.
Cannot believe such a regression gets so little attention from Anthropic on a paid team plan...
This pretty much makes cowork unusable/pointless.
Follow-up: still broken on Claude 1.9659.2 (390d6c) built 2026-05-28T21:50:01Z — the May 28 build, two versions past the original 1.8555.2.
Build history on this account:
Symptom is also drifting in a way worth flagging. Earlier sessions had Claude visibly loop on bootstrap skills (setup-cowork, init) while narrating awareness of the loop. Today's session presented differently: Claude triggered the init skill once, then confidently pivoted to "I don't have access to a codebase folder" and asked which repo I wanted analyzed — when my actual request was to fetch a contractor's marketing website. Same root cause (no web/browser tools bound), but the failure mode is now masquerading as "wrong question from the user" rather than a visible loop. Easier to miss in QA, harder for end users to diagnose.
Seriously, do no Anthropic Engineers look at these regressions? They have actively crippled the entire product line. All I can say is wtf?
Maybe they should open source Cowork properly so the community can fix what they are actively selling. This is honestly ridiculous. One week has gone by and not a peep.
Update: reinstalling Claude Desktop cleared this on my end. Full app removal + deleting ~/Library/Application Support/Claude/, ~/Library/Caches/Claude/, ~/Library/Logs/Claude/, and ~/Library/Preferences/com.anthropic.claude.plist before a fresh download. Tools now bind correctly in Cowork sessions on build 1.9659.2 — web fetch and Ahrefs MCP both confirmed working. Suggests local state corruption from one of the May 22+ auto-updates rather than (or in addition to) the broken --mcp-config serializer in the build itself.
Similar to #62072 and #62556.
https://github.com/issues/created?issue=anthropics%7Cclaude-code%7C69345
Adding OAuth scope evidence not present in those issues.
Logs from ~/Library/Logs/Claude/main.log confirm
user:mcp_servers is never requested by Cowork sessions:
scope: 'user:inference user:file_upload user:profile'
This is consistent across every Cowork session on this
machine. Claude Code CLI on the same machine works correctly.
App version: 1.13576.4 (414f85) — 2026-06-18
Confirmed: downgrade to April 21 snapshot (equivalent to
~1.3883.0) restored full MCP functionality on macOS.
mcp__workspace__bash, Python, Node, and Pandoc all confirmed
working post-downgrade. All were non-functional on 1.13576.4.
Auto-updater disabled via:
defaults write com.anthropic.claudefordesktop disableAutoUpdates -bool true
Regression is confirmed in builds post-May 22 as described above
Quick question on this, are you saying even Oauth scoped remote MCP servers break with the latest versions of Cowork? I was hoping and building towards that as a workaround, but if you can confirm that won't help I'll rethink my strategy for this bug.
Yes, confirmed.
On 1.13576.4, all claude.ai-hosted MCP
connectors are broken in Cowork regardless of how they're
configured — the missing user:mcp_servers scope means the
gateway rejects every connector at the auth layer before
any tool registration happens.
The supergateway / streamable-http workaround (converting
local stdio MCPs to HTTP endpoints) does bypass this for
locally-hosted servers — but cloud-hosted connectors going
through claude.ai's MCP gateway are blocked at OAuth
regardless.
Downgrading to the April 21 build (~1.3883.0) fully
restored functionality on my machine — bash, web fetch,
Notion, and all connectors working again. Auto-updates
locked via chown root:wheel to prevent regression.
If you have a pre-May-22 Time Machine snapshot, that's
currently the only working user-side fix.
jeez, that last windows bug showing the same issue is now truly showing the regression is OS agnostic and affects full MCP breakage across the board, Anthropic needs to look into this, anyone here have a line to them? I have some of their contacts but not anyone that could act on this as such, seeing as I'm EU based.
I hit this bug 5 minutes after trying to use Cowork with MCPB extensions. I don't understand how Anthropic didn't do the same.
Update — appears resolved on
1.17377.1(macOS)Hit this exact symptom on macOS 15.7.7 / Claude Desktop
1.15962.2: a Cowork (local-agent-mode) session spawned an agent whose MCP set was built-ins only — user connectors (a seat plugin bundling remote MCP servers, plus a native Custom Connector) were absent, so the agent couldn't call them even though they worked fine in Chat.After (a) a clean profile reinstall (
~/Library/Application Support/Claude,Caches/Claude,Logs/Claudemoved aside) and (b) updating to1.17377.1, agent enumeration is restored:mcpServerStatus returned 49 servers (16 with tools)— now including the user connectors alongside built-ins (previously built-ins only).*_session_init+ record CRUD tools), verified inmain.log+ the session record.Caveat: we changed two variables at once (build and a clean profile), so we can't fully isolate which was load-bearing — but since the regression tracked auto-updates, the newer build appears to restore the spawn/enumeration pipeline. If you're stuck on an older build, a clean-profile reinstall + update to ≥
1.17377.1is worth trying. (macOS only — can't speak to the Windows report.)Update: the 1.17377.1+ fix did not work on my machine.
Updated to 1.20186.0 (latest as of July 10) and
mcp__workspace__bash was absent in both new and existing
Cowork sessions. Rolled back to the April 21 build
(~1.3883.0) via Time Machine and bash is restored.
I had already done multiple clean profile wipes before updating,
so the profile wipe was not the missing piece on my end.
The update alone did not restore MCP tool enumeration.
Still confirmed broken on 1.20186.0 (macOS 15, Apple
Silicon, Pro plan). The only working fix for my setup
remains the pre-May-22 build via Time Machine, locked
against auto-updates via root ownership of the app bundle.