awesome cli.

Work & messaging

Twilio CLI for coding agents

Twilio resources through generated commands, profiles, test credentials, and full JSON API responses.

Open the official project ↗

This article follows the official documentation. We haven’t tested this tool for a hands-on review.

When a coding agent can run shell commands in an environment logged in to a Twilio account, it can use the Twilio CLI to run Twilio commands from the terminal. The CLI sends requests to Twilio’s APIs, which let software use Twilio services. Commands that list resources read live account data; commands that create or update resources change data in Twilio.

For example, an agent can use the CLI to read recent message records and summarize their statuses. Twilio documents command output formats such as JSON, which an agent can parse. The CLI does not have a documented agent-specific mode, so the agent uses it like any other shell command. The steps below follow Twilio’s documentation; the CLI has not been installed or tested for this article.

Install one copy of the CLI

Twilio supports macOS, Windows, and Linux, with several installation methods. For an npm installation, use:

npm install -g twilio-cli

Twilio CLI 6.0.0 and later requires Node.js 20 or newer. Choose one installation method and stick with it: Twilio warns that combining methods can create PATH conflicts, where the shell runs a different copy than expected. The npm installation does not update itself, and twilio update does not update npm installations. Twilio documents the available installation methods and update details.

Log in without sharing credentials in a prompt

Run the CLI’s interactive login from a trusted terminal:

twilio login

Twilio’s quickstart describes logging in with an Account SID, the account’s identifier, and an Auth Token, a secret used to authenticate. The CLI creates an API Key, a credential for API access, and stores it in a profile, a saved set of login details, for later commands. Keep the SID and token out of the agent’s prompt and source files. If you give an agent shell access to the environment where you logged in, it can run commands with the saved profile. Consider what account data the agent can read with that access.

Read recent message records

To ask Twilio for up to five message records and print them as JSON, run:

twilio api core messages list --limit=5 --output=json

The command makes a network request to Twilio and reads account data; it does not create or update messages. The --limit option sets the maximum number of records the CLI requests. --output=json asks the CLI to return structured JSON instead of its default display. Twilio documents output formatting and filtering. The exact records depend on the account and the response from Twilio, so an agent should inspect the returned JSON rather than assume particular message statuses or destinations.

A suitable prompt for this read-only task is:

Use the Twilio CLI to list up to five messages as JSON. Summarize the status of each returned message and omit full phone numbers from your response. Do not create or update any Twilio resource.

The prompt gives the agent a specific command goal and a limit on what it should do. It does not need the account token because the CLI uses the profile configured during login.

Keep writes separate from inspection

The CLI also exposes commands that change Twilio resources. For example, Twilio’s quickstart shows twilio api core messages create for sending a text message. That command sends a message through Twilio; it is not a preview of a future send. Have the agent inspect the command’s required arguments and the intended recipient before asking it to run a write command.

The CLI lets an agent query Twilio with documented commands and work with structured output. The agent needs a configured account profile. Commands that send messages or modify resources affect Twilio. For more developer tools, see the directory home.

Tool details come from awesome-ai-cli.