Reference
CLI
The evaris CLI publishes Inspect AI eval logs to a Evaris backend. It is the
primary interface for publishers who do not want to write TypeScript.
The CLI ships as the
evarispackage on npm. Install it withnpm install evaris, or run it ad-hoc withnpx evaris ....
Synopsis
evaris publish <log-dir-or-file> --project <project-id> [options]The CLI dispatches on a subcommand. Today only publish is implemented; the
dispatch structure is in place for future subcommands (runs, auth, etc.),
but none are wired (YAGNI).
evaris publish
Uploads a single Inspect eval log to Evaris as a run artifact and completes the run.
Arguments
| Argument | Required | Description |
|---|---|---|
log-dir-or-file | yes | Directory containing the log, or the log file itself. If a directory, it must contain exactly one .eval / .eval.gz / .json / .json.gz file. |
Options
| Flag | Env var | Default | Description |
|---|---|---|---|
--project <id> | (required) | Project public id to publish into. | |
--api-token <token> | EVARIS_API_TOKEN | Project API token. Required; flag or env. | |
--api-url <url> | EVARIS_API_URL | http://localhost:8787 | Backend API origin. |
--name <run-name> | Optional human-friendly run name. |
Exit codes
0: run published and completed (statussucceededoringested_with_warnings).1: any failure (auth, upload, manifest, or the directory had 0 / >1 log files). The CLI prints the error message to stderr.
Output
On success, prints JSON to stdout:
{
"run_id": "8e5bcb88-71f3-4adf-96d4-da62981ff390",
"status": "succeeded",
"artifacts": 1,
"warnings": []
}warnings is an array of { code, message } objects (codes:
unsupported_inspect_version, invalid_inspect_version). Non-empty means
the run status will be ingested_with_warnings.
Examples
Publish a directory of one log, using env vars for auth:
export EVARIS_API_URL=https://api.your-evaris-deploy.example
export EVARIS_API_TOKEN=<token>
evaris publish logs --project support-agentPublish a specific file with an explicit name:
evaris publish logs/2026-07-19T10-00-00.eval \
--project support-agent \
--name "nightly-$(date +%F)" \
--api-token <token>Publishing against a self-hosted backend:
evaris publish logs --project local-dev --api-url https://evaris.example.comBehavior notes
- Exactly one log. A directory with zero logs fails with
No Inspect AI log files found in <dir>. A directory with more than one fails withExpected one Inspect AI log file in <dir>, found N. Publish each file separately. - Cleanup on failure. If any step fails after the run is created, the CLI
deletes the half-created run so it does not orphan in
createdstatus. - inspect-ai version. Recorded on the run's
source. Override with theINSPECT_AI_VERSIONenv var (useful in CI to pin or avoid a slow Python probe). See Publish eval logs. - Not idempotent. Re-running with the same log creates a second run.
Track
run_idexternally if you need deduplication.