跳到主要内容

本文为非官方中文翻译,内容以 OpenAI 官方英文文档为准。
官方来源:https://developers.openai.com/codex/cli/reference

命令行选项

Codex 终端客户端的选项与标志

如何阅读本参考

本页汇总了每一个已文档化的 Codex CLI 命令和标志。使用交互式表格可按键名或描述进行搜索。每个部分都会标明该选项是稳定版还是实验版,并指出有风险的组合。

CLI 会从 ~/.codex/config.toml 继承大多数默认值。你在命令行中传递的任何 -c key=value 覆盖项都会在该次调用中具有更高优先级。更多信息请参见 配置基础

全局标志

KeyTypeDefaultDescription
PROMPTstring用于启动会话的可选文本指令。省略时将在没有预填消息的情况下启动 TUI。
--image, -ipath[,path...]将一个或多个图像文件附加到初始提示中。用逗号分隔多个路径,或重复使用该标志。
--model, -mstring覆盖配置中设置的模型(例如 gpt-5.4)。
--ossbooleanfalse使用本地开源模型提供方(等同于 -c model_provider="oss")。会验证 Ollama 正在运行。
--profile, -pstring要从 ~/.codex/config.toml 加载的配置 profile 名称。
--sandbox, -sread-only | workspace-write | danger-full-access为模型生成的 shell 命令选择沙箱策略。
--ask-for-approval, -auntrusted | on-request | never控制 Codex 在运行命令前何时暂停以请求人工批准。on-failure 已弃用;交互式运行建议使用 on-request,非交互式运行建议使用 never
--dangerously-bypass-approvals-and-sandbox, --yolobooleanfalse运行所有命令时都不进行批准或沙箱限制。仅应在外部已加固的环境中使用。
--cd, -Cpath在 agent 开始处理你的请求之前,为其设置工作目录。
--searchbooleanfalse启用实时 Web 搜索(将 web_search = "live" 而不是默认的 "cached")。
--add-dirpath除主工作区外,还授予其他目录写入权限。可重复指定多个路径。
--no-alt-screenbooleanfalse为 TUI 禁用备用屏幕模式(在本次运行中覆盖 tui.alternate_screen)。
--remotews://host:port | wss://host:port将交互式 TUI 连接到远程 app-server WebSocket 端点。支持 codexcodex resumecodex fork;其他子命令会拒绝远程模式。
--remote-auth-token-envENV_VAR从该环境变量读取 bearer token,并在使用 --remote 连接时发送。需要配合 --remote;token 仅会通过 wss:// URL,或主机为 localhost127.0.0.1::1ws:// URL 发送。
--enablefeature强制启用某个功能标志(会转换为 -c features.=true)。可重复使用。
--disablefeature强制禁用某个功能标志(会转换为 -c features.=false)。可重复使用。
--config, -ckey=value覆盖配置值。如果可能,值会按 JSON 解析;否则使用字面字符串。

这些选项适用于基础 codex 命令,并会传播到每个子命令,除非下文某一部分另有说明。 运行子命令时,请将全局标志放在其后(例如 codex exec --oss ...),这样 Codex 才会按预期应用它们。

命令概览

Maturity 列使用功能成熟度标签,例如 Experimental、Beta 和 Stable。关于如何 理解这些标签,请参见 Feature Maturity

