Codex 执行 npm install、pip install 或拉取仓库失败时,先看报错是不是超时、DNS 或网络被拒绝。Codex 能搜索网页,不代表它运行的终端命令也能访问互联网;网页搜索和命令网络是两套权限,必须分别检查。
本地 Codex 先看沙箱网络
CLI、IDE 扩展和桌面应用在 workspace-write 沙箱下默认不开放命令网络。需要让项目命令联网时,在实际使用的 config.toml 中配置:
[sandbox_workspace_write]
network_access = true重新启动 Codex 后再执行安装。若任务仍然请求批准,检查当前 approval policy,而不是反复重试包管理器。不要为了装一个依赖直接切到完全不受限模式。
开了网络仍访问不到域名
如果同时启用了网络代理策略,网络会按域名规则过滤。确认包管理器实际访问的注册表、源码托管站和下载域名都在允许范围内;只放行首页域名,依赖文件可能仍从其他子域或对象存储下载。deny 规则会覆盖 allow,通配符也不要无意扩大到所有站点。
网页搜索正常不代表安装命令正常
web_search 控制的是 Codex 搜索工具,可以使用缓存、索引、实时或关闭模式。它不会替终端里的 npm、pip、git 或 curl 获得网络权限。因此“能查到文档但下载失败”并不矛盾,应该回到命令网络和域名策略排查。
云端任务要区分 setup 和 agent 阶段
Codex 云端环境的 setup 阶段可以联网安装依赖,正式 agent 阶段默认离线。固定依赖优先写入环境的 setup 脚本;如果任务运行中确实需要访问外部服务,再为该环境启用 agent internet access,并只允许必要域名和请求方法。
最后用一个最小请求验证实际注册表地址,再运行完整安装。若最小请求也失败,记录目标域名和错误类型;若最小请求成功但安装失败,则转查锁文件、代理变量、证书或包管理器配置,不再继续放宽 Codex 权限。