tmux-voice

Hold a key.Say it.It's in the prompt.

Push-to-talk for Claude Code and Codex in tmux. Speak English, Uzbek, Korean, or all three in one sentence. The text lands in your agent's prompt, and when it's done, its answer is read back to you in a local voice.

git clone https://github.com/imurodl/tmux-voice && cd tmux-voice && ./install.sh
Star on GitHub

Talk the way you think

Most of us don't think in one language. The language is detected on every recording, so switching mid-sentence just works. These are real transcripts from the test recordings, unedited.

Uzbek + English
Dashboard sahifasida loading juda sekin. useEffect ichida nima ikki marta chaqirilyapti, shuni topib ber.
Without your project's words: User effect ichida nima ikki marta chaqirilyapti
Uzbek + English
Tailscale orqali micro2 ga SSH qil, lekin uni stop yoki restart qilma. Faqat PM2 loglarini ko'rsat.
Without your project's words: Telnet orqali Micro2 ga SSH qil … Faqat theme2 loglarini ko'rsat.
Korean + English
Claude, 이 화면의 버튼 텍스트를 한국어로 바꿔줘 and then run the tests.
English + Uzbek
Okay so the thing is, foydalanuvchi login qilganda token refresh bo'lmayapti. Menimcha muammo Supabase clientda, lekin aniq bilmayman. Avval loglarni ko'rib chiq.

What happens when you let go

A small local daemon does the work. Hammerspoon catches the key; nothing runs in the cloud except the transcription itself.

  1. 1

    Record

    While you hold the key, the mic records. Press any other key to cancel.

  2. 2

    Learn the words

    Your repo, branch, changed files, dependencies and SSH hosts go along as key terms.

  3. 3

    Transcribe

    ElevenLabs Scribe v2, with Gemini 3.5 Transcribe as automatic fallback.

  4. 4

    Place it

    Into the active tmux pane without pressing Enter, or the pane you named: "Codex, …".

  5. 5

    Hear back

    When the agent finishes, its final answer is read aloud by a voice running on your Mac: now, or when you come back to that pane.

Measured, not promised

Before building this, eight speech-to-text setups were tested on 17 real recordings of mixed Uzbek and English dev prompts. Every recording went to every setup at once.

Word error rate

Lower is better

Code terms spelled right

File, tool and library names; higher is better

One speaker, a MacBook microphone, 15 scripted clips plus two free-form ones. Your language and accent will give different numbers, so the tool ships with the same test page: uv run tmux-voice bench.

Show as a table
SetupWord error rateCode terms rightTypical latency

Small things that matter daily

Text, not a send button

Nothing is submitted for you. Read it, fix a word, press Enter. Optionally end with "send it".

Follows your focus

A focused tmux window gets the text, in any terminal or Zed. With an editor, Slack or a browser in front, it's typed there.

Fixes the usual mishearings

"cloud MD" becomes CLAUDE.md. "Cloud, run the tests" goes to Claude. Add your own rules.

Status where you look

Listening, Transcribing and Reading aloud in the tmux status line and the menu bar.

The answer, not every step

Only final answers are read, and nothing while the agent is still working. Ctrl+Option+Cmd+S stops or replays.

Knows what it costs

tmux-voice usage shows minutes spoken per day and the estimated bill.

Set it up in five minutes

  1. Clone and run the installer. It installs what's missing (tmux, uv, Hammerspoon) after asking, offers the local Kokoro voice, and asks for an ElevenLabs or Gemini API key.
  2. Turn on Hammerspoon in System Settings → Privacy & Security → Accessibility, then quit and reopen it.
  3. Hold Right Option, say something, release. Allow the microphone once.

Every edit to your configs is marked and backed up, and ./uninstall.sh removes it all. macOS only for now.

Cost: about $0.27 per hour of speech on Scribe v2. A heavy coding day is 30–60 minutes of talking, so a month of daily use is roughly $3–6.

Your agent subscription: barely affected. A spoken prompt adds a few dozen tokens to turns that process tens of thousands.

Reading answers aloud: free. The Kokoro voice runs on your Mac.

# install
git clone https://github.com/imurodl/tmux-voice
cd tmux-voice
./install.sh

# check everything is wired up
uv run tmux-voice doctor

# test providers on your own voice
uv run tmux-voice bench