CLI

Convoy from your terminal.

Single binary, device-flow auth, every dashboard operation at your prompt. Built for CI and for the kind of day when you'd rather not open a browser.

One install. Every workspace.

Drop the binary on your PATH and you're done.

The Convoy CLI is a single static binary. Download it once for your platform, put it on your PATH, and the same install works against every workspace you belong to.

There is no per-project config to maintain, no environment variable to export before running it, and no dotfile to commit. The CLI looks at your local credential store first, then prompts you to sign in.

  • Single static binary, no runtime dependencies
  • Builds available for macOS, Linux, and Windows
  • No project-level config; works from any directory
  • Credentials cached locally in the OS keychain where supported
macOSLinuxWindowsStatic binary

Sign in once

Device flow. No tokens to paste.

Authentication uses an OAuth-style device flow. The CLI prints a URL and a short code. Open the URL in your browser, confirm the code, and the CLI receives the session token over the back channel.

Sessions are tied to your Convoy account, not to the machine. Sign in on a CI worker, on your laptop, and on a teammate's workstation, every session is independent. Revoke any one of them from the dashboard or the CLI without affecting the others.

Workspace selection is part of the same flow. Pick the active workspace at sign-in time and every subsequent command operates inside it. Switch workspaces with one command when you need to.

  • OAuth-style device flow, no PATs to copy around
  • Per-machine sessions, individually revocable
  • Workspace switcher built in
  • Same RBAC as the dashboard, your role applies to the CLI
Device flowOAuthPer-session revoke

Manage apps from anywhere

List, deploy, pause, resume, delete, log-tail.

Every app operation in the dashboard is available from the CLI. List the apps in your workspace, get full detail on any one of them, trigger a deploy from the current commit, pause an app to free its capacity, resume it later, or delete it for good.

Logs stream live to your terminal with the same WebSocket pipeline the dashboard uses. Pipe them through grep, jq, or your favourite log filter, they are plain text on stdout.

  • List apps in the active workspace
  • Get full detail: status, replicas, current deployment, URL
  • Trigger a deploy from a Git commit
  • Pause and resume apps to manage capacity
  • Stream live logs to your terminal
  • Delete apps with explicit confirmation
appslogspauseresume

Inspect and control deployments

List, get, cancel, same surface as the dashboard.

Every deployment your apps have ever had is queryable from the CLI. List the deployment history of an app, get full detail on any deployment, or cancel one that is still building.

Retry, cancel, and promote operations are idempotent on the API side, so the CLI is safe to retry from a CI pipeline. Pass an idempotency key and the second call will return the result of the first instead of doing the work twice.

  • List deployment history of any app
  • Get full deployment detail: status, commit, build, image
  • Cancel a pending or building deployment
  • Idempotent retry/cancel/promote, safe from CI
  • Same dual-pointer current/pending model as the dashboard
deploymentsIdempotentCI-safe

Tail the platform event stream

Every deploy, every alarm, every config change, at your prompt.

The same canonical event timeline that powers /events in the dashboard is queryable from the CLI. Fetch the recent history of your workspace, or tail the live stream and pipe it into anything else.

Useful for shell-out automation: trigger a webhook when a deploy fails, page a human when a critical alarm fires, or feed events into your own data warehouse without standing up an integration.

  • Fetch recent platform events from your workspace
  • Tail the live stream in your terminal
  • Filter by action, scope, or time range
  • Tenant-scoped, only your workspace's events
  • Plain-text or JSON output for downstream piping
EventsTailJSON

Use your GitHub access without leaving the terminal

List repos, branches, and commits the platform sees.

The GitHub App you connected to your workspace is reachable from the CLI. Browse the repos it has access to, list branches on any repo, and walk commits on a branch, all using fresh installation tokens the platform mints for you.

Useful when you want to pick a deploy target from a script without round-tripping through the dashboard.

  • List repos the workspace has access to
  • List branches on any repo
  • List commits on any branch
  • Uses the same GitHub App as the dashboard
  • No PAT required
GitHub AppReposBranchesCommits

Built for CI

Non-interactive auth. Idempotent operations. Structured output.

The CLI runs in CI the same way it runs on your laptop. Sign in once with a short-lived device-flow session, persist the session to a secret store, and the rest of the pipeline reuses it.

Most write operations accept an idempotency key. Pass the same key on retry and the second call returns the result of the first instead of doing the work twice, useful when a CI step is restarted halfway through.

Structured output is opt-in. Add a flag and most commands return JSON suitable for jq or yq piping, instead of the human-formatted default.

  • Non-interactive auth with persisted sessions
  • Idempotency keys on retry/cancel/promote
  • JSON output flag for downstream pipes
  • Same RBAC as the dashboard, Admin can deploy, Member follows their role
  • Exit codes are meaningful and stable
CIIdempotentJSONNon-interactive

Same audit log as the dashboard

Every CLI action shows up in /events.

Every write you make through the CLI lands in the platform event timeline the same way a dashboard click would. Deploys, cancels, promotes, pauses, all attributed to the user who ran the CLI command, all tagged as having come from the CLI.

Teammates can see what you did from the dashboard. You can see what they did from the CLI. There is no separate 'CLI log' to chase.

  • Every CLI action recorded in the unified audit log
  • Attributed to the signed-in user
  • 365-day retention, same as the rest of the platform
  • Visible from both the dashboard and the CLI
AuditAttributionUnified log

FAQ

Sign up, sign in, ship.

The CLI is included with every workspace. Free tier with LKR 500 welcome credit. No card required.