RevnuDocs
Browse the Docs▾

CLI & MCP / Install the CLI

Install the CLI

The revnu command: sign up and set up from a terminal, every API route as a subcommand, JSON on stdout, and a login that keeps the token out of your shell history.

Last updated

npx @revnu/cli setup      # sign up or sign in, then set Revnu up

revnu setup opens a browser to sign in; someone new creates their account on the same page. It then asks for the business's website, shows what Revnu learned with its sources, hands over a Stripe Checkout link and starts Revnu. revnu login signs in on its own and saves the token to ~/.config/revnu/config.json.

npm install -g @revnu/cli
revnu login               # or `revnu auth login` to paste a token from Settings → Developers
revnu whoami

Or skip the login and set REVNU_API_TOKEN in the environment. REVNU_API_BASE overrides the API base for testing.

From a coding agent

Claude Code, Codex and Cursor can set someone up without loading the MCP server: npx @revnu/cli setup --json prints one JSON object with stage, next and command, and never asks on stdin. The agent follows next until stage is done, showing the person the review rows before revnu setup confirm and handing them the checkout link. Exit 4 (LOGIN_PENDING) means the person is signing in at loginUrl; run the same command again once they have. Exit 3 (NOT_AUTHENTICATED) means nobody can sign in where it runs, such as CI.

Commands

revnu setup [--website <url>] [-y] [--json] [--wait <seconds>]
revnu setup status [--wait <seconds>]
revnu setup confirm [--keep-found] [--row <id>=<value>]... [--business-name "..."] [--extra "..."]
revnu setup checkout [--open] [--new] [--wait <seconds>]   # --new: replace the link already handed out
revnu setup finish
revnu login [--json] [--wait <seconds>]
revnu login --code <url>                    # the browser was on another machine
revnu logout
revnu auth login
revnu auth status
revnu auth logout
revnu whoami
revnu review list [--status pending|needs_revision] [--limit N]
revnu review get <id>
revnu review approve <id>
revnu review answer <id> --text "..."
revnu review choose <id> --option <value>
revnu review send <id> [--body "..."]
revnu review request-changes <id> --text "..."
revnu review snooze <id> --until <epoch-ms|ISO>
revnu review dismiss <id> [--reason "..."]
revnu agent message "..." [--wait <seconds>] [--client-id <id>] [--queue]
revnu agent poll <requestId>
revnu agent status
revnu agent thread [--limit N]
revnu results [--since <epoch-ms|ISO>]
revnu workflows list
revnu workflows runs <id> [--limit N]
revnu workflows create --json '<body>'      # or --json @body.json
revnu workflows update <id> --json '<body>'
revnu workflows pause <id>
revnu workflows resume <id>
revnu workflows run <id> [--client-id c]   # run it now; the schedule stays
revnu workflows delete <id>
revnu leads list [--status s] [--limit N] [--cursor c] [--workflow-run id]
revnu leads get <id>
revnu leads update <id> [--vertical v] [--archetype a] [--tags a,b] [--clear vertical,archetype,tags]
revnu linkedin person <profile url> [--account name]
revnu blocklist list [--limit N] [--cursor c]
revnu blocklist add <value>... [--reason "..."]
revnu blocklist remove <id>

The --json body for workflows create and update is the same object the create and update routes take. --tags replaces the whole list; --tags "" empties it and --clear tags removes it.

The data commands (whoami, review, agent, results, workflows, leads, blocklist) and auth status/auth logout print JSON to stdout, so | jq works. login and setup print text, or one JSON object with --json. auth login, help and version print text, and mcp owns stdout for the MCP transport, so never pipe those. Exit codes: 0 ok, 1 the API said no or the network failed, 2 usage, and for login and setup 3 not signed in with nobody to sign in, 4 sign-in still in progress.

Agents: this page is also markdown at /docs/cli.md, answers Accept: text/markdown, and is listed in /docs/llms.txt.

Frequently Asked Questions

In `~/.config/revnu/config.json` with mode 600, or wherever `XDG_CONFIG_HOME` points. `revnu logout` deletes it. A token from `revnu login` is listed in Settings → Developers as "Revnu CLI", with the agent's name when an agent ran it, and signing in again replaces it. The login prompt does not echo the token.