Doku
Dictation in VS Code, the terminal and over SSH
HoldToType types where the caret is. That includes the editor, the integrated terminal, PowerShell, cmd, Windows Terminal and a remote shell over SSH, because to the other program it is just a paste or a burst of keystrokes. Nothing goes to a server, so it is fine on a work machine.
Aktualisiert · Vitalii Yemets
How the text lands in the program
By default the recognised text goes through the clipboard and a Ctrl+V. Windows Terminal, PowerShell, cmd and VS Code all take that. Where Ctrl+V means something else, say a vim session over SSH, or a field that refuses to paste, switch to type mode in Controls & behaviour: the program then sends the text key by key, and any window accepts it.
- Editor. The text goes at the caret, into the current line. Say the words you want; the dictionary turns them into identifiers.
- Integrated terminal. A paste, like any terminal. Nothing runs until you press Enter yourself.
- SSH. The remote shell receives keystrokes, so type mode is the safe choice for editors on the far side.
Names, identifiers and jargon
Speech models write words the way they are spoken. A dictionary entry turns the spoken form into the written one: say kube control, get kubectl; say read me, get README.md. Replacements do the same for whole phrases, and voice commands such as new line insert what they say. The list is yours and lives in the program's folder, next to config.json.
How the dictionary, replacements and commands fit together is on the rules page.
Live text on the plate
With Nemotron 3.5 the words appear on the small plate while you are still speaking, so you see a wrong word before it lands. The plate stays above other windows and never takes the focus; the caret stays where it was in the editor. Parakeet is the choice for the lowest latency after you let go, and the models page says what each one is good at.
Cleaning up with a model on your disk
Post-processing runs a small language model on your computer, or a bigger one on a server you point at, with prompts you write. A prompt that turns call the function foo with x and y into foo(x, y) is a few lines. Prompt chains each get their own shortcut, so one key combination gives prose and another gives code. The post-processing page shows the built-in prompts.
Where the program runs
On your processor: no graphics card, no account, no telemetry. The log in the System tab lists every dictation with a count of network requests, and the count is zero. A portable folder works from a USB stick and from a locked-down laptop where you cannot install anything; the reference lists every setting in config.json and the loopback ports the parts talk on.
Setting it up in ten minutes
- Install from the download section or unpack the portable archive from releases.
- In the wizard pick Nemotron 3.5 for live text or Parakeet for the lowest latency.
- Open Controls & behaviour and decide: hold Ctrl+Win, or a toggle so your hands stay on the keys. Change the combination under Shortcuts.
- Add your identifiers to the dictionary.
- If a terminal refuses Ctrl+V, switch to type mode; the reference lists the setting.
Questions
Does it work in the VS Code terminal?
Yes. The integrated terminal takes a paste like any other, and nothing runs until you press Enter.
Does it work over SSH and in vim?
Yes, with type mode: the text is sent as keystrokes, so the remote side sees typing. In vim, enter insert mode first.
Does it send my code anywhere?
No. Recognition is local, and post-processing is local unless you point it at a server yourself. The log counts network requests per dictation.
Try it in your editor
Install, put the caret in a file, hold Ctrl+Win and say a line.