KeyMaturityDefaultDescription
codexstable启动终端 UI。接受上面的全局标志,以及可选提示或图像附件。
codex app-serverexperimental启动 Codex app server,用于通过 stdio、WebSocket 或 Unix socket 进行本地开发或调试。
codex remote-controlexperimental确保本地 app-server 守护进程已运行,并启用了 remote-control 支持。
codex appstable在 macOS 或 Windows 上启动 Codex 桌面应用。在 macOS 上,Codex 可以打开工作区路径;在 Windows 上,Codex 会打印要打开的路径。
codex debug app-server send-message-v2experimental通过内置测试客户端发送单条 V2 消息,以调试 app-server。
codex debug modelsexperimental打印 Codex 所看到的原始模型目录,并提供仅检查捆绑目录的选项。
codex applystable将 Codex Cloud 任务生成的最新 diff 应用到你的本地工作树。别名:codex a
codex cloudexperimental无需打开 TUI,直接在终端中浏览或执行 Codex Cloud 任务。别名:codex cloud-tasks
codex completionstable为 Bash、Zsh、Fish 或 PowerShell 生成 shell 自动补全脚本。
codex featuresstable列出功能标志,并在 config.toml 中持久启用或禁用它们。
codex execstable以非交互方式运行 Codex。别名:codex e。将结果流式输出到 stdout 或 JSONL,并可选择恢复之前的会话。
codex execpolicyexperimental评估 execpolicy 规则文件,并查看某个命令会被允许、提示还是阻止。
codex loginstable使用 ChatGPT OAuth、设备认证、API key,或通过 stdin 管道传入的 access token 来验证 Codex。
codex logoutstable移除已存储的认证凭据。
codex mcpexperimental管理 Model Context Protocol 服务器(列出、添加、移除、认证)。
codex plugin marketplaceexperimental从 Git 或本地源添加、升级或移除插件市场。
codex mcp-serverexperimental通过 stdio 将 Codex 自身作为 MCP server 运行。当另一个 agent 使用 Codex 时非常有用。
codex resumestable按 ID 继续之前的交互式会话,或恢复最近一次对话。
codex forkstable将之前的交互式会话 fork 到新线程中,同时保留原始记录。
codex sandboxexperimental在 Codex 提供的 macOS、Linux 或 Windows 沙箱中运行任意命令。
codex updatestable当已安装版本支持自更新时,检查并应用 Codex CLI 更新。

命令详情

codex(交互式)

运行不带子命令的 codex 会启动交互式终端 UI(TUI)。该 agent 接受上面的全局标志以及图像附件。Web 搜索默认使用缓存模式;使用 --search 可切换到实时浏览。对于低阻力的本地工作,可使用 --sandbox workspace-write --ask-for-approval on-request

使用 --remote ws://host:port--remote wss://host:port 可将 TUI 连接到通过 codex app-server --listen ws://IP:PORT 启动的 app server。若服务器要求使用 bearer token 进行 WebSocket 认证,请添加 --remote-auth-token-env <ENV_VAR>

codex app-server

在本地启动 Codex app server。这主要用于开发和调试,且可能会在不事先通知的情况下发生变化。

KeyTypeDefaultDescription
--listenstdio:// | ws://IP:PORT | unix:// | unix://PATH | offstdio://传输监听器 URL。stdio:// 用于 JSONL,ws://IP:PORT 用于 TCP WebSocket 端点,unix:// 用于默认 Unix socket,unix://PATH 用于自定义 Unix socket,off 用于禁用本地传输。
--ws-authcapability-token | signed-bearer-tokenapp-server WebSocket 客户端的认证模式。如省略,则禁用 WebSocket 认证;非本地监听器会在启动期间发出警告。
--ws-token-fileabsolute path包含共享 capability token 的文件。与 --ws-auth capability-token 一起使用时为必需。
--ws-shared-secret-fileabsolute path包含 HMAC 共享密钥的文件,用于验证已签名 JWT bearer token。与 --ws-auth signed-bearer-token 一起使用时为必需。
--ws-issuerstring已签名 bearer token 期望的 iss claim。需要 --ws-auth signed-bearer-token
--ws-audiencestring已签名 bearer token 期望的 aud claim。需要 --ws-auth signed-bearer-token
--ws-max-clock-skew-secondsnumber30验证已签名 bearer token 的 expnbf claim 时允许的时钟偏差秒数。需要 --ws-auth signed-bearer-token
--analytics-default-enabledbooleanfalse默认对第一方 app-server 客户端启用 analytics,除非用户在配置中选择退出。

