Problem entry · machine-readable · 编码代理与终端

卸载后残留——共享配置不还原 / 命令仍在

本页嵌入 #trove-entity JSON(本条目全量结构化数据);全库数据见 /agent/trove.json。

元数据

iduninstall-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