claude-code icon indicating copy to clipboard operation
claude-code copied to clipboard

Unify MCP configuration and separate from conversation history

Open expozeur opened this issue 6 months ago • 7 comments

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

  1. The .claude.json file gets filled up with conversation history mixed with MCP configurations, causing issues
  2. MCP configuration format differs between Claude CLI and Claude Desktop app, requiring separate config files instead of a unified approach

Steps to Reproduce

  1. Configure MCP servers in .claude.json for Claude CLI
  2. Use Claude CLI for conversations - history gets added to same file
  3. Try to use same MCP config with Claude Desktop app
  4. 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.

expozeur avatar Jun 24 '25 16:06 expozeur

+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.

tarikbo-aws avatar Jul 11 '25 12:07 tarikbo-aws

+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. :)

expozeur avatar Jul 11 '25 14:07 expozeur

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

ollie-anthropic avatar Jul 21 '25 05:07 ollie-anthropic

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.

aretrace avatar Aug 03 '25 20:08 aretrace

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!

sammcj avatar Aug 25 '25 00:08 sammcj

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.

matteocervelli avatar Sep 17 '25 07:09 matteocervelli

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.

github-actions[bot] avatar Dec 05 '25 10:12 github-actions[bot]