🔊 Error Sound — Noooo by Darth Vader
Never miss a failed terminal command again. This VS Code extension plays Darth Vader's iconic "NOOOO!" every time a command fails in your integrated terminal.

🎬 How It Works
You type a command → It fails → 💥 NOOOO! → You fix it faster
The extension hooks into VS Code's Terminal Shell Integration API. Whenever a command exits with a non-zero exit code, Darth Vader lets you know.
✨ Features
⏱ Smart Cooldown (Debounce)
A configurable cooldown (default: 2 seconds) prevents sound spam. If multiple errors fire at once — from chained commands, build scripts, or watch tasks — you only hear one sound.
💡 Adjust the cooldown from 0ms to 30,000ms in settings.
🔕 One-Click Toggle
A status bar icon lets you mute or unmute instantly — no need to dig through settings. Click the $(unmute) Noooo button in the bottom-right corner.
| State |
Status Bar |
Action |
| 🔊 Active |
$(unmute) Noooo |
Click to mute |
| 🔇 Muted |
$(mute) Noooo |
Click to unmute |
Your mute preference is persisted across VS Code sessions.
🔊 Custom Sound Support
Don't like Darth Vader? (Why though?) Point the extension to any .wav file on your machine:
{
"errorSound.customSoundPath": "C:\\sounds\\my-custom-error.wav"
}
Leave it empty to use the built-in Darth Vader "NOOOO!" sound.
No native dependencies. No npm audio packages. Just your OS's built-in audio player:
| Platform |
Audio Player |
Notes |
| 🪟 Windows |
PowerShell Media.SoundPlayer |
Built-in, zero setup |
| 🍎 macOS |
afplay |
Built-in on all Macs |
| 🐧 Linux |
paplay → aplay |
Tries PulseAudio first, falls back to ALSA |
📦 Installation
From the VS Code Marketplace
- Open VS Code
- Go to the Extensions tab (
Ctrl+Shift+X)
- Search for "Error Sound - Noooo by Darth Vader"
- Click Install
- That's it! Open a terminal and run a failing command to hear the magic.
Manual Installation (VSIX)
- Download the
.vsix file from the Releases page
- Open VS Code →
Ctrl+Shift+P → "Extensions: Install from VSIX..."
- Select the downloaded
.vsix file
⚙️ Configuration
Open Settings (Ctrl+,) and search for Error Sound or edit your settings.json:
| Setting |
Type |
Default |
Description |
errorSound.enabled |
boolean |
true |
Enable or disable the error sound globally |
errorSound.customSoundPath |
string |
"" |
Absolute path to a custom .wav file |
errorSound.cooldownMs |
number |
2000 |
Cooldown between sounds in milliseconds (0–30000) |
Example settings.json
{
"errorSound.enabled": true,
"errorSound.customSoundPath": "",
"errorSound.cooldownMs": 2000
}
🧪 Quick Test
Open the VS Code integrated terminal and run:
Windows (PowerShell):
exit 1
macOS / Linux:
false
You should hear Darth Vader's disapproval. 🎵
📋 Requirements
- VS Code
1.85.0 or later
- Terminal Shell Integration must be enabled (it's on by default in modern VS Code)
- Audio player (automatically detected):
- Windows: PowerShell (pre-installed)
- macOS:
afplay (pre-installed)
- Linux:
paplay (PulseAudio) or aplay (ALSA) — install with sudo apt install pulseaudio-utils or sudo apt install alsa-utils
🛠 Troubleshooting
No sound is playing?
- Check mute state — Look at the status bar. Is it showing
$(mute) Noooo? Click it to unmute.
- Check settings — Make sure
errorSound.enabled is true.
- Check shell integration — Run
echo $TERM_PROGRAM in your terminal. If shell integration isn't working, VS Code can't detect exit codes.
- Linux users — Ensure
paplay or aplay is installed: which paplay || which aplay
- Custom sound not working? — Verify the path exists and the file is a valid
.wav.
Sound plays too often?
Increase the cooldown:
{
"errorSound.cooldownMs": 5000
}
🤝 Contributing
Contributions, issues, and feature requests are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
📂 Source Code
🐛 Report a Bug
💡 Request a Feature
👨💻 Developer
Harin Dulneth
Full-Stack Developer
|
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
⭐ Support
If this extension saved you from a missed error:
"I find your lack of error handling… disturbing."