Best CLI Dictation Tools in 2026: Voice Input for Scripts
A practical guide to local engines, app-bundled CLIs, shell hooks, and built-in terminal voice input.
August 02, 2026
A new Hacker News thread said it plainly: people want speech-to-text they can call from a CLI or script, not another microphone button stuck inside one app. That request feels a lot more realistic in 2026. OpenSuperWhisper now includes a command-line tool and post-record hooks, Spokenly lets you transcribe files from the terminal, whisper.cpp is still the flexible local engine, and Claude Code now has voice built into its own CLI.
These tools solve different problems. Some turn saved audio into text. Some let another program ask for a recording. Some add speech at the cursor. If you pick the wrong category, you end up with a setup that looks smart but falls apart in normal use.
What counts as a CLI dictation tool
A command-line speech tool can do one or more of four things:
- transcribe an audio or video file
- return structured JSON or subtitle output
- trigger another command after a recording
- capture live speech and place the text into an active workflow
The first two are for file transcription. The last two are closer to dictation. That difference matters. A tool can handle 100 audio files beautifully and still feel awkward when you speak one sentence into a terminal prompt.
Before you install anything, decide what should happen after you speak. Do you want plain text on stdout, a JSON object for a script, an editable prompt, or text added where the cursor already is?
Option 1: OpenSuperWhisper for hooks and local Mac workflows
OpenSuperWhisper is the most interesting packaged CLI dictation tool in this group. It's a free, open-source macOS app with local transcription options. Its command-line tool is included in the app bundle and can transcribe files, return JSON, pipe text into another command, or run a post-record hook after each dictation.
That hook is what developers will actually use. Once a recording is done, it can go straight into a note file, a formatter, a local search index, or a small automation. You don't have to export the transcript and copy it by hand.
The tradeoff is platform scope. OpenSuperWhisper works on Mac. It also has the usual complexity of a flexible local tool: you're responsible for model choice, memory use, and hook behavior. The July 7 release added a mouse trigger, safer cancellation for longer recordings, and an option to unload the Whisper model while idle to free about 1 GB of memory.
Best fit: Mac users who want local dictation plus shell hooks and do not mind configuring the last mile.
Option 2: Spokenly CLI for file pipelines on Mac
The Spokenly CLI documentation describes a narrower, polished file-transcription workflow. The spokenly command talks to the Spokenly app running on the Mac. It can return plain text, SRT, VTT, Markdown, or JSON. It also supports speaker labels and separate-channel transcription for recordings where each participant has a dedicated audio channel.
That makes it useful for scripts that process meetings, interviews, screen recordings, or batches of media. JSON output includes timed segments, so another program can turn the result into captions, search indexes, or summaries.
It is not a standalone binary doing all work by itself. The app must be running. Privacy also depends on the selected model. Spokenly says a local model can keep transcription on the Mac, while other model choices send the file to its server.
Best fit: Mac users who want predictable output formats and file-processing options without assembling whisper.cpp themselves.
Option 3: whisper.cpp for maximum control
whisper.cpp is the raw engine option. It runs speech recognition locally, has a command-line example for audio files, and exposes building blocks for real-time microphone transcription. It is active, widely used, and available across major desktop platforms.
The upside is control. You can choose the model, keep audio local, wrap commands in scripts, process folders in batches, and integrate the output into almost anything. There is no required desktop app or subscription layer.
The downside is also control. You handle the build, model download, audio formats, recording trigger, text cleanup, and insertion. whisper.cpp gives you a strong transcription engine, not a finished system-wide dictation experience.
Best fit: developers who want a local speech engine inside their own tool or automation and are comfortable owning the setup.
Option 4: Claude Code voice for one CLI only
Anthropic's new Claude Code voice dictation shows another category: voice built directly into a command-line product. Run /voice, then use hold or tap mode to speak into the prompt input. The transcript stays editable, and recognition is tuned for development terms such as JSON, OAuth, regex, and the current project and branch names.
It is convenient if Claude Code is the destination. It is not a general speech-to-text command for other scripts. Anthropic says audio streams to its servers, a Claude.ai login is required, and voice does not work in web or SSH sessions. It is also unavailable for organizations with HIPAA compliance enabled.
Best fit: developers who only need to speak Claude Code prompts and accept the account, cloud, and remote-session limits.
The simplest test before you commit
Use the same 30-second recording with every candidate. Include normal prose, a filename, an acronym, a number, and one correction. Then check five things:
- Did the tool drop the first or last word?
- Did it preserve the filename and acronym?
- Can you edit the result before another command runs?
- Is the audio local, uploaded, or dependent on the selected model?
- Can the output reach the next app without manual copying?
Do not judge only by transcription accuracy. A slightly more accurate engine can still lose if it adds three manual steps to every use. The useful setup is the one you will actually invoke during work.
Where system-wide dictation fits
A CLI works well when text needs to go into a script. It helps less when your day jumps between a terminal, editor, browser, email, chat, and a remote desktop. Most work does not stay inside one shell pipeline.
DictaFlow handles that other layer. It is not presented as a public CLI transcription tool. It is a hold-to-talk dictation app that places editable text at the current cursor on Windows, Mac, and iOS, with Android access through Telegram. App-aware formatting can adapt cleanup to the active program, while the Knowledge Base helps preserve project names, libraries, client terms, and acronyms.
Local AI processing is available when speech should stay on the device. On Windows, Typing Mode can use simulated keystrokes in Citrix, VMware Horizon, Remote Desktop, and fields where clipboard insertion fails. That matters when a script can produce the right text but cannot reach the locked-down field where the text belongs.
Pro costs $7 per month or $69 per year. The annual plan works out to $5.75 per month. See the dictation tool comparison for the broader product tradeoffs, or use the getting-started guide to set up the hold-to-talk workflow.
Which CLI dictation setup should you choose
Choose OpenSuperWhisper if you use a Mac and want hooks after live dictation. Choose Spokenly if your main job is turning media files into several useful output formats. Choose whisper.cpp if you want an engine to build around. Use Claude Code voice if the transcript only needs to reach Claude Code.
Use a system-wide layer when the sentence must follow you beyond the terminal. A practical setup can include both: CLI transcription for repeatable file jobs, then hold-to-talk dictation for the parts of the day that happen wherever the cursor is.