Skip to main content
Five verbs that stand on their own.

numbers

The phone numbers in the account and what each is attached to, which is where add phone and text --from pick from.

models

The inference models the account can use, the hosted ones first, then the ones that need the user’s own key as a secret. create --model, set model and the wizard take any of them.

login

Signs in once, through telnyx-edge, and every other verb reuses the session. A script sets TELNYX_API_KEY in the environment instead. The access token lives under an hour; when a verb finds it expired, or within a minute of it, the CLI renews it from the refresh token and writes the new tokens back where telnyx-edge keeps them, so no verb, dev included, sends you to login every hour. A renewal the platform refuses, a revoked refresh token for example, ends the verb with exit 4, “Your session has expired.”, the refusal in the hint and telnyx-acp login as the fix.

validate

Checks agent.json and the project against the spec, and every problem names the field and the fix. dev and deploy run the same checks before they act, deploy adding one, TELNYX_PUBLIC_KEY when the agent answers webhooks; set and unset check the schema only.

update

Updates the CLI to its latest release. It asks the npm registry first, taking the newest of the latest and beta tags of @telnyx/acp, compares it with the running build, asks once, then runs npm install -g @telnyx/acp@<version> --prefer-online with the terminal handed over, using the npm that launched it, else the one beside the running node, else npm on PATH. When the registry does not list the package or cannot be reached, it falls back to the newest agent-cli-v* GitHub Release through gh release list, the channel of the internal installer, and runs that installer pinned to the version.
--yes skips the confirmation; without it and without a terminal the verb exits 2 when there is something to install. --json answers { package, current, latest, source, updated }, source being npm or github. A registry that cannot be reached falls through to GitHub; when neither yields a release, or npm install -g fails, or on the GitHub path gh is missing or signed out, the verb ends with exit 1 naming what stood in the way, and the command to run by hand as the fix. On Windows the GitHub installer needs bash, under WSL or Git Bash.
That one-liner is the internal installer run by hand, for a Telnyx machine where the registry is not the channel.

The Newer-Version Notice

After any verb on a terminal, --version and --help included, the CLI prints one line on stderr when a newer release exists:
The check runs beside the verb and holds the exit by at most a second; its result is kept for a day in ~/.telnyx-acp/update-check.json, so most runs spawn nothing, and a check that failed is kept too rather than retried on every run. TELNYX_ACP_HOME moves that directory. The notice is off under --json, off a terminal, in CI, for update and export, and with TELNYX_ACP_NO_UPDATE_CHECK=1.