Notifail
Know the moment your tests break — without staring at the terminal.
Notifail watches your test runs and fires an audio alert, flashes the status bar red, and sends a desktop notification the instant something fails. When everything passes, you get a satisfying confirmation of that too.
🔔 Notifail — Test Notifications for VS Code
Notifail plays short, generated sounds when your tests fail (and optionally when they pass). Lightweight, no bundled audio, and works with most test runners.
Why use Notifail?
- Hear failures instantly while focusing on code.
- No dependencies — WAVs are generated on demand and played with your OS audio tools.
- Multiple detection layers: terminal commands, tasks, test result files, and Test Explorer.
Features
- Plays a distinct fail sound when tests fail
- Optionally plays a pass sound when all tests pass
- Status bar indicator showing test state
- Desktop notifications (optional)
- Works with Jest, Mocha, pytest, cargo test, go test, and more
Install
Install Notifail from the Visual Studio Code Marketplace or search for "Notifail" in the Extensions view.
If you prefer to install from a VSIX, use:
code --install-extension notifail-1.0.0.vsix
Settings
Search Settings for notifail.
Important keys:
notifail.enabled (boolean) — Enable/disable sounds (default: true)
notifail.playOnPass (boolean) — Play sound on pass (default: true)
notifail.failSoundPath (string) — Custom fail sound file path (optional)
notifail.passSoundPath (string) — Custom pass sound file path (optional)
notifail.desktopNotifications (boolean) — OS-level notifications (default: true)
Commands
Open the Command Palette and run:
Notifail: Play Fail Sound — Play the fail sound immediately
Notifail: Play Pass Sound — Play the pass sound immediately
Notifail: Open Settings — Open Notifail settings
How it Works (brief)
Notifail generates small WAV files in Node.js and plays them using afplay (macOS), PowerShell SoundPlayer (Windows), or aplay/paplay/pw-play on Linux.
It detects test failures by watching terminal command exits, VS Code Tasks, test result files (JUnit, pytest caches), and Test Explorer runs.
Contributing
Open an issue or PR. Keep changes focused and include tests where appropriate.
License
MIT