## TL;DR

Send from an SMS-capable number: use a Twilio number with SMS capability, or a Messaging Service that picks one for you. Error 21608 means the From number you passed cannot send texts (it may be voice-only, or not a Twilio number at all). Swap the sender and the error clears.

```text
twilio error 21608: The From phone number provided is not a valid SMS-capable number
```

## Steps

1. Note the exact From number your code passes on the failing request. Expected: you have the number Twilio rejected.

2. In the Twilio console, open that number's configuration and check its capabilities. Expected: you see whether SMS is listed as a capability.

3. If the number is not SMS-capable, replace it with one that is: buy an SMS-capable number or use a Messaging Service SID as the sender. Expected: your code references a sender that can send texts.

4. If you are on a trial account, confirm you are sending from the trial-assigned number or a verified caller ID, since trial restrictions compound this error. Expected: the sender complies with trial rules.

5. Re-run the send. Expected: Twilio accepts the message and returns a message SID.

## Use this when

- Twilio returns exactly error 21608 about the From number.
- A generated client passes a voice-only number, a landline, or a placeholder as From.
- The code worked with one number and broke after the number changed.

## Not for this skill when

- Credentials are wrong (authentication fails before number checks).
- The message sends but never arrives (that is carrier filtering or the To number).
- You are placing voice calls, where SMS capability is irrelevant.

## Variant phrasings

- Twilio 21608 From number not SMS capable
- Twilio the From phone number is not a valid SMS-capable number
- Twilio error 21608 fix

## Why it happens

Twilio numbers have per-number capabilities, and not every number can send SMS. Generated clients often grab the first number on the account, hardcode a support line, or copy a placeholder, without checking the capability flag. The API validates the sender before doing anything else, so the send fails fast with 21608.

## Edge cases

- Alphanumeric sender IDs work in many countries but not in the US and Canada; use a real number there.
- Ported or newly purchased numbers can take time before SMS capability is fully provisioned.
- A Messaging Service with a number pool avoids this whole class of error by selecting a capable sender automatically.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_qODODn-HkErz_wfQPssFiw
