安装与更新 Codex CLI:Mac、Linux、Windows
安装 OpenAI Codex CLI 每个平台只需一条命令:macOS 与 Linux 上是 curl -fsSL https://chatgpt.com/codex/install.sh | sh,Windows 上是 powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex",npm 与 Homebrew 是受支持的替代方案;更新是 codex update,它能识别脚本、npm 与 Homebrew 安装并运行该渠道的升级。1411 大多数页面略过的,是第一条命令之后的事:五条安装路径该选哪一条、某个版本出问题时怎么锁定版本、winget 包为什么比 npm 落后几天到几周,以及卸载之后 ~/.codex 里会留下什么。本页就是那份参考:每项任务一张表,以 v0.163.0(2026 年 10 月 15 日)为准。9
2026 年 10 月 15 日更新,适用于 v0.163.0。 自本页 9 月版以来,有四处变化。首先是 winget 索引动了:在 manifest 请求一搁数周的夏天之后,0.156.0 到 0.161.0 的 12 个请求都在开启后一天内合并,但 0.162.0 与 0.162.1 的请求从 10 月 8 日和 9 日起一直在等待,所以 10 月 15 日 winget 比 npm 落后 3 个版本,而 9 月 6 日落后的是 14 个(0.147.0 到 0.153.4)。310 Windows 版本现在随附经过签名的 install.ps1(其 SHA-256 校验早已存在,v0.162.0 修复了它在 Windows PowerShell 下的问题)。18 Windows 还多了第三种沙箱实现 Microsoft Execution Containers,9 月时的两种模式成了它的后备。8 此外,Codex 现在会为符合条件的交互式会话默认启动后台服务器,它运行着自己的更新程序,在较旧的脚本安装上可能连 CLI 自身的包也一并改动。20 下文所有关于安装、更新与锁定版本的基准都在 10 月 15 日重新核对过;codex doctor 的内容仍是 0.153.4 上的读数。910
TL;DR
- 独立安装程序是 OpenAI 领先推荐的路径,README 与 CLI 文档皆然,npm 与 Homebrew 作为替代方案呈现(CLI 文档写的是“you can also install”,README 写的是“can also be installed via”):macOS 与 Linux 用
install.sh脚本,Windows 用install.ps1脚本。它下载的是编译好的二进制文件,所以不需要 Node。111 - npm 与 Homebrew 是受支持的替代方案。
npm install -g @openai/codex用普通的包规格(@<version>)锁定版本;撰写本文时brew install --cask codex与 npm 同为 0.163.0;cask 在该版本发布 13 分钟后完成更新。1210 - winget 能用,但落后几天到几周。 OpenAI 发布了
OpenAI.Codex包。在 manifest pull request 一积压就是数周的夏天之后,0.156.0(2026 年 9 月 22 日)到 0.161.0(10 月 7 日)的 12 个请求都在开启后一天内合并;随后 0.162.0 与 0.162.1 的请求停滞,从 10 月 8 日和 9 日起一直开着。10 月 15 日可安装的最新版本是 0.161.0,而 npm 是 0.163.0,落后 3 个稳定版,0.163.0 的请求也还开着。310 codex update覆盖脚本、npm 与 Homebrew 安装(v0.128.0 起):它复用 TUI 已有的安装渠道检测,并运行匹配的升级。winget 安装不是它识别的渠道;那一种请用winget upgrade OpenAI.Codex更新。其余的手动对应做法是重新运行安装程序、npm install -g @openai/codex@latest,或brew upgrade --cask codex。411- 后台服务器运行着一个更新程序,在较旧的脚本安装上它可能改动你的 CLI。 从 v0.157.0(2026 年 9 月 25 日 UTC)起,Codex 会为符合条件的交互式会话默认启动一个受管的后台服务器。如果安装程序选择的是
latest渠道,该服务器会在启动 5 分钟后检查更新,之后每小时检查一次,并运行安装程序;新的守护进程位于~/.codex/packages/app-server-daemon之下,但最初从较旧脚本安装启动的守护进程会继续使用 CLI 自身的包~/.codex/packages/standalone/current。开关是~/.codex/app-server-daemon/settings.json里的"updater": { "autoUpdateEnabled": false },由codex app-server daemon restart使其生效。2012 - 锁定版本:
install.sh用--release <version>,install.ps1那一行之前用$env:CODEX_RELEASE,npm 用@<version>。 Homebrew 的 cask 只跟踪一个当前版本,无法锁定。212 - 卸载包不会清除你的状态, 但在脚本安装上,
rm -rf ~/.codex也会把 CLI 本身删掉,因为安装程序把各个版本放在~/.codex/packages/standalone之下。12
如何安装 Codex CLI?
按 OpenAI 自家文档的呈现顺序列出四条路径,111 再加上 OpenAI 没有文档化的 Windows winget:3
# Standalone installer, no Node required (macOS, Linux, WSL) -- the route OpenAI lists first
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
# npm (needs Node.js 16+; pins with a plain @version spec)
npm install -g @openai/codex
# Homebrew (macOS, Linux)
brew install --cask codex
# winget (Windows; lags npm, see the platform section)
winget install OpenAI.Codex
然后确认安装成功并登录:
codex --version # codex-cli 0.163.0
codex login # ChatGPT account (recommended) or an API key
第一次用脚本安装时,profile 块只在新开的 shell 里生效。如果在安装时所用的终端里找不到 codex,在那里运行 export PATH="$HOME/.local/bin:$PATH",或者开一个新终端;安装程序结束时会打印同样的两行(“Current terminal”与“Future terminals”)。12
想直接用二进制文件?每个 GitHub release 都附带各平台的 tarball(codex-aarch64-apple-darwin.tar.gz、codex-x86_64-apple-darwin.tar.gz、codex-x86_64-unknown-linux-musl.tar.gz、codex-aarch64-unknown-linux-musl.tar.gz),而且从 v0.106.0 起,同一份 install.sh 也作为资产附在每个 release 上。每个压缩包只含一个把平台名嵌在文件名里的条目,所以解压后把它重命名为 codex。15 发布页围绕这些 tarball 又多了不少东西:每个二进制文件的 .zst 与 macOS .dmg 同类文件;把二进制文件、codex-code-mode-host 辅助程序与 ripgrep 打包在一起的 codex-package-<target>.tar.gz,安装程序和 Homebrew cask 下载的正是它们;codex-app-server 与 codex-responses-api-proxy 二进制文件;以及 openai_codex_cli_bin Python wheel,它们是 OpenAI Python SDK 的固定运行时,而不是用 pip 安装 CLI 的途径。512
安装程序从 OpenAI 自家托管的发布基础设施拉取:chatgpt.com/codex/install.sh 会重定向到 releases.openai.com,这项变更在 v0.146.0 落地,GitHub Releases 保留为后备主机。6 在屏蔽或限速 OpenAI 制品主机、但放行 GitHub 的网络上,改从 release 资产获取脚本,并告诉它二进制文件也从 GitHub 拉:112
curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh
变量要放在管道的 sh 那一侧。VAR=value curl ... | sh 这种写法只把变量作用于 curl,脚本根本看不到它,就悄悄沿用默认值。在 PowerShell 里,运行安装那一行之前先设置 $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM = 'false'。
该选哪条路径?
| 你的环境 | 使用 | 原因 |
|---|---|---|
| macOS 或 Linux | 安装脚本 | OpenAI 文档列在第一位的路径;下载二进制文件,机器上不需要 Node11 |
| Windows | PowerShell 脚本 | 原生 PowerShell 搭配 Windows 沙箱;WSL 可选811 |
| 任何在脚本里锁定版本的机器 | npm install -g @openai/codex@<version> |
以包规格锁定,版本写在你的 Dockerfile 或配置脚本里,而不是写在标志里10 |
| Homebrew 已经管理一切的 macOS 或 Linux | brew install --cask codex |
10 月 15 日与 npm 同版本(cask 在发布 13 分钟后更新)、无 Node 依赖,brew upgrade 保持最新2 |
| 以包管理的 Windows | winget install OpenAI.Codex |
能接受落后于 npm 时(10 月 15 日落后 3 个版本)3 |
Codex 支持哪些平台?
| 平台 | 状态 |
|---|---|
| macOS,Apple silicon 与 Intel | 支持;两者都有二进制文件1 |
| Linux,x86_64 与 arm64 | 支持;两者都有二进制文件1 |
| Windows 11 | 推荐基线;MXC 随 24H2(build 26100.9278)与 25H2(build 26200.9278)推出,且仍在逐步推送,请用一条命令的测试确认8 |
| Windows 10,1809 或更新版本 | 尽力支持(需要 ConPTY 控制台支持)8 |
| 更旧的 Windows 10 | 不推荐:缺少控制台组件8 |
| WSL2 | 可选;OpenAI 的 WSL 页面在 WSL shell 里运行同一份安装脚本14 |
在 Windows 上,Codex 以原生方式在 PowerShell 里搭配 Windows 沙箱运行,截至 2026 年 10 月共有三种实现。最新的是 Microsoft Execution Containers(MXC),即 Microsoft 在 Windows 11 24H2 与 25H2 中引入的进程隔离:桌面应用在设备支持时会为个人消费者账户优先使用它;CLI 则在 [features] 下设置了 prefer_mxc = true 时使用它,此时旧有模式作为后备,或者在 [windows] sandbox = "mxc" 显式选择它时使用,这种情况下若缺少该能力或被策略阻止,会直接失败而不是回退;从 v0.162.0 起,一条命令的测试(codex -c windows.sandbox=mxc sandbox ...,预期输出 MXC_OK)可以在不改变已保存选择的情况下试用它。原先的两种模式现在是旧有的后备。elevated 是首选模式:它使用专用的低权限沙箱用户、文件系统权限边界、防火墙规则与本地策略变更,需要管理员批准的设置。unelevated 用派生自你用户的受限 Windows 令牌以及基于 ACL 的文件系统边界来运行命令,网络隔离较弱。8 后备模式在 config.toml 里选择:
[windows]
sandbox = "elevated" # or "unelevated"; "mxc" selects the containers explicitly
OpenAI 的指引是默认使用原生沙箱,在你需要 Linux 原生工具、工作流本来就在 WSL2 里,或所有原生 Windows 沙箱实现都不合用时才选 WSL。8 有一点要分清:Windows 设置假定机器上有 winget 供其自身的设置步骤使用;这和通过 winget 安装 Codex 是两回事。OpenAI 确实发布了那个包,发布工作流里有一个 winget 作业,会为稳定版在 microsoft/winget-pkgs 开 manifest pull request,而索引在夏天的停滞已经结束,只是并未就此一劳永逸。此处日期均为 UTC。0.148.0 到 0.152.0 的请求在 8 月 18 日到 9 月 1 日之间开启,于 9 月 11 日合并(0.151.0 在 9 月 30 日,0.149.1 在 10 月 1 日);0.147.0 的请求未合并即关闭,一位社区成员提交的 0.154.0 也是如此,而 OpenAI 的工作流没有为 0.152.1 以及 0.153.x 到 0.155.x 开过任何请求;从 0.156.0(9 月 22 日)到 0.161.0(10 月 7 日),连续 12 个 manifest 都在开启后一天内合并;随后 0.162.0 与 0.162.1 的请求停滞,从 10 月 8 日和 9 日起一直开着。10 月 15 日,索引里有 138 个版本,最新为 0.161.0,比 npm 落后 3 个稳定版,0.163.0 的请求也还开着。CLI 本身没坏,只是这个包会落后几天到几周。38
Node.js 只有 npm 路径才需要。安装脚本下载的是编译好的二进制文件,而 Homebrew cask 没有声明任何依赖。12
如何更新 Codex CLI?
你运行的 CLI 不会自我更新,除非有后台服务器的更新程序在管理同一个包(即服务器从 packages/standalone 启动的较旧脚本安装,见下文)。TUI 会注意到新版本,并提供符合你安装渠道的命令;运行与否取决于你,内置的那条覆盖脚本、npm 与 Homebrew 安装。4 启动时的检查本身是一个配置键:config.toml 里的 check_for_update_on_startup = false,参考文档把它描述为“Check for Codex updates on startup (set to false only when updates are centrally managed)”;集中管理更新的组织则在 requirements.toml 里设置 features.in_app_updates = false。16
codex --version # what you run now
npm view @openai/codex version # newest published
codex update # built-in, v0.128.0+; detects your install channel
codex update 在 2026 年 4 月 30 日随 v0.128.0 出现;加入它的 pull request 复用了 TUI 原本用于更新提示的安装渠道检测与更新执行器。渠道映射覆盖 npm(加上 bun、pnpm 与 Vite+ 变体)、Homebrew,以及 Unix 与 Windows 上的独立安装程序;winget 安装不在其中,所以通过 winget 安装的 Codex 只能用 winget upgrade OpenAI.Codex 更新。10 月 15 日重新读取时,映射里多了一项:一个在终端恢复后替换本地后台服务器的守护进程动作;独立安装的命令现在也会带着 CODEX_NON_INTERACTIVE=1 运行安装程序;winget 仍不在其中。4 如果你偏好手动,或正在为机器镜像写脚本,手动对应做法如下:
curl -fsSL https://chatgpt.com/codex/install.sh | sh # standalone: re-run the installer
npm install -g @openai/codex@latest # npm
brew upgrade --cask codex # Homebrew
winget upgrade OpenAI.Codex # winget (to whatever winget has)
irm https://chatgpt.com/codex/install.ps1 | iex # standalone on Windows: re-run the installer
版本在一条快速的稳定线上发布:0.160.0 到 0.163.0 共 6 个稳定版,在 2026 年 10 月 1 日到 10 月 15 日之间出炉,所以“我在用的”与“最新的”之间的差距往往是一周,而不是一个季度。9
后台服务器会自我更新
后台服务器是唯一会按计划获取新二进制文件的东西。从 v0.157.0(2026 年 9 月 25 日 UTC)起,Codex 会为符合条件的交互式会话默认启动一个受管的后台服务器;如果安装程序选择的是稳定的 latest 渠道,该服务器会启动一个分离的更新循环:它在启动 5 分钟后检查更新,之后每小时一次,每次都运行安装程序,正在运行的服务器会换用新二进制文件重启。在 0.163.0 上安装的守护进程位于自己的包 ~/.codex/packages/app-server-daemon 中(这是安装程序的 CODEX_INSTALL_DAEMON_ONLY=1 模式,不会动用户的 CLI 命令与 shell 设置),但最初从较旧脚本安装启动的守护进程会继续使用 ~/.codex/packages/standalone/current,它的计划更新改动的就是这个包,也就是你输入的那个 CLI(对于早于安装程序渠道标记的安装,要等下一次 latest 安装之后才会如此,而这次安装由 codex update 完成;在那之前,守护进程只提供服务而不更新)。锁定的版本会保持锁定:安装程序只在 latest 安装时写入 auto-update-version 标记,在显式指定版本时将其删除,脚本自己的注释也写明了这条规则:“Scheduled updates still require the selected release to follow the latest channel.”按用户的开关是 ~/.codex/app-server-daemon/settings.json 里的 "updater": { "autoUpdateEnabled": false },旁边还有 updateIntervalMinutes;codex app-server daemon restart 会应用启用状态,修改后的间隔从下一次等待开始生效;codex app-server daemon stop 会停止服务器(先发出正常终止请求,超过宽限期后强制终止;更新循环是一个由 pid 管理的独立进程,所以停止后要检查它),TUI 里的 /daemon 会重启服务器(v0.163.0),这些更新也遵守应用的网络策略(v0.163.0)。显式运行 codex app-server daemon update 即使在自动更新关闭时也会选择最新稳定版,并在安装程序与版本支持时,把旧有守护进程迁到它自己的包根目录;它还会让锁定的包重新纳入生产更新范围(自动更新设置本身保持不变),并重启正在运行的服务器,这可能中断进行中或排队中的工作;已停止的服务器则保持停止。守护进程自己的 README 称其为实验性功能。2012
如何安装特定版本?
npm 与安装脚本都能按版本锁定;Homebrew 不行:212
npm install -g @openai/[email protected] # npm: exact version
curl -fsSL https://chatgpt.com/codex/install.sh | sh -s -- --release 0.162.1 # script: --release flag
curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_RELEASE=0.162.1 sh # script: env var, on the sh side
winget install OpenAI.Codex --version 0.161.0 # winget: only what it has
codex --version # verify the rollback took
注意环境变量写法的位置:CODEX_RELEASE=0.162.1 必须放在管道之后、sh 之前。写在 curl 前面,变量只作用于 curl,脚本会在你以为已经锁定的时候安装 latest。12 在 Windows 上,PowerShell 脚本把 $Release = $env:CODEX_RELEASE 声明为唯一的参数,为空时回退到 latest,所以锁定就是那个变量,在同一个会话里设置:17
$env:CODEX_RELEASE = '0.162.1'; irm https://chatgpt.com/codex/install.ps1 | iex
用完后清除它(Remove-Item Env:CODEX_RELEASE):这个变量会在该会话剩下的时间里一直保持设置,之后在同一会话中运行的安装程序,包括 codex update 启动的那一次,都会继承这个锁定。17
npm 还为预发布线提供了一个 alpha dist-tag(10 月 15 日为 0.163.0-alpha.11,于 10 月 14 日 UTC 发布,比稳定版 0.163.0 早了将近两天);npm install -g @openai/codex@alpha 会跟随它,而从 v0.161.0 起,发布较旧的 alpha 或热修复版本不再会让这个标签倒退。1021
当某个版本让你出问题时,锁定版本是正确的做法:提 issue,锁回最后一个正常的版本,继续前进。每次锁定后都用 codex --version 验证,因为 PATH 上别处的第二份安装会默默继续提供它自己的二进制文件。安装脚本正是在检查这件事:当它在你的 PATH 上发现已有 Homebrew、npm 或 bun 管理的 codex 时,会警告“Multiple managed Codex installs can be ambiguous because PATH order decides which one runs”,并主动提议替你运行对应的卸载命令;它靠 macOS 前缀 /opt/homebrew 与 /usr/local 识别 Homebrew 的情况,而且只在 macOS 上这样做,所以 Linuxbrew 的 codex 不会被发现。12 事后 codex doctor 会在 Environment 之下报告同样的状况。7
如何卸载 Codex CLI?
先趁 codex 还在你的 PATH 上时停止后台服务器,再用安装它的那条路径来卸载:
codex app-server daemon stop # first; skip if no server runs
npm uninstall -g @openai/codex
brew uninstall --cask codex
winget uninstall OpenAI.Codex
脚本安装没有包管理器可问。安装程序在 ~/.local/bin 放一个 codex 符号链接(可用 CODEX_INSTALL_DIR 覆盖),指向 ~/.codex/packages/standalone/current 里的二进制文件(当前版本是 current/bin/codex);current 本身又是指向 ~/.codex/packages/standalone/releases/ 的符号链接,每个下载的版本都放在那里。在 macOS 上,安装程序会在第一个链接旁边再加一个符号链接 codex-code-mode-host。12 从 v0.157.0 起,可能还有一个后台服务器:它的包在 ~/.codex/packages/app-server-daemon 之下(如果服务器最初是从较旧的安装启动的,则就是 standalone 包本身),状态在 ~/.codex/app-server-daemon/ 之下(settings.json,daemon.pid 与 daemon-updater.pid,或者对从 standalone 包运行的服务器而言是 app-server.pid 与 app-server-updater.pid,以及 daemon.lock)。20 先停止它,再全部删除:
codex app-server daemon stop # the background server; its updater is a separate process
pgrep -fl "app-server" || true # what is still running
grep -H . ~/.codex/app-server-daemon/*.pid 2>/dev/null # the recorded pids, by file
服务器以 codex app-server --listen unix:// 运行,开启远程控制时在 --listen 之前还有 --remote-control(listen 参数只是一个裸 scheme,命令行上看不到套接字路径),更新程序则以 codex app-server daemon pid-update-loop 运行;判断哪个进程属于后台服务器,要看 ~/.codex/app-server-daemon/ 之下的 pid 文件:专用守护进程是 daemon.pid 与 daemon-updater.pid,从 standalone 包运行的服务器是 app-server.pid 与 app-server-updater.pid。stop 结束的是服务器,不是更新程序,后者会按间隔不断醒来,直到机器重启,所以如果那里记录的某个 pid 仍然存活,现在就用 kill <pid> 结束它;其他任何 codex app-server 进程都属于你正在运行的别的东西。然后删除其余部分:1220
rm -f ~/.local/bin/codex ~/.local/bin/codex-code-mode-host # the second link exists on macOS installs only
rm -rf ~/.codex/packages/standalone ~/.codex/packages/app-server-daemon # the CLI's package and the server's
rm -rf ~/.codex/app-server-daemon # the server's settings, pid files and lock
如果安装时 ~/.local/bin 不在你的 PATH 上,或安装程序发现了相互竞争的 Homebrew、npm 或 bun 安装并改写了那个条目,脚本还会在你的 shell profile 里追加一个带标记的块:~/.zprofile(macOS zsh)、~/.bash_profile(macOS bash)、~/.zshrc(Linux zsh)、~/.bashrc(Linux bash)或 ~/.profile(其他 shell)里从 # >>> Codex installer >>> 到 # <<< Codex installer <<<。删掉那三行就完成了。12
在 Windows 上,install.ps1 在 %USERPROFILE%\.codex\packages\standalone(若你设置了那个变量则是 %CODEX_HOME%\packages\standalone)之下保持同样的布局:下载的版本放在 releases\,一个 current 联接点指向使用中的版本。它通过 %LOCALAPPDATA%\Programs\OpenAI\Codex\bin(可用 CODEX_INSTALL_DIR 覆盖)暴露 codex.exe,那本身又是指向 current\bin 的联接点;而且它不用 profile 块,而是把那个 bin 路径写进你的用户 PATH,供之后的 PowerShell 会话使用。后台服务器在那里也有同样的两个文件夹:packages\app-server-daemon 与 app-server-daemon。1720 停止它,删除 standalone 目录和服务器的两个文件夹,再删除此时已悬空的 bin 联接点,最后到“环境变量”里把该条目从用户 Path 变量中移除:17
codex app-server daemon stop # the background server; its updater is a separate process
Get-Process codex* -ErrorAction SilentlyContinue # what is still running
Get-ChildItem "$env:USERPROFILE\.codex\app-server-daemon\*.pid" -ErrorAction SilentlyContinue | ForEach-Object { "$($_.Name): $(Get-Content $_)" } # the recorded pids, by file
这里同样由 pid 文件来判断:如果 %USERPROFILE%\.codex\app-server-daemon\daemon.pid 或 daemon-updater.pid(对 standalone 包上的服务器而言是 app-server.pid 与 app-server-updater.pid)中记录的进程仍然存活,现在就用 Stop-Process -Id <pid> 结束它;其他任何 Codex 进程都是你正在运行的别的东西。然后删除其余部分:20
Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\packages\standalone" # releases plus the current junction
Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\packages\app-server-daemon", "$env:USERPROFILE\.codex\app-server-daemon" -ErrorAction SilentlyContinue # the server's package and state
cmd /c rmdir "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin" # the bin junction; rmdir removes the link, not a target
codex sandbox uninstall(v0.162.0)是针对旧有 Windows 沙箱的另一项清理:它以管理员权限删除整台机器范围的沙箱账户与网络规则,不动 Codex 主目录与沙箱目录,在其他平台上会被拒绝。19
无论走哪条路径,如果后台服务器正在运行,都先停止它(codex app-server daemon stop),并查看是否存在 ~/.codex/packages/app-server-daemon:守护进程的 README 说,没有守护进程包时,bootstrap 会把调用它的那个包复制到该文件夹,而单独的可执行文件无法提供这样的包;至于 Homebrew 或 npm 安装的自动启动是否会创建它,这里没有测试过;如果该文件夹存在,请在包管理器卸载之后把它和 ~/.codex/app-server-daemon 一起删除。20 上面的包管理器卸载都不会碰 ~/.codex/。Homebrew 的 --zap 实际上也不会:cask 唯一的 zap 段落是 rmdir: "~/.codex",而 Homebrew 只对已经为空的目录应用 rmdir:。2 那个目录存放 config.toml、你保存的凭据与每一个会话,这就是为什么重新安装后登录与历史记录会接着上次继续。只有在你真的想要一个干净的起点时才删除它,并且要知道这在脚本安装上意味着什么:
rm -rf ~/.codex # discards config.toml, credentials, all sessions -- AND the CLI itself on a script install
保留状态的干净重装在 npm 上只要一行:npm uninstall -g @openai/codex && npm install -g @openai/codex@latest。在脚本路径上,重新运行安装程序会在 ~/.codex/packages/standalone/releases 之下添加新版本,把 current 重新指向它,旧版本则原样保留到你自己删除为止,你的配置也保持不动。12
一张表看完整个生命周期
| 任务 | install.sh (macOS, Linux) | install.ps1 (Windows) | npm | Homebrew | winget |
|---|---|---|---|---|---|
| 安装 | curl -fsSL https://chatgpt.com/codex/install.sh \| sh |
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 \| iex" |
npm install -g @openai/codex |
brew install --cask codex |
winget install OpenAI.Codex |
| 更新 | codex update,或重新运行脚本 |
codex update,或重新运行脚本 |
codex update,或 npm install -g @openai/codex@latest |
codex update,或 brew upgrade --cask codex |
winget upgrade OpenAI.Codex(codex update 不识别这条路径) |
| 锁定版本 | sh -s -- --release 0.162.1 |
安装那一行之前先 $env:CODEX_RELEASE = '0.162.1' |
npm install -g @openai/[email protected] |
不支持 | winget install OpenAI.Codex --version 0.161.0 |
| 卸载 | 先 codex app-server daemon stop,再删除 ~/.local/bin 的符号链接、~/.codex/packages/standalone、~/.codex/packages/app-server-daemon 与 ~/.codex/app-server-daemon |
先 codex app-server daemon stop,再删除 %USERPROFILE%\.codex\packages\standalone、服务器的 packages\app-server-daemon 与 app-server-daemon 文件夹、%LOCALAPPDATA%\Programs\OpenAI\Codex\bin 联接点,以及用户 PATH 条目 |
若有服务器在运行先 codex app-server daemon stop,再 npm uninstall -g @openai/codex,守护进程文件夹若存在也一并删除 |
同样先停止,再 brew uninstall --cask codex(--zap 不会清除非空的 ~/.codex),守护进程文件夹若存在也一并删除 |
同样先停止,再 winget uninstall OpenAI.Codex,守护进程文件夹若存在也一并删除 |
| 检查 | codex --version、codex doctor |
同上 | 同上 | 同上 | 同上 |
codex doctor 检查什么?
codex doctor 是提交 bug 或调试一个“昨天还好好的”安装之前该运行的命令。在 0.153.4 上,它把七个部分收进一份报告:Notes、Environment(运行时与安装一致性)、Configuration(config.toml 加载状态、认证、MCP、沙箱策略)、Desktop App(v0.149.0 新增)、Updates、Connectivity 与 Background Server。--summary 给出精简视图,--json 给出脱敏的机器可读形式,--all 展开被截断的列表,--no-color 用于日志;0.153.4 的 codex doctor --help 也列出了 --ascii;v0.162.0 在报告中加入了所配置的 TUI 模式。7131522 大多数“Codex 坏了”的报告都能归结为它第一屏上点名的某件事:过期的认证模式、一个解析失败的 config.toml,或一份遮住你 PATH 上那份的第二安装。逐部分的完整说明在指南里。
安装之后会变的事
全新安装第一个绊到的不是二进制文件。从 v0.149.0 起,CLI 遇到 approval_policy = "untrusted" 会拒绝启动,所以从旧机器复制过来的 config.toml 需要改一处。13 从 Claude Code 过来的?迁移文章把两边的配置并排对照,hooks 文章则说明 Codex 在模型周围运行些什么。Codex CLI 指南是完整参考:沙箱与审批模式、AGENTS.md、MCP、skills 与云端任务。如果你两个工具都用,Claude Code 安装页是本页的孪生篇。
常见问题
如何把 Codex CLI 更新到最新版本?
运行 codex update(v0.128.0 起);它会检测你是通过脚本、npm 还是 Homebrew 安装的,并运行该渠道的升级。手动对应做法是重新运行安装脚本、npm install -g @openai/codex@latest,或 brew upgrade --cask codex。winget 安装不是 codex update 识别的渠道;那一种请用 winget upgrade OpenAI.Codex。
Codex CLI 会自动更新吗?
CLI 不会,但有一个例外。TUI 会检查是否有新版本,并提供符合你安装渠道的更新命令,而 codex update(v0.128.0 起)负责运行它。例外是 Codex 从 v0.157.0 起默认启动的后台服务器:在 latest 渠道上,它会在启动 5 分钟后检查更新,之后每小时一次;而最初从较旧脚本安装启动的服务器,一旦某次 latest 安装记录了渠道,就会更新 CLI 自身的包 ~/.codex/packages/standalone。要阻止这一点,请在 ~/.codex/app-server-daemon/settings.json 里设置 "updater": { "autoUpdateEnabled": false },然后运行 codex app-server daemon restart。
如何卸载 Codex CLI?
如果后台服务器正在运行,先停止它(codex app-server daemon stop),再用安装它的那条路径:npm uninstall -g @openai/codex、brew uninstall --cask codex,或 winget uninstall OpenAI.Codex,并查看 ~/.codex/packages/app-server-daemon 与 ~/.codex/app-server-daemon,包管理器卸载会把它们留下。脚本安装的话,同样先停止,再删除 ~/.local/bin/codex 符号链接(macOS 上还有 ~/.local/bin/codex-code-mode-host)、~/.codex/packages/standalone 目录,以及服务器的 ~/.codex/packages/app-server-daemon 与 ~/.codex/app-server-daemon。在 Windows 上,脚本安装是 %USERPROFILE%\.codex\packages\standalone(外加服务器的 packages\app-server-daemon 与 app-server-daemon 文件夹)、%LOCALAPPDATA%\Programs\OpenAI\Codex\bin 联接点,以及你用户 PATH 里的一个条目;全部都要删除。你的配置、凭据与会话会留在 ~/.codex/,直到你自己把那个目录的其余部分删掉。
如何在 Windows 上安装 Codex CLI?
运行 powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"。CLI 以原生方式在 PowerShell 里搭配 Windows 沙箱运行(设置了 prefer_mxc = true 且设备支持时使用 Microsoft Execution Containers,否则使用你配置的旧有模式,未配置时为 elevated;显式选择 [windows] sandbox = "mxc" 则要么使用 MXC,要么失败,没有后备);WSL2 是在你需要 Linux 工具或所有沙箱实现都不合用时的选项,不是必需条件。Windows 11 是推荐基线。winget install OpenAI.Codex 也能用,但落后于稳定线。
安装 Codex 需要 Node.js 吗?
只有 npm 路径需要,而且包要求 Node 16 或更新版本。安装脚本、PowerShell 脚本与 Homebrew cask 都提供编译好的 codex 二进制文件,所以没有 Node 的机器也能运行 Codex。
如何查看我装的是哪个版本的 Codex?
codex --version 会打印出来(例如 codex-cli 0.163.0)。npm view @openai/codex version 显示最新发布的版本,codex doctor 则报告安装路径,以及 PATH 上是否有另一份副本遮住了它。
-
OpenAI,openai/codex README——安装一节以 macOS 与 Linux 的
curl -fsSL https://chatgpt.com/codex/install.sh | sh和 Windows 的 PowerShellinstall.ps1单行命令领头,接着说 CLI“can also be installed via”npm(npm install -g @openai/codex)与 Homebrew(brew install --cask codex);文档化了curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh与 PowerShell 形式$env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false',引言为”To force GitHub Releases, setCODEX_INSTALLER_USE_RELEASES_OPENAI_COMtofalse(0andnoare also accepted)”;@openai/codex包名;GitHub Releases 上 macOS(Apple silicon、x86_64)与 Linux(x86_64、arm64)的平台二进制文件。2026-09-06 核实,2026-10-15 再次核实,当时安装一节除注 6 所引的那句外没有变化。 ↩↩↩↩↩↩↩↩↩ -
Homebrew,cask
codex——cask tokencodex、单一当前版本(2026-10-15 为 0.163.0,由 Homebrew/homebrew-cask 的codex 0.163.0提交于 21:44:02 UTC 更新,即 21:30:38 UTC 的 GitHub release 之后 13 分钟)、一个bin/codex二进制制品及由它生成的 shell 补全、空的depends_on、除 macOS 各版本外还包括x86_64_linux与arm64_linux的受支持平台,以及指向 GitHub release 上codex-package-aarch64-apple-darwin.tar.gz的下载 URL。2026-10-15 通过 formulae API 与 homebrew-cask 提交列表核实(2026-09-06 为 0.153.4)。cask 的 zap 段落是zap rmdir: "~/.codex",而 Cask Cookbook 把rmdir:定义为“若为空则删除”的目录路径。 ↩↩↩↩↩↩ -
Microsoft,
OpenAI.Codex的 winget-pkgs manifest——2026-10-15 有 138 个已发布版本,最新为 0.161.0(2026-09-06 为 119 个、0.146.1);没有 0.147.0、0.152.1 以及 0.153.x 到 0.155.x 的 manifest。包由 OpenAI 发布:openai/codex 的.github/workflows/rust-release.yml有一个winget作业,用komac提交 manifest(其注释:“Adapted from the WinGet Releaser version previously used by this job”;2026-10-15 重新读取)。以下 pull request 来自 2026-10-15 对该仓库的搜索,日期为 UTC,除注明外均由oai-fork-bot开出:0.147.0(#413497)未合并即关闭;0.148.0(#420225)到 0.152.0(#427090)于 8 月 18 日到 9 月 1 日开启,9 月 11 日合并,但 0.151.0(#426091)在 9 月 30 日、0.149.1(#423060)在 10 月 1 日合并;0.154.0(#435129,由社区成员z3oya开出)未合并即关闭;0.156.0(#439266)到 0.161.0(#448267)共 12 个请求,于 9 月 22 日到 10 月 7 日开启,每个都在开启当天或次日合并;0.162.0(#449062)、0.162.1(#449772)与 0.163.0(#453561)在 2026-10-15 仍开着。OpenAI 的 README 与 CLI 文档都没有提到 winget。 ↩↩↩↩↩ -
OpenAI,Codex CLI v0.128.0 发布说明,2026 年 4 月 30 日——“Added
codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn/statuslineand/titleedits.”该命令的 pull request openai/codex #19933(2026 年 4 月 28 日合并)写道”Reused the existing install-channel detection and update command runner that the TUI already uses for update prompts.”渠道映射在codex-rs/tui/src/update_action.rs:npm 及其 bun、pnpm 与 Vite+ 同类、Homebrew,以及独立安装程序(Unix 与 Windows);没有 winget 变体(2026-09-06 读取)。2026-10-15 重新读取:该 enum 新增了Daemon(DaemonUpdateSource)(“Replace the local daemon after restoring the terminal”),独立安装的命令变为curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh与$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex;仍没有 winget 变体。 ↩↩↩↩ -
OpenAI,Codex CLI v0.106.0 发布说明,2026 年 2 月 26 日——“Added a direct install script for macOS and Linux and publish it as a GitHub release asset, using the existing platform payload (including
codexandrg)”;此后每个 release 都附有install.sh。rust-v0.163.0 release(资产于 2026-10-15 通过 GitHub releases API 列出)包含install.sh与install.ps1、各平台的codex-<target>.tar.gz、.zst与 macOS.dmg文件、附带codex-package_SHA256SUMS的codex-package-<target>.tar.gz包、codex-app-server-*与codex-responses-api-proxy-*二进制文件、codex-npm-*.tgztarball,以及 6 个openai_codex_cli_bin-0.163.0-*.whl文件;PyPI 把openai-codex-cli-bin描述为“Pinned Codex CLI runtime for the Python SDK”。2026-10-15 下载的 macOS arm64 tarball 只含一个条目codex-aarch64-apple-darwin。 ↩↩ -
OpenAI,Codex CLI v0.146.0 发布说明,2026 年 7 月 29 日——“Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback.”
https://chatgpt.com/codex/install.sh以 302 响应到https://releases.openai.com/codex/install.sh(2026-09-06 与 2026-10-15 检查);2026-10-15 的 README 写道:“The standalone installers download fromhttps://releases.openai.com/codexby default and fall back to GitHub Releases if a metadata or asset download is unavailable.” ↩ -
OpenAI,
feat(cli): add codex doctor diagnostics,openai/codex PR #22336,2026 年 5 月 13 日合并——报告的各部分(Notes、Environment、Configuration、Updates、Connectivity、Background Server)及其--summary、--json、--all与--no-color标志。 ↩↩ -
OpenAI,Windows 上的 Codex:Windows 沙箱——2026-10-15 读取时:Microsoft Execution Containers,“which Microsoft is rolling out to Windows 11 devices. Microsoft introduced MXC process isolation in Windows 11 24H2 (build 26100.9278) and 25H2 (build 26200.9278)”;“The desktop app automatically prefers MXC for consumer accounts when the device supports it”,CLI 则用
[features]下的prefer_mxc = true;requirements.toml中[windows]下的allow_mxc = false会阻止它;为“Codex CLI 0.162.0 and later”记载的一条命令的测试,预期输出MXC_OK;旧有后备[windows] sandbox = "elevated"(“the preferred legacy fallback”)与"unelevated"(“a legacy fallback”,带有“weaker network isolation than elevated”);“Use MXC when the device and policy support it. Otherwise, prefer elevated, with unelevated as a secondary fallback”;“Use the native Windows sandbox by default. Choose WSL when you need Linux-native tooling, your workflow already lives in WSL2, or the available native Windows implementations don’t meet your needs”;推荐 Windows 11,“Recent, fully updated Windows 10”标为“Best effort”,控制台支持方面写明“Windows 10 version 1809 or newer is required”,更旧的 Windows 10 不推荐;设置时预期winget可用。首次核实于 2026-09-06,当时该页只描述了两种旧有模式。 ↩↩↩↩↩↩↩↩ -
OpenAI,openai/codex releases——
rust-v0.163.0于 2026 年 10 月 15 日 21:30 UTC 作为最新版发布,此前依次是rust-v0.160.0(10 月 1 日)、rust-v0.160.1(10 月 5 日)、rust-v0.161.0(10 月 7 日)、rust-v0.162.0(10 月 8 日)与rust-v0.162.1(10 月 9 日);2026 年 9 月 4 日的最新版是rust-v0.153.4(据 9 月 6 日的读取;10 月 15 日的列表只回溯到 10 月 1 日)。日期取自 GitHub releases API。 ↩↩↩ -
npm,
@openai/codex——latest= 0.163.0(2026-10-15 21:37 UTC 发布),alpha= 0.163.0-alpha.11(2026-10-14 03:38 UTC 发布),0.163.0 上的engines: { node: ">=16" },均取自 2026-10-15 的 registry 文档;2026-09-06 的latest是 0.153.4,文档的time映射在 0.146.1 之后到 0.153.4 为止列出 14 个稳定版本(0.147.0、0.148.0、0.149.0、0.149.1、0.150.0、0.150.1、0.151.0、0.152.0、0.152.1、0.153.0 到 0.153.4)。 ↩↩↩↩↩↩ -
OpenAI,Codex CLI 文档——安装以独立安装程序领头(macOS 与 Linux 的
curl -fsSL https://chatgpt.com/codex/install.sh | sh,以及一个 Windows 安装程序标签页),把 Homebrew 与 npm 列为替代方案,并以重新运行安装程序作为独立安装的更新方式。2026-09-06 核实,2026-10-15 再次核实,当时的安装标签页是 macOS/Linux、Windows、npm 与 Homebrew。 ↩↩↩↩↩↩ -
OpenAI,2026-09-06 提供、2026-10-15 重新读取的
install.sh安装脚本——Usage: install.sh [--release VERSION];环境变量CODEX_RELEASE(“Version to install; overridden by –release”)、CODEX_INSTALL_DIR(默认~/.local/bin)、CODEX_HOME(默认~/.codex)与CODEX_INSTALLER_USE_RELEASES_OPENAI_COM(“Set to 0, false, or no to use GitHub Releases”);版本存放在current符号链接之后的~/.codex/packages/standalone/releases,bin 目录里有codex符号链接(macOS 上还有codex-code-mode-host);当 bin 目录不在PATH上或检测到相互竞争的受管安装时,会在~/.zprofile、~/.bash_profile、~/.zshrc、~/.bashrc或~/.profile里追加# >>> Codex installer >>>/# <<< Codex installer <<<的PATH块(add_to_path只在没有冲突时才于PATH匹配时提前返回);以及会警告“Multiple managed Codex installs can be ambiguous because PATH order decides which one runs”并提议brew uninstall --cask codex、npm uninstall -g @openai/codex或bun remove -g @openai/codex的冲突安装检查。2026-10-15 的版本在用法说明里加入了CODEX_NON_INTERACTIVE(“Set to 1, true, or yes to skip prompts”);新增仅守护进程模式(CODEX_INSTALL_DAEMON_ONLY=1,根目录~/.codex/packages/app-server-daemon,更新程序记录app-server-daemon/daemon-updater.pid,标记文件auto-update-version,在脚本末尾为latest安装写入、为显式版本删除),并在所选版本不是已记录版本时退出的守卫上附有注释“An explicit daemon update may leave a local or pinned release. Scheduled updates still require the selected release to follow the latest channel.”;并优先使用经codex-package_SHA256SUMS校验的codex-package-<target>.tar.gz资产,把平台 npm tarball 作为旧有布局。包内的bin/codex、bin/codex-code-mode-host与codex-path/rg会被设为可执行,codex-code-mode-host链接只在 macOS 上创建;更新程序以子命令app-server daemon pid-update-loop运行(脚本第 1266 行的所有权检查以--check-package-ownership调用它)。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
OpenAI,Codex CLI v0.149.0 发布说明,2026 年 8 月 20 日——包含 #39630”Retire the untrusted approval policy”,以及”
codex doctornow diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity.” ↩↩ -
OpenAI,Windows 上的 Codex:WSL,2026-10-15 重新核实——“Use Codex CLI with WSL”:
wsl --install,打开 WSL shell,然后curl -fsSL https://chatgpt.com/codex/install.sh | sh与codex;该页也建议把仓库放在 Linux 主目录之下,而不是挂载自 Windows 的/mnt/c/路径,以获得更快的 I/O。 ↩ -
作者于 2026-09-06 在 Codex CLI 0.153.4(npm 安装)上复现:
codex doctor --summary --no-color依次打印 Notes、Environment、Configuration、Desktop App、Updates、Connectivity 与 Background Server 各部分;codex doctor --help列出--ascii。 ↩ -
OpenAI,Codex 配置参考——
check_for_update_on_startup(boolean):“Check for Codex updates on startup (set to false only when updates are centrally managed)”;features.in_app_updates(boolean):“Set to false in requirements.toml to disable in-app updates. Updates remain enabled by default when this requirement is omitted.”2026-09-06 与 2026-10-15 核实。 ↩ -
OpenAI,2026-09-06 提供、2026-10-15 重新读取的
install.ps1安装脚本——参数块param([string]$Release = $env:CODEX_RELEASE),后备为latest;$codexHome=CODEX_HOME或%USERPROFILE%\.codex;packages\standalone内有releases\、一个current联接点与install.lock;可见的 bin 目录%LOCALAPPDATA%\Programs\OpenAI\Codex\bin(或CODEX_INSTALL_DIR)创建为指向current\bin的联接点;用户范围的Path以[Environment]::SetEnvironmentVariable("Path", ..., "User")写入(“PATH updated for future PowerShell sessions.”)。2026-10-15 的版本用 .NET(SHA256CryptoServiceProvider)计算压缩包的 SHA-256,并与该版本的codex-package_SHA256SUMS比对,不匹配时抛出“Downloaded Codex archive checksum did not match expected digest”。 ↩↩↩↩ -
OpenAI,Codex CLI v0.162.0 发布说明,2026 年 10 月 8 日——“Publish a signed PowerShell installer with Windows releases. (#51158)”与“Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. (#51257)”。PR #51158,2026 年 10 月 5 日合并:“sign
scripts/install/install.ps1with Azure Trusted Signing in the x64 release job”与“publish the signed artifact asinstall.ps1instead of copying the unsigned source”。PR #51257,10 月 6 日合并:“compute SHA-256 directly with .NET APIs after resolving the archive path”。 ↩ -
OpenAI,
Add a CLI command to uninstall the legacy Windows sandbox,openai/codex PR #50437,2026 年 10 月 2 日合并,并列入 v0.162.0 发布说明;该 pull request 的描述:“Addcodex sandbox uninstallto remove machine-wide legacy Windows sandbox accounts and network rules with administrator privileges. Run cleanup without loading configuration, preserving Codex home, sandbox directories, and filesystem permissions. Reject the command on other platforms.” ↩ -
OpenAI,标签 rust-v0.163.0 上的
codex-rs/app-server-daemon/README.md——“codex-app-server-daemonis experimental and its lifecycle contract may change”;八条命令(codex app-server daemon start、restart、update、enable-remote-control、disable-remote-control、stop、version、bootstrap --remote-control);“Eligible managed daemons check for updates after five minutes, then hourly by default. EditCODEX_HOME/app-server-daemon/settings.jsonto change this”及示例"updater": { "autoUpdateEnabled": false, "updateIntervalMinutes": 120 };“It launches a detached updater loop when automatic updates are enabled, the installer selected the stablelatestchannel, and the managed binary supports the updater command”;“New daemons useCODEX_HOME/packages/app-server-daemon/current/bin/codex”与“Daemon-only installer updates leave the user’s CLI command and shell setup alone”;“Previously launched legacy daemons retainCODEX_HOME/packages/standalone/current, including its flat binary layout when present. Starts and scheduled updates keep using that location”;情形表(安装程序选择显式版本时的“the selected release stays pinned”;“the running server restarts with the new binary before the updater replaces itself”);README 所列的CODEX_HOME/app-server-daemon/之下的状态文件(settings.json、app-server.pid、app-server-updater.pid、daemon.lock;专用守护进程的daemon.pid与daemon-updater.pid取自下文的源码);“stopsends a graceful termination request first, then force-terminates the process after the configured grace window if it is still alive”;“installs made before the installer recorded channel selections need one newlatestinstallation to opt into automatic updates; until then the daemon continues to serve app-server without updating the selected release”;“daemon updateselects the latest stable release, even with automatic updates disabled. It also returns pinned or local managed packages to production update eligibility”、“A running daemon restarts, so active or queued work may be interrupted”与“Legacy installations migrate to the dedicated root once the published installer and release support migration”;“bootstrapcan use any complete CLI package. If no daemon package is installed, it copies the invoking package intoCODEX_HOME/packages/app-server-daemon”与“A bare executable cannot supply a new installation”。pid 文件名取自同一标签的源码codex-rs/app-server-daemon/src/lib.rs:LEGACY_PID_FILE_NAME = "app-server.pid"、LEGACY_UPDATE_PID_FILE_NAME = "app-server-updater.pid"、DAEMON_PID_FILE_NAME = "daemon.pid"、DAEMON_UPDATE_PID_FILE_NAME = "daemon-updater.pid"(第 54 到 57 行),旧有的一对只在受管二进制文件位于packages/standalone之下时选用(第 334 到 337 行与第 376 到 379 行),stop停止正在运行的后端(第 615 行),而更新程序由ensure_managed_updater在启动、重启或远程控制变更时停止(第 893 到 930 行),另有两条生命周期路径也会停止它(第 474 到 477 行与第 829 到 832 行),stop从不停止它;README 的“the updater loop is not reboot-persistent”(第 145 行);命令行取自src/backend/pid.rs(第 385 到 401 行:服务器为app-server --listen unix://,开启远程控制时为app-server --remote-control --listen unix://,更新程序为app-server daemon pid-update-loop)。另见 OpenAI,Codex CLI v0.157.0 发布说明,2026 年 9 月 25 日 02:31 UTC 发布——“Enabled automatic background-server startup for eligible interactive sessions, with recovery choices when server settings are incompatible. (#47179, #47318)”;v0.162.0——“#50499 Include installer stderr in daemon update failures”,其 pull request 开头写着“Daemon updates discard installer stderr”;v0.163.0,10 月 15 日——“Restart a managed background server from/daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173)”与“#52223 Enforce application network policy for daemon updates”。安装程序的守护进程模式及其更新守卫见注 12。 ↩↩↩↩↩↩↩↩ -
OpenAI,Codex CLI v0.161.0 发布说明,2026 年 10 月 7 日——“Publishing an older alpha or hotfix no longer moves npm alpha tags backward. (#49704)”。 ↩
-
OpenAI,Codex CLI v0.162.0 发布说明——“#50200 Report the configured TUI mode in
codex doctor”。 ↩