DingDone
DingDone

Hear when your coding agents need you.

DingDone is a menu-bar app that speaks when a session finishes, fails, or needs input — and tells you which project.
Apple Silicon · macOS 13 or newer
Code FileEditSelectionViewGo
Tue 14:32
checkout-api — Claude
docs-site — Terminal
VS Code — api-gateway
OPENED
Open Chat I
Show All Commands P
Find in Files F
Chat Claude Code Codex
rate-limits
/review rate-limits
Agent: security review
IN round 1 of 2 · cwd ~/Projects/api-gateway · ra
Agent: performance review
IN effort: high · round 1 of 2 · cwd ~/Projects/api
API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check status.claude.com.
⌘ Esc to focus or unfocus Claude
+ / Auto
Codex
OPENED
Codex
New chat
billing-service
fitness-app
docs-site
checkout-api
sky-cli
image-editor
YO You Voice
billing-service
Retries and the per-key budget now share one clock.
Checks passed: npm run check · git diff --check
Working…
done · 6 files, 31 tests
Edited 6 files +434 −21 Undo Review
src/limiter/bucket.ts +142 −3
src/limiter/window.ts +37 −8
Show 4 more files
Do anything
Approve for me 5.6 Sol Extra High
Claude — canvas
OPENED
Home Code
New Artifacts Customize More
canvas
Rate-limit review
Fix the hook setup
api-gateway
Security pass
Rewrite the guide
Y You · Max
Rate-limit review canvas
Review the rate limiter and pick an approach.
1/2 Which limiter should we ship?
Token bucket Bursty traffic, per-key refill 1
Sliding window Exact counts, heavier on Redis 2
Leaky bucket Smooth output, queues the rest 3
Other 4
Skip Next
Type / for commands
Plan Opus 5 High
Click the widget
Needs attention
1
1
2
ERRORS 1
api-gateway
6m
Service temporarily unavailable
~/Projects/api-gateway
WAITING FOR A RESPONSE 1
canvas
2m
is waiting for a response.
~/Projects/canvas
COMPLETED 2
billing-service
now
finished working.
~/Projects/billing-service
fitness-app
14m
finished working.
~/Projects/fitness-app
Clear all
“Claude Code, canvas, is waiting for a response.” “Codex, billing service, finished working.” “Claude Code, api gateway, stopped because of an error.”
Terminal
Visual Studio Code
Claude
Codex Codex
DingDone
api-gateway
stopped because of an error.
~/Projects/api-gateway
6m
billing-service
finished working.
~/Projects/billing-service
now
canvas
is waiting for a response.
~/Projects/canvas
2m
PAUSED
01
You can’t watch five agents at once. You don’t have to.
02
That card says which project needs you. Click, you’re there.
03
Another session finishes — it reports in. No checking tabs.
04
It works the same for Claude, Codex, the VS Code extension.
05
A silent 500 in the background. You’d miss it. DingDone won’t.
THE PROBLEM

Close the gap between “done” and “you noticed”.

Without it
it needs you
you happen to look
40 minutes of nothing happening
With it
you hear it
answered in seconds — and it is running again
Same session. The agent spends more of it working.
Nothing about the agent got faster — only the part where it sat waiting for you. Watch it, walk away, or run four sessions at once: you hear the end of that wait.
VOICES

Five things it can tell you. Not one.

Five events, five voices. Real recordings — press play.
Done
“Codex, billing service, finished working.”
The turn is genuinely over.
Voice · Paula
Paula
Waiting
“Claude Code, canvas, is waiting for a response.”
A question or a permission prompt is on screen.
Voice · Crisp Narrator
Crisp Narrator
Still waiting
“Claude Code, canvas, is still waiting for a response.”
You did not answer, so it reminds you once more — 30 seconds to 5 minutes, your call.
Voice · Megan
Megan
Interim update
“Codex, api gateway, interim update.”
The main run reported back while background agents keep going.
Voice · Rocket Visionary
Rocket Visionary
Error
“Claude Code, api gateway, stopped because of an error.”
The run stopped. The card tells you why.
Voice · News Anchor
News Anchor
WHAT’S INSIDE

