top | item 46985151

Warcraft III Peon Voice Notifications for Claude Code

1006 points| doppp | 18 days ago |github.com

301 comments

order

magicalhippo|17 days ago

Reminded me of Warcraft (the first), where, if you kept clicking on the same unit they would respond in more annoyed ways. The best IMHO was the human soldier[1], which would end with "Why do you keep touching me?".

First game that I knew of which had such fun details like that.

[1]: https://www.youtube.com/watch?v=jaZyZZtwdzQ

tremon|17 days ago

They had the same joke in the sound setup program. If you kept clicking "test sound", you would get "it doesn't get any better than this!" in that same annoyed footman voice. But my favourite was the orc destroyer in Warcraft II, which would start singing sea shanties. Or at least attempt to.

amunozo|17 days ago

I don't know how is in English, but in Spanish if you keep clicking the Demon Hunter it says "I'm blind, not deaf". That was my favorite one.

ticulatedspline|17 days ago

I think I prefer the extra quotes from Warcraft II and Starcraft. The latter has some fun references to the Alien franchise and even a callback to Diablo (Protoss probe)

stackghost|17 days ago

"Join the Army", they said...

crazypyro|17 days ago

I think in WC3, if you clicked certain critters enough, they would explode.

wtetzner|17 days ago

I remember one of the Orcs in Warcraft II would yell "Stop poking me!"

PeteZa|15 days ago

Annoyed Death Knight: "When my work is finished, I'm coming back for you..."

splonk|17 days ago

Maybe 20 years ago a build system at Google was called "grunt". For some reason I came across a CL description that said something like "make the build 10% funnier." It made the build script output an additional "zug-zug" line 10% of the time.

Xunjin|17 days ago

kek

caymanjim|18 days ago

I love this idea, but I really wish it were Warcraft II voices.

disillusioned|18 days ago

Hello, fellow 40-45(?) year old.

I feel like anyone preferring Warcraft III is in their 30s. Grew up with the Warcraft II Battle Chest and it was a vibe.

knuckleheads|18 days ago

Red Alert II for me would be great.

A plea to the various lab engineering teams: please create a json format or whatever that lets me configure this with voices locally. I am a happy user as of late of the Codex app by Open AI. It would be great if I could just give it some JSON somehow and it just works. I suppose skills can do this and I will try that later on. But I think this stuff matters, and it would be nice to have it built in and encouraged.

Maakuth|18 days ago

Your sound card works perfectly.

Intermernet|17 days ago

The warcraft 2 demo had Easter eggs. One voice sample was "in the retail version I'm much funnier".

largbae|18 days ago

Zug zug

Ntrails|17 days ago

For years I had Pidgin spam "Leave me alone" when I got pings. Man those voices are deeply embedded in my psyche

ffsm8|17 days ago

If you went to the website, you'd know there are multiple sets to choose from and create your own

petethepig|18 days ago

that's what i ended up doing — it was pretty easy:

* download Warcraft II voices

* tell claude to wire it all up

Quarrel|17 days ago

Job's Done!

oreally|18 days ago

Extremely easy to do with sound recording software or youtube mp3 downloaders. Takes a little imagination and makes programming less onerous in a deviate kind of way.

Kirr|18 days ago

Aye-aye sir! Captain on the bridge!

veeti|18 days ago

Age of Empires II anyone?

rcpt|18 days ago

Same. Ouch my back.

hcs|18 days ago

Do you need assistance?

bandrami|18 days ago

"Plebs are needed!"

CharlesW|17 days ago

