Claude Code 看不到新启用的 MCP - cc-switch
Quick fix
升级 cc-switch 至最新版,或手动将同级目录的 .claude.json 内容复制到 CLAUDE_CONFIG_DIR 目录内部。
Symptom
Section titled “Symptom”Claude Code 看不到新启用的 MCP。cc-switch DB 里 enabled_claude=1,UI 显示已启用,但 Claude Code 完全没反应。查证源码可知,当显式设置 CLAUDE_CONFIG_DIR 后,Claude Code 会将 .claude.json 等配置读取到该目录内部。但 cc-switch 旧版本在推导 MCP 配置路径时,错误地将其写入到自定义配置目录的同级位置。这导致 cc-switch 写入的文件与 Claude Code 实际读取的路径不一致。此外,早期版本还存在未自动识别 CLAUDE_CONFIG_DIR 环境变量的问题。
升级 cc-switch 到最新版本,以修复自定义配置目录下 .claude.json 路径推导错误及环境变量识别问题。
若暂不升级,请手动将 cc-switch 生成的同级 .claude.json 内的字段,复制粘贴到 CLAUDE_CONFIG_DIR 路径下的 .claude.json 中。
若需迁移 C 盘会话记录,请设置环境变量 CLAUDE_CONFIG_DIR,并在 CC Switch 设置中修改 CLI 工具目录为同一路径,或使用 mklink /J 创建目录链接。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.14.1 - 3.16.0
PlatformsWindows
Source Issues
Section titled “Source Issues”本页汇总自 3 个真实 issue
- 为什么磁盘上会同时出现两个 .claude.json 文件?
- 因为 cc-switch 把 MCP 写到了覆盖目录的同级位置,而 Claude Code 在 CLAUDE_CONFIG_DIR 模式下读的是目录内部的 .claude.json。
- 默认情况下 Claude Code 的配置路径是怎样的?
- 默认情况下 settings.json 在 ~/.claude/,而全局状态和 MCP 配置 .claude.json 在 ~/.claude.json,两者本身就是分裂的。
cc-switch老是说环境变量冲突,然后就把这个环境变量删除了 Gemini CLI忽略环境变量冲突提示以保留系统变量,或升级 cc-switch 至 v3.12.3 以修复 Official 模式下界面无法保存环境变量的问题。ANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY执行 `claude daemon stop --any` 停止残留 Claude 后台进程,然后确保 `~/.claude/settings.json` 的 `env` 中只保留一种认证变量。Auth conflict退出 Claude 官方登录、清理冲突的 ANTHROPIC_* 环境变量,并将 ~/.claude.json 的 hasCompletedOnboarding 设为 true 后重启终端。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。