安装、登录与升级
Codex CLI 的系统要求、安装方式、登录与凭据存储、升级、诊断与卸载
系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | macOS 12+;Ubuntu 20.04+ / Debian 10+;Windows 11(原生或 WSL2),Windows 10 1809+ 为尽力支持 |
| 处理器 | x86_64 或 ARM64,Windows 须为 64 位系统 |
| 内存 | 至少 4 GB,推荐 8 GB |
| Git | 可选但推荐,2.23+(内置的 PR 辅助功能需要) |
Linux 与 WSL2 上的命令沙箱依赖 bwrap,建议先安装 bubblewrap(sudo apt install bubblewrap 或 sudo dnf install bubblewrap)。找不到 bwrap 时 Codex 会退回内置的辅助程序,但它要求系统允许创建非特权用户命名空间;Ubuntu 24.04 上可能还要加载 AppArmor 配置,见官方 Sandbox 文档。
安装方式
官方安装脚本(推荐)
macOS / Linux:
curl -fsSL https://chatgpt.com/codex/install.sh | shWindows(PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"脚本会识别平台(macOS Apple Silicon / Intel、Linux x64 / ARM64、Windows x64 / ARM64),优先从 https://releases.openai.com/codex 下载,不可用时回退到 GitHub Releases。程序本体放在 $CODEX_HOME/packages/standalone(默认 ~/.codex/packages/standalone),codex 命令放在 ~/.local/bin(Windows 为 %LOCALAPPDATA%\Programs\OpenAI\Codex\bin)。该目录不在 PATH 中时,脚本会把它写进 shell 启动文件(macOS 为 ~/.zprofile 或 ~/.bash_profile,Linux 为 ~/.zshrc 或 ~/.bashrc,其他 shell 为 ~/.profile,内容夹在 # >>> Codex installer >>> 标记之间)或 Windows 的用户级 Path。重新运行同一条命令即可升级。
| 环境变量 | 默认 | 作用 |
|---|---|---|
CODEX_RELEASE | latest | 安装指定版本,如 0.158.0(install.sh 也可用 --release 参数) |
CODEX_NON_INTERACTIVE | false | 设为 1、true 或 yes 时跳过提示、采用默认答案 |
CODEX_INSTALL_DIR | 见上文 | 更改 codex 命令的安装目录 |
CODEX_INSTALLER_USE_RELEASES_OPENAI_COM | true | 设为 false、0 或 no 时只从 GitHub Releases 下载 |
curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_RELEASE=0.158.0 sh$env:CODEX_RELEASE='0.158.0'; irm https://chatgpt.com/codex/install.ps1 | iexnpm
npm install -g @openai/codexnpm 包只是一个 Node.js 启动器(要求 Node.js 16+),原生程序在按平台拆分的可选依赖里(如 @openai/codex-linux-x64)。启动时若报 Missing optional dependency,说明平台包没装上,重新执行 npm install -g @openai/codex@latest 即可。用 pnpm、bun 或 Vite+(vp)全局安装的,同样能被 codex update 识别。
Homebrew
brew install --cask codex
brew upgrade --cask codex # 升级GitHub Releases 二进制
从最新 Release 下载对应平台的压缩包:macOS 为 codex-aarch64-apple-darwin.tar.gz(Apple Silicon)或 codex-x86_64-apple-darwin.tar.gz(Intel),Linux 为 codex-x86_64-unknown-linux-musl.tar.gz 或 codex-aarch64-unknown-linux-musl.tar.gz。压缩包里只有一个带平台名的可执行文件,解压后改名为 codex 并放进 PATH。Release 中还附带名为 codex 的 DotSlash 文件,可提交进仓库,让团队在各平台上统一版本。
验证安装
codex --version
codex doctorcodex doctor 检查系统与安装、配置、认证、更新、网络与连通性(含 WebSocket 与模型提供方的可达性)、MCP、沙箱、磁盘、Git、终端、本地状态库、app-server 与会话清单是否正常,只报告问题、不做修复,有检查失败时退出码为 1,报 issue 前建议先跑一遍。v0.156.0 起它还会逐个解析配置里授权的文件系统路径,慢或解析失败时给出警告,配置加载出错时只报告文件、行号与列号,不回显配置内容;v0.157.0 起会列出完整性检查失败的 SQLite 数据库路径。v0.158.0 起,诊断日志写不进本地 SQLite 数据库时,Codex 会给出一次警告,建议在关闭前用 /feedback 附带日志上报,或运行 codex doctor 排查。常用参数:--summary(只看分组结果与计数)、--all(展开较长的列表)、--json(输出脱敏的机器可读报告)、--no-color、--ascii(只用 ASCII 字符)。
登录
Codex 支持两种个人登录方式:
- ChatGPT 账号:使用套餐内的 Codex 用量,遵循 ChatGPT 工作区的权限与数据保留设置;Codex cloud 只支持这种方式。
- API key:按 OpenAI Platform 的 API 标准价格计费,适合 CI 等自动化场景;依赖 ChatGPT 工作区或云服务的部分功能受限或不可用。
首次运行 codex 会出现登录界面,可选 Sign in with ChatGPT、Sign in with Device Code 或 Provide your own API key(选 API key 时,若已设置 OPENAI_API_KEY 会自动预填)。v0.158.0 起,浏览器没有自动打开时,可以在登录界面按 c 复制登录链接,也可以直接用鼠标选中链接与设备码;TUI 连接本机的后台服务(app-server 守护进程)时,选 Sign in with ChatGPT 也会自动打开浏览器(此前不会)。也可以直接使用 codex login:
| 命令 | 作用 |
|---|---|
codex login | 打开浏览器完成 ChatGPT OAuth 登录。本地回调服务监听 127.0.0.1:1455(被占用时改用 127.0.0.1:1457);v0.158.0 起浏览器回调地址也由 localhost 改为 127.0.0.1 |
codex login --device-auth | 设备码登录(beta):在浏览器打开链接、登录后输入一次性代码 |
printenv OPENAI_API_KEY | codex login --with-api-key | 从 stdin 读取 API key 并保存 |
printenv CODEX_ACCESS_TOKEN | codex login --with-access-token | 从 stdin 读取 Codex access token(企业自动化场景) |
codex login status | 显示当前登录方式;已登录时退出码为 0,未登录为 1 |
codex logout | 删除已保存的凭据(API key 与 ChatGPT 登录均清除) |
--with-api-key与--with-access-token只能二选一;旧版直接跟 key 的--api-key已废弃,使用时会报错并提示改用管道传入。- 公司网络有 TLS 拦截代理或私有根证书时,登录前把
CODEX_CA_CERTIFICATE指向 PEM 证书包(未设置时使用SSL_CERT_FILE);登录失败时可查看日志目录中的codex-login.log。 - CI 中更推荐 API key:
codex exec与codex review会读取CODEX_API_KEY,见环境变量。
在没有浏览器的远程机器上登录
- 设备码(首选):先在 ChatGPT 安全设置(个人账号)或工作区权限(管理员)中启用设备码登录,再运行
codex login --device-auth。 - 转发回调端口:用
ssh -L 1455:127.0.0.1:1455 user@remote登录远程机器后运行codex login,在本机浏览器打开它打印的地址。远程的 1455 端口被占用时,回调会改用 1457,需要相应地转发 1457。 - 复制凭据缓存:在有浏览器的机器上登录,再把
~/.codex/auth.json复制到远程机器的同一路径(仅适用于文件存储):
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.json凭据存储
登录信息会缓存并重复使用,ChatGPT 登录的 token 会在过期前自动刷新。缓存位置由 config.toml 中的 cli_auth_credentials_store 决定:
| 取值 | 行为 |
|---|---|
file(默认) | 以明文保存在 $CODEX_HOME/auth.json(默认 ~/.codex/auth.json) |
keyring | 保存到操作系统凭据库,不可用时报错 |
auto | 凭据库可用时用凭据库,否则回退到 auth.json |
ephemeral | 只保存在当前进程的内存中 |
auth.json 里存的是访问令牌,要像密码一样对待:不要提交到仓库,也不要贴进工单或聊天。
托管环境中,管理员可以用 forced_login_method = "chatgpt"(或 "api")只允许一种登录方式,用 forced_chatgpt_workspace_id 把 ChatGPT 登录限定到指定工作区;凭据不符合限制时,Codex 会登出并退出。
升级
codex update 会识别当前的安装方式,执行对应的升级命令:
| 安装方式 | codex update 实际执行 |
|---|---|
| 安装脚本(macOS / Linux) | curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh |
| 安装脚本(Windows) | 用 PowerShell 以非交互方式重新运行 install.ps1 |
| npm | npm install -g @openai/codex |
| pnpm / bun / Vite+ | pnpm add -g @openai/codex / bun install -g @openai/codex / vp install -g @openai/codex |
| Homebrew | brew upgrade --cask codex |
识别不出安装方式时(如手动放置的二进制)会提示手动更新。Codex 默认在启动时检查新版本并提示升级;版本由公司统一管理时,可设置 check_for_update_on_startup = false 关闭检查。
v0.155.0 起,安装脚本会记下你装的是 latest 还是指定版本。跟随 latest 的独立安装版,后台的 app-server 守护进程运行时会定期自动更新,也可以用 codex app-server daemon update 立即更新(设置方法见 SDK 与 App Server);用 CODEX_RELEASE 或 --release 指定版本安装的,守护进程保持在该版本。更早用安装脚本装的,要重新用 latest 安装一次才会开始自动更新。
v0.156.0 起,新装的守护进程使用独立的安装包目录 CODEX_HOME/packages/app-server-daemon,和 codex 命令分开更新:codex update 只升级 CLI 本身,守护进程由它自己的更新程序、codex app-server daemon update 或 TUI 中的 /daemon 更新;之前启动过的旧守护进程仍与独立安装版共用 packages/standalone,执行一次 codex app-server daemon update 就会迁移过去。两者版本不一致时,TUI 启动时会给出提示。
Windows 与 WSL
原生 Windows:用 PowerShell 脚本安装即可。命令在原生 Windows 沙箱中运行,可在 config.toml 中选择沙箱实现:
[windows]
sandbox = "elevated" # 或 "unelevated";v0.156.0 起还可以是 "mxc"elevated(首选)使用专门的低权限沙箱用户、文件系统权限边界与防火墙规则,首次设置需要管理员批准;unelevated(回退)使用当前用户派生的受限令牌,隔离较弱,可在会话中用 /setup-default-sandbox 改走 elevated 设置。推荐 Windows 11;Windows 10 需 1809 及以上版本(依赖 ConPTY)。
v0.158.0 起,在 Windows 上自动启动后台服务时,如果启动 Codex 的程序不允许后台进程脱离它继续运行(如 cargo run),Codex 改用内嵌服务并给出警告,不再直接启动失败;以管道方式启动的子进程也不再弹出控制台窗口(启动 code-mode host 与本地 stdio MCP 服务器时的弹窗已在 v0.157.1 修复)。
WSL2:需要 Linux 原生工具链、或项目本就在 WSL 中时选择它。在管理员 PowerShell 中执行 wsl --install 装好发行版,再在 WSL 里用 macOS / Linux 的安装脚本安装并装好 bubblewrap。仓库尽量放在 Linux 家目录(如 ~/code)而不是 /mnt/c 下,I/O 更快。自 0.115 起 Linux 沙箱改用 bubblewrap,WSL1 不再受支持。
卸载
官方文档未单独说明卸载,以下依据各安装方式的行为整理:
| 安装方式 | 卸载方法 |
|---|---|
| npm | npm uninstall -g @openai/codex |
| Homebrew | brew uninstall --cask codex |
| 安装脚本(macOS / Linux) | 删除 ~/.local/bin/codex(macOS 上可能还有同目录的 codex-code-mode-host)与 ~/.codex/packages/standalone,再删掉 shell 启动文件中 Codex installer 标记之间的内容 |
| 安装脚本(Windows) | 删除 %LOCALAPPDATA%\Programs\OpenAI\Codex\bin 与 %USERPROFILE%\.codex\packages\standalone,并从用户级 Path 中移除该目录 |
用过后台服务的,先运行 codex app-server daemon stop 停掉守护进程;v0.156.0 起它的安装包单独放在 ~/.codex/packages/app-server-daemon(Windows 为 %USERPROFILE%\.codex\packages\app-server-daemon),也要一并删除。
如果还要清除配置、凭据与会话记录(不可恢复),先运行 codex logout(凭据存放在系统凭据库时,只删目录清除不了它们),再删除 ~/.codex(或你设置的 CODEX_HOME)。桌面应用与 IDE 扩展也使用这个目录,删除前请确认。