← All frames · Frame 06 · Send & channel errors

When the text can't be sent

Each failure gets its own honest screen, and every one has a way forward (retry, change number, or continue). Today any send failure falls through sendError to 401 UNKNOWN "Authentication failed", which looks to the client like the session ended. The manifest asks for 502 SMS_SEND_FAILED, 503 SMS_UNAVAILABLE, 429 RATE_LIMITED, 400 PHONE_INVALID, and 409 PHONE_UNAVAILABLE (Δ).

Desktop · AuthCard 420px · /signup/phone

FuzeFront
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Text messages aren't available right now

We can't send verification texts at the moment. Your account is ready — you can add your phone later from Settings → Security.

Mobile · 375px · SMS channel unavailable

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Text messages aren't available right now

We can't send verification texts at the moment. Your account is ready — you can add your phone later from Settings → Security.

error-send · send failed (502)

502 SMS_SEND_FAILED: the provider rejected or timed out. Retry once, or change the number. Raw provider text is never shown.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

We couldn't send the code

Something went wrong sending a text to +44 •••• •• 0123. Check the number and try again.

error-send · send failed under required

Same screen, but Skip is replaced by Continue for now (a deferral; re-prompted at next sign-in). Every failure state in 05, 06 and 08 follows this swap.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

We couldn't send the code

Something went wrong sending a text to +44 •••• •• 0123. Check the number and try again.

error-rate-limited · 429 on a resend (code pending)

429 RATE_LIMITED + Retry-After on /start while phonePending is true. The earlier code still works, so "I already have a code" goes back to enter-code.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Please wait a moment

You've asked for several codes in a short time. The code we already sent still works. You can request another in 4:59.

Please wait before requesting another code.

error-rate-limited · 429 on the first send (no code)

The same 429 when no challenge exists yet (phonePending absent: per-IP or per-number limit). There is no "I already have a code", because nothing was sent. The only options are to wait or skip.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Please wait a moment

Too many codes have been requested for this number or from this device. You can request a code in 4:59.

Please wait before requesting a code.

error-rate-limited · first send, under required

Same first-send 429, but the user can't Skip under required. The escape is Continue for now (continue-without-phone), and they are re-prompted at the next sign-in. The countdown is the server's Retry-After (Δ: sms-service must pass it through).

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Please wait a moment

Too many codes have been requested for this number or from this device. You can request a code in 4:59.

Please wait before requesting a code.

error-unavailable · SMS channel unavailable (503)

503 SMS_UNAVAILABLE mid-flow (transport went down after /methods said sms: true). This is an honest degrade: Continue exits via nextAfterPhone() under both policies. If /methods says sms: false up front, the step is never shown (08).

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Text messages aren't available right now

We can't send verification texts at the moment. Your account is ready — you can add your phone later from Settings → Security.

error-number-unavailable · number in use (409, no enumeration)

409 PHONE_UNAVAILABLE is returned only by /confirm, after a correct code. /start answers 202 for any well-formed number, so someone without the phone can't probe whether a number is registered. Only the phone's owner ever sees this screen, and the copy still doesn't confirm another account exists.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

This number can't be used here

Try a different mobile number. If this number is already set up on another account of yours, remove it there first.

error-number-unavailable · under required

Same 409, but Skip isn't allowed. The escape is Continue for now (continue-without-phone), alongside "Use a different number", so a user with only one phone isn't stuck. They are re-prompted at the next sign-in.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

This number can't be used here

Try a different mobile number. If this number is already set up on another account of yours, remove it there first.

error-phone-unsupported · server rejects number (400)

400 PHONE_INVALID: passed the client check, but the server can't text it (landline, unsupported region). Stays on enter-phone with an inline error.

Mobile · 375px (Android TWA)

Verify your phone
  1. Account (completed)
  2. Phone (current step)
  3. Email (not started)

Add your phone number

We'll text you a 6-digit code to confirm this number is yours. It's saved to your account as a verified contact number.

Message and data rates may apply.

Review · signup-phone-verification approve or reject each flow ↓
signup-phonependingApproveReject