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 evaris package on npm. Install it with npm install evaris, or run it ad-hoc with npx 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

ArgumentRequiredDescription
log-dir-or-fileyesDirectory containing the log, or the log file itself. If a directory, it must contain exactly one .eval / .eval.gz / .json / .json.gz file.

Options

FlagEnv varDefaultDescription
--project <id>(required)Project public id to publish into.
--api-token <token>EVARIS_API_TOKENProject API token. Required; flag or env.
--api-url <url>EVARIS_API_URLhttp://localhost:8787Backend API origin.
--name <run-name>Optional human-friendly run name.

Exit codes

  • 0: run published and completed (status succeeded or ingested_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-agent

Publish 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.com

Behavior 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 with Expected 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 created status.
  • inspect-ai version. Recorded on the run's source. Override with the INSPECT_AI_VERSION env 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_id externally if you need deduplication.