Skip to content

voxtype — Type with your voice

voxtype turns speech into text in whatever app has focus — your editor, browser, terminal, or a coding agent’s prompt box. Everything runs on your machine: no cloud, no accounts, no audio leaving your Mac.

Install the voxtype-install skill into your coding agent, then ask it to do the rest:

Terminal window
npx skills add pchalasani/claude-code-tools -s voxtype-install

That one command (it needs Node.js 22.20 or newer for npx) installs only this skill (not the rest of this repo) into Claude Code, Codex, Cursor, Gemini CLI, and most other agents, for the current project; add -g for every project. Then say “install voxtype and set it up” — the agent installs the CLI, explains the config options, and walks you through the macOS permission prompts. Prefer to do it by hand? Read on.

Already have voxtype installed? voxtype skill sets up the same skill for Claude Code and Codex through their plugin marketplaces.

  1. Install — the best engine for your machine comes bundled automatically (Apple-GPU parakeet-mlx on Apple Silicon, CPU parakeet on Intel):

    Terminal window
    uv tool install voxtype

    Upgrade later with uv tool upgrade voxtype (it keeps any extras).

  2. Grant your terminal Microphone, Accessibility, and Input Monitoring permissions (System Settings → Privacy & Security) when prompted.

  3. Start dictating:

    Terminal window
    voxtype

    Press Ctrl+; to start, speak (watch the ghost), press Ctrl+; again to stop — your speech is typed at the cursor. Esc cancels a take.

  4. Configure it: run voxtype setup for an interactive walkthrough — it asks a handful of explained questions (engine, mode, hotkey, …) and writes your ~/.config/voxtype/config.toml. (Prefer editing by hand? voxtype init drops a fully commented sample instead.)

One key to dictate

Hit the toggle hotkey (default Ctrl+;), speak as long as you like, hit it again — the whole take is transcribed with full sentence context and typed in one go (a single edit to undo, in most apps). No chopping at pauses; sub-second results after a one-time warmup (the first take loads the model).

Or go hands-free

Prefer no keys at all? Say “hey claude” (configurable, with alias spellings) to start dictating; say “stop listening” or go quiet to re-arm. The hotkey still works as an override.

Spoken submit

Say “go”, “over”, or “submit” as a standalone utterance and voxtype presses Enter — dictate a prompt to a coding agent and send it without touching the keyboard.

Clean transcripts

Standalone fillers (uh, um, …) are stripped and 3+ word stutters collapse (“I I I think” becomes “I think”) with on-device regex. Optionally, a small local LLM (“S1-mini” by “Superwhisper”) also adds punctuation and drops self-corrections (“Tuesday, no wait, Wednesday” becomes “Wednesday”). Or opt in to Cerebras’s gpt-oss-120b, which also structures long dictations into paragraphs and lists (this sends transcripts off your Mac); see post-processing.

Visible when it matters

A little glowing-blue ghost appears ONLY while recording — its mouth opens as you speak. Ghost on screen = actively recording; no ghost = not recording (paused, or waiting for the wake word).

Under the hood

NVIDIA’s Parakeet-TDT 0.6B v3 speech model. On Apple Silicon it runs on the GPU via Apple’s MLX at about 40x realtime; on Intel it runs on the CPU via sherpa-onnx. Silero voice-activity detection handles per-pause mode. voxtype itself is written from scratch around these open-source pieces — see the engine comparison.

Nothing is ever lost

Esc cancels a recording outright (the default cancel_hotkey). Two optional rescues, both off by default: bind a paste-again hotkey (paste_hotkey) to re-type the last session’s transcript at your cursor, and/or enable clipboard mirroring (copy_to_clipboard) to echo each session to the clipboard.

Almost everything is a choice: how dictation activates (hotkey, wake word, or always-on), how speech becomes text (whole-take vs. per-pause), which local engine runs it (Apple-GPU Parakeet, CPU Parakeet, or Moonshine), plus hotkeys, sounds, optional clipboard mirroring, and more. The complete reference — every config key with its default, the engine comparison, and all CLI flags — lives in Configuration & CLI. To try any setting for one run without editing the file, use --set, e.g. voxtype --set post-process=true --set post-process-provider=s1-mini turns on local cleanup for that run.

ActionDefaultConfigurable as
Toggle recordingCtrl+;hotkey
Cancel recording (discard)Esc (only while recording)cancel_hotkey
Re-type last transcriptoffpaste_hotkey
Submit (press Enter)say “go” / “over” / “submit”submit_phrases
Stop dictating (vad segmentation)say “stop listening”stop_phrase

In the default toggle + hold setup you stop by pressing the toggle hotkey again; the spoken stop_phrase only applies to per-utterance (vad) transcription — i.e. wake mode or segmentation = "vad".

Not sure how to spell a chord for the hotkey settings above? Run voxtype hotkey, press the combo you want, and it prints a ready-to-paste hotkey = "..." line (use the same chord string for cancel_hotkey / paste_hotkey).

Full reference: Configuration & CLI.