hermes-official-plugins
☤ The official plugins for Hermes Agent, built and maintained by Nous Research: Home Assistant, Spotify, Claude Subscription DirectSDK and more, one install away from the Hermes plugin catalog.
Get browser notifications when Claude Code needs input, permission, or feedback
Translation pending
PluginsGitHub @MaximilianMauronerOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Get browser notifications when Claude Code (CLI) needs your input, permission approval, or has finished a task.
Run this one-liner to automatically set up everything:
curl -fsSL https://raw.githubusercontent.com/MaximilianMauroner/claude-code-notify/main/install.sh | bash
What this does:
~/.claude/claude-code-notify~/.claude/settings.json. Re-running replaces this installer's hooks and leaves every other hook in place.Requirements: git, node, npm
Install the extension from your browser's store:
Install from the Chrome Web Store (search for "Claude Code Notify")
Install from Firefox Add-ons (search for "Claude Code Notify")
To remove the extension completely:
~/.claude/claude-code-notify/uninstall.sh
This removes the hooks from settings, stops the server, and deletes the installation directory. You'll need to manually remove the browser extension.
If you prefer to set things up manually or want to understand what the install script does:
git clone https://github.com/MaximilianMauroner/claude-code-notify.git ~/.claude/claude-code-notify
cd ~/.claude/claude-code-notify/server
npm install
npm run build
chmod +x ~/.claude/claude-code-notify/hooks/notify.sh
chmod +x ~/.claude/claude-code-notify/hooks/ensure-server.sh
node -p 'process.execPath' > ~/.claude/claude-code-notify/hooks/node-path
The hook runs that recorded binary. Claude Code does not put node on the hook PATH.
Add the following to your ~/.claude/settings.json (create it if it doesn't exist). The installer writes the same fields with the script path quoted absolutely.
PermissionRequest fires when Claude asks to use a tool. matcher "" matches every tool. The hook is async, so it does not block the prompt, and it prints no decision, so it never allows or denies. onFailure is continue, so a failed hook does not deny the request. timeout is seconds. Claude Code does not enforce it while async is true.
Notification uses the same empty matcher, which matches every notification type, including types added later. Stop has no matcher: that event does not support one.
{
"hooks": {
"PermissionRequest": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "\"$HOME/.claude/claude-code-notify/hooks/notify.sh\"",
"timeout": 15,
"async": true,
"onFailure": "continue"
}
]
}
],
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "\"$HOME/.claude/claude-code-notify/hooks/notify.sh\"",
"timeout": 15,
"async": true,
"onFailure": "continue"
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "\"$HOME/.claude/claude-code-notify/hooks/notify.sh\"",
"timeout": 15,
"async": true,
"onFailure": "continue"
}
]
}
]
}
}
Install from the Chrome Web Store or Firefox Add-ons (search for "Claude Code Notify").
┌─────────────────┐ HTTP POST ┌─────────────────┐ WebSocket ┌─────────────────┐
│ Claude Code │ ─────────────────► │ Local Server │ ◄───────────────► │ Browser Extension│
│ (with hooks) │ │ (Node.js) │ │ (Chrome/Firefox)│
└─────────────────┘ └─────────────────┘ └─────────────────┘
Permission alerts come from PermissionRequest, which runs when Claude asks to use a tool. The credit for that alert is stored only after the notification server accepts it. Each delivered PermissionRequest then consumes one following permission_prompt for the same session within 15 seconds. Unused credits expire after 15 seconds and are cleared when Stop ends the turn. A permission_prompt with no remaining credit, including a sandboxed command's network request, is still delivered.
Every other Notification type is delivered. A type this version does not know about still shows a generic "Claude Code" notification. When Claude includes a message, that text is shown instead of the default.
This is the beginning of the README. Read the rest at the original. Read the full README ↗