feat: make MCP config file follow Claude directory override
When users set a custom Claude configuration directory, the MCP config file (.claude.json) is now placed alongside the overridden directory instead of the default ~/.claude.json location. Changes: - Add path derivation logic to generate MCP path from override directory (e.g., /custom/.claude → /custom/.claude.json) - Implement automatic migration from legacy path on first access - Add comprehensive unit tests covering 4 edge cases - Update UI descriptions to clarify MCP file placement - Fix documentation: correct MCP config path from ~/.claude/mcp.json to ~/.claude.json Technical details: - New function: derive_mcp_path_from_override() extracts directory name and creates sibling .json file - Migration copies ~/.claude.json to new location if override is set - All MCP operations (read/write/sync) now use the derived path via user_config_path() unified entry point Breaking changes: None (backward compatible with default behavior)
This commit is contained in:
@@ -143,7 +143,7 @@
|
||||
"appConfigDirDescription": "Customize the storage location for CC-Switch configuration files (config.json, etc.)",
|
||||
"browsePlaceholderApp": "e.g., C:\\Users\\Administrator\\.cc-switch",
|
||||
"claudeConfigDir": "Claude Code Configuration Directory",
|
||||
"claudeConfigDirDescription": "Override Claude configuration directory (settings.json).",
|
||||
"claudeConfigDirDescription": "Override Claude configuration directory (settings.json) and keep claude.json (MCP) alongside it.",
|
||||
"codexConfigDir": "Codex Configuration Directory",
|
||||
"codexConfigDirDescription": "Override Codex configuration directory.",
|
||||
"browsePlaceholderClaude": "e.g., /home/<your-username>/.claude",
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
"appConfigDirDescription": "自定义 CC-Switch 的配置存储位置(config.json 等文件)",
|
||||
"browsePlaceholderApp": "例如:C:\\Users\\Administrator\\.cc-switch",
|
||||
"claudeConfigDir": "Claude Code 配置目录",
|
||||
"claudeConfigDirDescription": "覆盖 Claude 配置目录 (settings.json)。",
|
||||
"claudeConfigDirDescription": "覆盖 Claude 配置目录 (settings.json),同时会在同级存放 Claude MCP 的 claude.json。",
|
||||
"codexConfigDir": "Codex 配置目录",
|
||||
"codexConfigDirDescription": "覆盖 Codex 配置目录。",
|
||||
"browsePlaceholderClaude": "例如:/home/<你的用户名>/.claude",
|
||||
|
||||
Reference in New Issue
Block a user