Set once, then it stays out of your way.

Three looks for the widget.

It parks on the edge of your screen and keeps count. How much of it you see is your call.
Mascot
1
1
0
2
The icon on top, floating off the edge. The default.
With icons
1
1
0
2
The same counters, flush with the edge, one point larger.
With numbers
1
1
0
2
The quiet one: 28 points wide, digits only.

Every announcement is four slots.

Every slot is yours to rewrite. Only the order is fixed — and the chime is clickable.
chime
Codex
agent
,
billing service
how you say it
,
finished working.
your words

Now the fun part.

135 voices today, and counting. Somebody has to tell you the build is done.
Male Female Character Gaming Anime Sexy Robot / Sci-Fi Dark / Horror ASMR Announcer DJ / Music Energetic Calm Deep Playful Storyteller
Fighting Tournament Announcer Announcer
Powerful dramatic game-tournament announcer
Selene ASMR
Meditative female voice on the edge of a whisper
Wise Narrator Storyteller
Deep authoritative voice with lived-in wisdom
Alluring Femme Sexy
Low husky enveloping voice
News Anchor News
Fast crisp news-bulletin delivery
Virtual Pop Idol Anime
Bright digital voice of a hologram pop star
Wild West Gang Leader Character
Raspy menacing frontier gang-boss voice
Machine from Hell Dark / Horror
Dark cinematic voice of a war machine
Spoken through our own service, so Pro needs no ElevenLabs key of its own. The free plan speaks in an Apple system voice — those are in Voice samples above.
14 languages — English, Russian, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Ukrainian, Turkish, Japanese, Korean, Chinese — detected automatically or picked by hand.
FREE FOR 14 DAYS, THEN PRO

Every session that needs you, in one panel.

Errors, waiting, updates and completed sessions appear in separate groups, so you can see whether everything works at a glance. Click a card and DingDone takes you there.
Supported VS Code and Claude sessions open at the thread itself.
Everywhere else — terminals, Cursor, other editors — it opens the project folder instead. It never guesses at a window.
A card clears itself once you have actually arrived — not before.
Needs attention
1
1
2
ERRORS 1
api-gateway
4m
Context limit exceeded
~/Projects/api-gateway
WAITING FOR A RESPONSE 1
canvas
2m
is waiting for a response.
~/Projects/canvas
COMPLETED 2
billing-service
now
finished working.
~/Projects/billing-service
fitness-app
12m
finished working.
~/Projects/fitness-app
Clear all
COMPATIBILITY

It speaks wherever your agent already runs.

The notification comes from the agent’s own hook, not from watching your screen — so it works the same in a bare terminal and inside an editor. DingDone recognises where the session was, and that only changes one thing: where a click takes you.
Verified
Claude appCodex appCodex in VS CodeClaude Code in VS CodeClaude Code in ConductorCodex in Conductor
Not tested yet
Terminal.appiTerm2WarpGhosttytmuxCursor
They very likely work — the hook is the same everywhere. Nobody has verified them yet, so nothing is claimed. Two agents are supported: Claude Code and Codex, and both get all five events.
Where a click takes you
The same honest matrix the app shows behind its own “i” button — nothing here promises more than ships.
Codex app
native thread
VS Code + Codex extension
native thread
Claude app
native thread
VS Code + Claude Code
focuses the project · thread in progress
Conductor + Claude Code / Codex
the matching chat · local sessions
Terminal, iTerm, Warp, Ghostty, Cursor
opens the project folder
PRIVACY

Offline by default. Quiet by design.

The free tier speaks in an Apple voice on your Mac. No network, no account, no server in the loop.
This Mac
Your prompts
Your code
The agent’s replies
never leave this Mac
“Codex, billing service, finished working.”
this one line is all that leaves
Our voice service
PRO ONLY
Takes the sentence, hands back the audio.
No prompts, no code, no replies. Nothing else, ever.
The local log keeps the event type, the folder and the phrase spoken — nothing else. The config file holding any key of yours is written 0600.
PRICING