codex app-server --listen stdio:// 会保持默认的 JSONL-over-stdio 行为。--listen ws://IP:PORT 会为 app-server 客户端启用 WebSocket 传输。服务器接受 ws:// 监听 URL;当客户端使用 wss:// 连接时,请使用 TLS 终止或安全代理。使用 --listen unix:// 可在 Codex 的默认 Unix socket 上接受 WebSocket 握手,或使用 --listen unix:///absolute/path.sock 来指定 socket 路径。如果你要为客户端绑定生成 schema,请添加 --experimental 以包含受限字段和方法。

codex remote-control

请确保 app-server 守护进程正在运行,并已启用 remote-control 支持。 受管的 remote-control 客户端和 SSH 远程工作流会使用此命令;当你在构建本地协议客户端时, 它不能替代 codex app-server --listen

codex app

在 macOS 或 Windows 上从终端启动 Codex Desktop。在 macOS 上,Codex 可以打开特定的工作区路径;在 Windows 上,Codex 会打印要打开的路径。

KeyTypeDefaultDescription
PATHpath.Codex Desktop 的工作区路径。在 macOS 上,Codex 会打开该路径;在 Windows 上,Codex 会打印该路径。
--download-urlurl安装期间所用 Codex desktop installer URL 的高级覆盖选项。

codex app 会打开已安装的 Codex Desktop 应用,或在应用缺失时启动安装程序。在 macOS 上,Codex 会打开提供的工作区路径;在 Windows 上,它会在安装后打印要打开的路径。

codex debug app-server send-message-v2

使用内置的 app-server 测试客户端,通过 app-server 的 V2 thread/turn 流程发送一条消息。

KeyTypeDefaultDescription
USER_MESSAGEstring通过内置 V2 test-client 流程发送到 app-server 的消息文本。

此调试流程会以 experimentalApi: true 初始化,启动一个 thread,发送一个 turn,并流式输出服务器通知。使用它可以在本地复现并检查 app-server 协议行为。

codex debug models

以 JSON 形式打印 Codex 所见的原始模型目录。

KeyTypeDefaultDescription
--bundledbooleanfalse跳过刷新,只打印当前 Codex 二进制文件中捆绑的模型目录。

当你只想检查当前二进制文件中捆绑的目录、而不从远程 models endpoint 刷新时,请使用 --bundled

codex apply

将 Codex cloud 任务中的最新 diff 应用到你的本地仓库。你必须已认证并且有权访问该任务。

KeyTypeDefaultDescription
TASK_IDstring其 diff 应被应用的 Codex Cloud 任务标识符。

Codex 会打印已打补丁的文件;如果 git apply 失败(例如由于冲突),则会以非零状态退出。

codex cloud

从终端与 Codex cloud 任务交互。默认命令会打开一个交互式选择器;codex cloud exec 直接提交任务,而 codex cloud list 返回最近的任务,便于脚本使用或快速检查。

KeyTypeDefaultDescription
QUERYstring任务提示词。如果省略,Codex 会以交互方式提示你输入详细信息。
--envENV_ID目标 Codex Cloud environment 标识符(必需)。使用 codex cloud 列出可选项。
--attempts1-41Codex Cloud 应运行的 assistant 尝试次数(best-of-N)。

认证遵循与主 CLI 相同的凭据。如果任务提交失败,Codex 会以非零状态退出。

codex cloud list

列出最近的 cloud 任务,并支持可选过滤和分页。

KeyTypeDefaultDescription
--envENV_ID按 environment 标识符过滤任务。
--limit1-2020返回的最大任务数。
--cursorstring上一次请求返回的分页游标。
--jsonbooleanfalse输出适合机器读取的 JSON,而不是纯文本。

纯文本输出会打印任务 URL,后跟状态详情。自动化场景请使用 --json。JSON 载荷包含一个 tasks 数组以及一个可选的 cursor 值。每个任务都包含 idurltitlestatusupdated_atenvironment_idenvironment_labelsummaryis_reviewattempt_total

codex completion

