# CLI reference

Source: https://redcrown.ai/docs/reference/cli/

Every redcrown subcommand and flag.

## `redcrown attest`

Download a signed attestation for a completed run

| Flag | Description | Default |
| --- | --- | --- |
| `run_id` |  | `` |
| `--out` | output file (default <run_id>-attestation.json) | `` |
| `--api-url` |  | `https://api.redcrown.ai` |

## `redcrown build-dataset`

Build an experiment JSON from a public corpus (primock57, mmlu-pro)

| Flag | Description | Default |
| --- | --- | --- |
| `source` | public corpus source (omit when using --from-csv/--from-jsonl) | `` |
| `--out` | path to write the experiment JSON | `` |
| `--limit` | cap the number of (audio, reference) items | `` |
| `--corpus-dir` | path to an existing corpus checkout (skips cloning) | `` |
| `--quality-bar` | quality bar a candidate must clear; default = the dataset's published bar (mmlu-pro 0.75), NOT 0.0 | `` |
| `--monthly-minutes` | projected monthly audio minutes for the $/mo column | `20280` |
| `--no-clone` | do not clone; require --corpus-dir to point at a checkout | `False` |
| `--ids-file` | path to a newline-separated list of clip ids; builds exactly those items (the pinned benchmark subset). Applied after --limit, so do not combine them | `` |
| `--from-csv` | build from a CSV with input + reference columns (text tasks) | `` |
| `--from-jsonl` | build from a JSONL with input + reference fields (text tasks) | `` |
| `--task` | task kind for --from-csv/--from-jsonl | `` |
| `--input-col` | input column/field name (default 'input') | `input` |
| `--reference-col` | reference column/field name (default 'reference') | `reference` |

## `redcrown eval`

Run an experiment JSON locally and print the report

| Flag | Description | Default |
| --- | --- | --- |
| `path` | path to an experiment JSON file | `` |
| `--sample` | run a bundled offline sample with the demo provider (no keys) | `` |
| `--report-json` | also write the full results (receipts included) as an upload-schema JSON for redcrown push | `` |
| `--audio-base` | base URL for per-item audio (item_audio = base + id + .mp3) | `` |
| `--concurrency` | number of provider calls to run at once (default 1, sequential; raise it for many-candidate token benchmarks) | `1` |
| `--repeat` | run each candidate N times and report a run-to-run quality stdev (default: the experiment's repeat_n, or 1). Note: this makes N times the API calls, so N times the eval spend. Tip: set params.seed on a candidate for a provider that supports seeded sampling. | `` |

## `redcrown import-results`

Upload a locally-run eval's aggregated results JSON into RedCrown

| Flag | Description | Default |
| --- | --- | --- |
| `path` | path to a results JSON file (the upload schema) | `` |
| `--api-url` | RedCrown API base URL | `https://api.redcrown.ai` |
| `--token` | access token (or set REDCROWN_TOKEN); your RedCrown/Supabase bearer token | `` |

## `redcrown login`

Log in to RedCrown (device flow; opens a code page)

| Flag | Description | Default |
| --- | --- | --- |
| `--api-url` | RedCrown API base URL | `https://api.redcrown.ai` |

## `redcrown logout`

Delete the stored RedCrown credentials

## `redcrown push`

Push a local eval's results JSON to RedCrown as a cloud run

| Flag | Description | Default |
| --- | --- | --- |
| `path` | results JSON from `redcrown eval --report-json` | `` |
| `--api-url` |  | `https://api.redcrown.ai` |
| `--app-url` |  | `https://app.redcrown.ai` |
| `--org` | workspace (org) id; default personal org | `` |
| `--experiment` | append the run to this standing experiment id | `` |
| `--no-receipts` | strip per-item receipts/references before upload (confidential outputs never leave this machine) | `False` |
| `--proof-link` | mint and print a shareable proof link for the pushed run | `False` |

## `redcrown verify`

Verify a RedCrown attestation file offline

| Flag | Description | Default |
| --- | --- | --- |
| `path` |  | `` |
| `--key` | a JWKS file to verify against (offline); default: fetch the file's key_url | `` |
Generated from source. Last verified 2026-07-02.
