DogeSMS
OTP ActivationsAPI DocsBlogRefer & EarnHelp Center
Create accountLog In

DogeSMS footer navigation

DogeSMS

Secure disposable numbers for SMS verification. Protect privacy and streamline onboarding.

TelegramEmail

Product

  • SMS Verification
  • Countries
  • Services
  • API Docs

Support

  • Help Center
  • Contact
  • Password Reset

Company

  • Blog
  • Careers
  • Referral Program
  • Partners & Affiliates
  • Log In
  • Sign Up

Legal

  • Privacy Policy
  • Terms of Service
  • Payment Policy
  • Refund Policy

© 2026 DogeSMS. All rights reserved.

Back to Blog
GuideArticle type

Codex Phone Verification: Fix the Missing SMS Code | DogeSMS

Codex CLI asking for phone verification but no SMS code arrives? Four real culprits — WhatsApp routing, silent resend throttling, format bugs, IP region check — and how to fix each.

DogeSMS TeamMay 15, 20269 min read
codex sms verificationcodex cli logincodex verification codeopenai sms codecodex phone

Quick take: Codex doesn't issue its own verification

If you opened Codex or the Codex CLI today and got asked to verify a phone number, you're not alone. OpenAI has been tightening account verification over the last couple of months — especially for Codex CLI, new-device logins, and API key creation — to push back against scripts mass-registering free accounts.

One thing worth getting straight up front: Codex doesn't issue its own verification code. What's actually firing is OpenAI's account-layer verification. Codex is just where the wall happens to be in front of you.

That distinction matters because it tells you what service to pick when you go to buy an SMS code: look for OpenAI / ChatGPT, not "Codex." Search engines will surface a lot of "Codex SMS" results, and most of them are mis-aimed for the same reason — the pipeline isn't actually Codex's.

Same account, different risk threshold

The most common pattern: ChatGPT works fine in the browser. Codex CLI immediately demands a phone number. Same account.

OpenAI's risk model isn't uniform across entry points. Codex CLI, new-device sign-ins, and API key creation get tighter risk gates than browser chat — because that's where the abuse scripts concentrate. Your account didn't change. The gate did.

What this means for picking a service: you're not buying a "Codex number." You're buying an OpenAI / ChatGPT verification. Same SMS pipeline, same number type. Period.

Which countries actually work for Codex verification

The "allowed country" list shifts slightly by account, time, and IP, but a few patterns hold up:

  • US (+1) — generally routes SMS, broadly accepted
  • UK (+44) — generally accepted, but watch the formatter bug below
  • Russia (+7) — generally accepted
  • India (+91) — generally accepted
  • Western Europe (+33, +49, +34, +39, etc.) — usually accepted, mix of SMS and WhatsApp routing
  • Parts of Southeast Asia — case-by-case, watch the WhatsApp-routing tell (covered below)

