元数据
| id | uninstall-leftover | 收录 | 2026-08-29 |
|---|---|---|---|
| 问题域 | 编码代理与终端 | 主题分组 | 安装与依赖 |
| 适用工具 | cc-switchclaude-code-router | ||
症状
卸载工具后残留问题仍在:
- 共享配置没还原:之前被工具改写的 `~/.claude.json` / `~/.codex/config.toml` 保持切换后的状态;
- 命令仍在:卸载后 `ccr` / `cc-switch` 仍能解析,或重装后配置还是旧的。
原因
卸载命令只删工具自身(`dpkg -r` / `npm rm -g` + 工具自己的配置目录),不还原它改过的共享配置文件;shell hash 缓存会让已卸载的命令继续命中。
解法
1. 卸载前备份共享配置:`cp ~/.claude.json ~/.claude.json.bak`(同理 `~/.codex/config.toml`、`~/.claude/settings.json`)。
2. 完整卸载 = 删包 + 删工具配置目录:cc-switch 用 `dpkg -r` + `rm -rf ~/.cc-switch`;claude-code-router 用 `npm rm -g @musistudio/claude-code-router` + `rm -rf ~/.claude-code-router`。
3. 手动还原共享配置段(provider 段 / ANTHROPIC_* 路由注入段)或按备份还原;共享文件不代删(其它工具也在写)。
4. 新 shell 验证:`command -v ccr` 应为空;重装后配置应是新的。
验证证据
- cc-switch:字符串审计确认管理面含 `~/.claude.json` / `~/.codex/config.toml` / opencode.json;卸载命令不含还原步骤(manifest uninstall.note)。
- claude-code-router:实测闭环 2026-08-28:install exit=0 → uninstall(102 包移除 + 配置目录清除)→ verify 零残留 exit=0。
来源与证据
素材来源:结构重组合并(原 cc-switch-6 + claude-code-router-7,2026-08-29)
验证证据:Evidence details kept locally