I didn't expect voice to work well in the terminal. Too many dashes and slashes. But Code Mode handles that, and now I dictate maybe half my commands.
Works in Terminal, iTerm2, Warp, whatever terminal emulator you use.
Why Bother?#
Long commands are a pain to type. This one is 72 characters:
“docker compose dash f docker dash compose dot prod dot yml up dash dash build dash d dash dash remove dash orphans”
docker compose -f docker-compose.prod.yml up --build -d --remove-orphansOne typo and it fails. Speaking it correctly on the first try is faster than typing and fixing.
Setup#
Create a terminal profile
In Whisperer settings, add a per-app profile for your terminal (Terminal.app, iTerm2, Warp)
Enable Code Mode
Turn on Code Mode so dashes, dots, and special characters get interpreted correctly
Start dictating
Hold Fn in your terminal and speak
Examples#
Git#
“git checkout dash b feature slash snake case add user auth”
git checkout -b feature/add_user_auth“git commit dash m quote fix authentication timeout for expired sessions quote”
git commit -m "fix authentication timeout for expired sessions"“git log dash dash oneline dash n ten”
git log --oneline -n 10Files#
“mkdir dash p src slash components slash auth”
mkdir -p src/components/auth“find dot dash name quote star dot ts quote dash type f”
find . -name "*.ts" -type fDocker#
“docker exec dash it snake case postgres container psql dash u postgres”
docker exec -it postgres_container psql -u postgresSSH#
“ssh dash i tilde slash dot ssh slash id rsa user at one nine two dot one six eight dot one dot one hundred”
ssh -i ~/.ssh/id_rsa user@192.168.1.100Vocabulary#
"dash" = hyphen
Code Mode turns "dash" into -
"dash dash" = long flags
Produces -- for flags like --verbose
"dot" = period
File extensions, IP addresses
"slash" = path separator
/ for file paths
"tilde" = home
~ for home directory
"star" = wildcard
* for globs
"pipe" = pipe
| for command piping
Mixing Code and Comments#
You can do both in one dictation:
“hash space to do add error handling for network failures”
# TODO add error handling for network failuresWhen Voice Is Faster#
Voice works well for:
- Long commands with lots of flags (docker, kubectl, ffmpeg)
- Deep file paths where typos are easy
- Commit messages (natural language anyway)
- When you're reading logs and don't want to context-switch to type
Notes#
- Works with any shell (zsh, bash, fish). Whisperer just inserts text at the cursor.
- For multi-line commands, toggle mode beats hold-to-talk.
- Tab completion works normally between voice inputs.
Related: How to Dictate Code on Mac, Code Mode, Voice Coding Guide. See pricing and all features.
Ready to try voice dictation on your Mac?
Free download. No account required. 100% offline.
Download on the Mac App Store