A few things that look like a number problem but aren't — these come up repeatedly in openai/codex GitHub issues and the OpenAI Developer Community:

  • Long-time ChatGPT user, suddenly asked for phone. Your account isn't compromised. OpenAI is tightening risk gates on Codex CLI, new-device sign-in, and API key creation paths — older accounts that were never asked for phone are now being asked. (Issue #20161 on openai/codex describes one such case, and similar reports stack up across the issue tracker.)
  • No SMS option, WhatsApp only. For some country choices, OpenAI doesn't even surface SMS as a fallback. This is a country-routing issue, not a number-quality issue.
  • One phone, multiple Plus accounts. OpenAI caps how many accounts a single phone can verify. Users running 2-3 Plus subscriptions for separate workflows hit this exact wall. (Issue #20884.)

If your country isn't on the working list above and nothing arrives, the country choice is more likely the problem than the number itself.

Why your code isn't arriving

Four actual reasons. Most "the platform is broken" complaints come back to one of these. Listed from most to least common.

1. The country routes via WhatsApp, not SMS

This is the silent killer.

Some country codes get verification via WhatsApp, not SMS. If your number is on an SMS-only channel, the message never lands — because OpenAI never sent it over SMS in the first place.

You can switch numbers all day; it won't fix it. The pipe isn't broken — your country choice routed the message somewhere your SMS channel can't see.

How to tell: the OpenAI verification screen will say "a code has been sent to ... via WhatsApp". That's the tell. US, UK, and Russian numbers generally route SMS and behave normally.

2. Hitting "resend" silently rate-limits you

OpenAI's backend throttles repeated resend requests, quietly. You don't get a UI error — the request just disappears. (The openai/codex discussion threads have confirmed this is the dominant cause of "code never arrives" reports — not a guess.)

The mechanic is anti-script. The collateral damage is impatient real users.

If your first one or two attempts didn't land, stop clicking. Wait 15–20 minutes. Try once more after the cooldown. That single click usually goes through.

3. Region-specific number format bugs

A few country codes have an actual bug in OpenAI's formatter:

  • UK (+44): OpenAI sometimes inserts a leading 0 after the country code, producing a number it then can't deliver to. Community workaround: drop the leading 0 from the national part manually and resubmit.
  • Ethiopia (+251): Same leading-0 bug, with an open GitHub issue tracking it.

On a less-common country code and getting nothing? Suspect the format before suspecting the number — the number is often fine; the extra 0 just confuses OpenAI's own delivery system.

4. A 403 "country not supported" usually means IP, not number

If you actually entered the code and then hit Token exchange failed: Country, region, or territory not supported (403) — that's typically an IP issue, not a number issue. OpenAI does a final region check on your egress IP. Shared proxies and flagged residential IPs get caught here.

Switching numbers won't fix this — your number may have already accepted the code successfully. The problem isn't at the number layer.

The fix is a cleaner, more reserved residential IP and re-running verification from a clean session.

Error message cheat sheet: matching symptom to root cause

Most "the number doesn't work" reports trace back to something else. Match your symptom against the table before swapping numbers:

What you seeActual root causeWhat to do
invalid_phone_number (entered +86)OpenAI doesn't support China mainland numbersUse a supported region (US / UK / RU, etc.)
Verification screen says a code sent via WhatsAppCountry routes via WhatsApp, not SMSSwitch to a country that routes SMS
Multiple resends, no code landsOpenAI's silent rate limit kicked inStop clicking. Wait 15-20 minutes, try once more
Number displayed as +44 0xxxx or similarOpenAI format bug adds a leading 0Manually drop the leading 0 and resubmit
403 Country not supported after entering the codeYour egress IP is flagged — not the numberUse a clean residential IP, re-run verification
ChatGPT works on the web, Codex CLI demands phoneDifferent entry points have different risk thresholdsThe CLI gate is mandatory; no way around it
Repeated failures push the account into a stricter stateToo many failed attempts in a short windowWait 24 hours. Don't burn through numbers in panic

If your error doesn't match any of these, OpenAI may have temporarily tightened risk controls. Swapping numbers won't help — wait a few hours and try once typically does more than banging on it right now.

Using DogeSMS for Codex verification: a 5-step walkthrough

Since Codex verification routes through OpenAI's account layer, pick the OpenAI / ChatGPT service card in the DogeSMS dashboard. Not a separate "Codex" listing — that's literally the pipeline.

Five steps and you're through.

Step 1: In DogeSMS, search OpenAI and pick the service card

Step 1: Search OpenAI in the DogeSMS dashboard and select the service card
Step 1: Search OpenAI in the DogeSMS dashboard and select the service card

Step 2: Pick a country

Prefer US / UK / RU — they generally route SMS. If the OpenAI page later says "sent via WhatsApp", come back here and pick a different country.

Step 2: Select country and receive SMS
Step 2: Select country and receive SMS

Step 3: Paste the number into OpenAI's verification screen

Copy the number you got from DogeSMS (full international format, e.g. +1 415 555 0123). Switch back to OpenAI's Add phone / verification page and paste it into the phone number field. Don't trim the country code, and don't add a leading 0 (see culprit 3 above for the +44 / +251 formatter bug).

Step 4: Back in DogeSMS, wait for the code

Don't hammer OpenAI's resend button (see culprit 2 above — silent rate limit). The code lands in DogeSMS within seconds.

Step 4: Receive the OpenAI SMS code in DogeSMS
Step 4: Receive the OpenAI SMS code in DogeSMS

Step 5: Enter the code in OpenAI to finish

Once the 6-digit code shows up in DogeSMS, switch back to OpenAI's verification page and type it into the code field. Hit submit. If everything routed correctly (country, IP, no resend hammering), you're through to the next screen.

If the page says "a code sent via WhatsApp", that's a country routing issue (culprit 1) — come back to step 2 and switch country.

When this fits — and when it doesn't

Straight answer up front, so nobody walks away with the wrong expectation.

A good fit:

  • You're trying to get Codex CLI past its "verify your number" wall, once
  • You just signed into Codex on a new machine and got the prompt
  • You're trying out Codex / Codex CLI and don't want to deal with a foreign SIM for this one step

Not a good fit:

  • Binding this number as the trusted phone on your main ChatGPT account long-term — one-shot numbers aren't designed for that
  • Account recovery — also not what this is for

And one thing to set straight: SMS verification only solves the code-entry step. It doesn't guarantee Codex access, Plus eligibility, API credits, or model availability. Those are decisions OpenAI makes elsewhere — and no number-level service can change them. Expectations aligned, the rest is straightforward.

Frequently Asked Questions

Does Codex require a phone number?
Not always. Whether the prompt fires depends on account state, device, region, and recent behavior. The same account can pass on the web and get flagged in Codex CLI.
Why is Codex suddenly asking for phone verification when my account worked fine before?
Your account isn't compromised. OpenAI has been tightening risk gates on Codex CLI, new-device sign-in, and API key creation paths — older accounts that were never asked for phone are now being asked. The same fraud-control model OpenAI uses elsewhere, applied more aggressively to abuse-prone entry points.
Why is my Codex SMS code not arriving?
Three usual reasons: the country routes verification via WhatsApp instead of SMS; you've hit OpenAI's silent rate limit by clicking resend repeatedly; or you're on a country code with a known format bug (+44 UK, +251 Ethiopia). Address those three before assuming the number is bad.
Is Codex verification the same as ChatGPT verification?
Yes, essentially. Both go through OpenAI's account-layer phone verification. The difference is which entry point you hit it from — Codex CLI, API key creation, and new-device sign-ins have stricter risk thresholds than browser chat.
Will SMS verification guarantee Codex access?
No. SMS verification clears the code-entry step. Whether Codex actually works for your account afterward depends on your subscription status, region, and OpenAI's risk decisions — none of which a number service can promise.
Can I bind this number as my main ChatGPT account's trusted phone?
Not recommended. One-shot verification numbers are designed for single-use scenarios, not long-term primary account binding. If you're a heavy ChatGPT user, use a number you actually own long-term.

Table of Contents

  • Quick take: Codex doesn't issue its own verification
  • Same account, different risk threshold
  • Which countries actually work for Codex verification
  • Why your code isn't arriving
  • 1. The country routes via WhatsApp, not SMS
  • 2. Hitting "resend" silently rate-limits you
  • 3. Region-specific number format bugs
  • 4. A 403 "country not supported" usually means IP, not number
  • Error message cheat sheet: matching symptom to root cause
  • Using DogeSMS for Codex verification: a 5-step walkthrough
  • Step 1: In DogeSMS, search `OpenAI` and pick the service card
  • Step 2: Pick a country
  • Step 3: Paste the number into OpenAI's verification screen
  • Step 4: Back in DogeSMS, wait for the code
  • Step 5: Enter the code in OpenAI to finish
  • When this fits — and when it doesn't