生成 shell 自动补全脚本,并将输出重定向到相应位置,例如 codex completion zsh > "${fpath[1]}/_codex"

KeyTypeDefaultDescription
SHELLbash | zsh | fish | power-shell | elvishbash要生成补全的 shell。输出会打印到 stdout。

codex features

管理存储在 ~/.codex/config.toml 中的 feature flag。enabledisable 命令会持久化更改,以便应用于未来会话。当你使用 --profile 启动时,Codex 会写入该 profile,而不是根配置。

KeyTypeDefaultDescription
List subcommandcodex features list显示已知的 feature flag、其成熟阶段以及其生效状态。
Enable subcommandcodex features enableconfig.toml 中持久启用某个 feature flag。提供时会遵循当前活动的 --profile
Disable subcommandcodex features disableconfig.toml 中持久禁用某个 feature flag。提供时会遵循当前活动的 --profile

codex exec

对于应在无人交互的情况下完成的脚本化或 CI 风格运行,请使用 codex exec(或简写形式 codex e)。

KeyTypeDefaultDescription
PROMPTstring | - (read stdin)任务的初始指令。使用 - 可从 stdin 管道传入提示词。
--image, -ipath[,path...]将图像附加到第一条消息。可重复使用;支持逗号分隔列表。
--model, -mstring覆盖本次运行配置的模型。
--ossbooleanfalse使用本地 open source provider(需要正在运行的 Ollama 实例)。
--sandbox, -sread-only | workspace-write | danger-full-access模型生成命令的沙箱策略。默认使用配置值。
--profile, -pstring选择在 config.toml 中定义的配置 profile。
--full-autobooleanfalse已弃用的兼容标志。优先使用 --sandbox workspace-write;使用此标志时 Codex 会打印警告。
--dangerously-bypass-approvals-and-sandbox, --yolobooleanfalse跳过审批提示和沙箱。危险——仅在隔离的 runner 内使用。
--cd, -Cpath在执行任务前设置工作区根目录。
--skip-git-repo-checkbooleanfalse允许在 Git 仓库之外运行(适用于一次性目录)。
--ephemeralbooleanfalse运行时不将会话 rollout 文件持久化到磁盘。
--ignore-user-configbooleanfalse不加载 $CODEX_HOME/config.toml。认证仍使用 CODEX_HOME
--ignore-rulesbooleanfalse本次运行不加载用户或项目 execpolicy .rules 文件。
--output-schemapath描述预期最终响应结构的 JSON Schema 文件。Codex 会根据它验证工具输出。
--coloralways | never | autoauto控制 stdout 中的 ANSI 颜色。
--json, --experimental-jsonbooleanfalse打印按换行分隔的 JSON 事件,而不是格式化文本。
--output-last-message, -opath将 assistant 的最终消息写入文件。适用于下游脚本。
Resume subcommandcodex exec resume [SESSION_ID]通过 ID 恢复一个 exec 会话,或添加 --last 从当前工作目录继续最近的会话。添加 --all 以考虑任意目录中的会话。接受一个可选的后续提示词。
-c, --configkey=value为非交互式运行内联覆盖配置(可重复)。

Codex 默认输出格式化文本。添加 --json 可接收按换行分隔的 JSON 事件(每次状态变化一条)。可选的 resume 子命令允许你继续非交互式任务。使用 --last 选择当前工作目录中最近的会话,或添加 --all 以跨所有会话搜索:

KeyTypeDefaultDescription
SESSION_IDuuid恢复指定的会话。省略并使用 --last 可继续最近的会话。
--lastbooleanfalse恢复当前工作目录中最近的一次对话。
--allbooleanfalse在选择最近会话时,包含当前工作目录之外的会话。
--image, -ipath[,path...]将一张或多张图像附加到后续提示词。多个路径用逗号分隔,或重复该标志。
PROMPTstring | - (read stdin)恢复后立即发送的可选后续指令。

codex execpolicy

在保存 execpolicy 规则文件之前先检查它们。codex execpolicy check 接受一个或多个 --rules 标志(例如 ~/.codex/rules 下的文件),并输出 JSON,显示最严格的决策以及任何匹配的规则。添加 --pretty 可格式化输出。execpolicy 命令当前处于预览阶段。

KeyTypeDefaultDescription
--rules, -rpath(可重复)要评估的 execpolicy 规则文件路径。提供多个标志以合并多个文件中的规则。
--prettybooleanfalse美化打印 JSON 结果。
COMMAND...可变参数要根据指定策略进行检查的命令。

codex login

使用 ChatGPT 账号、API key 或 access token 对 CLI 进行身份验证。不带任何标志时,Codex 会打开浏览器以进行 ChatGPT OAuth 流程。

KeyTypeDefaultDescription
--with-api-keyboolean从 stdin 读取 API key(例如 printenv OPENAI_API_KEY | codex login --with-api-key)。
--with-access-tokenboolean从 stdin 读取 access token(例如 printenv CODEX_ACCESS_TOKEN | codex login --with-access-token)。
--device-authboolean使用 OAuth 设备码流程,而不是启动浏览器窗口。
status subcommandcodex login status打印当前激活的身份验证模式,并在已登录时以 0 退出。

当凭据存在时,codex login status 会以 0 退出,这在自动化脚本中很有帮助。

codex logout

删除已保存的 API key 和 ChatGPT 身份验证凭据。此命令没有任何标志。

codex mcp

管理存储在 ~/.codex/config.toml 中的 Model Context Protocol 服务器条目。

KeyTypeDefaultDescription
list--json列出已配置的 MCP 服务器。添加 --json 可获得机器可读的输出。
get--json显示特定服务器配置。--json 会打印原始配置条目。
add-- | --url使用 stdio 启动命令或可流式传输的 HTTP URL 注册服务器。对 stdio 传输支持 --env KEY=VALUE
remove删除已存储的 MCP 服务器定义。
login--scopes scope1,scope2为可流式传输的 HTTP 服务器启动 OAuth 登录(仅适用于支持 OAuth 的服务器)。
logout删除可流式传输的 HTTP 服务器已存储的 OAuth 凭据。

add 子命令同时支持 stdio 和可流式传输的 HTTP 传输方式:

KeyTypeDefaultDescription
COMMAND...stdio 传输用于启动 MCP 服务器的可执行文件及其参数。在 -- 之后提供。
--env KEY=VALUE可重复启动 stdio 服务器时应用的环境变量赋值。
--urlhttps://…注册可流式传输的 HTTP 服务器,而不是 stdio。与 COMMAND... 互斥。
--bearer-token-env-varENV_VAR连接可流式传输的 HTTP 服务器时,将其值作为 bearer token 发送的环境变量。

OAuth 操作(loginlogout)仅适用于可流式传输的 HTTP 服务器(并且仅在服务器支持 OAuth 时可用)。

codex plugin marketplace

管理 Codex 可浏览并从中安装插件的 plugin marketplace 源。

KeyTypeDefaultDescription
add[--ref REF] [--sparse PATH]从 GitHub 简写、Git URL、SSH URL 或本地 marketplace 根目录安装一个 plugin marketplace。--sparse 仅支持 Git 源,并且可重复使用。
upgrade [marketplace-name]刷新一个已配置的 Git marketplace;如果未提供名称,则刷新所有已配置的 Git marketplace。
remove删除一个已配置的 plugin marketplace。

codex plugin marketplace add 接受如 owner/repoowner/repo@ref 这样的 GitHub 简写、HTTP 或 HTTPS Git URL、SSH Git URL,以及本地 marketplace 根目录。使用 --ref 可固定 Git ref,并可重复使用 --sparse PATH,以便对基于 Git 的 marketplace 仓库 使用稀疏检出。

codex mcp-server

通过 stdio 将 Codex 作为 MCP 服务器运行,以便其他工具连接。此命令会继承全局配置覆盖项,并在下游客户端关闭连接时退出。