I did this as well, and loved to hear "Work complete!" (https://www.youtube.com/watch?v=bupagiROLV8) when Claude Code needed me.

Once the novelty wore off, I found it more useful to hear per-project, event-specific messages. On macOS, that looks like this:

    {
      "Stop": [
        {
          "hooks": [
            {
              "type": "command",
              "command": "osascript -e 'say \"ProjectX work complete\" volume 0.25' > /dev/null 2>&1 &"
            }
          ]
        }
      ],
      "Notification": [
        {
          "matcher": "permission_prompt",
          "hooks": [
            {
              "type": "command",
              "command": "osascript -e 'say \"ProjectX needs help\" volume 0.5' > /dev/null 2>&1 &"
            }
          ]
        }
      ]
    }

kurishutofu|17 days ago

I believe you don’t even have to use AppleScript you can just use the say command directly

jasondigitized|17 days ago

Where does this config get dropped into the file structure?

Dwedit|17 days ago

I remember making custom Warcraft II levels, and you could change the construction time for buildings. If you picked a construction time of zero, the building would be built very quickly, but be damaged. There's something hilarious about asking a peasant to build a farm, then seeing a burning farm and hearing the "Job's Done!"

isoprophlex|18 days ago

My god I never realised how badly I wanted this until now. Only, with the voice of the Star Trek Computer. Elevenlabs, here I come..!

Edit: well that only took me 30 minutes. "Warning: ssh tunnel collapsed. Unable to proceed."

Nice.

nandomrumber|18 days ago

Majel Barrett Roddenberry, wife of Star Trek creator Eugene Wesley (Gene) Roddenberry Sr.

Aeolun|18 days ago

Did you contribute that pack back?

nottorp|17 days ago

I don't see any mention of having to own warcraft 3 to use its assets...

This is as much of a copyright violation as the LLM training process.

Did anyone vote an exemption from copyright if it's for "AI" use?

Majromax|17 days ago

> This is as much of a copyright violation as the LLM training process.

Not necessarily. This could be considered a quotation of a trivial part of a larger work, making the use legal in the US under its fair use doctrine.

Additionally, I'm not aware of any obvious way that this use could harm the commercial market for Warcraft 3 (and the other games whose voice packs are included in this repository). The use here does not compete with the original, and if anything it might drive sales on the margin through nostalgic reminders.

bnchrch|17 days ago

Copyright is about as dead as any party you happen to walk into.

pousada|17 days ago

Let me shed a tear for activision blizzard the poor artists corporation.

One good thing about genai is that it will force us to rethink the mess that is copyright

iugtmkbdfil834|17 days ago

If there is one good thing about AI, it is that it might finally buldoze existing ecosystem.

matijao|17 days ago

protect the corporations!

floor2|17 days ago

I never voted for any of the copyright laws, and hope those archaic tools of oppression get tossed out entirely.

If given the option to vote for this, yes I would absolutely vote for an exemption.

But also, this is clearly "Fair Use" even under our current draconian copyright laws.

nusl|18 days ago

This is cool. I was tempted to try it until I saw the curl | bash pipe, then no. This workflow is getting really old.

I guess that I also don't want to pollute old good memories by associating them with work/Claude

INTPenis|18 days ago

Totally agree, it's the main reason I'll never recommend Linux to anyone, because you can't expect normal people to understand these things.

But it's kinda funny to me that you just said "I was going to run this code on my system, until I saw some other code in the same repo, and now I refuse to run it" :D It's all the same repo, you're willing to try part of the code, but not another part of it. Completely arbitrary.

ajnin|17 days ago

> I was tempted to try it until I saw the curl | bash pipe, then no

I don't quite get that argument. It's the same as the old download installer from random website, double click to run that people have been doing for decades. It only skips the download step. And it's arguably better since at least you can review the contents. When building a Go program it will also happily download stuff from github but I've seen way less complaints about that. And to be fair it's also been an infection vector, from people installing things from shady places (or reputable places but with ill-intent like installing unwanted browser toolbars, DRM rootkits ...), but it's nothing new. Same advice applies, know what you're doing, use reputable sources.

What's a better alternative ?

bayindirh|18 days ago

I cloned the repository just for the sound files. I may hook them to my terminal for long running jobs when I have some time to have some fun. Maybe a wrapper script.

Hmm, why not?

killingtime74|17 days ago

I also had this thought. So I cloned the repo and got Claude to review it. Then I installed it from the clone.

Lucasoato|18 days ago

Actually, I’ve seen a 150% improvement on Claude Opus 4.6 just by setting up the notifications with Final Fantasy VI menu sounds.

thomasfromcdnjs|18 days ago

I was kinda watching it unfold on X, I think this user was a couple days before https://x.com/delba_oliveira/status/2020515010985005255?s=46 and simpler/less-invasive instructions

---

Also, I'd love to use these sound effects, but I am an rts player and love aoe and wc franchise, these noises just trigger me to want to play too much.

---

Also, also, if you haven't seen AgentCraft, you are missing out -> https://x.com/idosal1/status/2021661861163544818 (worked in one npx command for me using my claude, a+ for creativity and smoothness)

celeritascelery|17 days ago

Agentcraft is exactly what I was thinking about when I saw this

general1465|18 days ago

Stronghold Crusader advisor would be much funnier: Token stocks are too low sire! Not enough tokens mi lord!

skrunch|18 days ago

Would love this with CS1.6 voices: "GO GO GO!", "The bomb has been planted", "Need backup"

thunfischtoast|18 days ago

It's pretty easy to create your own soundpack I think

Symmetry|17 days ago

If you're the sort of person not to use a pre-packaged desktop environment, you can use mako as your notofication daemon and get the same effect by adding

  on-notify=exec play /usr/share/sounds/freedesktop/stereo/complete.oga
or the equivalent to your config.

_alaya|17 days ago

I think this is a really fun project, but even more importantly, I believe it’s a portent of things to come.

I really leaned into coding with agents last year, and after some time, it became evident to me that the vision now being pushed -- the "software factory" -- is where things will eventually end up. Building off that understanding, I began thinking about what interfaces would be necessary and useful for managing code and technology at that scale.

I keep coming back to the idea of a video game-like interface for managing all these agents and fleets of agents. Many of the information affordances in video games are reusable in other scenarios. So even though on the surface this project is 'just' a silly and fun enhancement, I think it’s actually a pretty serious contribution as well.

jasondigitized|17 days ago

This. Huge opportunity space for very creative UX moving forward.

itsjustjordan|18 days ago

I just swapped all my Claude code spinner verbs to be Warcraft related and was thinking today how I could get it to say “Jobs done” when it needed my attention

henning|18 days ago

Everything in AI is built on copyright infringement, so redistributing Blizzard assets while slapping an MIT license on everything is par for the course.

deaux|18 days ago

It has been 24 years since release, in any place that isn't completely captured by big capital interests it would be fair use. This is such a forced reach. There are plenty of good arguments to be made re: big LLM providers and copyright, yet you're weakening all of them by choosing the worst example.

nunobrito|18 days ago

To be fair, MIT is correctly applied to the source code. Voice resources are of course licensed and copyrighted under other terms.

This is the reason why there is a distinction between "Declared license" and "Concluded license".

gloosx|17 days ago

First thought as well. How is this legal?

Evidlo|18 days ago

"No copyright infringement intended"

bdhcuidbebe|18 days ago

AFK vibe coded while k-holed at a virtual influencer conference

barbs|18 days ago

Shouldn't the sound for when a task finishes be something like "Job done!"? Looking at the table it seems like it makes the sound for acknowledging that it's received an order (e.g. "I can do that").

chrysoprace|18 days ago

You're thinking of peasants, the Human unit.

ponco|18 days ago

`peon --pack peasant`

This was my first thought too, thankfully they thought of it!

bronkic|17 days ago

Cool idea but not very helpful if you're playing Warcraft III while waiting for claude code to be done.

Intermernet|17 days ago

If we get one based on warcraft 2 you can then play warcraft 3 safely.

"Job Done!"

"Work Complete!"

"Are you still touching me?"

ares623|18 days ago

Anthropic should release AI generated voice packs for Claude. I'm sure they'll be very popular.

midtake|18 days ago

I'll be looking forward to making an Infested Terran sound pack.

oefrha|18 days ago

> Refactor this codebase

Please kill me.

aliljet|18 days ago

What I really want is for the peon voice to be replicated and for custom things to be in that voice. Or even better, the starcraft battlecruiser guy's voice!

philipallstar|17 days ago

All the Starcraft voice acting is amazing. It's in the pipe - 5 by 5!

d4rkp4ttern|17 days ago

Related: I used the amazing 100M-parameter Pocket-TTS [1] model to make a stop-hook based voice plugin [2] that lets Claude Code give a short voice update whenever it stops. The hook quietly inserts nudges to Claude Code to end its response with a short speakable summary, and in case it forgets, it uses a headless agent to create the summary.

It was trickier than I expected, to get it working well: FFMpeg pipe streaming for low-latency playback, a three-hook injection strategy because the agent forgets instructions mid-turn, mkdir-based locks to queue concurrent voice updates from multiple sessions, and /tmp sentinel files to manage async playback state and prevent infinite loops.

[1] Pocket-TTS: https://github.com/kyutai-labs/pocket-tts

[2] Claude-code voice plugin: https://pchalasani.github.io/claude-code-tools/plugins-detai...

standarditem|18 days ago

This is great! I already have Claude set up to use the "insufficient vespene gas" line from Starcraft when it needs permissions.

rockbruno|17 days ago

This gave me an idea. You should set it up to say "We must construct additional pylons" if it requires MCP permissions specifically

AceJohnny2|18 days ago

> Claude Code doesn't notify you when it finishes or needs permission. You tab away, lose focus, and waste 15 minutes getting back into flow.

On macOS, in iTerm2, Claude will trigger notifications. I was impressed!

(and also annoyed: I don't like notifications. Then again, I don't have Claude do long things where I can go get a coffee)

thunfischtoast|18 days ago

The thing with notifications is that a lot of apps go so overboard with them that I generally choose to silence them completely. This has totally led to important notifications being unseen for some time, but for the peace it is a price I'm ready to pay. Being able to configure notifications with high granularity is something I still have to discover.

brailsafe|18 days ago

This is amazing. Incidentally, I've always enjoyed Blizzard's UI art style/textures, in-game and on their website. To me it felt like a hallmark of the quality they used to hold their games to, and it was only once in a rare while I'd see some other website put so much work into their art direction

CGamesPlay|17 days ago

If you want this to work over SSH, you'll need a different approach. I wrote an article about getting sounds from iTerm2 over SSH a while back: https://cgamesplay.com/post/2020/11/25/iterm-plugins/#playin...

Then it's just a simple Claude code hook to play whatever sound: https://github.com/CGamesPlay/dotfiles/blob/0fd07aea4863b581...

formerly_proven|17 days ago

Just use OSC 9 or 777 to trigger desktop notifications. Much easier and supported in most major terminal emulators.

XorNot|18 days ago

Hmm, time to voice clone the Protoss advisor from StarCraft: "YOU REQUIRE ADDITIONAL TOKENS"

nunobrito|18 days ago

I'm laughing way too much on this.. :-)

mvkel|15 days ago

Related, I have a personal project that has several modules that run in a sequential pipeline. As each module is activated, an animated portrait avatar of a Starcraft II character appears, so at a glance, I can see which module is running at any one time. If I were hand-coding the app, this little 'feature' never would have existed, because it would have felt like a waste of dev calories. Now it's there because it's fun. Coding with AI will mark the return of whimsy in software.

literallyroy|17 days ago

I don’t see “Jobs done!” in the README :(

rubenflamshep|17 days ago

I wrote a local react app that lets you assign specific unit unit sounds from StarCraft II to different CC hooks: https://github.com/rubenflamshepherd/starcraft-claude

It also lets you manage Claude notifications more gracefully than what you get out of the box with CC. Been lazy about putting the finishing touches on it so this is a good kick in the ass to get that done!

gleipnircode|16 days ago

Love this. Takes me right back to my teenage years. Can someone please make a Dota 2 pack? Invoker alone would be perfect.

Session start: "I am a beacon of knowledge blazing out across a black sea of ignorance"

Task finished: "It falls to me to inform you that this one is in the bag"

When a failure occured: "My memory fails me"

I think i would get addicted to work again like in my past playing dota.

sincerely|16 days ago

Ha, some of the dota voicelines are so long that claude might be able to finish the task before they finish playing

patrick4urcloud|17 days ago

Love this, brings back LAN party vibes! Sound notifications for Claude Code are a real pain point.

I built something in the same space but took a different approach — less fun, more engineering: Vox (https://github.com/rtk-ai/vox) — local TTS in pure Rust, no API key, no cloud dependency.

cadamsdotcom|18 days ago

Ah! I was hoping to see the science vessel, or as we used to call it, the Mr. Burns ship.

Awesome idea and well realised, love this :)

zdw|17 days ago

When something goes wrong it saying "Who let these lab monkeys free?" would be excellent.

dtzur|18 days ago

You sir, deserve a medal

gkhartman|17 days ago

It's can a long time since I've heard those sound clips. Brings back a lot of great memories of playing WCIII as a teen. Didn't have the money at the time to play WoW, so I ended up playing Guild wars instead.

I never tried playing the WCIII reboot after hearing some pretty bad reviews.

IgorPartola|18 days ago

The StarCraft Battle Cruiser Engage sound is cut off which made me sad as it’s one of my favorites.

novaleaf|17 days ago

I'm building an agent wrapper over Claude Code, and use the "Jobs done" peon voice for notification (there are two variants).

For when user attention is needed, I play a few seconds of Rick Astley's "Never Gonna Give You Up". =D

artemonster|18 days ago

Is this singularity event everyone was talking about? Certainly feels like it

a13n|17 days ago

Oh man can't wait till Cursor allows you to customize sound effects.

bacon_fan123|18 days ago

someone filed a PR to add TF2 engineer, good ol' times :')

moffkalast|18 days ago

Now we just need a version for AoE2 villagers and it'll be complete.

ramon156|18 days ago

Would also love Heavy

ENGINEER STOP

wiseowise|18 days ago

Finally someone doing actual good work with LLMs instead of “Claude, shit me out another useless SaaS”.

Just as was foretold: an actual differentiator is creativity, not coding ability.

TeMPOraL|18 days ago

Agreed.

Now I'm still waiting for someone to succeed at a clean-room recreation of Majel Barrett's voice, so we can finally have computers sound like they always should have.

We could've been there a decade ago, but the high-quality audio samples, made officially and specifically with possibility of this use in mind, got trapped somewhere between the estate, producers, and a commercial interest that called dibs, and then procrastinated on the project instead.

GeorgeOldfield|18 days ago

it's fun but PLEASE watch out for malicious code/supply chain attacks from random vibe-coded .sh scripts:

downloads other scripts (peon.sh, uninstall.sh) and executes them or places them where they will be executed later

edits your ~/.bashrc and ~/.zshrc files to add aliases and tab completion

parses a remote JSON file to get filenames ($sfile) and then does: curl ... -o "$INSTALL_DIR/packs/$pack/sounds/$sfile"

Folcon|18 days ago

Creativity is looking like it's going to be king

moomoo11|17 days ago

Horde just continues to be infinitely badass and memorable all these years later.

I haven't played WoW since like 2006-2011 but I will always be Horde for life! Lok'Tar Ogar!

pratikbp|17 days ago

This is so satisfying. A couple weeks ago I found myself reciting these lines (as well as some StarCraft MCV line) to myself. Thank you so much for doing this.

xandrius|18 days ago

Really cool, just one nitpick is that the "What do you want?" is used for 2 completely states (greeting and alert), which is not good UX-wise.

Otherwise totally fun idea!

Fnoord|17 days ago

ICQ and TomTom voice packs deja vu. Although 'oh-oh' was heavily used by public broadcast TV here, in documentaries warning about cybercrime.

sy26|18 days ago

have been wondering what it would take to support linux

nunobrito|18 days ago

Yes, very strange to see a linux-style script that works everywhere except Linux.

bothlabs|18 days ago

Ok very cool!

I already had built a hook with desktop notification and window highlighting myself. But I have to admit, making it fun like this beats it by a lot.

disillusioned|18 days ago

I had wired up my local Claude Code instance to play back a sound on my Windows machine, but for my VPS-with-tmux-and-Clawdbot implementation, getting that to work... well, it just required me asking Claude to write an emitter script on the VPS and a listener script on my Windows box and have them connect over Tailscale and got it working in about 2 minutes. Game changer, honestly.

giancarlostoro|17 days ago

Oh man, can we get Starcraft version, I wanna hear "WE MUST CONSTRUCT ADDITIONAL PYLONS" for every minute I dont tab back in.

slickdifferent|17 days ago

Every time I finish some mundane task I hear the Warcraft II "chores done" play in my head. Glad I'm not alone.

putna|17 days ago

Please do "Commandos" game characters: the Green Beret, the Sapper, the Sniper, the Driver, the Marine and the Spy

29athrowaway|18 days ago

Make it play "I am a medieval man" when it compacts.

You can also play "Your soundcard works perfectly" to test the sound output.

Aeolun|18 days ago

This is the best thing I've ever seen xD

kaasl|18 days ago

I'd love to add some Linux support for this. If anyone else is interested in contributing, happy to coordinate.

jajuuka|17 days ago

Time to fork the project and make one for Warcraft 2. "We're ready master. (I'm not ready!)"

yowlingcat|17 days ago

Does this support when you click on a peon a bunch of times and it says "Me not that kind of Orc!"

olivierestsage|17 days ago

I missed out on Warcraft III the first time around. What's the best way to play the original game today?

ramesh31|17 days ago

>I missed out on Warcraft III the first time around. What's the best way to play the original game today?

The HD remaster is the only official means on Battle.net, but it sucks. I'd recommend just torrenting the original and running in a VM. Plenty of active private servers still out there.

Fnoord|17 days ago

Well, I can report I played Warcraft III and a plethora of other games with Wine back in the days. So I am sure (given how Wine has improved) you still can play it with Wine. No Windows required.

maxfurman|17 days ago

First time I've been jealous of Claude as a Codex user. When does it say "Stop poking me!"?

r00ps|18 days ago

This is exactly what I was missing!

I've made a PR to make it linux compatible if that is usefull to someone else :)

0xbadcafebee|17 days ago

I'm pretty sure I can imitate the goblin voice exactly, if anyone wants custom sound clips

bjackman|18 days ago

ISTR there's a "more gold is needed" voice sprite, ideal for out-of-tokens scenarios

KeplerBoy|18 days ago

I need to check if I can voice clone warcraft peons with some tts-model. I need this everywhere.

burner420042|18 days ago

Is WoW still around? Did it fall off? All of a sudden people just stopped talking about it.

adamtaylor_13|17 days ago

I just added Helldivers 2 voice lines to mine. SWEET LIBERTY MY LEEEEEEHG.

Fervicus|17 days ago

Warcraft 3 was so good. Sucks that there never was any worthy successor.

codelikeawolf|17 days ago

Bring in Starcraft sounds next please. I want to hear "YOU MUST CONSTRUCT ADDITIONAL PYLONS" when I hit my token limit.

dr_dshiv|18 days ago

I use this analogy for Claude Code all the time! Amazing.

sidravi1|17 days ago

Is there an easy port of this for OpenCode?

whalesalad|17 days ago

I can already hear it now… “ready to work!”

tomekowal|17 days ago

Attention! Lawsuit from Blizzard imminent.

boring-human|18 days ago

Love this. I guess there was no application for "Me not that kind of Orc"? That's the best one, but maybe it has hints of homophobia.

alentodorov|18 days ago

just this week i asked claude to use /say command instead of echo-ing it’s messages • magic!

datapond|17 days ago

OMG, you are my hero of the day !

andrew_mason1|17 days ago

my only request is that when it spawns a subagent we get "nother troll here"

Temanyl|17 days ago

I love this so much <3

psyclobe|17 days ago

What no Linux support?

witx|17 days ago

All I see here is a bunch of people cheering for, allegedly, stolen content

nzxt210|17 days ago

Actually good staff

canto|18 days ago

Good day commander!

jbetala7|17 days ago

This is the kind of thing that makes developer tools fun again.

rexpop|17 days ago

"Make X Y again" is a fascist dogwhistle.

throwa356262|18 days ago

This is cool and all, but I just dont understand why we cannot simply manage Claude Code sessions from the Claude phone.

Yes, I know about running CC on android phones or connecting the bot to your github account. But what I really need is to manage CC sessions I started on some random VM from the app.

tjoff|18 days ago

I use tmux, whatever implementation the app might have I'd likely prefer just sshing in anyway

aswegs8|18 days ago

Hahaha awesome!

cranx|17 days ago

"Job’s done!"

Xuzzo|17 days ago

Genius

x-n2o|17 days ago

Love this!

dankle|17 days ago

tars voice when??

keyle|18 days ago

The irony is that soon enough the human will be the peon! /s

roysting|18 days ago

Arguably that’s long been the case. The genius was in manipulating the peons into striving to be an alpha peon.

usefulposter|18 days ago

Indeed!

Claude will ask me to record my voice and make a sound pack out of it.

I look forward to recording such phrases as "More quota please" and "I apologize for the safety violation in my last input".