# Install the CLI

> The revnu command: every route as a subcommand, JSON on stdout, and a login that keeps the token out of your shell history.

Canonical: https://revnu.com/docs/cli

```bash
npm install -g @revnu/cli
revnu auth login          # paste a token; it is verified and saved to ~/.config/revnu/config.json
revnu whoami
```

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

## Commands

```
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>]
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 leads list [--status s] [--limit N] [--cursor c]
revnu leads get <id>
```

The data commands (`whoami`, `review`, `agent`, `results`, `workflows`, `leads`) print JSON to stdout, so `| jq` works. `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, 2 usage.

## Frequently asked questions

### Where is the token stored?

In `~/.config/revnu/config.json` with mode 600, or wherever `XDG_CONFIG_HOME` points. `revnu auth logout` deletes it. The login prompt does not echo the token.

### Can I use it in CI?

Yes. Set `REVNU_API_TOKEN` as a secret and call the commands directly; nothing is interactive when the token comes from the environment.
