Voice control for coding agents
Hold two keys, say what you want, let go. Panorama turns your voice into a command for one agent, a whole team or the board itself, and the speech recognition runs on your Mac.
Free during early access · Apple Silicon, macOS 13 or later · The command, if you’d rather type it out
curl -fsSL https://getpanorama.app/install.sh | bash
Step by step
How to do it in Panorama
Allow the microphone
The first time you talk, macOS asks for microphone access. If you said no, switch Panorama on under System Settings, Privacy & Security, Microphone.
Let the speech model download once
Panorama transcribes with Whisper running locally. The first use downloads the model (Base, about 80 MB, by default) from Hugging Face; after that it works offline. Settings, Voice lets you pick Tiny (about 40 MB, fastest) or Small (about 250 MB, most accurate). All three are English-language models.
Hold ⌘⇧, speak, release
Hold ⌘ and ⇧ on their own. After a quarter of a second the mic opens and the top bar reads Listening…. Release either key to send. Press any other key or click while holding and the recording is thrown away, so shortcuts such as ⌘⇧F never reach the mic. Prefer a click? The mic button in the top bar starts and stops a recording too.
Say who, then what
Start with a console name or an agent:
claude, add tests for the parser
,tell codex to review the diff
oreveryone, summarise where you are
. To reach a whole team, use its name:team api squad, run the full test suite
.Run the board by voice
New codex
opens one,stop codex
sends Ctrl-C,focus claude
pans to it,new note
,new kanban
andnew web preview
add to the board, andhand off from claude to codex: review this
passes output across.Hear it back (optional)
Turn on Speak short replies after voice commands in Settings, Voice and Panorama confirms in your Mac’s own voice, offline. It is off by default.
Good to know
- Each transcript appears briefly on screen, so you can check what Panorama heard.
- Panorama knows common mishearings of agent names, such as “cloud” for Claude, “codecs” for Codex and “jiminy” for Gemini.
- Anything it doesn’t recognise goes to a planner model if you have switched one on in Settings (Ollama or LM Studio locally, or any OpenAI-compatible endpoint). Without one, it goes to the console you last clicked into, if that is running.
- Your audio never leaves the Mac. Only the one-off model download goes online.
- Voice works best with a team: see how to set one up.