April 10, 2026
A text-to-speech plugin for Claude Code. Reads responses aloud using native TTS engines. No extra tokens — pure client-side TTS.
Most developers already have these.
GIT is required to clone the plugin repository
Node.js 18+ is required to run plugin hooks
Simple.
claude plugin marketplace add https://alphabetware.com/marketplace.json
claude plugin install speak
Or from source:
gh repo clone alphabet/speak ~/speak
claude --plugin-dir ~/speak
Type /speak to verify the plugin is loaded.
/speak on # enable TTS
/speak off # disable TTS
/speak set voice Ava # change voice (fuzzy match)
/speak set speed 1.5 # adjust speed (0.1-3.0)
/speak set sentences 2 # sentences per response (1-10)
/speak terse # strip markdown before speaking
/speak voices # list available voices
| Platform | Engine | Install |
|---|---|---|
| macOS | say (native) | Built-in |
| Linux | espeak (native) | apt install espeak |
| Windows | SAPI (native) | Built-in via PowerShell |
A Stop hook fires after each Claude response. Text is cleaned, truncated to N sentences, and spoken via the native TTS engine. Previous speech is cut off. No extra tokens consumed.
Swap the engine at lib/engine.mjs.
No sound on macOS — Run say "test" in Terminal. Check ~/.speak/config.json has "enabled": true.
No sound on Linux — apt install espeak, then espeak "test".
Voice/speed — /speak voices to list, /speak set voice <name> to change.
Reset — Delete ~/.speak/config.json. Logs at ~/.speak/speak.log.
MIT. Calls platform TTS binaries — no voice assets redistributed.