近期不少 Codex 用户遇到一个新问题:原来能正常用的账号,换设备、重装 App、重新登录 CLI 之后,突然要求手机号验证;填了号码以后,短信 OTP 又收不到。
这个问题不要只按“网络不好”处理。更实际的做法是:先判断账号还能不能保留旧登录态,再准备一个能长期接收验证码的海外手机号。临时接码平台可以试,但不适合把正式 Codex 工作账号长期绑在上面。

先按这个顺序处理
| 推荐顺序 | 方案 | 适合谁 | 关键点 |
|---|---|---|---|
| 1 | 保留已有登录态 | 旧设备还能用 Codex 的人 | 不要急着退出登录,先确认 auth.json 或桌面端还能不能继续用 |
| 2 | 用可长期保留的海外实体号 | Codex 是日常工作工具的人 | 推荐英国 giffgaff、美国 Ultra Mobile PayGo 这类实体 SIM |
| 3 | 选更偏 SMS 的国家 | 不想走 WhatsApp 的人 | 先看菲律宾、柬埔寨、泰国;土耳其不建议首选 |
| 4 | 用 HeroSMS / 5sim 临时接码 | 只想低成本试一次的人 | 成功率看号码池,后续再次验证可能拿不回同一个号 |
| 5 | API Key 登录临时顶上 | 已经有 API Key 的人 | API 计费和 ChatGPT Plus / Pro 额度不是一套 |
第一步:旧设备还能用,就先别退出登录
如果你在某台电脑上已经能正常使用 Codex,先不要手动退出,不要清缓存,也不要急着重装。
Codex CLI 和 IDE 扩展会缓存登录信息。官方文档里也提到,CLI/IDE 的登录缓存可能在 ~/.codex/auth.json 或系统凭据库里。如果你是自己的可信设备、远程服务器或 Docker 环境,可以先用官方 fallback 思路:在能登录的机器上保留登录缓存,再迁移到自己的目标设备。
这条路适合“我只是换电脑、换服务器、换开发环境”的情况。它不一定能解决账号侧强制手机号验证,但能避免你把唯一还能用的登录态也弄丢。
第二步:正式账号优先准备可长期保留的海外号码
Codex 不是一次性聊天工具。它会接触项目、代码、文件和长期任务。账号如果后续再次要求验证,你最好还能拿到同一个手机号。
所以正式账号更推荐实体 SIM 或长期保留号码,而不是一次性号码。
英国 giffgaff 卡
giffgaff 是英国移动网络,优点是英国 +44 号码比较常见,Pay As You Go 方式也适合“低频收验证码”。官方页面显示,giffgaff 支持漫游,PAYG 可以按需加余额;英国本地 PAYG 资费里,短信是按条计费。
适合这类用户:
- 想长期保留一个英国手机号;
- Codex、ChatGPT、海外服务都可能要验证;
- 不想每次都重新找临时号码;
- 能接受实体卡、激活、余额和保号这些维护成本。
如果你在国内不想自己找卡源,可以问侠狼 GPT 有没有 giffgaff 卡渠道,或者自己去某宝,某多多买一张。
Ultra Mobile PayGo
Ultra Mobile PayGo 是美国号码方案。官方 PayGo 页面写的是 3 美元/月,包含 100 分钟、100 条短信和 100MB 数据;国际漫游页面也列了不同国家/地区的短信收发费用。
它适合需要美国 +1 号码的人。缺点是激活、续费、漫游余额和设备支持要处理好,比临时接码麻烦,但长期可控性更好。
第三步:不想走 WhatsApp,国家要重新排
我重新查了一下,OpenAI 官方没有公开“哪些国家一定只走 SMS”的完整名单。官方只公开了另一张表:哪些国家支持 WhatsApp phone verification。
这个表里有:
- 印尼
ID - 马来西亚
MY - 越南
VN - 印度
IN - 巴基斯坦
PK - 土耳其
TR - 阿联酋
AE - 埃及
EG - 以色列
IL - 尼日利亚
NG - 沙特
SA - 乌克兰
UA
所以如果你的目标是“尽量不要触发 WhatsApp,只收 SMS”,土耳其不应该放第一。土耳其在 OpenAI 官方 WhatsApp 支持列表里,页面有可能给 WhatsApp 选项。
更适合先试的是这些方向:
| 优先级 | 国家 / 地区 | 为什么 |
|---|---|---|
| 第一梯队 | 菲律宾 +63、柬埔寨 +855、泰国 +66 |
属于 OpenAI 支持地区,常见接码平台有号,又不在官方 WhatsApp 支持列表里 |
| 第二梯队 | 英国 +44、美国 +1、加拿大 +1 |
更适合实体卡或长期号码,接码价格通常更高 |
| 可试但不首推 | 印尼 +62、印度 +91 |
接码平台反馈成功率不错,但官方列表里支持 WhatsApp,页面可能跳 WhatsApp |
| 不建议首选 | 土耳其 +90、马来西亚 +60、越南 +84、巴基斯坦 +92 |
都在官方 WhatsApp 支持列表里,不适合当“纯 SMS”第一选择 |

