vmux
Input

Voice Commands

Control the terminal with voice input.

Overview

vmux can route speech in two modes:

  • CMD mode: Parses speech into terminal/app commands (Ctrl, Alt, Cmd, arrows, special keys, letters).
  • PROSE mode: Sends your spoken text as plain terminal text.

Voice input is useful when you do not have a physical keyboard nearby or want quick hands-free control sequences.

Activating Voice Input

You can toggle voice from the spatial keyboard mic key, then choose mode in the voice ornament:

  • CMD for command parsing.
  • PROSE for plain dictated text.

While listening, vmux shows live transcript/status feedback in the keyboard voice UI.

Modes

CMD Mode

Speech is tokenized and parsed into one or more VoiceCommand actions, then dispatched through the same input pipeline used by keyboard/keybind handling.

PROSE Mode

The finalized transcript is sent as normal text input (handleTextInput) without command parsing.

Supported Commands

Standalone Letters

Voice mode is command-focused, so you can speak individual keys directly.

Voice CommandTerminal Input
"c"c
"sea" / "see"c
"alpha bravo"ab
"c d e"cde

NATO words and common homophones are mapped to letters to reduce speech-recognition misses.

Control Keys

Say "control" followed by a letter to send a Ctrl key combo.

Voice CommandTerminal Input
"control c"Ctrl + C (interrupt)
"control d"Ctrl + D (EOF/logout)
"control z"Ctrl + Z (suspend)
"control l"Ctrl + L (clear screen)
"control a"Ctrl + A (beginning of line)
"control e"Ctrl + E (end of line)
"interrupt"Ctrl + C (shortcut alias)

You can also say "ctrl" instead of "control" — both work.

Command (Cmd) Modifier

Say "command" (or "cmd") followed by a letter.

Voice CommandResult
"command n"Cmd+N (default: new window)
"command c"Cmd+C (default: copy selection)
"command v"Cmd+V (default: paste)

Cmd combos are resolved through the app keybind resolver, so behavior follows your current keybind configuration.

Current parser support is Cmd + single letter (not punctuation/shift phrases), so only Cmd+letter keybinds are reachable by voice today.

Exact App Commands

Voice CMD mode also supports exact phrase matches for command-palette commands.

Examples:

Voice CommandResult
"new window"Runs New Window
"close window"Runs Close Window (Keep Session Running)
"terminate session"Runs Terminate Session
"open settings"Runs Open Settings
"zoom in"Runs Zoom In
"set font size"Opens the Set Font Size command editor

These matches are strict and based on the shared command catalog (same IDs used by palette and keybinds). If a phrase does not match an exact catalog phrase, vmux does not dispatch it as an app command.

Arrow Keys

Say a direction to send an arrow key. Add a number to repeat it.

Voice CommandAction
"up"Up arrow, once
"down 5"Down arrow, 5 times
"left three"Left arrow, 3 times
"arrow right 2"Right arrow, 2 times

Numbers work as digits ("5") or words ("five"). Word numbers are supported from one through twenty.

Special Keys

Voice CommandTerminal Input
"escape"Escape key
"normal"Escape key (alias for vim users)
"enter" or "return"Enter key
"tab"Tab key
"backspace" or "delete"Backspace key

Alt Combos

Say "alt" or "option" followed by a letter to send an Alt key combo.

Voice CommandTerminal Input
"alt d"Alt + D (delete word forward)
"option f"Alt + F (forward word)
"alt b"Alt + B (backward word)

Chaining Commands

You can say multiple commands in a single phrase. For example:

  • "control c up up enter" — interrupt, go up twice in history, then execute
  • "escape down three enter" — exit insert mode, move down 3 lines, confirm
  • "control c d enter" — interrupt, type d, then execute
  • "command n enter" — run Cmd+N then Enter

Safety Confirmation

Potentially destructive commands require confirmation before dispatch (currently includes Ctrl+D).

When prompted, say:

  • "confirm" / "yes" / "send" (execute pending command)
  • "cancel" / "no" / "don't send" (drop pending command)

Notes

  • Speak clearly and pause slightly between distinct command groups.
  • normal is an alias for Escape (useful for vim).
  • Arrow repeats support digits or words (up 5, down twenty).
  • Parameterized app commands reached by voice open the command palette editor for precise value entry.
  • First use requires microphone and speech-recognition permissions.

See also: Keyboard Shortcuts