Kattakada Error Sound
Plays a sound when a new diagnostic error appears in your code (VS Code / Cursor). One sound at a time; if a new error appears while playing, the previous sound stops and only the latest error’s sound plays.
How it works
- Activates when VS Code/Cursor has finished starting (
onStartupFinished).
- Listens to diagnostics (errors/warnings from language servers: TypeScript, JavaScript, Python, ESLint, etc.).
- Plays sound only when the error count increases (a new error appeared), not when you fix errors.
- One sound at a time: if another error appears while the sound is playing, the current sound stops and a single new sound plays for the latest error.
So: new error → sound. No new error (or you just fixed one) → no sound.
Setup (after installing the extension)
- Install the extension from the Marketplace or Open VSX (Cursor).
- Enable (default is on):
- Open Settings (
Ctrl+, / Cmd+,).
- Search for Error Sound.
- Ensure Error Sound: Enabled is checked.
- Use a project that has diagnostics:
- Open a folder with code (e.g. JavaScript/TypeScript, Python).
- Create or open a file and introduce an error (e.g. syntax error) and save.
- When the language server reports the error, the sound should play.
No extra setup is required on macOS. On Linux you need paplay (PulseAudio). Windows currently only uses a system beep (see below).
| Platform |
How sound is played |
Notes |
| macOS |
afplay (built-in) |
Works out of the box. Uses your custom sound from media/ or the system “Ping” if no file is found. |
| Linux |
paplay (PulseAudio) |
Needs PulseAudio and paplay installed. Install pulseaudio-utils (or equivalent) if you don’t hear sound. |
| Windows |
PowerShell + .NET MediaPlayer |
Plays the same MP3/WAV from media/ as on other platforms. Requires PowerShell (built into Windows). If no file is found, falls back to the system beep. |
Troubleshooting: “No sound when I install”
1. Check extension and setting
- Extensions view: search for Kattakada Error Sound and ensure it’s enabled.
- Settings → search Error Sound → Error Sound: Enabled must be on.
2. You must have a new error (diagnostics)
The sound plays only when the number of errors goes up (e.g. 0→1 or 1→2), not when the project already has errors on load (we avoid spamming on open).
- Open a code file (e.g.
.js, .ts, .py) in a folder (not a single file without a language server).
- Introduce a clear error (e.g. remove a closing
} or add a syntax error) and save.
- Wait a moment for the language server to report the error (red underlines). The sound should play when that new error appears.
If the project has no language server or no diagnostics (e.g. plain text file), no sound will play.
- macOS
- System volume is not muted; try playing any other sound.
- If you want to test with the built-in sound: remove or rename any file in the extension’s
media/ folder; the extension will fall back to the system “Ping” sound.
- Linux
- Run in a terminal:
paplay --version or which paplay. If not found, install PulseAudio utils (e.g. sudo apt install pulseaudio-utils on Debian/Ubuntu).
- Windows
- Ensure the extension’s
media folder contains a sound file (the installed extension includes one). Sound is played via PowerShell and .NET MediaPlayer. If you get no sound, check system volume and try Error Sound: Debug to see console messages.
4. Optional: enable debug logging
- Settings → search Error Sound → enable Error Sound: Debug.
- Open Developer Tools (Help → Toggle Developer Tools) and check the Console for lines like
[Error Sound] Playing: ....
If you see that line when you create an error, the extension is triggering; the issue is then likely volume, platform, or audio device.
Settings
| Setting |
Default |
Description |
| Error Sound: Enabled |
true |
Turn the extension on or off. |
| Error Sound: Play On Warning |
false |
If true, also play when the number of warnings increases. |
| Error Sound: Debounce Ms |
500 |
Minimum time (ms) between starting a new sound (unless a sound is already playing or pending, in which case we replace it). |
| Error Sound: Sound File |
(empty) |
Filename in the extension’s media/ folder (e.g. my-sound.mp3). Empty = auto-detect. |
| Error Sound: Debug |
false |
Log playback in the Developer Console. |
Custom sound (macOS / Linux)
The extension looks for a sound file in its media folder:
- Preferred names: kattakada.mp3 or ffaa.mp3, or set Error Sound: Sound File to your filename.
- Supported formats: .mp3 or .wav.
- If no file is found on macOS, the system “Ping” sound is used.
To use your own file when developing:
- In the extension folder, go to
media/.
- Add a file named e.g. kattakada.mp3 (or the name you set in Error Sound: Sound File).
- Reload the window or restart VS Code/Cursor.
When installed from the Marketplace/Open VSX, the extension already includes a default sound in media/; you don’t need to add a file unless you want to override it.
Summary: “Works for me, not for others”
- How it works: Listens to diagnostics; plays sound only when the error count increases; one sound at a time, latest error wins.
- Setup: Install → keep Error Sound: Enabled on → use a project with a language server and introduce a new error + save.
- Why others might not hear sound:
- Windows: Uses PowerShell + MediaPlayer; ensure a sound file exists in the extension’s
media/ folder (it’s included when installed from the marketplace). Check volume and debug log.
- Linux: Need PulseAudio and
paplay.
- Any OS: No diagnostics (wrong file type, no language server, or no new error), or extension/setting disabled, or volume muted.
Share this README with anyone who installs the extension so they can check platform, settings, and the “new error + save” requirement.
| |