Menu

Command-Line Interface (CLI) Quickstart

The Twilio CLI allows you to manage your Twilio resources from your terminal or command prompt. Let’s get it installed and take a quick tour.

Currently, Node.js 14+ is supported. Please upgrade if you are using an older version.

Install the Twilio CLI

To install the CLI on macOS using Homebrew, run:

brew tap twilio/brew && brew install twilio

To install the CLI on distributions such as Debian, Ubuntu, Linux Mint, and more using Advanced Package Tool (apt), run the following:

wget -qO- https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc \
  | sudo apt-key add -
sudo touch /etc/apt/sources.list.d/twilio.list
echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' \
  | sudo tee /etc/apt/sources.list.d/twilio.list
sudo apt update
sudo apt install -y twilio

To install the CLI on Windows using Scoop, run PowerShell as an administrator and execute these commands:

scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
scoop install twilio

To run the Twilio CLI as a Docker image with an interactive bash shell, run:

docker run -it --rm twilio/twilio-cli bash

Consult the dedicated Twilio CLI Docker documentation for more details on usage.

Disclaimer

It’s strongly recommended to use one of the other installation methods if possible. An installation by npm does not auto-update, and uses your system’s version of Node.js, which may be older than the version Twilio develops the CLI against.

Install using npm

To globally install the Twilio CLI so that it can be used from any directory, use:

npm install -g twilio-cli

Refer to the CLI install documentation for more installation methods.

Once the CLI has finished installing, run twilio --version (or twilio -v) to verify your installation. You'll see similar output to this:

$ twilio --version
twilio-cli/5.0.0 darwin-x64 node-v14.19.0

Login to your Twilio account

In order for the CLI to access your Twilio account and execute commands on your behalf, you need to log in and provide your Twilio credentials. This can be done by running:

twilio login

You will be prompted for your Account SID and Auth Token, both of which you can find on the dashboard of your Twilio console.

This will create an API Key for you that will be stored securely and used to issue authenticated requests as you use the CLI. This secure API Key and your settings will be stored locally as a profile.

Refer to the profiles guide if you would like to use multiple accounts or profiles with the Twilio CLI on the same machine.

Install CLI autocomplete (bash or zsh only)

Autocomplete allows you to type part of a command, parameter, or flag, and the Twilio CLI will either automatically complete the command or display suggestions for you. If you have autocomplete enabled, you can prompt the CLI for these suggestions by pressing the Tab key.

Enable autocomplete by running the appropriate command for your shell:

twilio autocomplete bash
twilio autocomplete zsh

Follow the resulting instructions, and either restart your shell or open a new one to finish installing command autocomplete.

If suggestions are not appearing, double-check that you restarted your shell or opened a new instance since installing.

Explore the Twilio CLI

The best way to learn about what you can do with the CLI is to run the command:

twilio

When you do, you will get a list of the various topics and commands available to run. Topics are groupings for more topics and commands, similar to the folder structure on your file system.

$ twilio
Unleash the power of Twilio from your command prompt. Visit https://twil.io/cli for documentation.

VERSION
  twilio-cli/5.0.0 darwin-x64 node-v14.19.0

USAGE
  $ twilio [COMMAND]

TOPICS
  api            advanced access to all of the Twilio APIs
  config         manage Twilio CLI configurations
  debugger       Show a list of log events generated for the account
  email          sends emails to single or multiple recipients using Twilio SendGrid
  feedback       provide feedback to the CLI team
  phone-numbers  manage Twilio phone numbers
  plugins        list available plugins for installation
  profiles       manage credentials for Twilio profiles

COMMANDS
  autocomplete  display autocomplete installation instructions
  feedback      provide feedback to the CLI team
  help          display help for twilio
  login         create a new profile to store Twilio Account credentials and configuration
  plugins       list installed plugins
  update        update the twilio CLI

See something that looks interesting? Just try running it:

twilio api -h

Since api is a topic, you will actually be shown more topics and commands that are contained within that topic. Let’s say in the process of exploring, you stumbled upon this command:

twilio api:core:messages:list

If you run that command, it will list all of your SMS messages, which may be a lot. How can you filter them? Or, more generally, how can you discover what options a given CLI command provides? The answer is to add --help or -h to the command like so:

twilio api:core:messages:list --help
twilio api:serverless:v1:services:create -h

If you type a command, you might get an error if you haven’t provided all the required options. This is another situation where adding --help or -h to the command can give you more information.

Spaces can optionally be used instead of colons when entering commands. These two commands are functionally identical:

twilio api:core:messages:list
twilio api core messages list

Some quick examples

List your Twilio phone numbers

twilio phone-numbers:list

Send a text message

twilio api core messages create \
  --from "+15017122661" \
  --to "+15558675310" \
  --body "I sent this from my terminal 😎"

What’s next?

Now that you’ve been introduced to the Twilio CLI, where should you go from here?

View examples

Please view our examples for some inspiration of what you can do with the Twilio CLI.

Read the general usage guide

Refer to our general usage guide to read more about a variety of CLI features:

Explore plugins

The Twilio CLI can be extended via plugins. You can publish your own for the community, or make them private for your own (or your clients') business workflows. There are already a number of plugins available for you to extend your CLI.

Send us feedback

Finally, we’d love to hear from you. Any time you have feedback you’d like to send us, run:

twilio feedback
Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

Thank you for your feedback!

Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

Sending your feedback...
🎉 Thank you for your feedback!
Something went wrong. Please try again.

Thanks for your feedback!

thanks-feedback-gif