Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

Manage your Dodo Payments resources, run AI-powered queries against your account, create checkout sessions, and test webhooks — all from the terminal. The CLI ships with an interactive TUI, a built-in AI assistant powered by MCP, and offline webhook testing.

Features

  • Interactive TUI — launch dodo with no arguments to open the full interactive interface with command palette, history, and live notifications.
  • AI assistant built in — ask questions or take actions in plain English with /ai. No extra setup, runs dodopayments-mcp locally.
  • Secure by default — API keys are stored in your OS secret store (macOS Keychain, Windows Credential Vault, Linux libsecret). No plaintext config on disk.
  • Auto update — the CLI checks for new versions on startup and notifies you in-app. Run /update to upgrade in place.
  • Webhook tooling — listen for live webhooks or trigger payloads offline for local development.

Installation

Install the CLI in one line on macOS or Linux:
curl -fsSL https://dodopayments.com/install.sh | sh

Install with npm or Bun

If you already have Node or Bun, the package-manager installs always pull the latest version:
npm install -g dodopayments-cli

Manual installation (no Node / Bun required)

If you’d rather not pipe a remote script to sh, download the binary yourself.
1

Download the binary

Download the binary for your platform from the latest GitHub Release.
PlatformBinary
macOS (Apple Silicon)dodo-cli-darwin-arm64
macOS (Intel)dodo-cli-darwin-x64
Linux (x86_64)dodo-cli-linux-x64
Linux (arm64)dodo-cli-linux-arm64
Windows (x86_64)dodo-cli-windows-x64.exe
2

Rename the binary to `dodo`

mv ./dodo-cli-* ./dodo && chmod +x ./dodo
3

Move it to a directory on your PATH

sudo mv ./dodo /usr/local/bin/
On Windows, moving to C:\Windows\System32 requires administrator privileges.
4

(Optional) Verify the download

Each release publishes a SHA256SUMS.txt. Verify your download with:
shasum -a 256 -c SHA256SUMS.txt

Authentication

Before using authenticated commands, log in with your API key:
dodo login
Or, from inside the interactive TUI:
/login
The login flow will:
  1. Open your browser to the Dodo Payments API Keys page.
  2. Prompt you to paste your API Key.
  3. Ask you to select an environment — Test Mode or Live Mode.
  4. Store the credentials in your OS secret store (Keychain on macOS, Credential Vault on Windows, libsecret on Linux).
Because credentials are stored in the OS secret store, you may be prompted for your device password the first time the CLI reads or writes credentials. If you’re upgrading from an older version, any existing plaintext API key will be migrated to the secret store and the legacy file deleted automatically.

Switching modes and logging out

You can keep one Test Mode and one Live Mode key authenticated at the same time. To clear credentials:
dodo logout
The logout flow lets you choose between All accounts, Test Mode, or Live Mode independently.

Usage

You can use the CLI in two modes. Run dodo with no arguments to launch the full interactive interface:
dodo
Type / to open the command palette, or just start typing — anything that isn’t a slash command is sent to the AI assistant.
CommandDescription
/helpShow the command reference
/updateCheck for and install a CLI update
/loginAuthenticate with an API key
/logoutSign out of one or all environments
/clearClear the TUI screen
/exitExit the TUI (also: type exit, or press Esc twice)

2. Direct subcommands

Run commands directly without entering the TUI:
dodo <category> <sub-command> [args...]
For example:
dodo payments list 1
dodo customers create
dodo wh trigger
The reference tables below show every command. In the TUI, prefix them with /; in direct mode, drop the /.

AI Assistant

Ask questions or take actions in natural language. The assistant uses dodopayments-mcp running locally — no additional setup or OAuth flow required, and your AI traffic doesn’t leave your machine except to talk to the model provider.
CommandDescription
/ai <query>Ask the AI assistant a question or give it an instruction
(any non-slash text)Sent to the AI assistant by default while in the TUI
Examples:
how much revenue did I make this week?
/ai create a new customer named Acme Inc.
/ai find my last failed payment
The assistant respects your active environment (Test / Live), so it only operates on data from the environment you’re currently logged into.