如果你只想在 HeroSMS / 5sim 上低成本过一次 Codex 验证,我会把顺序改成:
- 菲律宾;
- 柬埔寨;
- 泰国;
- 英国 / 美国;
- 再试印尼或印度。
同一个平台里,不同国家、不同运营商,成功率可能差很多。不要在一个失败号码上反复点发送,换国家或换运营商通常更实际。
HeroSMS 和 5sim 怎么看
HeroSMS 和 5sim 都是在线接码平台,适合低成本试错。
HeroSMS 官网写的是 180+ 国家、每天 50 万以上号码,临时号码通常按一次验证来用;5sim 页面能看到 OpenAI / ChatGPT 服务,页面也展示了 England、USA、Canada、Indonesia、Philippines、Cambodia、India 等国家入口。
| 平台 | 地址 | 更适合的用法 |
|---|---|---|
| HeroSMS | https://hero-sms.com/ |
临时试 OpenAI / ChatGPT 验证,按国家和服务选号码 |
| 5sim | https://5sim.net |
低成本试错,国家和号码池更丰富 |
| giffgaff | https://www.giffgaff.com/ |
长期保留英国实体号码 |
| Ultra Mobile PayGo | https://www.ultramobile.com/paygo/ |
长期保留美国实体号码 |

它们的优点很直接:
- 价格低;
- 国家多;
- 不需要实体 SIM;
- 可以快速换国家、换号码。
缺点也要提前知道:
- OpenAI 可能识别并拒绝部分虚拟号、共享号或已经用过太多次的号码;
- 临时号码通常只能用一次,后续再次验证很难找回同一个号;
- 同一个国家里不同运营商成功率不同,失败很正常;
- 账号价值越高,越不适合长期绑一次性号码。
比较稳的用法是:把它当作测试和临时过验证的工具,不要把长期 Codex 主力账号押在一次性号码上。
如果要用接码平台,国家怎么选
优先顺序可以这样排:
| 目标 | 优先国家 / 号码 | 理由 |
|---|---|---|
| 不想走 WhatsApp,只收 SMS | Philippines、Cambodia、Thailand | 这些方向不在 OpenAI 官方 WhatsApp 支持列表里 |
| 想要长期稳定 | UK giffgaff、US Ultra PayGo | 实体号可保留,后续再次验证更可控 |
| 只想低成本试一次 | Philippines、Cambodia、Thailand、Indonesia、India | 接码平台号码多,试错成本低 |
| 平台一直提示不能发送 | 换国家、换运营商、换实体 SIM | 很可能是号码类型或运营商通道被挡 |
不要连续点发送验证码。GitHub 讨论里有人提到,反复点击可能触发请求限制,结果就是页面看起来一直发送失败。一般等 15 到 20 分钟再换号、换国家,会比一直点更有效。
API Key 登录只能算临时方案
如果你已经有 OpenAI API Key,可以用:
printenv OPENAI_API_KEY | codex login --with-api-key
但这不是最推荐的 Codex 订阅用户方案。API Key 走 OpenAI Platform 计费,不吃 ChatGPT Plus / Pro 的 Codex 额度。更麻烦的是,如果你还没有 API Key,创建第一个 API Key 也可能要求手机号验证。
所以 API Key 适合“先把 CLI 跑起来”,不适合替代 ChatGPT 登录。
我的建议
如果你只是临时卡一下,先用 HeroSMS 或 5sim 选东南亚号码试。现在更建议先看菲律宾、柬埔寨、泰国;如果这几个失败,再试印尼或印度。土耳其不是不能试,但它在 OpenAI 官方 WhatsApp 支持列表里,不适合作为“不走 WhatsApp”的首选。
如果 Codex 已经是你的正式开发工具,建议直接准备一个可长期保留的实体海外号。英国 giffgaff 卡更适合长期收验证码,美国 Ultra Mobile PayGo 更适合需要美国号码的人。
国内用户不想自己折腾 giffgaff 卡源,可以问侠狼 GPT。重点不是“买到一张卡”就完事,而是要确认这张卡以后还能不能继续接验证码、怎么充值、怎么保号。Codex 近期这个手机号验证问题,真正麻烦的不是第一次过不过,而是后面再次验证时你还能不能拿到同一个号码。

