numbers
add phone and text --from pick from.
models
create --model, set model and the wizard take any of them.
login
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
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
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.
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:
~/.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.