How Pintail works
Pintail connects to Claude Code through its hooks, condenses each reply with a small model, and speaks it with a natural voice on your OpenRouter account.
Set it up once
- Connect your coding agent. Pintail installs a hook in Claude Code. When the agent finishes a reply, the hook hands it to Pintail.
- Connect OpenRouter. Paste your OpenRouter key. The voice runs on your own account; Pintail doesn’t sell credits.
- Ask, then listen. Type
voice readin the prompt when you want to hear a reply, or turn on automatic reading. It’s off by default.
What happens when an agent finishes
- The hook stores the reply on your Mac, per terminal tab, so each session keeps its own.
- A small model writes a spoken version at the length you picked. On macOS 26 that’s Apple Intelligence, on your Mac. You can pick a cloud model through OpenRouter instead.
- A natural voice speaks it through your OpenRouter account. It streams, so the first sound comes about half a second to a second and a half after the summary starts.
- One voice at a time. If three tabs finish at once, you hear them in the order they finished.
How much do you want to hear?
Four levels. Here’s the same reply, about people getting logged out after a deploy, at each one.
| Level | Length | What you hear |
|---|---|---|
| Brief | One sentence | Fixed, just set SESSION_SECRET before the next deploy. |
| Summary | Two to four sentences | Deploys changed the session secret. Fixed. Set SESSION_SECRET before the next deploy. |
| Detailed | Five to ten sentences | Every deploy made a new session secret, so people got logged out. Local dev never rotates it, which is why you only saw it after deploys. The secret now stays the same across releases, and the old one still works for a day. … |
| Full reply | The whole reply | Everything the agent wrote, read as written. |
Want more after a short one? Ask for more and it reads the same reply one level deeper.
Who’s talking
With five tabs open, “tests pass” is only useful if you know which tab said it. So Pintail always shows you:
- The pill. A small black pill drops from the notch at the top of your screen with the project, the tab title and live captions. Speed 1×, 1.2×, 1.5× or 2×, skip back or forward 5 seconds, stop.
- The pet. A pixel duck on your desktop talks while it reads: the pintail, a mallard, a white duck or a rubber duck.
- The menu bar. It shows the talking session too.
Voice commands never reach the agent
You can type commands like voice read or voice brief straight into the prompt. The hook catches them before they reach Claude Code, so they cost no Claude tokens and don’t end up in the conversation. The summary is written outside the agent too.
What runs where
Your Mac
- Claude Code and its hook
- Pintail: the replies, per tab
- The summary, with Apple Intelligence (macOS 26)
- The player, the pill and the duck
OpenRouter, your account
- The voice
- A cloud summary, if you pick one
That’s the whole picture. Pintail has no server and no account. Privacy has the details.
Languages and Macs
Summaries and voices in English and German. Pintail runs on Macs with Apple silicon.