Switch the Notification hook sound to Submarine - #341
Merged
Conversation
Lands the surviving subset of #148 idea A + E after #210 was closed: noti is actively maintained (migrated to codeberg.org/roble/noti, where the brew formula homepage points), so the native notify.sh rewrite was dropped in favor of staying within noti. - Notification: Blow -> Submarine, so a waiting permission prompt is audibly distinct from the Stop chime (Glass) - SubagentStop: new hook entry with Pop Repo/branch in the notification title and permission/idle content branching stay tracked in #148. Refs #148. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014Vi9VXxJvaXAHgYRoyrJsQ
The hook went live immediately via the settings.json symlink when this branch was checked out, and a session with heavy subagent use turned "Subagent done." into a meaningless drumbeat. Subagent completion is the parent session's signal to keep working, not the user's signal to act — the user-actionable events are already covered by Notification and Stop. Idea E returns to #148 with this finding recorded. Refs #148. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014Vi9VXxJvaXAHgYRoyrJsQ
ikuwow
marked this pull request as ready for review
July 27, 2026 07:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #148. Successor to #210 (closed), landing what survives of Phase 1 idea A within noti.
Why
#210 replaced noti with a native notify.sh, partly on the assumption that noti was worth dropping as a dependency. That assumption was re-checked when reviewing the PR queue: noti migrated from GitHub to Codeberg (https://codeberg.org/roble/noti — the brew formula homepage points there) and is actively maintained (commits in 2026-04, latest release 3.8.0). With the dependency argument gone, the audible-distinction goal fits in a settings-only change.
What
claude/settings.json hooks only. Sound mapping after this PR: Stop = Glass (unchanged), Notification = Submarine (changed, so a waiting permission prompt is audibly distinct from the Stop chime).
Out of scope (stays in #148)
Verification
jq . claude/settings.jsonvalidatesNOTI_NSUSER_SOUNDNAMEis the same mechanism already in use on main; the Submarine variant fired via noti with exit 0 and posted a notification during PR prep (the user heard the test sounds live)