[BUG] Cowork tab overwrites entire claude_desktop_config.json instead of merging, breaking MCP server configurations

Resolved 💬 3 comments Opened May 5, 2026 by Phill-IP Closed Jun 18, 2026

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?

On Windows (MSIX install of Claude Desktop), opening the Cowork tab overwrites the entire claude_desktop_config.json with only a preferences block. Any user-configured mcpServers entries — for example, the Docker MCP Toolkit MCP_DOCKER server with its required Windows env variables (ProgramData, LOCALAPPDATA, APPDATA, USERPROFILE, SystemRoot) — are deleted on every Cowork tab open. This makes Cowork incompatible with any user-maintained MCP server configuration unless an external workaround is in place.
The issue compounds with an existing MSIX path-isolation problem: external tools like Docker MCP Toolkit look at %APPDATA%\Claude\claude_desktop_config.json, but the actual file lives in %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\ due to Windows VFS redirection. Users have to set up symlinks/junctions to bridge these two paths, and the Cowork overwrite then destroys those carefully maintained configs every time the tab is opened.

What Should Happen?

Cowork should perform a partial update (merge) of claude_desktop_config.json, preserving mcpServers and any other top-level keys not owned by Cowork itself.
Actual behavior: The entire file is replaced with { "preferences": { ... } }.
Workaround currently in use:

Real config maintained at %APPDATA%\Claude\claude_desktop_config.json
File-level symlink from sandbox path → real path, so Cowork's overwrite hits the real file
Real file restored manually after each overwrite (fragile, unsustainable)

Suggested fixes:

Cowork should merge into the existing config rather than replace it.
Document or solve the MSIX sandbox path issue for MCP integrations on Windows — either write config to a non-sandboxed location, or document the actual sandbox path so tools like Docker MCP Toolkit can find it without manual symlinks.

Error Messages/Logs

Steps to Reproduce

Install Claude Desktop on Windows via the MSIX installer from claude.ai/download.
Manually populate claude_desktop_config.json (in either the sandbox path or via symlink at %APPDATA%\Claude\) with a valid Docker MCP Toolkit config:

json {
"mcpServers": {
"MCP_DOCKER": {
"command": "C:\\Program Files\\Docker\\cli-plugins\\docker-mcp.exe",
"args": ["gateway", "run"],
"env": {
"ProgramData": "C:\\ProgramData",
"LOCALAPPDATA": "C:\\Users\\USERNAME\\AppData\\Local",
"APPDATA": "C:\\Users\\USERNAME\\AppData\\Roaming",
"USERPROFILE": "C:\\Users\\USERNAME",
"SystemRoot": "C:\\Windows"
}
}
}
}

Restart Claude Desktop and confirm the MCP server loads correctly.
Open the Cowork tab.
Inspect claude_desktop_config.json — mcpServers is gone; only a preferences block remains.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.116

Platform

Other

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

Environment

Platform: Claude Desktop (Windows MSIX)
OS: Windows 11
Claude Desktop Version: Claude 1.5354.0 (9a9e3d) 2026-04-29T01:14:34.000Z
Subscription: Pro
Related context: Docker Desktop with MCP Toolkit enabled

Related Issues

#51143 — Persistent blank/white screen on Windows
#28353 — Permanent launch failure after blank screen crash
#49551 — Claude Desktop blank, requires Task Manager
#54011 — Cowork sandbox issues
docker/mcp-gateway#424 — Windows env var requirements for Docker MCP Toolkit

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