CLI Reference
Complete reference for every eqho-eval command.
Global flags
These flags work with any command:
| Flag | Description |
|------|-------------|
| --json | Machine-readable JSON output (suppresses colors/spinners) |
| --no-cache | Skip API response cache |
| --verbose | Show stack traces on errors |
| --version | Show version number |
| --help | Show help for any command |
Getting started
eqho-eval start
Interactive setup wizard. Walks through authentication, campaign selection, and project generation.
eqho-eval start
eqho-eval start --campaign <id> # skip campaign selection
eqho-eval start --yes # accept all defaults (CI mode)
eqho-eval start -o ./my-project # custom output directory
| Option | Description |
|--------|-------------|
| --yes | Accept all defaults without prompting |
| -c, --campaign <id> | Pre-select a campaign |
| -o, --output <dir> | Output directory |
eqho-eval doctor
Check environment, API keys, backend connectivity, and provider reachability.
eqho-eval doctor
eqho-eval doctor --fix # auto-fix known issues
eqho-eval doctor --skip-providers # skip provider connectivity checks
| Option | Description |
|--------|-------------|
| --fix | Attempt to auto-fix detected issues |
| --skip-providers | Skip provider connectivity pre-flight checks |
eqho-eval status
Show current project state — config file, campaign info, last eval results.
eqho-eval status
Authentication
eqho-eval auth
Configure Eqho API authentication. Registers with the backend and stores a JWT.
eqho-eval auth --key <api-key>
eqho-eval auth --login # browser-based SSO
eqho-eval auth --backend <url> # custom backend URL
eqho-eval auth --logout # remove stored credentials
| Option | Description |
|--------|-------------|
| --key <apiKey> | Authenticate with an API key |
| --login | Browser-based SSO login |
| --url <baseUrl> | Override Eqho API URL |
| --backend <url> | Custom backend URL (default: evals.eqho-solutions.dev) |
| --logout | Remove stored credentials |
eqho-eval org
Manage organization context (superadmin users).
eqho-eval org list # list organizations
eqho-eval org list --search acme # filter by name
eqho-eval org switch <orgId> # switch to a different org
eqho-eval org reset # return to your own org
| Subcommand | Description |
|------------|-------------|
| org list | List available organizations |
| org switch <orgId> | Switch to a different organization |
| org reset | Return to your own organization |
Core workflow
eqho-eval init
Scaffold an eval project from an Eqho campaign. Generates promptfooconfig.yaml, prompts, tools, and .env.
eqho-eval init --campaign <id>
eqho-eval init -c <id> -o ./my-eval
eqho-eval init -c <id> --multi-turn
eqho-eval init -c <id> --production-model
| Option | Description |
|--------|-------------|
| -c, --campaign <id> | Campaign ID to scaffold from |
| -a, --agent <id> | Specific agent ID (if campaign has multiple) |
| -o, --output <dir> | Output directory |
| --multi-turn | Generate multi-turn conversation config |
| --production-model | Use the campaign's production model |
| --dataset <file> | Import test cases from CSV/JSON |
| --call-type <type> | Call type context (inbound, outbound) |
eqho-eval sync
Re-fetch latest prompts and tools from Eqho. Preserves your custom test cases.
eqho-eval sync
eqho-eval sync -d ./my-eval
| Option | Description |
|--------|-------------|
| -d, --dir <dir> | Project directory to sync |
eqho-eval eval
Run evaluations. Executes every test case against every configured provider.
eqho-eval eval
eqho-eval eval --watch # re-run on file changes
eqho-eval eval --wide # wider output columns
eqho-eval eval --verbose # show per-assertion details
eqho-eval eval --skip-preflight # skip provider checks
eqho-eval eval --no-cache # force fresh API calls
| Option | Description |
|--------|-------------|
| -c, --config <path> | Path to config file |
| -o, --output <file> | Output file |
| -w, --watch | Re-run on file changes |
| --no-cache | Skip response cache |
| --no-progress-bar | Disable progress bar |
| --share | Generate shareable URL |
| --filter-failing | Only re-run previously failing tests |
| --repeat <n> | Repeat each test n times |
| --delay <ms> | Delay between requests |
| --verbose | Show per-assertion failure details |
| --raw | Show raw promptfoo output |
| --wide | Wider result columns |
| --skip-preflight | Skip provider connectivity checks |
eqho-eval view
Open the promptfoo web viewer to browse results interactively. Launches as a background process so you can keep using the terminal.
eqho-eval view
eqho-eval view -p 3000 # custom port
eqho-eval view --foreground # run in foreground
| Option | Description |
|--------|-------------|
| -p, --port <port> | Custom port for the viewer |
| --yes | Skip confirmation prompts |
| --foreground | Run in foreground (blocks terminal) |
eqho-eval results
Show evaluation results in the terminal without launching the web viewer.
eqho-eval results
eqho-eval results --wide # wider columns for many providers
eqho-eval results --verbose # per-assertion breakdown
eqho-eval results --format json # machine-readable
| Option | Description |
|--------|-------------|
| -f, --file <path> | Path to results file |
| --format <fmt> | Output format: table, json, markdown |
| --wide | Wider provider columns |
| --verbose | Show per-assertion failure details |
eqho-eval providers
Explore available LLM providers and models through the proxy.
eqho-eval providers list
eqho-eval providers list --provider anthropic
eqho-eval providers list --tools-only
| Option | Description |
|--------|-------------|
| --provider <name> | Filter by provider name |
| --tools-only | Only show models with tool-calling support |
Eval generation
eqho-eval postcall-eval
Generate eval configs for testing postcall data extraction or disposition accuracy.
eqho-eval postcall-eval -c <id>
eqho-eval postcall-eval -c <id> --disposition
eqho-eval postcall-eval -c <id> --calls 50
| Option | Description |
|--------|-------------|
| -c, --campaign <id> | Campaign ID |
| -a, --agent <id> | Agent ID |
| -n, --calls <count> | Number of recent calls to use |
| --disposition | Generate disposition accuracy eval |
| --postcall | Generate postcall action eval |
| --on-call-start | Generate on-call-start action eval |
| -o, --output <dir> | Output directory |
| -d, --dir <dir> | Working directory |
eqho-eval action-eval
Generate eval configs for testing live tool/action usage during conversations.
eqho-eval action-eval -c <id>
eqho-eval action-eval -c <id> --calls 25
| Option | Description |
|--------|-------------|
| -c, --campaign <id> | Campaign ID |
| -a, --agent <id> | Agent ID |
| -n, --calls <count> | Number of recent calls to sample |
| -o, --output <dir> | Output directory |
| -d, --dir <dir> | Working directory |
eqho-eval scenarios
Generate test cases from a CSV or JSON dataset file.
eqho-eval scenarios data.csv
eqho-eval scenarios leads.json -o tests/custom.yaml
eqho-eval scenarios data.csv --rubric "Agent should be polite"
eqho-eval scenarios data.csv --merge promptfooconfig.yaml
| Option | Description |
|--------|-------------|
| -o, --output <file> | Output file |
| --rubric <text> | Default LLM rubric assertion |
| --merge <config> | Merge into existing config file |
eqho-eval render
Preview the assembled system prompt and tools — see exactly what the LLM receives.
eqho-eval render
eqho-eval render -c <campaign-id>
eqho-eval render --vars '{"lead.first_name": "Alice"}'
| Option | Description |
|--------|-------------|
| -c, --campaign <id> | Campaign ID |
| -a, --agent <id> | Agent ID |
| --vars <json> | Template variables as JSON |
| --call-type <type> | Call type context |
| -f, --format <format> | Output format |
| -d, --dir <dir> | Working directory |
eqho-eval diff
Compare two evaluation result sets side by side.
eqho-eval diff baseline.json candidate.json
eqho-eval diff baseline.json candidate.json --threshold 5
| Option | Description |
|--------|-------------|
| --threshold <pct> | Minimum pass-rate difference to highlight |
Exploration
eqho-eval list
Browse Eqho resources.
eqho-eval list campaigns
eqho-eval list agents
eqho-eval list calls -c <campaign-id> -n 20
| Option | Description |
|--------|-------------|
| -c, --campaign <id> | Filter by campaign |
| -n, --limit <count> | Maximum results |
eqho-eval mentions
List available template variables (mentions) that can be used in prompts.
eqho-eval mentions
eqho-eval mentions --tag lead
eqho-eval mentions --search email
| Option | Description |
|--------|-------------|
| -t, --tag <tag> | Filter by tag |
| -s, --search <query> | Search by name |
| -f, --format <format> | Output format |
| -o, --output <file> | Write to file |
eqho-eval conversations
Pull real call transcripts as test cases.
eqho-eval conversations -c <campaign-id> --last 50
eqho-eval conversations -c <id> -s completed -o tests/real-calls.yaml
# Multi-turn: generate simulated-user tests from real calls
eqho-eval conversations --multi-turn
eqho-eval conversations -m -n 10 --max-turns 6
| Option | Description |
|--------|-------------|
| -c, --campaign <id> | Campaign ID |
| -n, --last <count> | Number of recent calls |
| -s, --status <filter> | Filter by call status |
| -o, --output <file> | Output file |
| -d, --dir <dir> | Working directory |
| -m, --multi-turn | Generate multi-turn simulated-user tests |
| --max-turns <n> | Override max turns per test (multi-turn only) |
| --seed-turns <n> | Seed first N exchanges as initialMessages (multi-turn only) |
Utilities
eqho-eval cache
Manage the API response cache.
eqho-eval cache stats # show cache size and hit rate
eqho-eval cache clear # clear all cached responses
eqho-eval ci
Generate a GitHub Actions workflow file for automated evaluations.
eqho-eval ci
eqho-eval ci -o .github/workflows
eqho-eval ci --threshold 80
| Option | Description |
|--------|-------------|
| -o, --output <dir> | Output directory |
| --threshold <pct> | Minimum pass-rate threshold |