最近 Claude Code、Codex 和 Kimi 这三个热门 AI CLI 工具更新都很频繁,但它们的升级方式并不统一——即使是同一个 CLI,只要安装来源不同,更新命令也可能完全不一样,确实容易让人混淆。这篇内容把这三个 AI 命令行工具在不同安装方式下的更新命令整理成一张表,并附上一个可自动检测版本、按安装方式执行更新的脚本,方便日常维护。

先直接说结论:更新 Claude Code、Codex、Kimi CLI 之前,首先要确认安装方式;另外,Codex 如果是通过 npm 全局安装,升级时必须先卸载再重新安装,否则直接覆盖更新会导致平台二进制文件丢失。
先判断安装方式
CLI 更新命令完全取决于安装来源,那么怎么确认自己当前使用的是哪种安装方式?下面两条命令基本就能快速判断:
复制代码npm ls -g @anthropic-ai/claude-code # 有输出即为 npm 全局安装
which -a claude codex kimi # 查看可执行文件的实际路径
如果可执行文件位于 ~/.local/share/claude,通常说明 Claude Code 是原生安装;如果路径在 ~/.kimi-code/bin,则表示 Kimi 使用的是官方脚本安装。这两种情况都不经过 npm,因此更新命令也与 npm 安装方式不同。
手动更新命令
| CLI | 安装方式 | 更新命令 |
|---|---|---|
| Claude Code | 原生安装(~/.local/share/claude) | claude update |
| Claude Code | npm 全局 | npm install -g @anthropic-ai/claude-code@latest |
| Codex | npm 全局 | npm uninstall -g @openai/codex && npm install -g @openai/codex@latest |
| Codex | Homebrew | brew upgrade codex |
| Kimi | 官方脚本(~/.kimi-code/bin) | kimi upgrade(交互式),或重跑安装脚本 |
| Kimi | npm 全局 | npm install -g @moonshot-ai/kimi-code@latest |
如果你想查看某个 AI CLI 工具在 npm 上发布的最新版本号,可以使用 npm view <包名> version。这三个 CLI 都在 npm 上提供包,具体包名可直接参考上表。
Codex 为什么不能直接覆盖更新
这里需要特别提醒:如果 Codex 是通过 npm 安装的,直接执行 npm install -g @openai/codex@latest 进行升级,npm 可能会丢失 optionalDependencies 中的平台二进制包(例如 @openai/codex-darwin-arm64 等),随后运行 Codex 时就会报出 Missing optional dependency 错误。正确做法是先执行 npm uninstall -g @openai/codex,再重新安装最新版本,这样就能避开这个常见更新问题。若是通过 Homebrew 安装的 Codex,则没有这个限制,直接使用 brew upgrade codex 即可完成升级。
Kimi 的两种更新方式
如果 Kimi CLI 是通过官方脚本安装的,可以使用 kimi upgrade 更新。不过这里有一个实际使用中的小问题:这个命令是交互式的,会弹出选项,不太适合无人值守或自动化脚本执行。若你希望静默更新,更稳妥的方式是直接重新运行官方安装脚本:
复制代码curl -fsSL | bash
如果 Kimi 是通过 npm 全局安装,那么更新方式就比较常规,直接执行 npm install -g @moonshot-ai/kimi-code@latest 即可。
自动检测更新脚本
如果不想手动记住 Claude Code、Codex、Kimi 的各种更新命令,可以直接使用下面这个脚本一键处理。它会自动检测本机安装了哪些 AI CLI,再对比 npm 上的最新版本号,发现有新版本后,就按照对应的安装方式执行更新。
用法:
复制代码bash ai-cli-update.sh # 检测并更新
bash ai-cli-update.sh --check # 仅检测,不执行更新
复制代码#!/usr/bin/env bash
# ai-cli-update.sh — 检测并更新 Claude Code / Codex / Kimi CLI
set -uo pipefailCHECK_ONLY=0
[ "${1:-}" = "--check" ] && CHECK_ONLY=1say() { printf '%sn' "$*"; }npm_latest() { npm view "$1" version 2>/dev/null; }# 已安装且需要更新时返回 0
need_update() { # $1=当前版本 $2=最新版本
if [ -z "$1" ] || [ -z "$2" ]; then
say " ! 版本获取失败(当前:${1:-?} 最新:${2:-?}),跳过"
return 1
fi
if [ "$1" = "$2" ]; then
say " 已是最新 ($1)"
return 1
fi
say " ↑ 发现新版本:$1 -> $2"
return 0
}update_claude() {
command -v claude >/dev/null 2>&1 || { say "[claude] 未安装,跳过"; return; }
say "[claude]"
local cur latest
cur=$(claude --version 2>/dev/null | awk '{print $1}') # "2.1.214 (Claude Code)"
latest=$(npm_latest @anthropic-ai/claude-code)
need_update "$cur" "$latest" || return
[ "$CHECK_ONLY" = 1 ] && return
if npm ls -g @anthropic-ai/claude-code >/dev/null 2>&1; then
npm install -g @anthropic-ai/claude-code@latest # npm 安装
else
claude update # 原生安装
fi
}update_codex() {
command -v codex >/dev/null 2>&1 || { say "[codex] 未安装,跳过"; return; }
say "[codex]"
local cur latest
cur=$(codex --version 2>/dev/null | awk '{print $2}') # "codex-cli 0.144.5"
latest=$(npm_latest @openai/codex)
need_update "$cur" "$latest" || return
[ "$CHECK_ONLY" = 1 ] && return
if npm ls -g @openai/codex >/dev/null 2>&1; then
npm uninstall -g @openai/codex # 先卸载再装,避免丢平台二进制
npm install -g @openai/codex@latest
elif command -v brew >/dev/null 2>&1 && brew list --versions codex >/dev/null 2>&1; then
brew upgrade codex # Homebrew 安装
else
say " ! 未知安装方式,请手动更新"
fi
}update_kimi() {
command -v kimi >/dev/null 2>&1 || { say "[kimi] 未安装,跳过"; return; }
say "[kimi]"
local cur latest
cur=$(kimi --version 2>/dev/null | awk '{print $1}') # "0.27.0"
latest=$(npm_latest @moonshot-ai/kimi-code)
need_update "$cur" "$latest" || return
[ "$CHECK_ONLY" = 1 ] && return
if npm ls -g @moonshot-ai/kimi-code >/dev/null 2>&1; then
npm install -g @moonshot-ai/kimi-code@latest # npm 安装
else
curl -fsSL | bash # 官方脚本安装:重跑脚本即更新
fi
}update_claude
update_codex
update_kimi
exit 0
脚本中对 Codex 的升级逻辑同样采用“先卸载再安装”的方式,目的就是规避前面提到的 npm 更新陷阱。日常使用时,定期执行一次 bash ai-cli-update.sh --check,先检查 Claude Code、Codex、Kimi 是否有新版本,通常就已经足够。
参考
- Kimi Code CLI — Getting started
- Kimi Code — FAQ(升级说明)
- Claude Code 文档 ・ Codex CLI 仓库
