Command Reference

Complete reference for all VoiceRun CLI commands.

Global Options#

FlagDescription
--version, -VShow the installed CLI version
--update, -UUpdate CLI and refresh skills/MCP configs

Setup & Authentication#

vr setup#

Configure the CLI environment and install dependencies.

FlagDescription
--skip-uvSkip uv installation
--skip-helmSkip Helm installation
--skip-skillsSkip skills installation
--skip-mcpSkip MCP server configuration
--claude-codeInstall skills to Claude Code only
--codexInstall skills to Codex CLI only
--openclawInstall skills to OpenClaw only
--cursorConfigure MCP for Cursor only
--windsurfConfigure MCP for Windsurf only

vr signin#

Sign in to VoiceRun.

FlagDescription
--api-key, -kAPI key for non-interactive sign-in
--email, -eEmail for non-interactive sign-in
--password, -pPassword (requires --email)

vr signout#

Sign out and clear stored credentials.


Project Lifecycle#

vr init [PROJECT_NAME]#

Create a new voice agent project.

FlagDescription
--yes, -ySkip prompts and use defaults
--force, -fOverwrite existing files
--template, -tInitialize from a remote template
--varTemplate variable as key=value (repeatable)

vr validate#

Validate project structure and configuration.

FlagDescription
--quiet, -qOnly output errors

vr push#

Push agent code to VoiceRun.

FlagDescription
--nameName for the function version
--new, -nCreate a new function version
--yes, -ySkip confirmation prompts

vr pull [AGENT_ID]#

Pull agent code from the server.

FlagDescription
--output, -oOutput directory
--yes, -ySkip confirmation prompt

vr deploy <ENVIRONMENT>#

Deploy agent to an environment.

FlagDescription
--yes, -ySkip confirmation prompts

vr open#

Open the agent's page in the VoiceRun web dashboard.


Development#

vr debug#

Push code and start an interactive debug session.

FlagDescription
--skip-push, -sSkip pushing code
--environment, -eEnvironment to debug (default: debug)
--verbose, -vShow verbose debug output
--outbound, -oStart an outbound phone call
--to-phone-numberPhone number to call
--from-phone-numberCaller ID phone number

vr test [TEST_PATH]#

Run tests for the agent project.

FlagDescription
--environment, -eEnvironment to fetch secrets from
--verbose, -vRun pytest in verbose mode
--coverage, -cRun with coverage reporting
--skip-installSkip dependency installation

Pass additional pytest arguments after --:

vr test -- -k "test_greeting" --tb=short

Resource Queries#

vr get <resource>#

List resources.

CommandDescription
vr get agentsList all agents
vr get functions <agent>List functions for an agent
vr get environments <agent>List environments for an agent
vr get variablesList organization and agent environment variables
vr get secretsList organization secrets (evaluator use)
vr get phonenumbersList phone numbers
vr get telephonyList telephony providers
vr get assignments <agent>List phone number assignments
vr get templatesList available templates

vr get variables supports --agent/-a, --environment/-e, and --org. Agent environment variables are only listed when both an agent (from the flag or .voicerun/agent.lock) and an environment are resolvable.

vr describe <resource>#

Show detailed information about a resource.

CommandDescription
vr describe agent <name-or-id>Agent details
vr describe function <agent> <name-or-id>Function details
vr describe environment <agent> <name-or-id>Environment details
vr describe variable <name-or-id>Variable details (masked values show as ••••••••)
vr describe secret <name-or-id>Secret details
vr describe phonenumber <id>Phone number details
vr describe telephony <name-or-id>Telephony provider details
vr describe assignment <phone-number>Assignment details

vr describe variable supports --agent/-a, --environment/-e, and --org to locate an agent environment variable.


Resource Creation#

vr create variable <NAME> <VALUE>#

Create a variable readable via context.variables.get(NAME) in agent handlers. Defaults to an agent environment variable; pass --org for an organization-level variable.

FlagDescription
--agent, -aAgent name or ID (defaults to .voicerun/agent.lock)
--environment, -eEnvironment name or ID (required unless --org)
--orgCreate an organization-level variable
--maskedHide the value in CLI listings and the web UI (runtime still receives the real value)

vr create secret <NAME> <VALUE>#

Create an organization-level secret for use by evaluators. Agent-scoped runtime injection is not yet supported — use vr create variable --masked when you need a value readable via context.variables.get().

FlagDescription
--agent, -a(Unsupported) Exits non-zero with a redirect to vr create variable --masked

vr create phonenumber [TELEPHONY_ID]#

Create or purchase a phone number.

FlagDescription
--purchasePurchase a new number from the provider
--area-code, -aArea code
--country-code, -cCountry code (default: US)
--friendly-name, -nFriendly name
--phone-number, -pPhone number to register

vr create assignment <AGENT> <ENVIRONMENT> <PHONE_NUMBER_ID>#

