#!/usr/bin/env bash input="$(cat)" message="$(jq -r '.message // "Task completed"' <<<"$input")" if [ "$message" = "Claude is waiting for your input" ]; then exit # it's annoying fi # Skip notification if any background task is still running. if [ "$1" = "Stop" ]; then if jq -e '.background_tasks // [] | length > 0' >/dev/null 2>&1 <<<"$input"; then exit fi fi if [ "$(uname)" = "Darwin" ]; then if [ "$1" = "Stop" ]; then sound=Glass else sound=Funk fi osascript \ -e 'on run argv' \ -e 'display notification (item 1 of argv) with title (item 2 of argv) sound name (item 3 of argv)' \ -e 'end run' \ -- "$message" "Claude Code" "$sound" else if [ "$1" = "Stop" ]; then sound=complete else sound=bell fi notify-send "Claude Code" "$message" --hint "string:sound-name:$sound" fi