本文最后更新于 2026年10月27日。
可以,而且 Codex CLI 支持你想要的模式:普通命令、代码修改和测试自动执行,超出权限范围的操作再请求授权。
你不需要把所有命令都设成免授权,也不必每次执行 go test、git status、npm install 等操作时都手动确认。
关键是区分两个概念:
-
审批策略(Approval Policy):什么时候需要询问你。
-
沙箱权限(Sandbox):即使命令不需要询问,它实际能访问和修改哪些文件、能否联网。
官方推荐的低打扰模式是 workspace-write + on-request。它允许 Codex 在当前工作区内自动修改代码、运行常规命令,超出沙箱边界时再请求授权。
1. 最推荐的设置:普通操作自动执行
方法 A:永久修改配置(推荐)
Windows 下打开 PowerShell,执行:
notepad "$env:USERPROFILE\.codex\config.toml"
如果文件不存在,可以新建。加入以下配置:
# 允许在当前项目工作区内读写和执行常规命令
sandbox_mode = "workspace-write"
# 仅在需要突破沙箱权限等情况下请求授权
approval_policy = "on-request"
保存后重新启动 Codex CLI。
如果文件里已经存在这两个配置项,直接修改原来的值,不要重复添加。
方法 B:只对当前启动生效
codex --sandbox workspace-write --ask-for-approval on-request
这种方式适合先测试,不必立即修改全局配置。
2. 设置后,哪些操作会自动执行?
| 操作 | 预期行为 |
|---|---|
| 读取、搜索代码文件 | 自动执行 |
| 修改当前项目中的代码 | 自动执行 |
go test ./... |
通常自动执行 |
git status、git diff |
自动执行 |
| 在工作区内运行构建命令 | 通常自动执行 |
| 修改工作区外的文件 | 可能要求授权 |
| 访问网络、下载依赖 | 可能要求授权,取决于网络设置 |
| 删除重要数据、执行危险脚本 | 不保证一定弹出授权,不能只依赖审批策略 |
注意:on-request 并不等于“Codex 能准确识别所有危险命令”。它主要依据沙箱权限边界决定是否需要授权。因此,即使配置正确,也不能保证每一条危险命令都会被拦截。
ChatGPT Learn+1
3. 如果你现在每条命令都要求授权
建议按以下顺序排查:
-
在 Codex CLI 中输入
/status,检查当前沙箱和权限状态。 -
如果项目尚未被信任,按提示信任当前项目目录。
-
检查
config.toml是否存在sandbox_mode = "read-only"等限制。 -
使用上面的
workspace-write+on-request配置重新启动。
还可以在 CLI 中输入 /permissions,查看当前可选的权限模式。
4. 不建议直接开启完全免授权
你可能会看到这样的命令:
codex --dangerously-bypass-approvals-and-sandbox
它会同时绕过审批和沙箱限制,风险明显更高。对于你这种日常使用 Codex CLI 开发 Go 项目的场景,我更建议保留 workspace-write 的限制。
最终建议:先配置 sandbox_mode = "workspace-write" 和 approval_policy = "on-request"。 这能大幅减少日常开发中的授权弹窗,同时保留工作区之外的权限边界。若你希望进一步做到“普通命令全部自动,rm、危险 Git 操作、系统级修改等明确要求确认”,则还需要结合执行策略规则进行更细粒度的配置。