commnd自动变成cmd导致mcp服务连接失败 - Claude Code
Quick fix
在 cc-switch 界面内修改 MCP 配置以防被覆盖,并手动修正被错误改写为 cmd 的 npx 命令。
Symptom
Section titled “Symptom”同步到.claude.json的指令中commnd自动变成cmd,而官方仓库中参数是npx,导致claude code中mcp服务连接失败cc-switch 会接管并覆盖 ~/.claude.json 或 .mcp.json 中的配置。如果用户在外部手动修改了文件(如更新密钥),切换 provider 时 cc-switch 会用其数据库中的旧配置覆盖这些修改。此外,在 Windows 或 WSL 环境下,cc-switch 导入或同步 stdio 类型的 MCP 配置时,存在将 npx 错误改写为 cmd /c npx 的 bug,导致 Claude Code 无法连接 MCP 服务。部分版本还存在切换模型后 .mcp.json 丢失或配置不同步的问题。
停止手动编辑 ~/.claude.json。所有的 MCP 配置和密钥更新必须直接在 cc-switch 的界面中进行,或者在 cc-switch 中移除该配置以放弃接管。
针对 npx 被改写为 cmd 的问题,在 cc-switch 的 MCP 服务器管理界面中,手动将 command 改回 npx,并移除多余的 /c 参数。
// ~/.claude.json{"mcpServers": {"chrome-devtools": {"type": "stdio","command": "npx","args": ["chrome-devtools-mcp@latest","--browser-url=http://127.0.0.1:9922"],"env": {}}}}如果遇到 MCP 配置不同步或丢失(如 Codex 中看不到 MCP),请完全退出 Claude Code 或 Codex,在 cc-switch 中打开 MCP 编辑界面,不做任何修改直接点击保存,然后重新启动应用以强制触发同步。
Affected Versions
Section titled “Affected Versions”ToolClaude Code
Version3.14.1 - 3.16.1
PlatformsWindowsmacOSLinux
Source Issues
Section titled “Source Issues”本页汇总自 3 个真实 issue
- 为什么我手动修改了 ~/.claude.json 中的密钥,切换 provider 后又变回去了?
- cc-switch 会管理并覆盖 ~/.claude.json 文件。你需要在 cc-switch 的界面中更新配置,或者移除 cc-switch 中的相关配置,否则手动修改会被旧数据覆盖。
- 在 WSL 中使用 Claude Code,MCP 配置同步后无法连接怎么办?
- 这通常是因为 cc-switch 将 npx 错误改写成了 Windows 的 cmd /c npx。请在 cc-switch 中手动将命令改回 npx。
- 切换模型后 .mcp.json 丢失或 Codex 中看不到 MCP 配置怎么解决?
- 这是一个已知的同步 bug。请退出应用,在 cc-switch 中重新编辑并保存一次 MCP 配置(无需实际修改内容),即可强制重新同步。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。