Overview Version History Q & A Rating & Review
Faah Sound — VS Code Extension
Whenever your code fails — Faah!
A fun VS Code extension that plays a custom sound effect every time something goes wrong: new errors in your code, a failed terminal task, or a crashed debug session. Never miss a failure again.
Searchable as: Faah Sound, Code Fail Sound, Error Sound
Features
Diagnostics errors — plays when new red squiggly errors appear (not on decreases)
Terminal failures — plays when a terminal or task exits with a non-zero code
Debug crashes — plays when a debug session ends with a non-zero exit code
Cooldown — configurable anti-spam interval (default 1500 ms)
Cross-platform — works on Windows, macOS, and Linux
Zero dependencies — no external npm packages required
Folder Structure
├── .vscode/
│ ├── launch.json
│ └── tasks.json
├── media/
│ └── SFX.mp3 ← your sound file
├── src/
│ └── extension.ts
├── .vscodeignore
├── package.json
├── tsconfig.json
└── README.md
Quick Start
Add your sound file — place an .mp3 / .wav / .ogg into the media/ folder. The default expects SFX.mp3.
Install dependencies:
npm install
Compile:
npm run compile
Development — Run with F5
Open this folder in VS Code.
Press F5 (or Run → Start Debugging ).
A new Extension Development Host window opens with the extension loaded.
Trigger an error in a file, run a failing terminal command, or use the Command Palette → Faah Sound: Test Sound .
Configuration
Open Settings and search for faahSound:
Setting
Type
Default
Description
faahSound.enabled
boolean
true
Master on/off switch
faahSound.playOnDiagnosticsError
boolean
true
Play on new editor errors (red squigglies)
faahSound.playOnTaskFailure
boolean
true
Play on terminal exit with non-zero code
faahSound.playOnDebugFailure
boolean
true
Play on debug session failure
faahSound.soundFile
string
SFX.mp3
Filename inside media/
faahSound.cooldownMs
number
1500
Minimum ms between plays
Commands
Command
Description
Faah Sound: Test Sound
Manually trigger the sound
Faah Sound: Reset Error Count
Reset the tracked error count to 0
Package with vsce
# Install vsce globally (once)
npm install -g @vscode/vsce
# Package into a .vsix
vsce package
# Install the .vsix locally
code --install-extension faah-sound-1.0.0.vsix
How It Works
Trigger
API Used
New diagnostics errors
vscode.languages.onDidChangeDiagnostics — fires only when error count increases
Terminal failure
vscode.window.onDidCloseTerminal — checks exitStatus.code !== 0
Debug failure
vscode.debug.onDidTerminateDebugSession + DebugAdapterTrackerFactory — captures DAP exited event exit code
Audio is played via a temporary WebviewPanel that autoplays the sound and self-disposes when playback ends.
Faah! 🔊