Skip to main content
Install plivo, sign in through your browser with plivo login, and confirm which account the CLI will use with plivo auth whoami.

Install

The one-line installer detects your OS and architecture, downloads the matching release binary, verifies its SHA-256 checksum, and places it in a user-owned directory on your PATH: no sudo.
Without Homebrew, or on WSL, use the install script:
To build from source (Go 1.26 or later): git clone https://github.com/plivo/plivo-cli && cd plivo-cli && go build -o plivo . Then log in. If a coding agent will drive the CLI, also install the Plivo skills. Verify a release. Binaries for macOS, Linux and Windows (amd64 and arm64), SHA256SUMS and its signature are on the GitHub releases page. The checksums are signed with cosign in keyless mode; install.sh, install.ps1 and plivo upgrade verify that signature when cosign is installed. To check by hand:
Verified OK means the checksums were signed by that Plivo identity. Pin both the identity and the issuer: without them any valid Sigstore signature would pass.

Log in with a browser

plivo login is the only way to sign in. It opens the Plivo Console in your browser, where you sign in and approve access, so your password never touches the CLI. The CLI saves a named profile in ~/.plivo/config.toml and puts the auth token in your OS credential store (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux). Only when no credential store is available is the token written into ~/.plivo/config.toml, readable by you alone.
Browser can’t reach the terminal? In a container, WSL, a VM or over SSH, the page the browser opens after you approve may fail to load. Copy the full URL from the address bar and paste it into the terminal. The CLI accepts only the URL of this login.

Skills offer inside a coding agent

Run plivo login inside Claude Code, Cursor or Codex, and after sign-in it offers to install the Plivo skills where that agent reads them. --yes installs them without asking; --quiet skips the offer. See Offer after login.

Run in CI and from agents

There is no headless login, and PLIVO_AUTH_ID and PLIVO_AUTH_TOKEN are not read from the environment. For a CI runner, a container or a coding agent, a person must run plivo login once in the environment that will run commands; later commands use that saved profile and its credential store. Copying config.toml alone does not copy a token stored in the OS keychain, so use a persistent runner with access to the same profile and credential store, then confirm with plivo auth whoami.
A saved profile grants access to your account. For automated use, select the intended account, use subaccounts to separate resources where appropriate, and protect the machine that holds the profile.
Useful settings in scripts (see Telemetry for what the last one turns off):

Switch between accounts

A profile is a saved login. Keep one profile per account or subaccount and switch between them. Logging in to a different organization saves a second profile, named after it, instead of replacing the first. The CLI picks credentials from the --profile flag, then the active profile. Use --profile to run one command under another profile without switching:

Log out

plivo logout [profile] removes a saved profile and deletes its token from the credential store.

Upgrade

plivo upgrade fetches the latest release, verifies the binary against the release’s SHA256SUMS (and, when cosign is installed, the signature on those checksums), then atomically replaces the running executable. With -o json it prints one summary on stdout and progress on stderr. A binary installed by Homebrew (it lives in a Homebrew Cellar) is refused, with a pointer to brew upgrade plivo, so the two don’t fight over the same file. A binary from the install script works with plivo upgrade, even in a Homebrew bin folder.
On a terminal, the CLI prints a one-line hint on stderr when a newer version is available, at most once every 24 hours. Set PLIVO_NO_UPDATE_CHECK=1 to silence it.

Shell autocompletion

plivo completion <shell> generates a completion script so commands, subcommands and flags tab-complete. Run plivo completion <shell> --help for shell-specific notes.