Stuck on Codex Phone Verification? I Used a Thai Number and Passed in 3 Minutes (With Fixes for 4 Common Errors)
📚 Table of Contents (click to jump)
- Key Takeaways
- Quick Overview of the Three Methods
- Method A: SMS Platform (Fastest, One-Time Solution)
- Method B: auth.json Credential Migration (Free, No Phone Number Needed)
- Method C: Overseas Physical Number / eSIM (One-Time Setup, Lasting Peace of Mind)
- Who Is Each Method For
- Common Errors and Solutions
- FAQ
- Summary
Key Takeaways
- Phone verification is OpenAI's security gate, not a paywall — passing ≠ having API quota.
- One-time use / first-timers → Method A, SMS platform, done in 3 minutes.
- Already logged into ChatGPT → Method B, auth.json, free bypass.
- Long-term / heavy users → Method C, overseas physical number.
- SMS platform numbers are shared and one-time — don't bind them to your account long-term.
Quick Overview of the Three Methods
| Method | Cost | Stability | Best For |
|---|---|---|---|
| A. SMS Platform | A few bucks per use | Limited — one-time use, shared numbers | Quickly getting an API Key, one-time verification |
| B. auth.json Credential Migration | Free | Limited — expires with the session | Already logged into ChatGPT in a browser |
| C. Overseas Physical Number / eSIM | Tens to hundreds of dollars | Stable long-term | Heavy users who don't want to deal with this repeatedly |
Method A: SMS Platform (Fastest, One-Time Solution)
If you just need to generate your first API Key or unlock Codex, an SMS platform is the fastest way. I used Hero-SMS; here's the step-by-step.
Pros / Cons
Pros: Fast (Thai number took ~25s), cheap (a few cents per use), no existing ChatGPT account needed, and Alipay is accepted.
Cons: Numbers are one-time and shared, the shared pool can be flagged by OpenAI, and you have to switch numbers if no code arrives in 3 minutes — not suitable for long-term reuse.
Why Choose a Thai Number
OpenAI's SMS gateway (Twilio) has different routing coverage for different country codes. Based on real tests:
| Country | Platform | Price | Received Code | Time | Notes |
|---|---|---|---|---|---|
| Thailand | Hero-SMS | ~$0.3 | Yes | ~25s | Stable, recommended |
| Indonesia | Hero-SMS | ~$0.1 | No | - | Low-price number pool already contaminated |
| Chile | Hero-SMS | ~$0.4 | Yes | ~40s | Works, but slower |
| UK | NexSMS | ~$0.5 | Yes | ~15s | Fast but expensive |
| Philippines | Hero-SMS | ~$0.2 | Sometimes | ~60s | Unstable, not recommended |
Data based on real tests in July 2026. SMS platform number pools change dynamically. If a country fails twice in a row, switch to a different country and retry.
Step-by-Step Instructions
Open hero-sms.com/cn, register and top up a small amount (Alipay supported; a few bucks is enough).
Type
OpenAIin the platform's search box to find the corresponding service.
Select Thailand, country code +66. Pick a provider with a reasonable price and high success rate, click to buy and get the number.

Enter the number on the Codex / OpenAI verification page and click send verification code. Go back to Hero-SMS and wait to receive it (usually 15-60 seconds).


Enter the 6-digit code back on the OpenAI page. Verification complete.

