For AI coding tools
Let your AI tool talk to you.
When Claude Code, Codex and other AI coding tools finish a turn, Speaklna can say one sentence about the result, so you can look away from the screen. You can also ask them to read something aloud. All speech is made on your Mac. A report sounds like “Codex, myproject: tests pass now; you still need to restart the server.”
npm install -g speaklna
speaklna setup
Speaklna is coming soon to the Mac App Store, free. Open it once before setup.
What you need
- macOS 15.2 or later, on a Mac with Apple silicon
- Node.js 18 or later, for the
speaklnapackage - One of the AI tools below, installed on the same Mac
Setup details
One package connects your AI tools to the app. Install it once, then let it set up the tools it finds on your Mac.
Setup lists every file it will change and asks y/N before writing anything. It saves the original of each file once, as <file>.speaklna-bak. To set up one tool only, add its name: speaklna setup codex. Add --dry-run to look without writing, or --yes to skip the question.
You can also run it without installing: npx -y speaklna setup. Installing it globally is better, because the hooks then point at a stable path instead of the npx cache.
Pick your tool
Each page shows exactly what setup changes for that tool, how to test it, and how to remove it.
Good to know
Reports wait their turn
Reports are read one at a time. If a session has several waiting, only the newest is kept. A report that has waited two minutes without being read is dropped, because it is no longer news.
It slips in between paragraphs
If Speaklna is already reading something to you, a report waits for the end of the paragraph, then plays, and the reading carries on.
⌥T and ⌥S always win
Pressing ⌥T starts reading your clipboard and clears everything the AI tools had queued. Pressing ⌥S stops everything and clears the queue.
Quiet in meetings
While another app is using your microphone, such as a call or dictation, AI tools stay silent. Speaklna counts what it held back and shows it in the Connect AI window.
Save it as a file
Run speaklna save "text" -o clip.wav in Terminal, or ask your AI tool to save something as audio. Speaklna reads it the same way as ⌥T but writes a WAV file instead of playing it; without -o the file goes to the Speaklna folder in your Music folder. It won’t start while Speaklna is reading aloud, and pressing ⌥T stops it.
The Connect AI window
Open it from the Speaklna panel. It shows which AI tools have connected, lets you turn the source announcement (“Codex, myproject:”) on or off, switch to just saying “Codex finished in myproject”, and give each AI tool its own voice.
Privacy
- The report line is written by your AI tool. The rules Speaklna adds tell the model never to put passwords, keys or tokens in it, and the package masks anything that looks like a secret before handing it to the app.
- The package hands text to the app through local macOS messages on the same Mac. Installing it downloads it from npm, once.
- AI tools can only speak, save speech as a WAV file in your Music folder, stop, check status and list voices. They cannot import voices or change settings.
Full details are in the privacy policy.
Uninstall
This removes exactly what setup added, and nothing else.
speaklna uninstall # every tool
speaklna uninstall codex # one tool
It lists what it will remove and asks first. Afterwards you can delete the package with npm uninstall -g speaklna.
Troubleshooting
It says Speaklna is not installed
Get the app from the Mac App Store, then open it once. Hooks only work on macOS.
Nothing is spoken after a turn
Check these in order:
- Does the end of the AI’s reply have a line starting with
🔊(speaker emoji)? If not, start a new session so it picks up the rule. - For Codex, did you trust the hook in
/hooks? For OpenClaw, did you restart the Gateway after setup? - Is another app using your microphone? The report is held back during calls and dictation.
- Run
speaklna say "Hello". If you hear that, the app and the package are fine, and the problem is in the AI tool’s setup.
The AI tool says the speaklna tool failed to start
The tool is started with npx, so Node.js has to be on the PATH of your AI tool, not just your terminal. Install Node.js 18 or later, then restart the AI tool.
Setup says a different “speaklna” entry exists
Setup leaves entries that are not its own alone. Rename or remove yours, then run setup again.