Skip to content

konyu/hermes-macos-notify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macos-notify

macOS Notification Center alerts when Hermes Agent finishes a response and waits for your input. Clicking the notification brings the terminal window back to the foreground.

before after
Hermes finishes in background tab macOS notification pops up
You miss the response Click → terminal activates
Must manually ⌘Tab back Instant focus

https://github.com/user-attachments/assets/placeholder

Requirements

  • macOS
  • terminal-notifierbrew install terminal-notifier
  • Hermes Agent running in CLI mode (Ghostty, Terminal.app, iTerm2, Warp, kitty, Alacritty, WezTerm, Hyper, Tabby)

Install

From GitHub (recommended)

hermes plugins install kon-yu/hermes-macos-notify
hermes plugins enable macos-notify

Then restart Hermes (/reset is not enough — fully quit and relaunch).

Manual

git clone https://github.com/kon-yu/hermes-macos-notify.git
cp -r hermes-macos-notify ~/.hermes/plugins/macos-notify/
hermes plugins enable macos-notify

How it works

The plugin registers a post_llm_call hook — this fires once per turn after Hermes finishes its tool-calling loop and produces a final text response.

Hook Fires when
post_llm_call Response complete, waiting for user input

The hook:

  1. Checks platform == "cli" (skips gateway sessions — no point notifying a Telegram user's desktop)
  2. Walks the process tree to detect the terminal emulator (Ghostty, iTerm2, …)
  3. Calls terminal-notifier with -execute "open -a <AppName>" so a click activates the terminal

Only fires in CLI mode. Gateway (Telegram, Discord, Slack, …) sessions are unaffected.

Terminal detection

The plugin walks the parent process chain using ps -o ucomm= to find a matching terminal emulator. Supported terminals:

Terminal Process name
Ghostty ghostty
Terminal.app terminal
iTerm2 iterm2
Warp warp
kitty kitty
Alacritty alacritty
WezTerm wezterm
Hyper hyper
Tabby tabby

Unknown terminals still receive notifications, but clicking won't activate the window. PRs welcome to add support for other terminals.

Configuration

No configuration needed. To change the notification sound, edit the -sound argument in __init__.py (default: "default").

Uninstall

hermes plugins disable macos-notify
hermes plugins remove macos-notify

License

MIT

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages