为什么有些操作会停下来等批准?
使用 Codex 时,修改项目里的文件往往可以直接完成,但写入另一个目录、访问受限网络时,又可能停下来要求批准。开启自动审核后,也仍然会遇到需要自己处理的授权。
理解这些提示,需要分清三个设置:
| 设置 | 解决什么问题 |
|---|---|
| 沙盒权限 | Codex 可以在哪些技术边界内操作? |
| 审批策略 | 什么时候可以发起审批? |
| 审核人 | 需要审批时,由谁决定是否放行? |
沙盒:限制文件和网络访问
沙盒给 Codex 执行的命令划定文件和网络访问边界。这些限制通过操作系统机制实施,运行脚本、Git 或测试命令时同样适用。
常见的沙盒模式有三种:
- 只读(read-only):允许在读取范围内查看文件;沙盒内不能修改文件。
- 工作空间写入(workspace-write):允许在工作空间、额外授权的可写目录及允许的临时目录内读写和运行命令。部分配置目录仍可能受只读保护。
- 完整访问(danger-full-access):移除 Codex 的沙盒限制,但操作系统本身的权限、应用授权和组织管理要求仍然适用。
沙盒能缩小误操作的影响范围,但允许写入的目录内,仍可能发生误删或错误修改。它不能替代备份和版本管理。官方沙盒说明
workspace-write 的读取权限怎么控制?
workspace-write 不能理解成“只能读写工作空间”。它主要限定写入范围,读取范围要单独看实际文件系统策略。
在支持权限配置的客户端中,目录可以设为:
read:可以读取文件、列出目录,不能修改。write:可以读取和修改,包括创建、重命名和删除。deny:禁止读取和写入。
如果策略给文件系统根目录 :root 配置了 read,Codex 就可能读取工作空间外的文件,前提是没有更具体的拒绝规则,且操作系统允许。更具体的路径规则优先;同一路径的冲突规则中,deny 优先。
要把读取也限制在项目内,可以采用官方的 workspace-only 权限配置思路:默认拒绝整个文件系统,再保留工作空间权限和运行工具所需的最小读取范围。临时目录是否开放也要明确设置。具体配置见官方权限文档。
因此,判断 Codex 能读什么,要看当前会话实际生效的目录权限,以及操作系统的文件权限和隐私授权。网络访问另有控制;网页搜索、插件和浏览器也各有权限边界。安全与审批说明
审批策略:不询问不等于自动放行
当操作需要额外权限时,审批策略决定如何处理审批请求。常见设置包括:
- 按需请求(on-request):Agent 通常在沙盒内工作,需要越过边界或触发其他审批规则时,可以请求批准。
- 从不请求(never):不弹出审批请求。已有权限内的操作继续执行,需要额外权限的操作可能直接失败。
- 细粒度配置(granular):按类别允许发起审批或自动拒绝,例如分别处理沙盒提权、命令规则和工具授权请求。
不发起审批,不代表获得权限。
保持沙盒限制的同时使用 never,不会让 Codex 自动获得沙盒外的访问权限。配置参考
审核人:用户或独立 Agent
允许发起审批后,还要决定由谁审核。approvals_reviewer 支持:
user:将审批请求交给用户。auto_review:将符合条件的审批请求交给独立的审核 Agent。
自动审核会结合用户要求、拟执行的具体操作和相关上下文作出判断。它不会扩大原有沙盒边界,也不会逐条审核沙盒内原本就允许执行的命令。
如果自动审核拒绝,主 Agent 应寻找实质上更安全的替代路径;没有合适路径时,停止并询问用户。拒绝后不能换个工具或间接执行来绕过限制,用户确认也不保证所有受策略禁止的操作都能放行。
自动审核也不覆盖所有授权。例如,Computer Use 的应用访问授权直接交给用户;符合条件的具体工具调用仍可能进入自动审核。自动审核说明
用一个项目理解三者的关系
假设 Codex 正在处理一个网站项目,使用工作空间写入、按需审批和自动审核:
- 修改项目里的文章:在允许写入的范围内,通常可以直接执行。
- 读取项目外的参考笔记:先看该目录是否可读,不能仅凭“在项目外”就判断必须审批。
- 把文件写到未授权的目录:需要额外写入权限;符合条件时,可以发起自动审核。
- 向受限网络地址上传文件:需要结合网络规则和工具权限判断,可能请求审核,也可能被明确阻止。
如果目的是减少反复确认,可以在保留沙盒边界的前提下,把符合条件的请求交给自动审核。CLI 的一组常见配置如下:
sandbox_mode = "workspace-write"
approval_policy = "on-request"
approvals_reviewer = "auto_review"
这组设置决定了常见的沙盒与审核方式,不能单独保证“只读取项目内文件”。需要更窄的读取边界时,还要配置目录权限。
本地配置通常位于 ~/.codex/config.toml。不同客户端、版本和组织管理策略可能影响可选项与最终权限,调整后要检查当前会话生效的设置。配置与权限说明
适用范围与核对日期
本文面向本地 Codex 的权限理解与配置。2026 年 11 月 10 日对照 OpenAI 官方文档核对;本机 Codex CLI 0.167.0 的帮助信息确认支持三种沙盒模式及 on-request、never 审批选项。文中的配置说明未覆盖所有操作系统和客户端的运行验证,具体能力以当前环境为准。