Never miss a failed terminal command again. This VS Code extension plays the iconic "UGH!" meme sound every time a command fails in your integrated terminal.
🎬 How It Works
You type a command → It fails → 💥 UGH! → 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, you hear the unforgettable UGH.
✨ 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) UGH button in the bottom-right corner.
| State | Status Bar | Action |
|---|---|---|
| 🔊 Active | $(unmute) UGH |
Click to mute |
| 🔇 Muted | $(mute) UGH |
Click to unmute |
Your mute preference is persisted across VS Code sessions.
🔊 Custom Sound Support
Not a fan of the UGH? 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 UGH meme sound.
🍎🐧🪟 Works on All Platforms
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 - UGH"
- Click Install
- That's it! Open a terminal and run a failing command to hear the magic.
Manual Installation (VSIX)
- Download the
.vsixfile from the Releases page - Open VS Code →
Ctrl+Shift+P→ "Extensions: Install from VSIX..." - Select the downloaded
.vsixfile
⚙️ 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 the glorious UGH. 🎵
📋 Requirements
- VS Code
1.85.0or 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) oraplay(ALSA) — install withsudo apt install pulseaudio-utilsorsudo apt install alsa-utils
🛠 Troubleshooting
No sound is playing?
- Check mute state — Look at the status bar. Is it showing
$(mute) UGH? Click it to unmute. - Check settings — Make sure
errorSound.enabledistrue. - Check shell integration — Run
echo $TERM_PROGRAMin your terminal. If shell integration isn't working, VS Code can't detect exit codes. - Linux users — Ensure
paplayoraplayis 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:
- ⭐ Star it on GitHub
- 📝 Rate & Review on the VS Code Marketplace
"Your code failed. UGH."