Command Reference

Products

Manage your product catalog.
CommandDescription
dodo products list <page>List products
dodo products createOpen the dashboard to create a product
dodo products info <id>View details for a specific product

Payments

View payment transactions.
CommandDescription
dodo payments list <page>List payments
dodo payments info <id>Get information about a specific payment

Customers

Manage your customer base.
CommandDescription
dodo customers list <page>List customers
dodo customers createCreate a new customer
dodo customers update <id>Update an existing customer

Discounts

Manage coupons and discounts.
CommandDescription
dodo discounts list <page>List discounts
dodo discounts createCreate a new percentage-based discount
dodo discounts delete <id>Remove a discount by ID

Licenses

Manage software licenses.
CommandDescription
dodo licences list <page>List licenses

Addons

Manage product addons.
CommandDescription
dodo addons list <page>List addons
dodo addons createOpen the dashboard to create an addon
dodo addons info <id>View details for a specific addon

Refunds

View refund information.
CommandDescription
dodo refunds list <page>List refunds
dodo refunds info <id>View details for a specific refund

Checkout

Create hosted checkout sessions.
CommandDescription
dodo checkout newInteractively create a hosted checkout session and get a payment link

Webhooks

The CLI includes two powerful tools for testing webhooks during development: a listener that forwards live test webhooks to your local server, and a trigger that sends mock webhook payloads to any endpoint.
CommandDescription
dodo wh listenListen for webhooks in real time and forward them to your local dev server
dodo wh triggerTrigger a test webhook event interactively — even while logged out

Listen for webhooks

Forward webhooks from Dodo Payments directly to your local development server in real time.
dodo wh listen
1

Enter your local endpoint URL

Provide the local URL where you want to receive webhooks (e.g., http://localhost:3000/webhook).
2

Automatic setup

The CLI automatically creates a webhook endpoint on your Dodo Payments account if one doesn’t already exist, then opens a WebSocket connection to receive events in real time.
3

Receive and forward

When a webhook event fires (from a test payment, subscription change, etc.), the CLI receives it, logs the event type, and forwards the full request with headers and body to your local endpoint. The response from your endpoint is logged and sent back.
dodo wh listen requires a Test Mode API key. Live Mode keys are not supported by the listen flow.
The listener preserves the original webhook headers (webhook-id, webhook-signature, webhook-timestamp) when forwarding to your local endpoint, so you can test your signature verification logic.

Trigger test webhooks

Send mock webhook payloads to any endpoint for quick testing without needing to create real transactions.
dodo wh trigger
The /wh trigger flow guides you through:
  1. Setting a destination endpoint URL
  2. Selecting a specific event to trigger from an interactive menu
dodo wh trigger does not require login. It works as a local/offline webhook payload generator.
Triggered events are not signed. While testing, disable webhook signature verification on your endpoint — for example, use unsafe_unwrap() instead of unwrap() in your webhook handler during testing only.

Supported webhook events

CategoryEvents
Subscriptionactive, updated, on_hold, renewed, plan_changed, cancelled, failed, expired
Paymentsucceeded, failed, processing, cancelled
Refundsucceeded, failed
Disputeopened, expired, accepted, cancelled, challenged, won, lost
Licensecreated

Environment variables

VariableDescription
DODO_WH_TEST_SERVER_URLOverride the default webhook relay server URL used by dodo wh listen

Updates

The CLI checks for a newer version on startup and surfaces a notification in the status bar when one is available. To upgrade:
/update
Or, re-run the installer to upgrade in place:
curl -fsSL https://dodopayments.com/install.sh | sh

Resources

GitHub Repository

View source code and releases

npm Package

View on npm registry

Support

Last modified on May 19, 2026