Assign a phone number to an agent environment. Sets agentId and agentEnvironmentId on the phone number via PATCH /v1/organization-phone-numbers/:id.

FlagDescription
--configureAfter assigning, configure the number with the telephony provider so incoming calls route to the agent

vr create telephony#

Create a telephony provider.

FlagDescription
--name, -nProvider name
--provider-type, -pType: twilio or telnyx
--account-sidTwilio Account SID
--api-key-sidTwilio API Key SID
--api-key-secretTwilio API Key Secret
--api-keyTelnyx API Key

vr create template <NAME>#

Create a reusable template from the current project.

FlagDescription
--description, -dTemplate description
--category, -cTemplate category
--public / --privateVisibility (default: public)

Resource Deletion#

vr delete <resource>#

Delete a resource.

CommandDescription
vr delete agent <name-or-id>Delete an agent
vr delete function <agent> <name-or-id>Delete a function
vr delete environment <agent> <name-or-id>Delete an environment
vr delete variable <name-or-id>Delete a variable
vr delete secret <name-or-id>Delete an organization secret
vr delete phonenumber <name-or-id>Delete a phone number
vr delete telephony <name-or-id>Delete a telephony provider
vr delete assignment <phone-number>Unassign a phone number from its agent environment

vr delete variable supports --agent/-a, --environment/-e, and --org. vr delete phonenumber supports --release to release back to the telephony provider. vr delete assignment supports --skip-unconfigure to skip the telephony provider unconfigure step.


Context Management#

Manage API contexts for different environments or organizations.

CommandDescription
vr context listList all contexts and show current
vr context currentShow current context details
vr context switch <name>Switch to a different context
vr context create <name> <api-url> <frontend-url>Create a custom context
vr context delete <name>Delete a custom context
vr context set-url <api-url>Set a custom API URL for the session
vr context set-org <org-id>Set organization ID (empty string to clear)

Session Observability#

vr session list [AGENT]#

List sessions for an agent. If AGENT is omitted, the CLI resolves the agent from .voicerun/agent.lock in the current project.

FlagDescription
--status, -sFilter by status
--direction, -dFilter by call direction
--limit, -lLimit number of results
--page, -pPage number
--json, -jOutput as JSON
--table, -tForce table output

vr session info <SESSION_ID>#

Show detailed information for a session.

FlagDescription
--json, -jOutput as JSON
--table, -tForce rich/table output

vr session trace <SESSION_ID>#

Show session trace as a span tree.

FlagDescription
--json, -jOutput as JSON
--table, -tForce tree output

vr session span <SESSION_ID> <SPAN_ID>#

Show detailed information for a specific span in a session trace.

FlagDescription
--json, -jOutput as JSON
--table, -tForce rich/table output

vr session transcript <AGENT> <SESSION_ID>#

Show transcript events for a session.

FlagDescription
--json, -jOutput as JSON
--table, -tForce conversation/table output

vr session events <AGENT> <SESSION_ID>#

Show raw session events.

FlagDescription
--page, -pPage number
--limit, -lLimit number of results
--json, -jOutput as JSON
--table, -tForce table output

Evaluations#

vr evaluation list [AGENT]#

List evaluations for an agent, or for a specific session via --session.

FlagDescription
--session, -SSession ID to get evaluations for
--status, -sFilter by status (pending, complete, error)
--type, -TFilter by eval type (judge, extraction, script)
--limit, -lLimit number of results
--page, -pPage number
--json, -jOutput as JSON
--table, -tForce table output

vr evaluation info <EVALUATION_ID>#

Show detailed information about an evaluation.

FlagDescription
--json, -jOutput as JSON
--table, -tForce rich/table output

Usage Reporting#

vr usage report#

Show usage report for a date range (defaults to last 30 days).

FlagDescription
--start, -sStart date (YYYY-MM-DD)
--end, -eEnd date (YYYY-MM-DD)
--by-tagsBreak down usage by session tags
--tagsFilter by tags as JSON (for example '{"team":"sales"}')
--json, -jOutput as JSON
--table, -tForce table output

vr usage monthly#

Show usage report for a specific month.

FlagDescription
--year, -yYear (defaults to current year)
--month, -mMonth 1-12 (defaults to current month)
--by-tagsBreak down usage by session tags
--tagsFilter by tags as JSON (for example '{"team":"sales"}')
--json, -jOutput as JSON
--table, -tForce table output

Configuration Files#

FileDescription
handler.pyAgent entry point, must contain async def handler()
.voicerun/agent.yamlAgent metadata (name, description)
.voicerun/agent.lockAuto-generated after vr push (agent/function IDs)
.vrignoreFiles to exclude from vr push (gitignore syntax)
requirements.txtPython dependencies

Credentials#

Credentials are stored in ~/.voicerun/:

FileDescription
~/.voicerun/cookieSession cookie
~/.voicerun/apikeyAPI key
~/.voicerun/config.jsonCLI configuration and contexts
clireferencecommands