Core features are free — forever.

Voice notifications never expire and never need a license.
Free
The whole job it was built for. No account, no license, no server.
$0
forever
Apple Silicon · macOS 13 or newer
Claude Code and Codex, all five event types
Apple system voices, fully offline
14 languages, editable phrases, spoken project names
Every project, no limit on alerts
Chimes, volume, reminders and the local event log
Agent Cockpit for 14 days, no card required
Download for macOS
Updates arrive through a signed feed
DingDone Pro
MOST POPULAR
135 voices, every session on one screen.
$3.33
/ month
SAVE 44%
Billed once a year at $39.99 · cancel anytime · USD
Everything in Free, forever
Premium cloud voices — included, no keys of your own
Character personas and per-project voices
Agent Cockpit — the active-sessions widget and jump into the session
Your own ElevenLabs key and voices by Voice ID — optional
Portable settings carried between your Macs
Pro is bought inside the app — DingDone › Subscription.
Secure checkout via Stripe · one license, up to 2 Macs
QUESTIONS

The things people ask first.

Does it read my prompts or the agent’s replies?
No. The agent’s hook hands DingDone an event — what happened, which folder, which session. Message contents are never read and never logged. The local log keeps the event type, the folder and the phrase that was spoken.
Will it talk over every step?
No. It speaks when a session needs you or is done — waiting for a response, finished, an error, an interim update. Tool calls, file edits and background sub-agents pass in silence, and a run that stops only to wake itself later says nothing at all.
What does it change on my Mac?
It adds one small block to each agent’s own config file. A backup is written first and up to three versions are kept; disconnecting removes only the lines DingDone added.
Do I need an API key?
No. The free tier speaks with the Apple voices already on your Mac — offline, no account. Premium cloud voices run through DingDone’s own service, so there is still no key of yours to manage.
Does it work with the VS Code extensions?
Yes, and that is where it earns its keep. For Codex in VS Code a click opens the thread itself. For Claude Code in VS Code, DingDone brings the right window forward on its own — no extra setup, and nothing sensitive is ever touched along the way. Conductor is covered too: for Claude Code and Codex running locally there, a click lands in the matching chat.
It talks over me. Can I make it quieter?
Every phrase is editable, per event, in fourteen languages with auto-detect. Turn off any event you don’t want, or keep only the chime. The repeat reminder for a session still waiting is a separate switch.
How do I buy Pro?
Inside the app — the licence screen handles it. This page never asks for a card. Core features stay free forever; a licence covers up to two Macs.
DingDone

Stop checking. Start hearing.

Free, offline, and about three minutes to set up.
Download for macOS — free
DingDone for macOS
DingDone
DingDone
DingDone
DingDone

Hear when your coding agents need you.

DingDone is a menu-bar app that speaks when a session finishes, fails, or needs input — and tells you which project.
Download for macOS — free
Apple Silicon · macOS 13 or newer
Code FileEdit
Tue 14:32
docs-site — Terminal
Claude — canvas
Rate-limit review canvas
1/2 Which limiter should we ship?
Token bucket Bursty traffic, per-key refill 1
Sliding window Exact counts, heavier on Redis 2
Skip Next
VS Code — api-gateway
rate-limits
API Error: 500 Internal server error.
Codex
billing-service
done · 6 files, 31 tests
Edited 6 files +434 −21 Review
src/limiter/bucket.ts +142 −3
src/limiter/window.ts +37 −8
DingDone DingDone
0 1
0 1
0
1 2
canvas
is waiting for a response.
~/Projects/canvas
billing-service
finished working.
~/Projects/billing-service
api-gateway
stopped because of an error.
~/Projects/api-gateway
“Claude Code, canvas, is waiting for a response.”
“Codex, billing service, finished working.”
“Claude Code, api gateway, stopped because of an error.”
THE PROBLEM

