Docs
CLI reference
Every amber command, its options, and the exit codes it returns.
The amber command is installed with uv tool install amber-cli (see the quickstart). Every command accepts --json for scripting.
#Account
amber login
Sign in through your browser and store an API key for one Workspace. Shows a code and opens /cli/authorize; once you approve, the CLI stores the key.
- --api-url <url>
- Where Amber is (default: https://amber.trycoredepth.com).
- --no-browser
- Print the link instead of opening it.
- --json
- Print JSON instead of a table, for scripts.
amber logout
Forget the stored API key on this machine. The key stays valid until you revoke it in Workspace settings.
- --json
- Print JSON instead of a table, for scripts.
amber whoami
Show who you are signed in as and which Workspace the key is for.
- --json
- Print JSON instead of a table, for scripts.
amber version
Print the installed amber-cli version.
- --json
- Print JSON instead of a table, for scripts.
#Catalog
amber benchmarks list
List the public Benchmarks, or your Workspace’s private ones.
- --private
- Your Workspace’s private Benchmarks, not the public ones.
- --limit <n>
- Show at most this many (default: all).
- --json
- Print JSON instead of a table, for scripts.
amber benchmarks show <slug>
Show a Benchmark: what it measures, its versions, and what a Job on it typically costs.
- --json
- Print JSON instead of a table, for scripts.
amber models list
List Models with their Providers and prices (USD per million tokens).
- --provider <slug>
- Only Models served by this Provider, e.g. anthropic.
- --limit <n>
- Show at most this many (default: all).
- --json
- Print JSON instead of a table, for scripts.
amber models configs list
List Model Configurations: a Model, its pinned Provider and settings. The slug is what -m takes.
- --model <slug>
- Only this Model’s, by slug.
- --provider <slug>
- Only those pinned to this Provider.
- --limit <n>
- Show at most this many (default: all).
- --json
- Print JSON instead of a table, for scripts.
#Jobs
amber quote
Price a Job without starting it. Shows the breakdown (model, sandbox, judge, fee) and how confident the estimate is. Nothing is reserved until you amber run. A Quote leaves out combinations that don’t fit.
- -b, --benchmark <slug[@label]>
- Benchmark, e.g. terminal-bench@2.0 or gsm8k. Without a label, the newest version that isn’t deprecated. Repeat for several.
- -m, --model <slug>
- Model Configuration slug, e.g. opus-high. Repeat for several.
- -a, --agent <slug>
- Agent, e.g. terminus-2. Repeat for several. Without it, the default Agent is used, and the Direct Agent too for a Benchmark with static Tasks; with it, exactly the Agents you name.
- -n, --trials <1-10>
- Trials per Task. Defaults to 1.
- --task-id <id>
- Only this Task of the chosen Benchmarks. Repeat for several; each Benchmark needs at least one.
- --json
- Print JSON instead of a table, for scripts.
amber quote -b terminal-bench@2.0 -b gsm8k -m opus-high -m gpt-high -a terminus-2 -n 1amber run
Quote a Job, ask to confirm, start it and follow its progress. It spends money, so it never does so silently: anything but a person at a terminal (a script, a pipe, --json) must pass --yes, or the command exits 2 without spending.
- -b, --benchmark <slug[@label]>
- Benchmark, e.g. terminal-bench@2.0 or gsm8k. Without a label, the newest version that isn’t deprecated. Repeat for several.
- -m, --model <slug>
- Model Configuration slug, e.g. opus-high. Repeat for several.
- -a, --agent <slug>
- Agent, e.g. terminus-2. Repeat for several. Without it, the default Agent is used, and the Direct Agent too for a Benchmark with static Tasks; with it, exactly the Agents you name.
- -n, --trials <1-10>
- Trials per Task. Defaults to 1.
- --task-id <id>
- Only this Task of the chosen Benchmarks. Repeat for several; each Benchmark needs at least one.
- -y, --yes
- Don’t ask for confirmation.
- --name <name>
- A name for the Job.
- --detach
- Start the Job and return without following it.
- --json
- Print JSON instead of a table, for scripts.
amber run -b terminal-bench@2.0 -m opus-high -m gpt-high -n 3amber jobs list
List recent Jobs in the current Workspace.
- --state <state>
- Only Jobs in this state: running, completed, cancelled…
- --limit <n>
- Show at most this many. Defaults to 20.
- --json
- Print JSON instead of a table, for scripts.
amber jobs show <job-id>
Show a Job’s state, spend and progress.
- --json
- Print JSON instead of a table, for scripts.
amber jobs cancel <job-id>
Stop a Job. Running Trials stop now and are charged for what they used; the rest of the Quote goes back to your Wallet.
- --json
- Print JSON instead of a table, for scripts.
amber jobs wait <job-id>
Follow a Job until it ends. Exits 0 only if it completed (6 otherwise).
- --json
- Print JSON instead of a table, for scripts.
#Results
amber results <job-id>
Show a Job’s Rewards and costs per cell (Benchmark × Agent × Model Configuration).
- --trials
- Also list every Trial.
- --json
- Print JSON instead of a table, for scripts.
amber compare <job-id>...
Compare Model Configurations that are comparable (the same Benchmark Version and Agent Version), with 95% intervals and “too close to call” flags. Others are listed separately, with the reason.
- --benchmark-version <id>
- Benchmark Version id, if the Jobs have several.
- --agent-version <id>
- Agent Version id, if the Jobs have several.
- --json
- Print JSON instead of a table, for scripts.
amber export <job-id>
Export a Job’s results. The file is written atomically; without -o it goes to standard output.
- -f, --format <json|csv|html>
- json (full detail), csv (one row per Trial) or html (a report). Defaults to json.
- -o, --output <file>
- Write to this file (default: standard output).
- --json
- Print {path, bytes, format} instead of a table. Needs
-o.
amber export 7f3a --format html -o report.html#Wallet
amber wallet
Show your Wallet: what it holds, what is set aside for open Jobs, and what you can spend.
- --ledger <n>
- Also show the last n Wallet entries.
- --json
- Print JSON instead of a table, for scripts.
#Private Benchmarks
amber upload <path>
Upload Harbor Tasks as a private Benchmark: a folder of Task folders, or a .tar.gz or .zip of them. Validation is quoted first, then run; the Tasks that passed are published. Like run, it asks before spending.
- --name <name>
- Name for the Benchmark (default: the folder’s name, or with
--benchmarkthat Benchmark’s). - --benchmark <slug>
- Upload the next version of this private Benchmark.
- --allow-host <host>
- A host the Tasks’ Environments may reach besides the Amber model proxy (repeatable).
- -y, --yes
- Don’t ask for confirmation.
- --exclude-failing
- Publish the Tasks that pass if some fail.
- --no-publish
- Stop after validation.
- --label <label>
- Label for the new version (default: the next number).
- --json
- Print JSON instead of a table, for scripts.
amber upload ./my-tasks/ --name my-bench#Exit codes
| Code | Meaning |
|---|---|
0 | Success |
1 | The command failed: the API answered with an error, or could not be reached |
2 | Invalid usage or arguments, or a prompt that needs --yes |
3 | Not signed in, the API refused the key, or a login was denied or expired |
4 | The Job, Benchmark, Model Configuration or Agent doesn’t exist, or isn’t yours |
5 | The Quote cannot be accepted: blocking problems, expired, or the Wallet holds too little |
6 | run or jobs wait followed a Job that did not complete (cancelled, ceiling reached, failed) |
7 | You answered no at the confirmation; nothing was spent |
8 | upload: the upload was rejected, or some Tasks failed validation and nothing was published |
130 | Interrupted with Ctrl-C. A Job that already started keeps going; amber jobs wait <id> rejoins it |