OpenClaw 在 WSL 里做 openai-codex OAuth 登录时报 403,我最后这样修好了
OpenClaw 在 WSL 里接 openai-codex 报 OAuth 403,我最后这样修好了
最近花了点钱把 GPT Plus 开通,本来美滋滋想把 openai-codex / gpt-5.4 接进 OpenClaw,当成自己的“最强大脑”。结果第一步就卡住了:OAuth 登录死活过不去。
更怪的是,同一台机器上,Windows 侧官方 Codex 是正常的,只有 WSL 里的 OpenClaw 报错。最后排下来,问题不在账号,也不在模型名,而是 Node/undici 这条请求链路没有按预期走代理。
现象
典型报错长这样:
◓ Complete sign-in in browser…...[openai-codex] code->token failed: 403 {"error":{"code":"unsupported_country_region_territory","message":"Country, region, or territory not supported","param":null,"type":"request_forbidden"}}
◇ OpenAI OAuth failed
Error: Token exchange failed
│
◇ OAuth help ─────────────────────────────────────────────────╮
│ │
│ Trouble with OAuth? See https://docs.openclaw.ai/start/faq │
│ │
├──────────────────────────────────────────────────────────────╯
Error: Token exchange failed
这个报错特别容易把人带偏。第一眼看上去还觉得是学cc故意加强某区域限制似的。
但这里有个关键前提:Windows 侧官方 Codex 能正常用。这说明账号本身并不是完全不可用。
我先确认了什么
为了避免越查越偏,我先确认了两件事:
- 浏览器授权页能打开,不等于 CLI 后面的 token exchange 一定成功。
- OpenClaw 不会直接复用 Windows 侧的
~/.codex/auth.json。
查到这里,问题范围其实就已经收敛得很明显了:不是浏览器授权页本身的问题,而是 OAuth 换 token 这一步出了岔子。
真正的根因
最后踩实的点是:OpenClaw 在做 OAuth token exchange 时,走的是 Node/undici 的请求链路,而这条链路默认没有按预期使用环境代理。
于是就出现了一个很别扭的现象:
- 浏览器授权看起来没问题
curl看起来也没问题,WSL 本身也能用 Win 端代理- 但 CLI 换 token 还是 403
换句话说,浏览器、curl、CLI 这三者并没有真的走同一条网络路径。
一句话概括: 浏览器能授权,不代表 Node 发起的 token exchange 也走了代理。
修复方法
关键命令其实就这一条:
NODE_USE_ENV_PROXY=1 openclaw models auth login --provider openai-codex
如果你本来就是带代理环境变量跑,建议写完整一点:
NODE_USE_ENV_PROXY=1 \
HTTP_PROXY=... \
HTTPS_PROXY=... \
ALL_PROXY=... \
openclaw models auth login --provider openai-codex
如果 OpenClaw 是挂在 systemd 用户服务里跑的,最好顺手把这个环境变量固化进去:
[Service]
Environment=NODE_USE_ENV_PROXY=1
为什么这一招有效
因为问题并不是“有没有代理”,而是 Node 这条链路有没有真的用上代理。
NODE_USE_ENV_PROXY=1 的作用,就是让 Node/undici 去读取环境代理配置。这个开关打开之后,OAuth token exchange 才真正走到了你预期的网络出口。
当然,如果你本身走的是 tun 模式,也有可能直接成功,不一定会踩到这个坑。
结尾
这个问题说到底,不是账号坏了,也不是模型名写错了,而是 OpenClaw 在 WSL 里做 OAuth token exchange 时,Node/undici 没按预期走代理。
真正起作用的修复点,就是:
NODE_USE_ENV_PROXY=1
关键词: OpenClaw、WSL、openai-codex、OAuth 403、unsupported_country_region_territory、NODE_USE_ENV_PROXY

浙公网安备 33010602011771号