Close the gap between “done” and “you noticed”.

Without it
it needs you
you happen to look
40 minutes of nothing happening
With it
you hear it
answered in seconds — and it is running again
Same session. The agent spends more of it working.
Nothing about the agent got faster — only the part where it sat waiting for you. Watch it, walk away, or run four sessions at once: you hear the end of that wait.
VOICES

Five things it can tell you. Not one.

Five events, five voices. Real recordings — press play.
Done
“Codex, billing service, finished working.”
The turn is genuinely over.
Voice · Paula
Paula
Waiting
“Claude Code, canvas, is waiting for a response.”
A question or a permission prompt is on screen.
Voice · Crisp Narrator
Crisp Narrator
Still waiting
“Claude Code, canvas, is still waiting for a response.”
You did not answer, so it reminds you once more — 30 seconds to 5 minutes, your call.
Voice · Megan
Megan
Interim update
“Codex, api gateway, interim update.”
The main run reported back while background agents keep going.
Voice · Rocket Visionary
Rocket Visionary
Error
“Claude Code, api gateway, stopped because of an error.”
The run stopped. The card tells you why.
Voice · News Anchor
News Anchor
WHAT’S INSIDE

Set once, then it stays out of your way.

Three looks for the widget.

It parks on the edge of your screen and keeps count. How much of it you see is your call.
1
1
0
2
Mascot
The icon on top, floating off the edge. The default.
1
1
0
2
With icons
The same counters, flush with the edge, one point larger.
1
1
0
2
With numbers
The quiet one: 28 points wide, digits only.

Every announcement is four slots.

Every slot is yours to rewrite. Only the order is fixed — and the chime is tappable.
chime
Codex
agent
,
canvas
how you say it
,
finished.
your words

Now the fun part.

135 voices today, and counting. Somebody has to tell you the build is done.
Male Female Character Gaming Anime Sexy Robot / Sci-Fi Dark / Horror ASMR Announcer DJ / Music Energetic Calm Deep Playful Storyteller
Fighting Tournament Announcer Announcer
Powerful dramatic game-tournament announcer
Selene ASMR
Meditative female voice on the edge of a whisper
Wise Narrator Storyteller
Deep authoritative voice with lived-in wisdom
Alluring Femme Sexy
Low husky enveloping voice
News Anchor News
Fast crisp news-bulletin delivery
Virtual Pop Idol Anime
Bright digital voice of a hologram pop star
Wild West Gang Leader Character
Raspy menacing frontier gang-boss voice
Machine from Hell Dark / Horror
Dark cinematic voice of a war machine
Spoken through our own service, so Pro needs no ElevenLabs key of its own. The free plan speaks in an Apple system voice — those are in Voice samples above.
14 languages — English, Russian, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Ukrainian, Turkish, Japanese, Korean, Chinese — detected automatically or picked by hand.
FREE FOR 14 DAYS, THEN PRO

Every session that needs you, in one panel.

Errors, waiting, updates and completed sessions appear in separate groups, so you can see whether everything works at a glance. Click a card and DingDone takes you there.
Supported VS Code and Claude sessions open at the thread itself.
Everywhere else — terminals, Cursor, other editors — it opens the project folder instead. It never guesses at a window.
A card clears itself once you have actually arrived — not before.
Needs attention
1
1
2
ERRORS 1
api-gateway
4m
Context limit exceeded
~/Projects/api-gateway
WAITING FOR A RESPONSE 1
canvas
2m
is waiting for a response.
~/Projects/canvas
COMPLETED 2
billing-service
now
finished working.
~/Projects/billing-service
fitness-app
12m
finished working.
~/Projects/fitness-app
Clear all
COMPATIBILITY

It speaks wherever your agent already runs.

