claude-code - 💡(How to fix) Fix [BUG] Account connector sync overwrites claude_desktop_config.json, wiping manually-added MCP servers and re-adding removed ones

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Error Messages/Logs

(no in-app error; observed by the mcpServers block repeatedly reverting to the account-managed set)

Fix Action

Fix / Workaround

The only reliable workaround I found was making the file immutable (chflags uchg), after which the sync's write fails with EPERM and the local file stays correct — but that also blocks the app from making any legitimate updates to the file.

Code Example

(no in-app error; observed by the mcpServers block repeatedly reverting to the account-managed set)
RAW_BUFFERClick to expand / collapse

What's Wrong?

On macOS Claude Desktop with account-synced MCP connectors enabled (the tengu_claudeai_mcp_connectors flag is true), the app periodically rewrites the entire mcpServers block in ~/Library/Application Support/Claude/claude_desktop_config.json to match the account's connector set. As a result it:

  • Silently deletes stdio MCP servers that were added by hand to that file.
  • Re-adds a connector entry that the user had removed (it reappears on the next sync).

This happens both on a short timescale (within minutes, with no restart) and across app restarts. The same file also stores local-only preferences (preferences.epitaxyPrefs, e.g. sidebar/session groupings), so a full-block rewrite also risks clobbering unrelated local state.

The only reliable workaround I found was making the file immutable (chflags uchg), after which the sync's write fails with EPERM and the local file stays correct — but that also blocks the app from making any legitimate updates to the file.

What Should Happen?

Manually-added stdio MCP servers in claude_desktop_config.json should be preserved across connector syncs (merge rather than overwrite), and a connector the user removed should not be re-added. Account-synced connectors and user-managed local config/preferences should not overwrite each other.

Error Messages/Logs

(no in-app error; observed by the mcpServers block repeatedly reverting to the account-managed set)

Steps to Reproduce

  1. macOS Claude Desktop with account MCP connectors enabled.
  2. Open ~/Library/Application Support/Claude/claude_desktop_config.json and, under mcpServers, add a custom stdio server (e.g. an npx mcp-remote … bridge) and delete an existing connector's entry. Save.
  3. Wait a few minutes, or quit and reopen the app.
  4. Observe that mcpServers has been rewritten back to the account's connector set: the manually-added server is gone and the removed entry has returned.

Regression?

I don't know

Claude Code Version

~2.1.156 (Claude Desktop, integrated Claude Code)

Platform

Anthropic API

Operating System

macOS (Apple Silicon)

Terminal/Shell

Other (Claude Desktop integrated environment)

Additional Information

Likely related to the closed issue anthropics/claude-ai-mcp#73 ("No way to remove custom MCP connectors from claude.ai UI") — an un-removable connector is what keeps getting re-synced into the local file. Co-locating account-synced connectors and local epitaxyPrefs in the same file makes the overwrite higher-impact.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Account connector sync overwrites claude_desktop_config.json, wiping manually-added MCP servers and re-adding removed ones