Skip to content

feat: bell_on_complete — terminal bell when agent finishes#738

Merged
teknium1 merged 1 commit intomainfrom
feat/bell-on-complete
Mar 9, 2026
Merged

feat: bell_on_complete — terminal bell when agent finishes#738
teknium1 merged 1 commit intomainfrom
feat/bell-on-complete

Conversation

@teknium1
Copy link
Copy Markdown
Contributor

@teknium1 teknium1 commented Mar 9, 2026

Summary

Plays the terminal bell (\a) when the agent finishes a response. Useful for long-running tasks — switch to another window and your terminal dings when done.

Default: off. Enable with:

# ~/.hermes/config.yaml
display:
  bell_on_complete: true

Or: hermes config set display.bell_on_complete true

Why not a tool?

Replaces the approach in PR #320 (notification tool the agent calls). A config-driven bell is better because:

  • Always fires — no relying on the agent to remember to call notify
  • Zero overhead — no tool call, no token cost
  • Works over SSH — bell propagates through the connection
  • Universal — every terminal supports \a (audio bell, visual flash, taskbar highlight)

Changes

  • cli.py: Read bell_on_complete from config, fire \a after response box
  • hermes_cli/config.py: Added to DEFAULT_CONFIG
  • cli-config.yaml.example: Documented
  • website/docs/user-guide/configuration.md: Added to Display Settings

Test plan

  1. hermes config set display.bell_on_complete true
  2. Ask the agent something (e.g. hermes chat -q 'hello')
  3. Verify terminal bell fires after the response
  4. Test over SSH to confirm bell propagates

Closes #318

Adds a simple config option to play the terminal bell (\a) when the
agent finishes a response. Useful for long-running tasks — switch to
another window and your terminal will ding when done.

Works over SSH since the bell character propagates through the
connection. Most terminal emulators can be configured to flash the
taskbar, play a sound, or show a visual indicator on bell.

Config (default: off):
  display:
    bell_on_complete: true

Closes #318
@teknium1 teknium1 merged commit 37752ff into main Mar 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant