Codex接入第三方API报错403 Forbidden Country region or territory not supported解决方法

SEO关键词:Codex接入第三方API、Codex报错403 Forbidden、Failed to refresh token、Country region or territory not supported、Codex第三方API配置、auth.json配置教程、Codex API Key配置

大家好 这里是「代码简单说」,欢迎大家关注同名公众号,不定时更新更多实用有趣的教程 也欢迎大家在评论区一起讨论交流!~

Codex客户端下载地址:

https://codexdown.cn/

在这里插入图片描述

群里的朋友最近在使用 Codex 接入第三方兼容 OpenAI API 服务时,遇到了一个比较奇怪的问题。
在这里插入图片描述

明明 API Key 没问题,在其他工具里调用也正常,但在 Codex 中执行命令时却一直报错:

Failed to refresh token: 403 Forbidden:
Country, region, or territory not supported

我刚开始以为是第三方接口问题,帮他排查了半天才发现,问题其实出在本地配置文件上。

今天分享一下具体原因和解决方案。


问题现象

执行 Codex 相关命令时出现报错:

Failed to refresh token: 403 Forbidden:
Country, region, or territory not supported

或者:

Error refreshing authentication token

日志中会不断尝试刷新 Token:

Refreshing authentication...
Failed to refresh token
403 Forbidden

即使:

  • API Key正确
  • API地址正确
  • 第三方平台正常可用

依然无法正常使用。


问题原因分析

很多用户之前登录过官方账号。

因此:

C:\Users\用户名\.codex\auth.json

文件中除了第三方 API Key 之外,还保留着官方账号登录产生的 Token 信息。

例如:

{
  "auth_mode": "chatgpt",
  "OPENAI_API_KEY": "xxx",
  "tokens": {
    "id_token": "xxx",
    "access_token": "xxx",
    "refresh_token": "rxxx",
    "account_id": "xxx"
  },
  "last_refresh": "2026-05-31T12:39:50.536225300Z"
}

这里的关键问题是:

"auth_mode": "chatgpt"

以及:

"tokens": {
  ...
}

当 Codex 启动时,会优先认为当前处于:

ChatGPT账号登录模式

然后尝试使用:

refresh_token

去刷新官方 Token。

但你实际上已经切换到了第三方 API。

于是 Codex 仍然向官方认证服务器请求刷新 Token。

最终返回:

403 Forbidden
Country, region, or territory not supported

看起来像 API 调用失败。

实际上是认证方式冲突导致的。


✓正确配置方式

如果使用第三方 OpenAI 兼容接口:

例如:

  • 硅基流动
  • DeepSeek
  • 火山引擎
  • 阿里云百炼
  • OpenRouter
  • One API
  • New API
  • FastGPT
  • 其他兼容 OpenAI API 平台

那么:

C:\Users\用户名\.codex\auth.json

必须只保留 API Key。

配置文件内容应该是:

{
  "OPENAI_API_KEY": "替换成你自己的第三方APIKey"
}

例如:

{
  "OPENAI_API_KEY": "sk-xxxxxxxxxxxxxxxx"
}

不要保留任何 Token 信息。


✕错误示例

很多人修改后是这样的:

{
  "auth_mode": "chatgpt",
  "OPENAI_API_KEY": "sk-xxxxxxxx",
  "tokens": {
    "id_token": "xxx",
    "access_token": "xxx",
    "refresh_token": "rxxx",
    "account_id": "xxx"
  },
  "last_refresh": "2026-05-31T12:39:50.536225300Z"
}

看起来已经替换了:

OPENAI_API_KEY

但实际上:

auth_mode
tokens
refresh_token

依然存在。

Codex 仍会尝试刷新官方登录状态。

结果继续报错。


✓正确示例

应当删除所有登录相关字段:

{
  "OPENAI_API_KEY": "sk-xxxxxxxx"
}

只保留这一项即可。


操作步骤

第一步:关闭Codex

确保所有 Codex 终端已经退出。


第二步:打开配置目录

进入:

C:\Users\你的用户名\.codex

例如:

C:\Users\Admin\.codex

第三步:编辑auth.json

找到:

auth.json

使用:

  • VSCode
  • Notepad++
  • 记事本

打开。


第四步:删除旧Token

删除:

"auth_mode"

删除:

"tokens"

删除:

"last_refresh"

最终保留:

{
  "OPENAI_API_KEY": "你的第三方APIKey"
}

第五步:保存文件

保存后重新启动 Codex。


验证是否修复成功

重新执行:

codex

或者:

codex chat

如果能够正常进入会话:

Connected successfully

或者能够正常发送消息:

Hello

并得到模型回复。

说明配置已经生效。


为什么会出现这个问题

这是因为很多教程只告诉大家:

替换 OPENAI_API_KEY

却没有提到:

删除官方认证Token

导致用户认为:

只改API Key就行

实际上:

API Key模式

和:

ChatGPT账号登录模式

是两套不同的认证体系。

当两者同时存在时,Codex通常会优先使用已有登录状态。

于是不断尝试刷新官方 Token。

最终触发:

Failed to refresh token: 403 Forbidden:
Country, region, or territory not supported

总结

如果 Codex 接入第三方 API 后出现:

Failed to refresh token: 403 Forbidden:
Country, region, or territory not supported

重点检查:

C:\Users\用户名\.codex\auth.json

是否仍然保留了官方登录信息。

错误配置:

{
  "auth_mode": "chatgpt",
  "OPENAI_API_KEY": "xxx",
  "tokens": {
    ...
  }
}

正确配置:

{
  "OPENAI_API_KEY": "你的第三方APIKey"
}

删除所有 Token 信息后,重新启动 Codex,绝大多数情况下即可解决该报错问题。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