---
ref: tool:twilio/send-message
name: Send a message
company: company:twilio
workflows: []
access: [cli]
tags: [capability:send-sms, category:messaging, has:cli]
docs: https://www.twilio.com/docs/messaging/api/message-resource#create-a-message-resource
updated: 2026-09-27
---

# Send a message

Sends an SMS, MMS or WhatsApp message from a Twilio sender to one recipient and returns the new Message resource.

Pass `--to` in E.164 format (or a channel address such as
`whatsapp:+15552229999`), a sender with `--from` or `--messaging-service-sid`,
and `--body`. A body over 160 GSM-7 characters is split into segments, each
charged, and trial accounts can only send to verified numbers. The REST call
is `POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json`.
The CLI also needs `TWILIO_ACCOUNT_SID` and `TWILIO_API_SECRET`, or a
`twilio login` profile.

## Set up

Use the first option your agent supports.

### CLI (official)

Install the command, then confirm it runs.

```sh
brew tap twilio/brew && brew install twilio
twilio --version
```

Run `twilio api:core:messages:create`.

Set `$TWILIO_API_KEY` in your environment first (get a key: https://www.twilio.com/docs/iam/api-keys/keys-in-console).

Before doing anything else, make one read-only call to confirm access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
