今天上午,我被 Codex Chrome 插件卡了很久。
一开始问题看起来很简单:在 Codex 里安装 Chrome 插件,然后去 Chrome Web Store 安装 Codex 扩展,最后让 Codex 连接 Chrome。按官方文档,这个流程大概就是在 Codex 的 Plugins 里添加 Chrome plugin,跟着提示安装扩展,授权 Chrome 权限,再确认扩展显示 Connected。
但实际情况没这么顺。
我第一步就卡在 Chrome 应用商店。页面能打开,但扩展一直显示无法下载。后来我去查了一下,GitHub 上也有人反馈过类似问题:Codex 的 Chrome 扩展页面会提示“此商品无法购买或下载”。这至少说明,这不是我一个人的错觉。
我切换了一个可用节点后,终于能看到并安装扩展。到这里,我以为事情结束了。
结果只是进入下一关。
扩展装好后,我让 Codex 重新连接 Chrome,还是失败。报错集中在一个地方:插件初始化 setupAtlasRuntime() 超时。Codex 给出的建议也很常规:重启 Codex、重启 Chrome、重新安装扩展、重新连接。我照着做了几轮,问题还是一样。
中间还出现过一个 Windows 注册表没写入的提示。这个提示不能完全忽略。Chrome 官方的 Native Messaging 文档里写得很清楚:浏览器扩展如果要和本机应用通信,需要一个 native messaging host;在 Windows 上,安装程序要写入注册表项,默认值指向 host manifest 文件。换句话说,Codex Chrome 扩展不是一个纯网页插件,它背后还有本地通信链路。注册表、native host、Chrome profile、Codex 插件状态,只要有一环没对上,都可能让“已安装”变成“不能用”。
我又补查了几个 openai/codex 的 issue,发现 setupAtlasRuntime() 超时也不是孤例。有的报告里,扩展和 native host 检查都通过了,但运行时初始化仍然挂住;有的报告里,低层 socket 能返回信息,正式初始化却超时;还有一个 issue 提到,初始化过程中可能会触发到 chatgpt.com/backend-api/me 的非浏览器网络请求,而在某些网络环境下这个请求会被 Cloudflare challenge 卡住。这里不能直接下结论说“根因就是网络”,但它至少提醒我:这类问题不一定只发生在 Chrome 扩展本身。
最后真正让我解决问题的,是把网络层也纳入排查。
我看到有人提到要使用 TUN 模式。于是我又重启了一次电脑,重新安装插件,并开启 TUN 模式。之后 Codex 终于能通过 Chrome 插件连接上 Chrome。
这里要说清楚:我不是在说“遇到这个问题,开 TUN 就一定好”。我只能说,在我的环境里,它是有效的。
为什么它可能有效?我的理解是,普通代理或浏览器代理可能只覆盖了你以为的那部分流量。Chrome Web Store 能打开,不代表 Codex App、扩展后台、native host、以及初始化阶段的非浏览器请求都能正常访问。TUN 模式更接近系统级转发,可能把原来没走代理的那部分流量也覆盖进去。
所以,如果你也遇到 Codex Chrome 插件连接 Chrome 失败,我建议不要一上来就无限重装。可以按这个顺序排查:
- 1. 先确认官方流程走完:Codex → Plugins → Chrome plugin → Chrome Web Store 安装扩展 → Chrome 扩展显示
Connected。 - 2. 如果 Chrome Web Store 无法下载扩展,先换一个可用网络环境或节点,确认不是商店页面本身不可达。
- 3. 如果扩展显示 Connected,但 Codex 还是不能用,检查是否在同一个 Chrome profile,Codex 里的 Chrome plugin 是否开启,目标网站是否被 blocklist 拦住。
- 4. 新开一个 Codex 线程再试一次。有些连接状态可能和当前 thread 绑定。
- 5. 再考虑重启 Codex、Chrome,卸载扩展,移除并重新添加 Chrome plugin。
- 6. Windows 上如果出现注册表、native host、manifest 之类提示,不要只当成噪音。它可能说明本地通信链路没有装完整。
- 7. 如果一直卡在
setupAtlasRuntime(),把网络分流也纳入检查:chatgpt.com、Chrome Web Store、Codex App、扩展后台是否都能正常访问;普通代理是否覆盖非浏览器流量;必要时再测试 TUN / 系统代理模式。 - 8. 如果仍然无解,按官方建议在 Codex 里
/feedback,同时把系统版本、Codex 版本、Chrome 版本、扩展状态、错误信息和 thread ID 一起提交。GitHub issue 里类似信息越完整,越容易被定位。
这次踩坑给我的提醒是:AI 工具现在越来越像一套“小型工程系统”,不是装个插件就完事。Codex 要用 Chrome,表面上是浏览器扩展,背后其实有账号状态、浏览器权限、本地通信、系统注册表、网络分流几层东西。
所以,下次再遇到“插件装好了但就是连不上”,别只盯着插件。先把它拆成三层:商店下载有没有问题,本地通信有没有问题,网络分流有没有问题。
很多时候,真正卡住你的,不是最后那个报错,而是你还没把排障边界画完整。
如果你也在使用 Codex、Claude Code、MCP 或各种 AI Agent 工具,遇到类似“环境连不上”的问题,欢迎留言说说你的解决方式。我后面会继续记录普通程序员真实使用 AI 工具时踩过的坑,以及哪些问题最后能沉淀成可复用的排障清单。
参考来源
- 1. OpenAI Developers:Codex Chrome extension
https://developers.openai.com/codex/app/chrome-extension - 2. Chrome for Developers:Native messaging
https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging - 3. openai/codex GitHub Issue #21700:Computer Use Chrome extension is unavailable in Chrome Web Store
https://github.com/openai/codex/issues/21700 - 4. openai/codex GitHub Issue #21704:
setupAtlasRuntimecan hang when ambient/backend-api/meprobe does not complete
https://github.com/openai/codex/issues/21704 - 5. openai/codex GitHub Issues #21878 / #21851 / #22104:Chrome plugin timeout and initialization hang reports
https://github.com/openai/codex/issues/21878
https://github.com/openai/codex/issues/21851
https://github.com/openai/codex/issues/22104
夜雨聆风