Skip to main content

Command Options

All options are appended after specifying the command and your file or directory path:

voiden-runner <command> [file|directory] [options]

Run Options

Executes one or more .void files. Accepts a file path, a directory path, or a glob pattern.

voiden-runner run <paths...> [options]

Execution

OptionDescription
--bail, --stop-on-failureStop immediately after the first failed request
--fail-on-errorRun all files, then exit with code 1 if any failed
--no-sessionStateless run — does not load or save session variables

Environment

OptionDescription
-e, --env <path>Load a plain .env file (KEY=VALUE format) — for a path outside the project's profile convention. Mutually exclusive with --profile.
--profile [name]Use a project env profile (.voiden/env-<profile>-{public,private}.yaml, merged — or that profile's legacy .env* fallback). Bare --profile means "default". Mutually exclusive with --env. See Attach an Environment.
--environment <name>Scope --profile to one named environment within it (e.g. "dev", or a dotted child like "staging.eu") instead of merging every environment together. Only valid with --profile, not --env.
--env-var <k=v>Set a single inline variable (repeatable) — always wins over --env/--profile

Output

OptionDescription
--show-reqPrint sent request headers and body
--show-resPrint response headers and body
--verbosePrint script logs, plugin messages, and section dividers
--jsonMachine-readable JSON output (suppresses normal terminal output)
--output-json <file>Write the full result object to a JSON file
--csv <path>Export a report to CSV (use . for an auto-generated filename)

Email Report

OptionDescription
--mailSend an HTML report to the address in VOIDEN_MAIL_TO env var
--mail-to <address>Send HTML report to this address
--mail-from <address>Sender address (defaults to VOIDEN_MAIL_FROM env)
--mail-subject <text>Custom email subject line
--smtp-host <host>SMTP server hostname
--smtp-port <port>SMTP port
--smtp-secureEnable TLS/SSL
--smtp-user <user>SMTP username
--smtp-pass <pass>SMTP password

Session Management

The session stores runtime variables and results captured across runs. Use these subcommands to inspect or reset that state.

voiden-runner session status    # Show counts of stored variables and results
voiden-runner session vars # List all stored runtime variables
voiden-runner session clear # Wipe all session state
info

Session state is stored at ~/.voiden/.process.env.json. Use --no-session on the run command to skip loading or saving session state for a one-off run.


Report Generation

Generate a combined report from all accumulated run results. Accepts the same --csv and mail/SMTP options as run.

voiden-runner report generate [options]   # Generate report from accumulated results
voiden-runner report gen [options] # Alias for generate
voiden-runner report clear # Wipe accumulated results history only

Plugin Management

Manage the runner's plugins.

voiden-runner plugin list                          # List all available and installed plugins
voiden-runner plugin install <plugin-name> # Install a plugin (--all installs every core plugin)
voiden-runner plugin install <plugin-name>@<ver> # Pin an exact version
voiden-runner plugin update <plugin-name> # Update to the latest registry version (--all for every installed plugin with an update)
voiden-runner plugin uninstall <plugin-name> # Remove an installed plugin (--all for every installed plugin)
voiden-runner plugin enable <plugin-name>
voiden-runner plugin disable <plugin-name>

Core plugins:

PluginDescriptionEnabled by default
Voiden REST APIHandles standard HTTP REST requests
Advanced AuthenticationBearer tokens, basic auth, and API keys
Simple AssertionsEvaluates assertion blocks against response fields
Voiden FakerGenerates dynamic test data via {{$faker.*}} patterns
Voiden GraphQLConverts GraphQL blocks to standard HTTP POST requests
Voiden ScriptingRuns JavaScript, Python, or shell pre/post-request scripts
Socket & gRPCWebSocket and gRPC request support

MCP Integration

Enables the AI-agent run/verify loop for CLI-only users who don't have the Voiden desktop app (which has its own equivalent Settings toggle — see AI Skill). Registers voiden-runner mcp serve with Claude Code and/or Codex — a standalone server exposing the same 6 fixed tools as voiden agent (list/run/write plus list/select environment), plus any Tool blocks in the project — and installs a skill teaching the list/run/verify/write-back workflow.

voiden-runner mcp install                                # both Claude Code and Codex
voiden-runner mcp install --claude # Claude Code only
voiden-runner mcp install --codex # Codex only
voiden-runner mcp install -p ./my-project # register against a specific project dir (default: cwd)
voiden-runner mcp install --local-server ./dist/index.js # point at a local build instead of npx, for testing before publish
OptionDescription
--claudeInstall for Claude Code only
--codexInstall for Codex only
-p, --project <path>Project directory to register the MCP server against (default: .)
--local-server <path>Use node <path> instead of npx -y @voiden/runner mcp serve, for testing a local build before publish

Restart Claude Code / Codex (or run /mcp) afterwards to pick up the new server.

voiden-runner mcp uninstall [--claude] [--codex] [-p <path>]   # remove the registration + skill
voiden-runner mcp status [-p <path>] # show what's currently installed
info

mcp install writes a project-scoped .mcp.json (Claude Code) containing an absolute, machine-specific path — it's added to your project's .gitignore automatically. Codex's registration instead lives in the user-level ~/.codex/config.toml, not per-project.