The notification comes from the agent’s own hook, not from watching your screen — so it works the same in a bare terminal and inside an editor. DingDone recognises where the session was, and that only changes one thing: where a click takes you.
Verified
Claude appCodex appCodex in VS CodeClaude Code in VS CodeClaude Code in ConductorCodex in Conductor
Not tested yet
Terminal.appiTerm2WarpGhosttytmuxCursor
They very likely work — the hook is the same everywhere. Nobody has verified them yet, so nothing is claimed. Two agents are supported: Claude Code and Codex, and both get all five events.
Where a click takes you
The same honest matrix the app shows behind its own “i” button — nothing here promises more than ships.
Codex app
native thread
VS Code + Codex extension
native thread
Claude app
native thread
VS Code + Claude Code
focuses the project · thread in progress
Conductor + Claude Code / Codex
the matching chat · local sessions
Terminal, iTerm, Warp, Ghostty, Cursor
opens the project folder
PRIVACY

Offline by default. Quiet by design.

The free tier speaks in an Apple voice on your Mac. No network, no account, no server in the loop.
This Mac
Your prompts
Your code
The agent’s replies
never leave this Mac
“Codex, billing service, finished working.”
this one line is all that leaves
Our voice service
PRO ONLY
Takes the sentence, hands back the audio.
No prompts, no code, no replies. Nothing else, ever.
The local log keeps the event type, the folder and the phrase spoken — nothing else. The config file holding any key of yours is written 0600.
PRICING

Core features are free — forever.

Voice notifications never expire and never need a license.
Free
The whole job it was built for. No account, no license, no server.
$0
forever
Claude Code and Codex, all five event types
Apple system voices, fully offline
14 languages, editable phrases, spoken project names
Every project, no limit on alerts
Chimes, volume, reminders and the local event log
Agent Cockpit for 14 days, no card required
Download for macOS
Updates arrive through a signed feed
DingDone Pro
MOST POPULAR
135 voices, every session on one screen.
$3.33
/ month
SAVE 44%
Billed once a year at $39.99 · cancel anytime · USD
Everything in Free, forever
Premium cloud voices — included, no keys of your own
Character personas and per-project voices
Agent Cockpit — the active-sessions widget and jump into the session
Your own ElevenLabs key and voices by Voice ID — optional
Portable settings carried between your Macs
Pro is bought inside the app — DingDone › Subscription.
Secure checkout via Stripe · one license, up to 2 Macs
QUESTIONS

The things people ask first.

Does it read my prompts or the agent’s replies?
No. The agent’s hook hands DingDone an event — what happened, which folder, which session. Message contents are never read and never logged. The local log keeps the event type, the folder and the phrase that was spoken.
Will it talk over every step?
No. It speaks when a session needs you or is done — waiting for a response, finished, an error, an interim update. Tool calls, file edits and background sub-agents pass in silence, and a run that stops only to wake itself later says nothing at all.
What does it change on my Mac?
It adds one small block to each agent’s own config file — ~/.claude/settings.json and ~/.codex/config.toml. A backup is written first and up to three versions are kept; disconnecting removes only the lines DingDone added.
Do I need an API key?
No. The free tier speaks with the Apple voices already on your Mac — offline, no account. Premium cloud voices run through DingDone’s own service, so there is still no key of yours to manage.
It talks over me. Can I make it quieter?
Every phrase is editable, per event, in fourteen languages with auto-detect. Turn off any event you don’t want, or keep only the chime. The repeat reminder for a session still waiting is a separate switch.
Does it work with the VS Code extensions?
Yes, and that is where it earns its keep. For Codex in VS Code a click opens the thread itself. For Claude Code in VS Code, DingDone brings the right window forward on its own — no extra setup, and nothing sensitive is ever touched along the way. Conductor is covered too: for Claude Code and Codex running locally there, a click lands in the matching chat.
How do I buy Pro?
Inside the app — the licence screen handles it. This page never asks for a card. Core features stay free forever; a licence covers up to two Macs.
DingDone

Stop checking. Start hearing.

Free, offline, and about three minutes to set up.
Download for macOS — free
DingDone for macOS