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 speaklna package
  • 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.

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:

  1. 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.
  2. For Codex, did you trust the hook in /hooks? For OpenClaw, did you restart the Gateway after setup?
  3. Is another app using your microphone? The report is held back during calls and dictation.
  4. 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.

Questions or problems?

Write to us in English or Chinese.

hello@aivmelna.com

If something isn’t working, tell us your Mac model, macOS version, and which AI tool you use.