Telegram Code Sent to App Instead of SMS: How to Fix

Telegram delivers the login code in-app whenever another session is active. How to read it, force the SMS fallback, and what to do with no old device.

VoidMob Team
11 min read
Updated Oct 9, 2026

Telegram sends the login code through the app, not by SMS, when your number was recently used in Telegram on another device and that session is still active (Telegram's FAQ describes the same order: app first, SMS as the fallback). That is the default: an in-app message is instant and needs no carrier, so the app channel wins as long as it exists. You get an SMS only when Telegram has no live session to deliver to, or after the app delivery has clearly failed and you request the fallback.

Why the code goes to the app

When you enter your number, Telegram checks for authorized sessions attached to it. If one exists (an old phone, a tablet, Telegram Desktop, Telegram Web you forgot about), the code is pushed to those sessions as a service message from "Telegram" and the screen reads "We have sent the code to the Telegram app on your other device."

Two consequences people miss:

  • The code is not "lost". It is sitting in the Telegram chat on that device, and it is valid for the usual short window.
  • Logging out everywhere is what switches the channel to SMS. That is also what makes recovery harder if you cannot reach any device, so do it deliberately, not as a first reflex.

Get the code from the app first

  1. Open Telegram on any device where you are still logged in, including web.telegram.org if you ever used it.
  2. Open the official Telegram service chat (blue checkmark, pinned near the top).
  3. Read the newest message. The code is a short numeric string and is single-use.
  4. If nothing arrived, pull the chat to refresh: push notifications on an idle device are often delayed, the message itself is not.

Telegram Desktop counts as an active session. So does a session on a phone you sold without logging out, which is the single most common reason this screen appears at all.

Force the SMS fallback

You cannot pick the delivery channel from the login screen. You can only remove the app channel or exhaust it:

  • Wait out the timer, then tap "Resend". After the in-app attempt, Telegram offers the next channel. Its API documentation lists SMS, a flash or missed call (the calling number, or its last digits, is the code) and a call where a synthesized voice reads the code out; the FAQ adds that voice-call codes are only offered on accounts with two-step verification turned on. Which one you get depends on the app version and the number.
  • Log out of the old session. On the device that has access: Settings > Devices > terminate the other sessions, or "Terminate all other sessions". With no session left, the next login attempt goes to SMS.
  • Do not spam the number. Telegram's API documentation says each phone number gets only "a certain number of login attempts per day (e.g. 5, but this is subject to change)", after which further attempts are refused until the next day. One attempt, wait the full timer, one resend.

Flash calls are not SMS

On Android, Telegram may request call-log permission and read the incoming number automatically. If you denied that permission, the flash call still arrives but nothing is filled in: check your recent calls manually for the last digits.

When the code goes to your email instead

Some login screens say the code was sent to an email address, not to the app or by SMS. Telegram's API documentation explains where that comes from: "if the user logs in often enough, Telegram will ask the user to verify an email that will be used to send the login code." Once that login email is set, the code can be delivered there. Check that inbox, spam folder included, and enter the newest code. If you can no longer open that mailbox, contact Telegram through its support form.

The my.telegram.org code also goes to the app

The developer login at my.telegram.org, where you manage API apps or delete an account, says it on the screen: "Enter your number and we will send you a confirmation code via Telegram (not SMS)." That code lands in the Telegram service chat of a logged-in session, exactly like the app login above. With no session anywhere, log in to the app first, then come back to that page.

If you cannot open the app on any device

This is the hard case, and no third-party trick fixes it. Your options in order:

  1. Enter the number on a fresh install and use every resend option offered (SMS, a flash or missed call, or a voice call if two-step verification is on). SMS becomes available on some numbers only after the app attempt visibly fails.
  2. If you set a cloud password (two-step verification) with a recovery email, use the email reset flow to regain control after login.
  3. If the number itself is gone (SIM lost, line cancelled), the account is tied to that number. Recover the line with your carrier or accept that the account is unreachable. Telegram does not move an account to a number you cannot prove you control.

For anything else, Telegram's FAQ points to its support form for registration and login problems. The sms@telegram.org address you may find online is not a support line: the API documentation reserves it for developers whose third-party apps need SMS authorization.

If you are trying to avoid pinning a new account to your personal line in the first place, Telegram without a phone number covers what is and is not possible there.

If the number came from a rental service

The same screen has a different meaning when the number is not yours. If you rented a number for a one-time code and Telegram says the code went to the app, that number already has a Telegram account attached, opened by whoever held it before you. No SMS will come, because Telegram is delivering to that older account's session.

The fix is to cancel and take another number, not to wait. On VoidMob a one-time rental that receives no code auto-cancels and refunds in full at the end of its 15-minute window, and you can cancel earlier yourself; then rent a fresh number and request the code again. If it happens on a dedicated monthly number, send support a screenshot and the order ID and the number gets replaced. Registering with a number that already carries an account is not something a second SMS can undo.

Why the SMS never arrives once it is actually sent

Once the channel does switch to SMS, a second class of failure starts. Diagnose it by symptom:

SymptomLikely causeWhat to do
Resend only ever offers the app or a callAn active session still existsTerminate other sessions from a logged-in device, then retry
SMS never lands, calls workCarrier A2P filtering or a full inboxDelete old messages, disable SMS blocking apps, retry on the carrier network rather than Wi-Fi calling only
"Unable to send SMS" or instant rejectionThe number is VoIP, recycled, or already rate-limitedUse a non-VoIP carrier number, or wait out the cooldown before the next attempt
Code arrives minutes late and is already expiredRoaming or store-and-forward delayRequest once, wait the full timer, and enter the newest code only
Number accepted, then "this number cannot be used"Number type or reputation, not deliverySee the fix for that specific error

Virtual and app-based numbers fail here more than anything else, because Telegram, like most large platforms, screens the number's carrier record before it sends. Why VoIP numbers fail SMS verification explains the lookup, and this phone number cannot be used for verification covers the adjacent error message. If codes from other apps are not arriving either, not receiving verification codes walks through the checks that apply to every sender.

Registering with a number you actually control

For a new Telegram registration, a non-VoIP carrier number that can receive a code in a short window is what works reliably. One-time OTP numbers cover exactly that: the number is active for 15 minutes, and if no code lands in the window the rental auto-cancels and refunds in full, so a filtered number costs you nothing. Reuse inside that window is free, which matters because Telegram often sends a second code on the same session.

Telegram SMS number pricing

One-time code (US number)
from $1
Rental (US number)
from $3.75
Dedicated monthly number
from $16.99, multiple countries
Get a Telegram number

Prices updated

If the account needs to survive past the first login (re-verification, a device change, a password reset months later), a one-time number is the wrong tool: the code will go to a number you no longer hold. Take a multi-day rental (3, 7, 14, or 30 days) or a dedicated monthly line instead, and keep it for the life of the account. Details on the tiers and what each is for are on the Telegram SMS verification page, and text verification code covers the mechanics of the code itself.

The loop nobody diagnoses: sessions that keep dying

If you are requesting login codes repeatedly, the code delivery may not be the problem. Telegram ties a session to the device and watches where it connects from. Sessions that jump between unrelated networks and countries within minutes tend to get challenged, and each challenge is another code request, which is what eventually lands you in cooldown.

Two configuration rules stop the loop:

  • One account, one stable exit. Keep each Telegram account on a consistent IP rather than a rotating pool. A sticky session or a dedicated device holds the same carrier IP, which is what a real phone looks like. Mobile proxies for Telegram is the same idea applied per account.
  • Keep the country consistent. A number registered on one country's carrier that logs in from a different continent every session is the pattern that generates extra verification, not the volume of messages.

Fix the network first, then ask for one code.

Why isn't Telegram sending me an SMS code?

Because a session on another device is still authorized, so Telegram delivers in-app instead. Terminate the other sessions from a device you can reach, or wait out the resend timer until SMS or a call is offered (a voice call only on accounts with two-step verification on).

Why is Telegram unable to send SMS?

Usually number type or rate limiting. Telegram accounts can only be connected to a mobile number (its FAQ rules out landlines), virtual numbers often fail the carrier check, and each number gets only a few login attempts per day before Telegram refuses more until the next day. Use a non-VoIP carrier number and request one code per timer cycle.

Can I log in to Telegram without an SMS verification code?

Yes: the code can arrive in the Telegram app on another logged-in device, by a flash or missed call, by email if you set a login email, or as a voice call on accounts with two-step verification. Telegram also supports QR-code login from a logged-in device and passkeys. Some channel always has to confirm it is you.

Why am I not receiving the 6 digit code even though it says sent?

Check the Telegram service chat on every device you own, including Telegram Desktop and Telegram Web. If SMS was the channel, look for a full inbox, a third-party SMS blocker, or carrier filtering of automated messages, then retry on mobile data.

I rented a number and Telegram says the code went to the app. What now?

The number already has a Telegram account from a previous holder, so the code is going to that account's session and SMS will not follow. Cancel the rental (a one-time number that receives no code refunds automatically) and register with a fresh number.

Does deleting Telegram change where the code goes?

Removing the app does not end the session. Only terminating sessions (Settings, Devices) removes the in-app delivery channel and pushes the next code to SMS.

Get a Telegram code on a number you control

Non-VoIP carrier numbers for one-time codes, multi-day rentals, or a dedicated monthly line for accounts you keep.