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

# Command reference

> Every OpenWhispr CLI command, organized by noun.

The CLI uses noun-verb syntax (`notes list`, not `list-notes`) — same convention as `gh`, `kubectl`, `aws`, `stripe`.

## Global flags

| Flag             | Effect                                                                                                                                                                                                                                                                          |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--local`        | Force the local desktop bridge backend                                                                                                                                                                                                                                          |
| `--remote`       | Force the remote cloud API backend                                                                                                                                                                                                                                              |
| `--format <fmt>` | Output format, per command. Supported values vary (`json`, `table`, `markdown`, `text`). Default depends on TTY: human-readable in a terminal, JSON when piped. Not all commands accept this flag — `notes create`, `notes update`, and `folders create` always emit full JSON. |
| `-h, --help`     | Show command help                                                                                                                                                                                                                                                               |
| `-V, --version`  | Print CLI version                                                                                                                                                                                                                                                               |

## Notes

```bash theme={null}
openwhispr notes list [--folder <id>] [--limit N] [--format json|table]
openwhispr notes get <id> [--format json|markdown]
openwhispr notes create --content <text> | --content-file <path>
                        [--title <t>] [--folder <id>]
openwhispr notes update <id> [--content <t>] [--folder <id>] [--title <t>]
openwhispr notes delete <id> [--dry-run] [--format json|table]
openwhispr notes search <query> [--limit N] [--format json|table]
```

## Folders

```bash theme={null}
openwhispr folders list [--format json|table]
openwhispr folders create --name <name> [--sort-order <n>]
```

## Transcriptions

```bash theme={null}
openwhispr transcriptions list [--limit N] [--format json|table]
openwhispr transcriptions get <id> [--format json|text]
openwhispr transcriptions delete <id> [--dry-run] [--format json|table]
```

`--format text` returns the plain transcript body. SRT and VTT subtitle formats aren't currently exposed by the CLI — use `--format json` and post-process the segment data if you need timestamped subtitles.

## Audio

```bash theme={null}
openwhispr audio delete <transcription-id> [--format json|table]
```

Local-only. Deletes the audio file for a **dictation** transcription (meeting transcripts have no audio to delete — only their text is captured). The cloud API doesn't store audio at all, so running with `--remote` exits with a "not supported" error.

## Auth

```bash theme={null}
openwhispr auth login    # prompts for API key, stores in ~/.openwhispr/cli-config.json
openwhispr auth logout
openwhispr auth status
```

## Config

```bash theme={null}
openwhispr config get
openwhispr config set backend auto|local|remote
openwhispr config set api-base https://api.openwhispr.com
```

## Doctor

```bash theme={null}
openwhispr doctor [--format json]
```

Reports which backends are reachable and exits non-zero if neither is.

## Exit codes

| Code | Meaning                                                          |
| ---- | ---------------------------------------------------------------- |
| 0    | Success                                                          |
| 1    | User error (bad arguments, missing required flag)                |
| 2    | Backend unreachable (app not running, API unreachable)           |
| 3    | Authentication failure (missing/invalid key, insufficient scope) |
| 4    | Not found (no such note/transcription/folder)                    |
