跳至正文
CLI — macOS 卸载 Claude Code CLI:多份安装的清理与验证记录

macOS 卸载 Claude Code CLI:多份安装的清理与验证记录

AI 参与说明(Agent:Codex):Codex 于 2026-10-27 协助执行本机 CLI 卸载、核对官方文档并整理操作记录。执行入口为 Codex Desktop;完整模型标识与 reasoning effort 未取得任务级运行记录。本文仅公开程序安装位置的通用形式、版本与验证结果,不包含配置内容、凭据或会话历史。

本次在 macOS 上移除了四份 Claude Code CLI 安装:一份原生安装、两份不同 Node.js 版本下的 npm 全局安装,以及一份位于 /opt/homebrew 前缀下的 npm 全局安装。卸载后,新启动的交互式 Zsh 返回 claude not found;~/.claude 和 ~/.claude.json 保留。

关键是先查出全部安装来源。只删除当前优先执行的那一份,Shell 仍可能找到排在后面的旧版本。本文记录的是 2026-10-27 的一次实际操作,版本号用于复核当时状态,不代表当前最新版。

英文术语中文名称简要解释
CLI命令行界面本文指终端中的 claude 命令
PATH命令搜索路径Shell 按其中的目录查找可执行文件
npm prefixnpm 安装前缀不同 Node.js 环境可以有各自的全局包和命令入口
Homebrew CaskHomebrew 应用包需要由 Homebrew 管理;不能仅凭文件位于 /opt/homebrew 就认定来源

卸载前:确认入口和实际安装来源

先在 Zsh 中查看当前版本及所有可找到的入口:

sh
claude --version
which -a claude
ls -l ~/.local/bin/claude /opt/homebrew/bin/claude
ls -l ~/.nvm/versions/node/*/bin/claude
npm list -g @anthropic-ai/claude-code --depth=0
brew list --cask --versions claude-code

which -a 只反映当前 PATH;不在当前 PATH 中的旧 Node.js 环境,需要另查其 bin/claude 和 lib/node_modules/@anthropic-ai/claude-code/package.json。本次通过符号链接和包元数据确认了以下安装:

安装来源程序或安装前缀卸载前 Claude Code 版本
原生安装~/.local/bin/claude → ~/.local/share/claude/versions/2.1.263当前执行版本 2.1.263;版本目录另有 2.1.260、2.1.261
npm 全局安装~/.nvm/versions/node/v20.12.12.0.25
npm 全局安装~/.nvm/versions/node/v24.16.02.1.252
npm 全局安装/opt/homebrew1.0.120

/opt/homebrew/bin/claude 指向该前缀下的 npm 包,Homebrew Cask 查询没有列出 claude-code,本次也未发现 claude-code 或 claude-code@latest 的 Caskroom 目录。因此这里按 npm 全局包卸载,没有执行 brew uninstall。

实际执行:逐一移除四份安装

先对已经核实的三个 npm prefix 分别卸载同一个包。以下是本次实际执行的命令;其他机器应替换为自己查到的前缀,不要照抄 Node.js 版本目录:

sh
npm uninstall -g --prefix "$HOME/.nvm/versions/node/v20.12.1" @anthropic-ai/claude-code
npm uninstall -g --prefix "$HOME/.nvm/versions/node/v24.16.0" @anthropic-ai/claude-code
npm uninstall -g --prefix /opt/homebrew @anthropic-ai/claude-code

三条命令均成功退出,输出依次为 removed 3 packages、removed 2 packages、removed 3 packages。这些数量包含随包移除的依赖,不是 Claude Code 的安装份数。

随后移除原生安装。确认版本目录只有下面三个已列出的程序文件后,逐个删除文件,再用 rmdir 移除空目录;如果还有其他文件,rmdir 会报错,需重新检查目录:

sh
rm "$HOME/.local/bin/claude" \
  "$HOME/.local/share/claude/versions/2.1.260" \
  "$HOME/.local/share/claude/versions/2.1.261" \
  "$HOME/.local/share/claude/versions/2.1.263"
rmdir "$HOME/.local/share/claude/versions" "$HOME/.local/share/claude"

Native and npm installations require separate removal. 官方卸载说明分别给出了原生安装文件和 npm 包的移除方法;上面的原生删除步骤把目标收窄到本次已核实的文件。官方卸载说明

卸载后:同时验证 Shell 与安装文件

在新的登录式交互 Zsh 中刷新命令缓存并查询:

sh
zsh -lic 'rehash; command -v claude; type -a claude'

本次结果为:

text
claude not found

该检查的退出码为 1,对应命令查找失败,是本次预期结果。另对文件系统逐项核验:

检查对象实际结果
三个 npm prefix 的 bin/claude均不存在,也没有残留符号链接
三个 npm prefix 的 lib/node_modules/@anthropic-ai/claude-code均不存在
~/.local/bin/claude不存在,也没有残留符号链接
~/.local/share/claude不存在
~/.claude 与 ~/.claude.json均仍存在

验证范围是当前账户中已识别的安装位置和新 Zsh 的命令解析结果,没有扫描整块磁盘或其他账户。若卸载后仍能执行 claude,应继续核对其他安装、Shell alias 或 function;官方也将重复安装列为这种现象的排查方向。安装冲突排查

保留的数据与操作边界

本次保留 ~/.claude、~/.claude.json 及项目级配置,没有执行退出登录、删除钥匙串凭据、取消订阅或卸载编辑器扩展、桌面应用等操作。后续需要恢复 CLI 时,这些数据仍可供相应工具使用;本次未验证重新安装后的恢复效果。

Removing configuration files also removes session history. 官方把配置清理列为独立步骤,并说明编辑器扩展和桌面应用也会写入 ~/.claude。因此,“终端已找不到 CLI”与“所有 Claude 相关数据已删除”是两个不同的验收范围。配置清理说明

关联阅读

  • CLI Overview:本栏目其他 Agent CLI 文档的入口。

参考资料

博客助手

正在打开博客助手…