Unify MCP configuration and separate from conversation history
Environment
- Platform (select one):
- Anthropic API
- Claude CLI version: 1.0.33 (Claude Code)
- Operating System: macOS 15.5 (Darwin 24.5.0)
- Terminal: Apple Terminal
Bug Description
- The .claude.json file gets filled up with conversation history mixed with MCP configurations, causing issues
- MCP configuration format differs between Claude CLI and Claude Desktop app, requiring separate config files instead of a unified approach
Steps to Reproduce
- Configure MCP servers in .claude.json for Claude CLI
- Use Claude CLI for conversations - history gets added to same file
- Try to use same MCP config with Claude Desktop app
- Observe that different config format/location is required
Expected Behavior
- MCP configuration should be separate from conversation history
- Single unified mcp.json config file should work for both Claude CLI and Claude Desktop app
Actual Behavior
- Conversation history and MCP config mixed in same .claude.json file causes issues
- Claude CLI and Desktop app require different MCP configuration formats/locations
Additional Context
This creates a poor developer experience requiring users to maintain separate MCP configurations for CLI vs Desktop, and the mixing of history with config in CLI makes config management problematic.
+1 for this one, this is terrible design. Even claude-code could not figure out where my config made using mcp add -s (for user) was actually stored. Very hard to version, edit, backup, etc. my configuration.
+1 for this one, this is terrible design. Even claude-code could not figure out where my config made using mcp add -s (for user) was actually stored. Very hard to version, edit, backup, etc. my configuration.
Two weeks later. Silence. Only crickets. :)
Hey all, sorry for the delayed reply on this. I understand this is unideal, and I hope to improve the situation on this shortly. Will keep you posted
I was a bit puzzled on this config arch as well, very subpar 😢. @ollie-anthropic whenever you have an chance, could you update us on your ideas for new config organization arrangements. I think #5024 needs to be addressed by this.
Claude Code's main configuration file is a nightmare to work with.
The fact it uses a single ~/.claude.json for:
- MCP Client configuration
- Project definitions
- State tracking
- Update history
- Changelog cache
and that it's not with the other config files in ~/.claude/ really does my head in.
Nothing more annoying than trying to find your MCP configuration in a 4000+ line long JSON file!
Claude Code's main configuration file is a nightmare to work with.
The fact it uses a single ~/.claude.json for:
- MCP Client configuration
- Project definitions
- State tracking
- Update history
- Changelog cache
and that it's not with the other config files in ~/.claude/ really does my head in.
Nothing more annoying than trying to find your MCP configuration in a 4000+ line long JSON file!
It would be easier for users to work on separate JSON files for configuration. Also, it would be possible to symlink Claude Desktop and Claude Code for MCP configurations. These files are spawning more and more as soon as MCPs are available augmenting the risk of user errors old versions. I would like to have a unified protocol for mcp.json.
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.