localhost 拒绝了我们的连接请求?Codex 登录 3 种官方解决办法
localhost 拒绝了我们的连接请求:Codex 浏览器登录回调没收到。官方修法 codex login --device-auth,远程机器用 ssh -L 1455:localhost:1455 转发,附 Claude Code 同类报错。

用 Codex 登录 ChatGPT 账号,浏览器里登录完跳回 localhost,页面显示「localhost 拒绝了我们的连接请求。」,这说明浏览器没连上 Codex 在本机开的回调端口(默认 localhost:1455),登录结果没传回终端。官方推荐的修法是改用设备码登录:codex login --device-auth。Codex 跑在远程服务器上、又想走浏览器登录的话,在本地电脑上用 ssh -L 1455:localhost:1455 把端口转发过去。下面的步骤按 Codex 官方认证文档 核对过(2026 年 11 月 4 日),文末附 Claude Code 登录时的同类报错。

localhost 拒绝了我们的连接请求 codex 是什么情况
这句话是 Chrome 的中文报错页,英文界面写作 localhost refused to connect.,错误码一般是 ERR_CONNECTION_REFUSED。它出现在登录流程的最后一步:
- 终端里运行
codex login,Codex 在本机起一个回调服务,打开浏览器; - 你在浏览器里登录 ChatGPT;
- 浏览器跳回
http://localhost:1455/...,把凭据交给 Codex。
第 3 步连不上,就看到这个页面。官方文档写了两种情况:Codex 跑在远程或无界面环境里;本机网络配置挡住了 localhost 回调。前一种最常见:Codex 在服务器、WSL、Docker 容器里,浏览器在你自己的电脑上,浏览器访问的 localhost 是你的电脑,回调服务却在另一台机器上。
修法一:codex login –device-auth(官方推荐)
设备码登录不需要 localhost 回调。官方标注为 beta。
- 先打开设备码登录:个人账号在 ChatGPT 的安全设置里开;工作区账号要管理员在工作区权限里开。
- 在运行 Codex 的终端里执行下面的命令,或者在交互登录界面选 “Sign in with Device Code”。
- 用任意设备的浏览器打开终端给出的链接,登录后输入一次性验证码。
codex login --device-auth
登录后用下面的命令确认登录方式:
codex login status
修法二:远程机器用 SSH 转发 1455 端口
想继续用浏览器登录,可以把远程机器的回调端口转发到本地。在你自己的电脑上执行:
ssh -L 1455:localhost:1455 user@remote
在这个 SSH 会话里运行 codex login,把打印出来的链接复制到本地浏览器打开。浏览器跳回 localhost:1455 时,请求会通过隧道到达远程机器上的 Codex。
修法三:在有浏览器的机器上登录,再复制 auth.json
前两种都不行时,官方给的兜底办法是在能正常登录的电脑上跑 codex login,再把 ~/.codex/auth.json 复制到目标机器:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.json
auth.json 里是访问令牌,按密码对待,不要提交到仓库,也不要贴到聊天里。如果你的系统把凭据存在钥匙串等系统凭据库里,本地就没有这个文件,这个办法不适用。
本机登录也报错怎么查
Codex 和浏览器在同一台电脑上还报这个错,官方只说”本地网络配置挡住了回调”,没有列具体原因。下面几条是我们的推断,按顺序排查:
- 终端里的
codex login是不是在浏览器跳回之前就退出了(比如按了 Ctrl+C),退出后回调服务就没了; - 系统代理或安全软件有没有接管 localhost 流量,可以给 localhost 加代理例外;
- 1455 端口是不是被别的程序占用了,macOS/Linux 可以用
lsof -i :1455看。
排查不出来就直接用 codex login --device-auth。直接运行 codex login 时 Codex 会写一个 codex-login.log 登录日志,联系支持时可以附上。
Codex 安装和第一次登录的完整流程见 Codex 安装和登录教程,登录时报 403 见 Codex token exchange failed 403 处理,其他报错查 OpenAI 和 Codex 报错速查表。
Claude Code 登录的同类报错
Claude Code 在 WSL2、SSH、容器里登录时也会碰到同样的问题:浏览器登录成功后打开一个 localhost 地址报连接错误。按 Claude Code 官方排错文档,不用修网络:
- 在登录提示处按
c复制登录链接(用claude auth login时复制它打印的链接); - 在本地浏览器打开并登录,页面会显示一串代码;
- 把代码粘贴到终端里
Paste code here开头的提示处。
如果 Claude Code 连本机端口都开不了,会直接报:
Couldn't start the local listener that receives the browser sign-in. Try again.
官方建议先重跑一次命令;还不行就改用令牌登录:在能正常登录的机器上运行 claude setup-token,把输出的令牌设成这台机器的 CLAUDE_CODE_OAUTH_TOKEN 环境变量。Claude Code 的其他报错见 Claude Code 报错总表。
常见问题
device-auth 提示不可用?
先确认 ChatGPT 安全设置(或工作区权限)里已经打开设备码登录。还不行就用 SSH 转发或复制 auth.json。
用 API key 登录会不会碰到这个问题?
不会。printenv OPENAI_API_KEY | codex login --with-api-key 不走浏览器,但按 API 价格计费,不用 ChatGPT 订阅里的额度。