命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
安装或重新安装本地二进制文件
claude install [version]claude install stableclaude install 是 Claude Code CLI 的一个低级安装子命令,用于在本地环境中安装或重新安装 Claude Code 的原生二进制文件。
它有两层含义:
安装脚本内部调用:当你运行 curl -fsSL https://claude.ai/install.sh | bash 时,shell 脚本在完成二进制下载和校验后,会自动调用 ./claude install stable(或 ./claude install latest)完成"第二阶段安装"——这是一个两阶段引导架构的最终步骤。
用户可直接调用:已安装 Claude Code 后,你可以手动执行 claude install [version] 来重装、修复或切换发布渠道(release channel),即便背景自动更新已被禁用也依然有效。
版本/平台要求:
claude install [version]
[version] 参数可以是:
| 参数值 | 含义 |
|---|---|
stable | 安装稳定渠道版本(约晚于最新版 1 周,跳过有重大回归的版本) |
latest | 安装最新渠道版本(功能一经发布立即推送) |
2.1.89 | 安装指定版本号(如 2.1.89) |
| (省略) | 不带参数时的默认渠道未在官方文档中明确说明;建议显式传 stable / latest / 版本号 |
你在安装时选择的渠道,会成为后续自动更新的默认渠道。
claude install stable
适用于希望避免新功能引入的 bug,优先追求稳定性的场景。
claude install latest
等同于默认行为,第一时间获取新特性。
claude install 2.1.89
将二进制固定到某一版本。适合企业内部统一版本或排查特定版本回归。
在首次安装阶段,安装脚本也接受渠道参数,效果与 claude install 等价:
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash -s stable
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
# Windows PowerShell
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89
claude --version
claude doctor
claude doctor 会显示最近一次更新尝试的结果,以及当前安装健康状况。
| 路径 | 用途 |
|---|---|
~/.local/bin/claude | 命令启动器(launcher) |
~/.local/share/claude/ | 已安装的版本 payload |
~/.local/state/claude/locks/ | PID 锁文件,防止并发安装冲突 |
~/.claude/ | 下载临时文件、用户配置 |
claude install 安装后的渠道偏好可通过 ~/.claude/settings.json 持久化控制:
{
"autoUpdatesChannel": "stable"
}
也可通过交互式命令设置:
# 在 Claude Code 交互模式中
/config
# → 选择 Auto-update channel
从 latest 切换到 stable 时,如果当前版本比 stable 渠道更新,可能导致降级。使用 minimumVersion 设置地板版本:
{
"autoUpdatesChannel": "stable",
"minimumVersion": "2.1.100"
}
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
注意:
DISABLE_AUTOUPDATER只禁止背景自动检查,claude install和claude update依然有效。
{
"env": {
"DISABLE_UPDATES": "1"
}
}
适用于企业通过自有渠道分发 Claude Code、需要用户严格保持指定版本的场景。
通过 managed settings 可在组织层面强制 autoUpdatesChannel 和 minimumVersion,用户和项目级 settings 无法覆盖。
默认情况下,Homebrew/WinGet 安装的版本不会自动更新。开启背景自动升级:
{
"env": {
"CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE": "1"
}
}
| 约束 | 说明 |
|---|---|
| 需要网络连接 | 二进制从 downloads.claude.ai 下载,离线环境无法执行 |
勿用 sudo 安装 npm 全局包 | 官方明确警告 "Do NOT use sudo npm install -g"——该警告针对 npm 安装路径;claude install 走原生二进制路径,以普通用户身份运行即可 |
| Homebrew/WinGet/apt/dnf/apk 安装版本不受此命令管理 | claude install 仅管理原生安装(native install)的二进制 |
| PID 锁机制 | 安装过程在 ~/.local/state/claude/locks/ 写入锁文件,防止并发安装;进程崩溃后锁文件可能变为孤儿 |
DISABLE_UPDATES=1 时命令被屏蔽 | 设置此环境变量后 claude install 失效 |
| Alpine Linux 需额外依赖 | 需先安装 libgcc libstdc++ ripgrep,并设置 USE_BUILTIN_RIPGREP=0 |
| Windows 执行中可能锁定 binary | WinGet 升级在 Claude Code 运行时可能因文件锁失败,需先退出 Claude Code |
| 命令 | 用途 | 受 DISABLE_AUTOUPDATER 影响 | 受 DISABLE_UPDATES 影响 | 渠道参数 |
|---|---|---|---|---|
claude install [version] | 安装/重装二进制,可指定渠道或版本 | 否(仍可用) | 是(被禁用) | 支持 stable / latest / 版本号 |
claude update | 立即应用可用更新(不等待背景检查) | 否(仍可用) | 是(被禁用) | 不支持 |
| 背景自动更新 | 启动时及运行中自动检查并安装 | 是(被禁用) | 是(被禁用) | 由 autoUpdatesChannel 控制 |
| `curl … | bash -s stable` | 首次安装脚本传参 | 不适用 | 支持 |
brew upgrade claude-code | Homebrew 安装版本手动升级 | 不适用 | 不适用 | 由 cask 名称决定 |
核心区别:
claude install 针对安装/重装,可切换渠道或回退到特定版本claude update 针对更新,在当前渠道内推进到最新可用版本DISABLE_AUTOUPDATER,只受 DISABLE_UPDATES 约束安装后想切换到稳定渠道:执行 claude install stable,此后自动更新也会跟随 stable 渠道,适合生产环境开发者避免追踪"边缘版本"。
回退到已知可用版本:发现某次自动更新引入了破坏性 bug,用 claude install 2.1.89 精确钉住上一个稳定版本,配合 minimumVersion 防止自动降级。
修复损坏的安装:区分两种场景——
claude 报 command not found:此时 launcher 二进制本身不在 PATH 或根本未安装,claude install 无法执行。按官方 setup / troubleshoot-install 文档处理:先检查 PATH(~/.local/bin 是否在 PATH 中),若确实缺失则重跑安装脚本 curl -fsSL https://claude.ai/install.sh | bash。claude 可被找到但启动异常,此时可直接重跑 claude install 重写二进制。企业部署统一版本:CI/CD 流水线或 onboarding 脚本中使用 claude install 2.1.100 固定所有开发者环境到同一版本,配合 DISABLE_UPDATES=1 防止自行升级。
验证 binary 完整性后重装:先通过 GPG 签名和 SHA256 校验 manifest,确认目标版本安全后再执行 claude install <version> 完成可信安装。
用 Homebrew/WinGet/apt 安装却对着 claude install 发愣:这些包管理器安装的版本不由 claude install 管理,运行此命令可能静默无效或覆盖成原生安装版本,造成两套二进制并存。确认安装方式后用对应命令更新(如 brew upgrade claude-code)。
切换 stable 渠道导致意外降级:latest 切到 stable 时,如果当前 latest 版本比 stable 更新,会发生降级。切换前先在 /config 中选择"保持当前版本",或在 settings.json 里设置 minimumVersion 加地板保护。
孤儿锁文件阻塞安装:安装过程崩溃后,~/.local/state/claude/locks/ 里可能残留包含旧 PID 的锁文件。若确认无其他安装进程在运行,可手动删除锁文件后重试。
混淆 DISABLE_AUTOUPDATER 与 DISABLE_UPDATES:前者只禁用背景检查,claude install 和 claude update 仍然有效;后者才能封锁所有更新路径。企业环境若要彻底锁版本必须使用 DISABLE_UPDATES。
Alpine Linux 缺少依赖导致安装失败:musl-based 发行版需要额外安装 libgcc、libstdc++、ripgrep,并在 settings.json 中设置 USE_BUILTIN_RIPGREP=0,否则 claude install 执行的 Stage B 会失败。
rm -f ~/.local/bin/claude
rm -rf ~/.local/share/claude
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force
rm -rf ~/.claude
rm ~/.claude.json
如果同时安装了 VS Code 扩展、JetBrains 插件或 Desktop App,需先卸载它们,否则
~/.claude/会在下次运行时被重新创建。