Cowork persists full remoteMcpServersConfig (~7.5 MB) into every session record; store grows to 6.6 GB and Claude Desktop fails to launch
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?
Claude Desktop embeds a complete serialized copy of the remote MCP server configuration (remoteMcpServersConfig) inside every Cowork session record (local_*.json), including sessions created by scheduled-task runs that live only a few seconds. With a large connector stack each record is about 7.5 MB on disk, and remoteMcpServersConfig is over 90% of the file. The session store grows unbounded (roughly 50 MB/day from scheduled tasks alone) until the app can no longer launch.
Observed: 877 local_*.json records totaling 6,616 MB (average ~7.5 MB each). One representative record (8,064,359 chars) broke down by serialized key size as:
- remoteMcpServersConfig: 3,006 KB
- systemPrompt: 61 KB
- memoryGuidelinesTemplate: 14 KB
- systemPromptRendererAppends: 13 KB
- enabledMcpTools: 10 KB
- initialMessage: 3 KB
That record was a 3-second scheduled-task run ("daily-meeting-alarms") yet still persisted an ~8 MB config snapshot.
Note: this is the Cowork feature inside Claude Desktop on Windows (MSIX install), not the Claude Code CLI. Filing here as the Anthropic bug tracker since there is no separate Cowork/desktop template.
What Should Happen?
Store the MCP server configuration once and reference it from sessions, or at minimum deduplicate or compress it per record. Short-lived scheduled-task sessions should not persist a multi-MB config snapshot. At launch the app should tolerate a large session store by lazy-loading rather than hydrating the entire store on the main process.
Error Messages/Logs
From main.log at launch:
[event-loop-stall] main process blocked for 38488ms ... rss 4139MB
Loaded 877 persisted sessions from ...
The window appears, runs briefly, then the process dies before becoming usable.
Steps to Reproduce
- Connect a large set of MCP servers (notably a Zapier aggregator exposing 300+ actions, plus Microsoft 365, QuickBooks, HubSpot, Canva, Gamma, Apollo, Firecrawl).
- Create several daily Cowork scheduled tasks (each run creates a new session record).
- Let it run for 2 to 3 weeks.
- Observe
local_*.jsonrecords at ~7.5 MB each, store growth near 50 MB/day, and eventual launch failure.
Session store path:%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\local-agent-mode-sessions\<account>\<org>\
Workaround: with the app closed, move local_*.json records older than N days out of the session folder. Projects, scheduled tasks, and artifacts are unaffected; the app launches normally afterward. This must be repeated roughly monthly.
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
Claude Desktop 1.10628.0.0 (MSIX install). Not the Claude Code CLI; this is the Cowork feature in Claude Desktop.
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Impact: for any user with a large connector stack plus scheduled tasks this is effectively a slow-motion denial of service against the app. The store grows with no user action and ends in a hard launch failure. Disk cost compounds at tens of MB per day from scheduled-task runs alone, with no automatic cleanup.
Full-store rollup by extension at the time of failure: .json 5,134 files / 6,649.7 MB; .jsonl 1,762 files / 595.7 MB; everything else combined under 300 MB.
This was filed against the Claude Code bug template because there is no separate template for the Cowork desktop feature. The Version, Platform, and Terminal fields below are CLI-oriented and do not map cleanly to the desktop app; values given are the closest fit.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