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 |