lua voice starts a live voice session with one of the agent’s voices, lua voice test runs the project’s *.voice.test.ts files, and lua voice list prints the voices in the compiled output. Nothing here changes production; voice sessions use the sandbox.
Verified against lua-cli 3.33.0.
Synopsis
Description
lua voice picks an agent and a voice from the compiled manifest in dist-v2/, then a mode. --agent and --voice skip the pickers; --voice defaults to the primary voice, the first bound to the agent.
The mode is browser (a local page with microphone and speaker), terminal (--terminal, requires sox), or phone (--phone; the agent calls the number and the command exits once the call is dispatched). --phone and --terminal together are an error; both numbers must be E.164 (+ and 6 to 15 digits). --context seeds the voice session with a JSON object; --thread-id sets the thread suffix its sandbox API calls are scoped to.
Without --terminal or --phone the command asks How would you like to test?. Under --ci that prompt, like the pickers, is refused and the command exits 1 with ✖ error: Interactive prompt required but --ci flag is set. Provide all required flags or arguments.
lua voice test finds *.voice.test.ts files under the current directory (outside node_modules and build output) and runs them with npx jest or npx vitest with LUA_VOICE_TEST=1 set. --runner auto picks Vitest if package.json depends on it, else Jest; with neither installed the command exits 1 with ✖ error: No supported test runner found.. --voice <name> runs only <name>.voice.test.ts; --pattern overrides it. A failing run exits 1.
lua voice list reads dist-v2/manifest.json; run lua compile first. It prints each voice’s models, hooks, greeting, and owning agent, marking the primary voice ★. lua voice needs a project directory and a credential; list needs only the compiled output; test needs neither.
Arguments
Options
Examples
List the voices in the compiled output.Output
Output
Exit codes
The full table is in Errors and exit codes.
See also
defineVoice— voice definitions, models, hooks, and greetingVoice— start calls from code- About voice
- Voice calls — phone numbers and inbound calls
lua logs—--type callsfor recent calls

