wapi.
CLI

Install

One binary with the runtime inside it. Nothing to install alongside.

wapi is a single executable with the Bun runtime compiled into it. There is no Node to install, no npm install -g, and nothing to keep in step with it — which is also why the binaries are large.

Download

curl -fsSL -o wapi https://github.com/crafter-station/wapi/releases/latest/download/wapi-linux-x64
chmod +x wapi && sudo mv wapi /usr/local/bin/
wapi --version

latest follows the newest release; replace it with download/v0.3.1 to pin one. Each release also carries SHA256SUMS, worth checking on a binary you did not watch being built.

Working in the repo already? bun apps/cli/src/index.ts runs the same CLI without downloading anything.

Log in

wapi login

It prints a short code and opens your browser. Approve the code while signed in to the dashboard, and the CLI stores a Personal Access Token.

The two halves are separate on purpose: the short code is what a human types, and a high-entropy poll token — which never leaves your machine — is the only thing that can collect the credential. Guessing the short code lets somebody approve your pending request into their account, which authenticates your CLI as them, so the CLI prints which account it landed in. It never yields a token.

One token does everything

Session keys are fetched from the PAT on demand, so there is no second credential to manage. The token appears on your tokens page named after the machine, and revoking it there signs that machine out.

Point it somewhere else

wapi --profile staging sessions list
WAPI_BASE_URL=http://localhost:3001 WAPI_TOKEN=$PAT wapi status

Config lives in ~/.wapi/config/config.json, written 0600. Environment variables override it, which is what makes the CLI usable in CI with no interactive login — see Using it in CI.

Try it without a phone

wapi sandbox create --use
wapi sessions connect
wapi send --to +99900000001001 --text "hello"

See Sandbox.

On this page