Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Faaaah You FailedNew to Visual Studio Code?Β Get it now.
Faaaah You Failed

Faaaah You Failed

Raafeh Sajjad

|
5 installs
| (0) | Free
Plays a hilarious fail sound every time your code crashes in the terminal. Get roasted by your own IDE! πŸŽΊπŸ’€
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🎺 Faaaah You Failed

A fun VS Code / Cursor extension that plays a sad trombone sound every time your code crashes in the terminal!

Features

  • Automatic fail detection β€” listens for non-zero exit codes in your terminal
  • Multiple built-in sounds β€” Sad Trombone 🎺 or the iconic Faaaah! 😩
  • Funny roast messages β€” random roasts every time you fail
  • Status bar toggle β€” quickly turn it on/off from the bottom bar
  • Custom sound support β€” use your own .wav or .mp3 file
  • Settings panel β€” a polished WebView UI to configure everything

Commands

Command Description
Faaaah: Toggle Fail Sound On/Off Enable or disable the fail sound
Faaaah: Test Fail Sound 🎺 Test the sound right now
Faaaah: Browse Custom Sound File 🎵 Pick a custom .wav or .mp3 file
Faaaah: Open Settings βš™οΈ Open the settings panel

Settings

Setting Default Description
faaaahYouFailed.enabled true Master on/off switch
faaaahYouFailed.showMessage true Show funny roast messages
faaaahYouFailed.selectedSound "sad-trombone" Which sound to play (sad-trombone, faaaah, or custom)
faaaahYouFailed.customSoundPath "" Path to a custom .wav or .mp3 file

How It Works

The extension uses VS Code's Shell Integration API to detect when a terminal command exits with a non-zero exit code. When a failure is detected, it plays the selected fail sound and shows a random funny message.

Note: Shell Integration must be enabled in your terminal for the extension to detect failures (it's on by default in recent VS Code / Cursor versions).


Development & Maintenance

Project Structure

faaaah-you-failed/
β”œβ”€β”€ src/                     ← Source code (edit these)
β”‚   β”œβ”€β”€ extension.ts         ← Main logic (terminal listener, commands)
β”‚   β”œβ”€β”€ audio-player.ts      ← Cross-platform sound playback
β”‚   β”œβ”€β”€ sound-generator.ts   ← Generates the trombone WAV
β”‚   └── settings-panel.ts    ← WebView settings UI
β”œβ”€β”€ sounds/
β”‚   └── fahh.mp3             ← Bundled "faaaah" sound
β”œβ”€β”€ images/
β”‚   └── icon.png             ← Extension icon
β”œβ”€β”€ dist/                    ← Built output (auto-generated, don't edit)
β”œβ”€β”€ package.json             ← Extension manifest (commands, settings, metadata)
└── .vscodeignore            ← What NOT to include in the published VSIX

Useful Commands

Task Command
Build locally npm run compile
Watch mode (auto-rebuild) npm run watch
Package as VSIX npx @vscode/vsce package --allow-missing-repository
Install VSIX locally cursor --install-extension <file>.vsix --force
Publish update npx @vscode/vsce publish patch
Check for lint errors npm run lint

How to Push Updates

  1. Make your code changes in the src/ folder

  2. Bump the version in package.json:

    • 0.0.1 β†’ 0.0.2 β€” patch (bug fixes)
    • 0.0.1 β†’ 0.1.0 β€” minor (new features)
    • 0.0.1 β†’ 1.0.0 β€” major (breaking changes)
  3. Update CHANGELOG.md with what changed

  4. Publish the update to the marketplace:

    npx @vscode/vsce publish
    

    Or bump + publish in one command:

    npx @vscode/vsce publish patch   # auto-bumps 0.0.1 β†’ 0.0.2
    npx @vscode/vsce publish minor   # auto-bumps 0.0.2 β†’ 0.1.0
    
  5. Commit & push to GitHub:

    git add .
    git commit -m "v0.0.2 - description of changes"
    git push
    
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
Β© 2026 Microsoft