SMS Platform Anti-Pitfall Tips
- Don't go for the cheapest. Ultra-cheap numbers priced at a few cents have typically been heavily used and are already flagged by OpenAI — they can't receive verification codes.
- Cancel if no code in 3 minutes. Legitimate platforms don't charge if no code is received. Switch numbers decisively — don't wait.
- Don't spam the resend button. Repeatedly resending triggers OpenAI's firewall and temporarily blacklists your IP.
- Don't buy pre-made black-market accounts. "Ready-made accounts with API Keys" on the market have unclear origins, with a high risk of being reclaimed or banned through association.
Method B: auth.json Credential Migration (Free, No Phone Number Needed)
If your browser is already logged into ChatGPT (regardless of how you logged in), you can directly copy your login credentials to Codex and skip the phone verification.
Pros / Cons
Pros: Completely free, no phone number needed, and it takes about a minute once you're familiar with it.
Cons: Depends on a live login in your browser, the session token expires and has to be re-exported, and it isn't suited for long-term cross-device use.
How It Works
ChatGPT's web login state is stored in the browser's auth.json file, which contains a session token. When Codex CLI starts, it checks the ~/.codex/ directory for this file — if it exists and the token is valid, it won't prompt for phone verification.
This explains why some people's Codex works right away: their browser is already logged into ChatGPT, and Codex automatically read the credentials during installation.
Steps
Open chatgpt.com and confirm you're logged in.
Press F12 to open Developer Tools → Application → Cookies → find
__Secure-next-auth.session-token.Write this token to
~/.codex/auth.jsonin the following format:json{ "session_token": "your-token-value" }Restart Codex.
Risks
- Session tokens have an expiration time. After expiry, you'll need to re-export.
- Do not send this file to anyone — having it means having full access to your ChatGPT account.
This method is adapted from Landian News and the V2EX community. If the token expires frequently, consider falling back to Method A or C.
Method C: Overseas Physical Number / eSIM (One-Time Setup, Lasting Peace of Mind)
If you use Codex every day and don't want to suddenly be asked for re-verification one day when the SMS platform number has already been recycled — get your own overseas number.
Pros / Cons
Pros: Stable long-term, the number is yours, it can be bound to your OpenAI account for recovery and two-factor authentication, and you no longer depend on SMS platforms.
Cons: Higher cost (tens to hundreds of dollars), some options require monthly fees or passport KYC, and a few number types need upkeep (e.g. GiffGaff requires one text every 6 months to stay active).
Number Options
| Option | Cost | Notes |
|---|---|---|
| UK GiffGaff | Zero monthly fee | Free SMS reception, available on Taobao; send one text every 6 months to keep the number active |
| US Ultra Mobile PayGo | $3/month | Supports Wi-Fi Calling, usable within China |
| eSIM (e.g. Germany O2) | ~€10/month | Requires passport KYC; phone must support eSIM |
With your own overseas number, you no longer need to rely on SMS platforms. After binding it to your OpenAI account, you can also use it for account recovery and enabling two-factor authentication.
Who Is Each Method For
- First-timers / new Codex users → Method A, get a number from an SMS platform in 3 minutes.
- Temporary use / verify once → Method A, the lowest cost.
- Already have a ChatGPT account (browser logged in) → Method B, free auth.json bypass.
- Heavy Codex users / daily drivers → Method C, an overseas physical number is the most hassle-free.
- Long-term use / don't want repeated hassle → Method C, one-time investment for lasting stability.
Common Errors and Solutions
1. Not Receiving the Verification Code
Cause: The number range doesn't support OpenAI, the SMS channel is congested, or your current proxy IP is flagged as high-risk.
Solution: Cancel the order and switch to another country (e.g. Thailand → Chile → UK). Switch to a cleaner proxy node and wait 5 minutes before retrying.
2. "Phone Number Already Used" Error
Cause: OpenAI limits a single phone number to 2-3 accounts at most. In a shared number pool, the number you received has already reached the limit.
Solution: Cancel the order (no charge if no code received) and buy a new number.
3. "Unsupported Country" Error
Cause: Your proxy's exit IP is in a region blocked by OpenAI (direct connections from within China, Hong Kong nodes, certain data center IP ranges).
Solution: Switch your proxy to the US, Japan, Singapore, or another OpenAI-supported region. Open a browser incognito window, clear cookies, and retry.
4. Verification Passed, but Codex Shows 403 / "No Active Subscription"
Cause: Phone verification only lifts the security risk control — it does not mean you have Codex API calling quota.
Solution: Bind a credit card and subscribe to ChatGPT Plus/Pro, or top up your API balance on the OpenAI Platform. Free accounts, even after passing verification, have extremely limited calling quota.
FAQ
Why does Codex require phone verification?
Can I verify with a mainland China phone number?
After verification, can I use Codex right away?
What is auth.json?
What is the relationship between phone verification and Codex quota?
Why do I still get 403 / No active subscription after passing verification?
Can I keep using an SMS platform number long-term?
Summary
- One-time use only → Method A, SMS platform, done in 3 minutes.
- Already logged into ChatGPT → Method B, auth.json, free bypass.
- Long-term use, don't want the hassle → Method C, get an overseas physical SIM.
Phone verification is just OpenAI's security threshold, not a paywall. Passing verification ≠ unlimited quota. If you're a heavy user, just pay for a subscription honestly — the cost of dealing with workarounds will eventually exceed the subscription fee.
Need Codex? Check out the Codex top-up page for supported plans, payment methods, and delivery.
About the Author
UPGPTs Team creates step-by-step, screenshot-heavy tutorials for AI tools like ChatGPT, Claude, Grok and Codex. Find more in the UPGPTs Tutorial Hub, check the FAQ, or reach us via the Contact page.
