VoiceInk Docs
AI Models

Local CLI

Run an installed command as the AI enhancement provider for a Mode.

Local CLI sends VoiceInk's enhancement prompt to an installed command and uses its standard output as the enhanced result. It does not transcribe audio.

Set Up

  1. Install and authenticate the CLI you want to use outside VoiceInk.
  2. Open AI Models → Local → Local CLI.
  3. Load a Pi, Claude, Codex, or Copilot template, or enter your own command.
  4. Adjust the command and timeout for your installed tool.
  5. In a Mode, enable AI Enhancement and select Local CLI.

Templates are starting points. You must have the tool installed and its account or model available. Its command determines the model; the Mode's enhancement model picker does not override CLI arguments.

Prompt Input and Output

VoiceInk provides these environment variables:

VariableContents
VOICEINK_SYSTEM_PROMPTEnhancement instructions and available configured context.
VOICEINK_USER_PROMPTUser message payload.
VOICEINK_FULL_PROMPTCombined system and user messages.

Custom commands receive the full prompt on standard input. The unchanged built-in Claude and Codex templates pass it as an argument instead and use an empty standard input.

Print only the final text to stdout. A command returning an error status, empty output, or exceeding its timeout fails enhancement. The command runs through /bin/zsh -lc with your user permissions.

Timeouts and Troubleshooting

Local CLI has its own timeout, default 45 seconds, with a minimum of 5 seconds. If the tool cannot be found, use its absolute executable path or correct the shell PATH. Authentication prompts and interactive commands are not suitable for producing a direct result.

Local CLI cannot review Dictionary Auto Learn corrections. Running a command locally does not imply its model is local: many CLI tools send the prompt to hosted services.

Custom Command output is a different feature. It runs after transcription and optional enhancement to deliver the final text; Local CLI runs during enhancement to generate that text.