AI Agent Notifier
Get a desktop notification with sound when your AI coding agent is waiting on you —
a permission prompt, a question, or a finished turn.
By default it stays quiet when you're already looking at the window — or set it to
always notify.
You kick off a long task, switch to your browser, and the agent hits a permission prompt
ten seconds later. You find out ten minutes later.
This extension makes sure you don't.
What you get
- A toast that tells you what's being asked —
Approve Bash: git push --force, or the
actual text of the question — so you can decide whether it's worth switching windows.
- A sound, played separately from the toast so it still fires if the toast is blocked.
- A flashing taskbar button (Windows) that keeps pulsing until you switch back.
- Silence when you don't need it. Out of the box, nothing fires while the VS Code
window for that project already has focus. Prefer a notification every time? Switch
When to notify to Always.
Supported agents
| Agent |
Config it writes to |
| Claude Code |
~/.claude/settings.json |
| Codex |
~/.codex/hooks.json |
Both notify when the agent needs approval or asks a question, and when it finishes its
turn.
Codex pauses for a moment while the notification is raised — its hook system has no
non-blocking mode yet. Claude Code doesn't pause.
Getting started
Requires VS Code 1.85 or newer.
Install from the Marketplace, or from a .vsix file:
code --install-extension ai-agent-notifier-0.4.0.vsix
Then:
- The extension detects the agents you have and offers to connect them. Say yes.
- Run AI Notifier: Send Test Notification to confirm you get a toast and a sound.
If you skipped the prompt, run AI Notifier: Open Settings and press Connect next to
your agent.
Commands
All from the Command Palette (Ctrl+Shift+P):
| Command |
What it does |
| AI Notifier: Open Settings |
The settings panel — agents, behaviour, sound, activity log |
| AI Notifier: Send Test Notification |
Fires a notification right now, ignoring all the quiet rules |
| AI Notifier: Install Hooks |
Connects every detected agent |
| AI Notifier: Remove Hooks |
Disconnects every agent and cleans up their config files |
| AI Notifier: Show Status |
Full diagnostics as text, for bug reports |
Settings
All in AI Notifier: Open Settings, or the normal VS Code settings UI under
AI Agent Notifier if you prefer.
| Setting |
Default |
What it does |
aiAgentNotifier.enabled |
on |
Master switch. Stays connected, just goes silent |
aiAgentNotifier.notifyWhen |
whenUnfocused |
Or always to notify even when you're looking at the window |
aiAgentNotifier.claudeCode.enabled |
on |
Claude Code on/off |
aiAgentNotifier.claudeCode.events.permissionRequest |
on |
Approvals and questions |
aiAgentNotifier.claudeCode.events.stop |
on |
Turn finished |
aiAgentNotifier.codex.enabled |
on |
Codex on/off |
aiAgentNotifier.codex.events.permissionRequest |
on |
Approvals |
aiAgentNotifier.codex.events.stop |
on |
Turn finished |
aiAgentNotifier.sound.enabled |
on |
Play a sound |
aiAgentNotifier.sound.customPath |
empty |
Your own sound file. .wav on Windows, .aiff/.wav on macOS, .wav/.ogg on Linux |
aiAgentNotifier.flashTaskbar |
on |
Flash the taskbar button. Windows only |
aiAgentNotifier.persistentToast |
off |
Keep the toast up until dismissed |
aiAgentNotifier.hookScope |
user |
Or workspace to only affect the current folder |
aiAgentNotifier.autoInstallHooks |
on |
Offer to connect detected agents on first run, and repair the connection after an update. Turn off to manage it yourself |
Turn-finished is the noisy one. That event also fires on /clear, resume and compact.
If it gets annoying, switch it off and keep just the approval prompts.
If it isn't working
Open AI Notifier: Open Settings and look at Activity at the bottom. Every time an
agent triggers the extension it writes a line there.
| What you see |
What it means |
| Nothing at all |
The agent never triggered it. Press Connect on that agent. |
SILENT — window-focused |
Working correctly: you were looking at that window. Set When to notify to Always if you want it regardless. |
NOTIFY but no toast |
It fired and the OS hid it. Check Focus Assist / Do Not Disturb. |
Two more things:
- After the extension updates, reload the VS Code window. Until you do, the old
version is still running.
- Disconnect your agents before uninstalling. Uninstalling doesn't clean up the agent
config files, and notifications stop with no error.
|
Toast |
Sound |
Taskbar flash |
| Windows |
yes |
yes |
yes |
| macOS |
yes |
yes |
— |
| Linux |
yes |
yes |
— |
macOS and Linux are untested. They use the standard system notification tools
(osascript, notify-send) and should work, but have not been run on a real machine. On
macOS, notifications show as coming from "Script Editor" unless you install
terminal-notifier.
Known limitations
- Focus Assist / Do Not Disturb hides the toast. The sound and taskbar flash still fire.
On Windows you can add Windows PowerShell to the notification priority list to exempt it.
- Windows toasts are attributed to "Windows PowerShell" rather than to this extension.
- A burst of approvals is a burst of notifications. Leaving When to notify on
Only when unfocused is what keeps that manageable.
- Connecting an agent rewrites its config file as plain JSON, so comments in that file are
lost. Everything else in it is preserved.
Privacy
Everything runs locally. The extension makes no network requests and uploads nothing. The
activity log lives at ~/.ai-agent-notifier/shim.log on your machine and keeps the last
200 entries.
Licence
Free to use, personal or commercial. Not open source — see LICENSE.txt, included with the
extension.