Verification codes leave Twilio successfully but never reach the handset. In 2026 this is almost always a carrier filtering issue, not a Twilio bug — but the fix depends on which filter is catching it.
Carriers require the campaign use case to match message content. If your campaign is registered as 'marketing' and you're sending OTP codes, it can be silently filtered. Re-register with the 'Two-Factor Authentication' or 'Account Notifications' use case.
Short numeric-only messages with words like 'code', 'verify', or 'security' can trigger carrier heuristics. Add context: 'Your SideGuy verification code is: 482910. This code expires in 10 minutes.' Content with clear sender context passes more reliably.
10-digit long codes are capped at 1 message per second. If users trigger OTP requests in quick succession (double-tap, retry), messages queue and may time out before delivery. Use a messaging service pool or toll-free number for higher throughput.
Individual carriers maintain number-level blocklists. If your number has a poor sending history, specific carriers may block it without notification. Test the same code send to numbers on AT&T, Verizon, and T-Mobile separately to isolate the carrier.
OTP delivery outside the US has separate carrier agreements. Many countries require local number registration or use of in-country numbers. Check Twilio's country-specific compliance requirements if your users are international.
Real operator. No ticket queue. San Diego-based. Most issues resolved in one thread.
Related problems in this cluster: