【问题解决分享】如果你的 codex 走中转站读不了代码,调不了工具

如果你是走中转站,然后 codex 用不了工具,或者一言不合就去 computer use。应该是遇到我和我一样的问题了。

分析了大半天,就是下面这一段,让 Codex 改用标准顶层 tools 通道下发工具,不再依赖中转服务无法转发的 additional_tools 字段。改完即可恢复终端与文件能力。。

config.toml 中新增的关键一行:

model_catalog_json = “$HOME/.codex/models-custom.json”

具体问题如下:

Codex 无法调用工具、无法读取代码 排查报告

总结

日期:2026-09-25

环境:Codex 桌面端(codex 0.155.0-alpha.16.4)

模型通道:第三方中转服务(自定义 provider,Responses API)

一、现象

会话仅暴露协作类工具(spawn_agent、send_message、list_agents、wait 等),没有 shell、exec、apply_patch 与文件读取能力,因此无法获取未提交的代码变更,也无法读取项目文件;派生出的子代理同样无法访问文件系统。

已排除权限因素:沙箱策略为 danger-full-access,审批策略为 never,项目的 trust_level 为 trusted,shell 快照亦可正常创建。故不属于权限或代码权限问题。

二、根因

模型目录中 use_responses_lite 为 true 的模型,Codex 会把 exec、shell、apply_patch 等工具放入请求的 input[].additional_tools 字段,而不是 Responses API 标准的顶层 tools 字段。

中转服务只转发顶层 tools 字段,additional_tools 被丢弃,模型因此收不到这些工具。协作类工具不走该通道,所以最终只剩下“协作与等待工具”。

本机模型目录实测情况:

模型 use_responses_lite 结果
gpt-6-* 系列 true 无工具(受影响)
gpt-5.6-* 系列 true 无工具(受影响)
gpt-5.5 / gpt-5.4 false 正常

三、修复

序 动作 路径
1 备份原配置 ~/.codex/config.toml.before-lite-fix
2 导出本机真实模型目录 ~/.codex/models-custom.json
3 将目录中 use_responses_lite 为 true 的条目全部改为 false 同上
4 在 config.toml 中指向该目录 ~/.codex/config.toml

config.toml 中新增的关键一行:

model_catalog_json = “$HOME/.codex/models-custom.json”

原理:让 Codex 改用标准顶层 tools 通道下发工具,不再依赖中转服务无法转发的 additional_tools 字段。改完即可恢复终端与文件能力。

四、验证

检查项 结果
模型目录生效情况 全部条目 use_responses_lite 为 false
实际执行 git 读取命令 exec 调用成功(0ms),返回真实结果:当前分支名与变更文件清单

五、注意事项

1. 修改后需完全退出并重新启动桌面端,并新建会话;旧会话可能仍然缓存修改前的模型目录。

2. 回滚方式:将 config.toml.before-lite-fix 恢复为 config.toml,并删除 models-custom.json。

3 Likes

佬,我codex调用不了浏览器,显示认证令牌不可用,你的方法可以解决吗

浏览器肯定可以调的,开 3个东西:
设置 → 电脑操控 → computer use;
设置 → 浏览器 → :check_box_with_check:
设置 → 电脑操控 → google chrome :check_box_with_check: → 管理 → 安装扩展插件

2 Likes

基本该设置都设置了,问了ai 说是缺失认证令牌

1 Like

models-custom.json 文件是什么哦?自己重生成一份?

1 Like

文件是 codex github 上的,他的模型族定义文件。如果不是 155 客户端注意对应一下版本号。
地址:codex/codex-rs/models-manager/models.json at main · openai/codex · GitHub