Talk with Claude Code
Talk to Claude Code instead of typing, and hear it answer. Claude works in your terminal as usual; the pill shows what it hears, each step it runs, and what it says.
Start
Settings → Voice Assistant → switch it on, then Connect Claude Code… (Set up Claude). Then, in your project, in Claude Code:
/smaltTalk. Say "that's all" or "back to typing" when you're done.
The first time, Smalt downloads its voice, Kokoro English (about 110 MB), and the small models that hear when you've finished talking (about 34 MB). The pill shows the progress.
What the pill shows
Listening · Claude Code while it waits for you:

What you say appears above the pill as you say it. While Claude works, each step shows as it starts (read a file, search, run a command) and ticks off when it's done. The row shows the step running now:

Then Claude's reply, in words, while you hear it:

Click the pill, or press ⌃⌥S, to see the whole conversation. Commands and permission prompts stay in Claude Code's own window.
Stop and End
- Stop on the pill stops what it's saying. The conversation goes on.
- End ends the voice conversation; Claude is told. End Voice in the menu bar does the same.
Cut in
Talk over it, on speakers too: Smalt hears you over its own voice. A short sound pauses it, and it stops if you keep talking. "Mm-hmm" or "okay" lets it go on. Settings → Voice Assistant → Cut in when I talk:
| Setting | What it does |
|---|---|
| After a few words | The default: pauses, then stops if you keep talking |
| Instantly | Stops as soon as you speak |
| Off | Finishes its sentence; what you said is your next turn |

What you say while Claude works reaches it after its next step. Holding your dictation key still dictates into the app you're in; those words aren't a turn.
Voices
Settings → Models → Voices: Heart, Bella, Michael, Emma and George in English, Siwis in French, and Chatterbox for 18 languages (2.3 GB, slower). Each has Play Sample.
It ends by itself
After 10 minutes with nothing from Claude, or 20 minutes of silence, voice switches itself off. Run /smalt again to talk.
One conversation at a time: a /smalt in a second terminal is refused while the first is in use. Once that one has been quiet for 90 seconds, the new one takes over.