# Heads-up: spoken alerts for Claude Code on Mac

> Heads-up speaks up when Claude Code finishes or needs you. Free Mac plugin with 7 voices, smart quiet modes and ear-safe volume. Install in one command.

- Page: https://www.brandbakery.tech/work/products/heads-up
- Last updated: 2026-10-25

Breadcrumb: [Home](https://www.brandbakery.tech/) > [Work](https://www.brandbakery.tech/work) > Heads-up

## At a glance

- **Product:** Heads-up, by Brand Bakery
- **What it is:** An MCP server and Claude Code plugin that speaks a short line on your Mac when Claude Code finishes or needs you
- **Price:** Free, with no paid tier
- **Platform:** macOS (Node.js 20+, Claude Code)
- **Built in:** 20 alerts, 7 voices, 140 clips. No API key, no account
- **Source:** GitHub, public at launch

## Claude needs you. Now you'll hear it.

A small, free Mac plugin that speaks up when Claude Code finishes a task, needs your review or hits a wall. Quiet when you're busy. Gentle on your ears.

Example: "Hello from Brand Bakery Hub. I need your review."

- The GitHub repo goes public at launch; the install commands work from then.
- Open source under the MIT license at launch.
- Until it is on npm, the terminal install is npx github:abhishek207/headsup-mcp install.

## Features

- 20 alerts: Done, review, approval, question, stuck, error, tests passed or failed, deployed, PR ready, usage limit and more.
- 7 voices: American, British, Australian and Indian accents, male and female. Built in, no key needed.
- Project names: "Hello from Brand Bakery Hub." Know which session is calling. Needs your own ElevenLabs or Sarvam key.
- Claude's own words: When a fixed line isn't enough, Claude adds a short sentence and it's spoken in your voice. Needs your own ElevenLabs or Sarvam key.
- Stays quiet: Skips alerts while you're at the keyboard, on a call, in Focus, during quiet hours, or away from home.
- Ear-safe volume: Raises a muted Mac for the alert only, then restores it. Hard caps: 50% on headphones, 90% on speakers.
- Automatic alerts: Hooks announce permission prompts and long turns even if Claude doesn't call the tool. Background sessions never trigger them.
- Settings page: A local page to pick voices, switch alerts on and off, edit wording, set limits and see usage.
- Your wording: Change what any alert says. Only that line is recorded. Needs your own ElevenLabs or Sarvam key.
- Cost you can see: Characters used today and this month, plus a daily budget so automatic recording never runs away.
- Private by design: Runs on your Mac. No account, no telemetry. Keys live in the macOS Keychain and never touch a file.
- One-command setup: Install as a Claude Code plugin, or with one terminal command. Uninstall the same way.

## Voices

- Brian, American male (ElevenLabs)
- Sarah, American female (ElevenLabs)
- George, British male (ElevenLabs)
- Alice, British female (ElevenLabs)
- Charlie, Australian male (ElevenLabs)
- Aditya, Indian male (Sarvam)
- Priya, Indian female (Sarvam)

## The tool

Claude calls notify_user with a status (one of 20), an optional message (needs your key), repeat (1 to 3) and an optional volume, always under the safety caps. Every line starts with "Hello." (or "Hello from <project>.").

| Group | Status | Spoken line |
| --- | --- | --- |
| Needs you | review | I need your review. |
| Needs you | feedback | I need your feedback. |
| Needs you | input | I need your input. |
| Needs you | approval | I need your approval to continue. |
| Needs you | question | I have a quick question for you. |
| Needs you | blocked | I'm stuck, and I need your help. |
| Needs you | sign_in | I need you to sign in. |
| Needs you | reminder | I'm still waiting on you. |
| Finished | completed | I've completed the task. |
| Finished | tests_passed | All the tests are passing. |
| Finished | deployed | The deployment is live. |
| Finished | pr_ready | The pull request is ready. |
| Finished | next_task | I'm ready for the next task. |
| Problems | error | Something went wrong. Please take a look. |
| Problems | tests_failed | Some tests are failing. |
| Problems | deploy_failed | The deployment failed. |
| Problems | limit_warning | I'm close to my usage limit. |
| Problems | limit_reached | I've hit my usage limit. |
| Updates | long_task | This will take a while. I'll let you know when it's done. |
| Updates | progress | Quick update. I'm still working on it. |

## Bring your own key

Without a key: The 140 built-in clips; All 20 alerts in all 7 voices; Every guardrail and volume feature.

With your ElevenLabs or Sarvam key: Project names ("Hello from Brand Bakery Hub."); Claude's own words for an alert; Your own wording for any alert; Any voice from your ElevenLabs account, or any of Sarvam's 37 speakers.

- Project names and Claude's own words stay off until you add a key and it's verified. You turn them on.
- The key goes into your macOS Keychain. Heads-up never writes it to a file, a log or the page.
- You pay your provider directly, and usage is small: a project name is about 16 to 25 characters, once per voice. All 20 alerts in a new voice is about 570 characters. ElevenLabs' free plan includes 10,000 characters a month.
- A daily budget (1,000 characters per provider by default) caps everything recorded automatically.
- Each project's name is recorded once and cached, so the next alert is instant. Up to 20 new names a day.

## Privacy and safety

- On your Mac. No account, no server, no telemetry. The only thing that leaves your Mac is text you send to your own voice provider.
- Your ears. Volume caps no setting can override. Unknown output devices get the headphone limits.
- Your attention. A gap between alerts, an hourly limit, quiet hours, and mute for 15 minutes to 4 hours.

## Install

Claude Code plugin (recommended): /plugin install heads-up --marketplace abhishek207/headsup-mcp

Terminal: npx github:abhishek207/headsup-mcp install

- Checks Node and ffmpeg
- Builds the call detector
- Installs the plugin and allows its tool, so alerts don't wait on a permission prompt
- Removes any older setup, so alerts don't double
- Adds the headsup command

- headsup: opens the settings page
- headsup test review: plays an alert now
- headsup uninstall: removes everything and keeps your settings

Requirements: macOS; Node.js 20+; Claude Code; Xcode Command Line Tools, for call detection; ffmpeg (Homebrew), only for lines recorded with your key.

## Questions

### Is it free?

Yes, completely, and it stays that way. There's no paid tier. The 140 built-in clips need no account or key. Features that record new audio use your own ElevenLabs or Sarvam key, billed by them to you.

### Does it work on Windows or Linux?

Not yet. It's macOS only for now. A Windows version is planned.

### Does it work with Codex, Cursor or other agents?

It's built for Claude Code. A Codex version is packaged but still being tested. Any MCP client can call notify_user, but the automatic hooks are Claude Code's.

### Will it talk over my meetings?

No. It stays silent while your mic or camera is in use, while a Focus mode is on, and during quiet hours. It also skips alerts if you've touched the keyboard or mouse in the last minute, because you're already there.

### Will it blast my AirPods?

No. Headphones are capped at 50% and speakers at 90%, and no setting can go past that. If your Mac is muted it turns up just for the alert, then puts the volume back.

### Does anything leave my Mac?

Only if you add a voice key: then the short line being recorded (a project name, or Claude's sentence) goes to your provider. No telemetry, no Heads-up account. Claude is told to keep code, paths and secrets out of spoken lines.

### Where is my API key stored?

In the macOS Keychain. It's never written to a config file or log, and the settings page never shows it back.

### How much does a key cost me to use?

Very little. A project name is 16 to 25 characters, recorded once per voice. A daily budget caps automatic recording at 1,000 characters per provider by default. ElevenLabs' free plan includes 10,000 characters a month.

### What if Claude forgets to call it?

Hooks cover the important cases: permission prompts, and any turn that runs longer than 2 minutes.

### Can I change what it says?

Yes, with a key: edit any alert's wording on the settings page, add voices from your ElevenLabs account or Sarvam's 37 speakers, or let Claude say a short line of its own.

### How do I turn it off?

headsup off, or headsup mute 30 for half an hour. headsup uninstall removes it completely.

### Who made it?

Brand Bakery. Voices made with ElevenLabs (elevenlabs.io). Powered by Sarvam.

## Credits

Voices made with ElevenLabs (elevenlabs.io): Brian, Sarah, George, Alice and Charlie.

Powered by Sarvam: Aditya and Priya, recorded with Sarvam Bulbul v3.

Free, for everyone, for good. No paid tier, no pro version.

Heads-up is an independent project. Not affiliated with Anthropic, ElevenLabs or Sarvam.

---

Brand Bakery is a design-first digital studio in New Delhi. Start an enquiry at https://www.brandbakery.tech/contact or email support@brandbakery.tech. This is the Markdown copy of https://www.brandbakery.tech/work/products/heads-up; the site index for language models is https://www.brandbakery.tech/llms.txt.
