> ## Documentation Index
> Fetch the complete documentation index at: https://opentooler.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI overview

> The stable CLI interface that connects AI agents to pay-per-use tools.

The `opentooler` CLI is the interface AI agents use for tool discovery, execution, billing, and diagnostics. Its stable JSON contract is designed for programmatic use.

## Install

```bash theme={null}
npm install --global @opentooler/cli@stable
opentooler --version
opentooler doctor --json
```

The CLI requires Node.js 22 or newer and supports macOS, Linux, WSL, and native Windows.

## Command areas

| Area           | Commands                                                                            |
| -------------- | ----------------------------------------------------------------------------------- |
| Authentication | `auth login`, `auth logout`, `auth status` (aliases: `login`, `logout`, `status`)   |
| Tools          | `tools list`, `search`, `describe`, `quote`, `call`                                 |
| Invocations    | `invocations list`, `get`                                                           |
| Billing        | `billing balance`, `billing topup`, `billing receipts list`, `billing receipts get` |
| Diagnostics    | `doctor`                                                                            |

## Global output options

| Option            | Behavior                                     |
| ----------------- | -------------------------------------------- |
| `--json`          | Write one stable JSON envelope to stdout.    |
| `--output human`  | Default human-readable output.               |
| `--output json`   | Equivalent structured JSON output.           |
| `--output ndjson` | Newline-delimited progress events for calls. |
| `--output text`   | Plain text output.                           |
| `--quiet`         | Suppress progress messages on stderr.        |

<Tip>
  AI agents should use `--json` and treat stdout as structured data. Do not
  parse human-readable output.
</Tip>