codex resume

按 ID 继续交互式会话,或恢复最近一次对话。codex resume 会将 --last 限定在当前工作目录中,除非你传入 --all。它接受与 codex 相同的全局标志,包括 model 和 sandbox 覆盖项。

KeyTypeDefaultDescription
SESSION_IDuuid恢复指定的会话。省略该参数并使用 --last 可继续最近一次会话。
--lastbooleanfalse跳过选择器,恢复当前工作目录中最近一次对话。
--allbooleanfalse选择最近会话时,包含当前工作目录之外的会话。

codex fork

将之前的交互式会话分叉为一个新线程。默认情况下,codex fork 会打开会话选择器;添加 --last 可改为分叉你最近一次会话。

KeyTypeDefaultDescription
SESSION_IDuuid分叉指定会话。省略该参数并使用 --last 可分叉最近一次会话。
--lastbooleanfalse跳过选择器,自动分叉最近一次对话。
--allbooleanfalse在选择器中显示当前工作目录之外的会话。

codex sandbox

使用 sandbox 辅助工具,在与 Codex 内部使用相同的策略下运行命令。

macOS seatbelt

KeyTypeDefaultDescription
--permissions-profileNAME应用来自当前配置栈的命名权限配置文件。
--cd, -CDIR用于配置文件解析和命令执行的工作目录。需要 --permissions-profile
--include-managed-configbooleanfalse在解析显式权限配置文件时包含受管要求。需要 --permissions-profile
--allow-unix-socketpath允许被沙箱限制的命令绑定或连接以该路径为根的 Unix socket。可重复以允许多个路径。
--log-denialsbooleanfalse在命令运行期间使用 log stream 捕获 macOS 沙箱拒绝记录,并在退出后打印。
--config, -ckey=value将配置覆盖项传入沙箱运行环境(可重复)。
COMMAND...可变参数在 macOS Seatbelt 下执行的 shell 命令。-- 之后的所有内容都会被转发。

Linux Landlock

KeyTypeDefaultDescription
--permissions-profileNAME应用来自当前配置栈的命名权限配置文件。
--cd, -CDIR用于配置文件解析和命令执行的工作目录。需要 --permissions-profile
--include-managed-configbooleanfalse在解析显式权限配置文件时包含受管要求。需要 --permissions-profile
--config, -ckey=value在启动沙箱前应用的配置覆盖项(可重复)。
COMMAND...可变参数在 Landlock + seccomp 下执行的命令。在 -- 之后提供可执行文件。

Windows

KeyTypeDefaultDescription
--permissions-profileNAME应用来自当前配置栈的命名权限配置文件。
--cd, -CDIR用于配置文件解析和命令执行的工作目录。需要 --permissions-profile
--include-managed-configbooleanfalse在解析显式权限配置文件时包含受管要求。需要 --permissions-profile
--config, -ckey=value在启动沙箱前应用的配置覆盖项(可重复)。
COMMAND...可变参数在原生 Windows 沙箱下执行的命令。在 -- 之后提供可执行文件。

codex update

检查并应用 Codex CLI 更新(当已安装的发布版本支持自更新时)。调试构建会打印一条消息,提示你改为安装发布版本。

标志组合与安全提示

  • 对于可限制在工作区内的无人值守本地工作,请使用 --sandbox workspace-write,并避免使用 --dangerously-bypass-approvals-and-sandbox,除非你处于专用的沙箱 VM 中。
  • 当你需要授予 Codex 对更多目录的写入权限时,优先使用 --add-dir,而不是强制使用 --sandbox danger-full-access
  • 在 CI 中将 --json--output-last-message 配合使用,以捕获机器可读的进度和最终的自然语言摘要。
  • Codex CLI 概览:安装、升级和快速提示。
  • 配置基础:持久化 model 和 provider 等默认值。
  • 高级配置:profiles、providers、sandbox 调优和集成。
  • AGENTS.md:Codex agent 能力与最佳实践的概念性概览。