A VS Code extension that plays meme sounds (like "faah" or "ah shit, here we go again") whenever a terminal command fails. Because errors should at least be funny.
- 🎵 Plays a random meme sound on terminal command failure (non-zero exit code)
- 📋 Smart error detection — scans terminal output for error patterns as a fallback
- 🛠️ Detects task failures (e.g.
npm test,npm run build) automatically - 🎲 Random sound selection — picks a random clip each time
- ⏱️ Debounce / cooldown — prevents sound spam on rapid failures
- 🔇 Enable/disable toggle — turn it off without uninstalling
- 🖥️ Cross-platform — works on Windows, macOS, and Linux
- 🧪 Test command — try it anytime from the Command Palette
- 📊 Diagnostic logs — check the "Terminal Meme Sounds Log" output channel for troubleshooting
The extension uses 4 detection methods to catch errors:
- Shell exit code detection — via VS Code's shell integration API (
onDidEndTerminalShellExecution) — triggers on non-zero exit codes - Terminal output pattern matching — via
onDidStartTerminalShellExecution+execution.read()— scans output for error keywords likeerror:,command not found,Traceback,SyntaxError, etc. - Task process failures — via
onDidEndTaskProcess— catches build task and test runner failures - Terminal close detection — via
onDidCloseTerminal— catches non-zero exit when terminal is closed
When a failure is detected, it plays a random .mp3 from media/sounds/ using native OS audio (no webview needed).
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X) - Search for "Terminal Meme Error Sounds"
- Click Install
- Download the
.vsixfile from Releases - Open VS Code → Extensions →
...menu → Install from VSIX...
Open the Command Palette (Ctrl+Shift+P) and run:
Terminal Meme Sounds: Test Random Sound
- Drop
.mp3files into themedia/sounds/folder - Add the filename to the
soundFilesarray insrc/extension.ts - Recompile with
npm run compile
fahh.mp3ah-shit-here-we-go-again.mp3
| Setting | Type | Default | Description |
|---|---|---|---|
terminalMemeSounds.enabled |
boolean |
true |
Enable/disable meme sounds |
terminalMemeSounds.debounceMs |
number |
2500 |
Cooldown between sounds (ms) to prevent spam |
If sounds aren't playing, check the diagnostic log:
- Open the Output panel (
Ctrl+Shift+U) - Select "Terminal Meme Sounds Log" from the dropdown
- Look for error messages or missing sound files
- VS Code
1.93.0or later - Windows: PowerShell (pre-installed)
- macOS:
afplay(pre-installed) - Linux:
mpv,ffplay, oraplay
- Added terminal output error pattern matching (fallback detection)
- Added terminal close detection for non-zero exits
- Improved audio playback reliability on Windows (MediaPlayer + WMPlayer fallback)
- Added diagnostic logging via output channel
- Fixed exit code undefined handling
- Initial release
- Plays random meme sounds on terminal errors and task failures
- Configurable debounce and enable/disable settings
- Cross-platform audio playback (Windows, macOS, Linux)
Enjoy your errors! 🎵😂