Configuration
L80 needs no configuration to run a benchmark. To publish it needs a token; everything else has a default.
Resolution order
Server: --api-base, then L80_API_BASE, then https://launch80.com. Token: L80_TOKEN, then ~/.config/L80/credentials.json. L80 auth status shows what resolved, with the token masked; L80 never prints a token in full.
$ L80 auth statusEnvironment variables
| variable | does |
|---|---|
| L80_TOKEN | Publish token, shaped L80_<keyid>_<secret>. Takes precedence over ~/.config/L80/credentials.json. |
| L80_API_BASE | Server URL. Default https://launch80.com; http://localhost:3007 against a local server. Every network command also takes --api-base. |
| L80_BETTERBENCH_API_KEY | Bearer key for the endpoint under test. Reaches BetterBench by environment; never recorded. |
| L80_BETTERBENCH, L80_VAST, L80_PWDET, L80_DASHBOARD | Run this command instead of the pinned tool, e.g. your own checkout. Used without a version check. |
| L80_PWDET_EXTRAS | pwdet extras to install. Default gguf,pickle; empty means none. |
| VAST_API_KEY | Vast.ai key for L80 vast. Or put it in ~/.config/bbvastl80/credentials. |
| BBVASTL80_RUNS_DIR | Where Vast runs are recorded. Default ~/.local/state/L80/vast/runs. |
| XDG_CONFIG_HOME | Moves the config directory. Default ~/.config. |
| CLAUDE_CONFIG_DIR | Where skills link installs. Default ~/.claude. |
| NO_COLOR | Turns colour off in the console and in output. |
Files
| path | what it is |
|---|---|
| ~/.config/L80/credentials.json | {"token": "…"}, mode 0600. Where the CLI looks when L80_TOKEN is unset. |
| ~/.config/L80/history.jsonl | Every publish from this machine: source file, sha256 of the file and of the bytes sent, content hash, trust tier. Mode 0600. The provenance a verification request uses. |
| ~/.claude/skills/<skill>/ | An agent skill, after skills link. |
| ~/.local/state/L80/vast/runs | L80 vast run records, including what may still be billing. |
| ./betterbench-<model>-<time>.json | The results file a run writes. --out chooses another path. |
{ "token": "L80_<keyid>_<secret>" }The publish ledger
Every successful publish appends one line to ~/.config/L80/history.jsonl: the source file and the sha256 of it as read (source_sha256), the sha256 of the exact bytes sent (body_sha256), the content_hash the server returned and the trust tier. It is what L80 history --local reads, and the provenance L80 verify check and verify request use: the server stores the same body hash and compares the two.