From b106813ef4d1a98f47dac4fcd777b14406be2685 Mon Sep 17 00:00:00 2001 From: jito Date: Fri, 6 Feb 2026 13:31:34 +0900 Subject: [PATCH 1/6] feat(notify-user-input): create plugin.json manifest Add the plugin.json manifest file with: - Plugin name: notify-user-input - Version: 5.2.0 (matches current release) - Description: macOS notification when Claude waits for user input - Author: jito The semantic-release config will automatically synchronize this version with marketplace.json during releases. Co-Authored-By: Claude Opus 4.5 --- plugins/notify-user-input/.claude-plugin/plugin.json | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 plugins/notify-user-input/.claude-plugin/plugin.json diff --git a/plugins/notify-user-input/.claude-plugin/plugin.json b/plugins/notify-user-input/.claude-plugin/plugin.json new file mode 100644 index 00000000..699c7cb3 --- /dev/null +++ b/plugins/notify-user-input/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "notify-user-input", + "version": "5.2.0", + "description": "macOS notification when Claude waits for user input", + "author": { + "name": "jito", + "email": "git@baleen.me" + } +} From 728009bf30233fe4509a8881f4d948656d804346 Mon Sep 17 00:00:00 2001 From: jito Date: Fri, 6 Feb 2026 13:33:45 +0900 Subject: [PATCH 2/6] feat(notify-user-input): add hooks.json with PreToolUse hook for AskUserQuestion Defines the PreToolUse hook configuration that triggers when Claude invokes the AskUserQuestion tool. The hook will execute the ask-user-question.sh script to send a macOS notification. Co-Authored-By: Claude Opus 4.5 --- plugins/notify-user-input/hooks/hooks.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 plugins/notify-user-input/hooks/hooks.json diff --git a/plugins/notify-user-input/hooks/hooks.json b/plugins/notify-user-input/hooks/hooks.json new file mode 100644 index 00000000..892307f8 --- /dev/null +++ b/plugins/notify-user-input/hooks/hooks.json @@ -0,0 +1,17 @@ +{ + "$schema": "../../schemas/hooks-schema.json", + "description": "Notify when Claude asks for user input", + "hooks": { + "PreToolUse": [ + { + "matcher": "AskUserQuestion", + "hooks": [ + { + "type": "command", + "command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/ask-user-question.sh" + } + ] + } + ] + } +} From 307b461380792e4a1e4e521f7cd25ee0b80916b6 Mon Sep 17 00:00:00 2001 From: jito Date: Fri, 6 Feb 2026 13:35:07 +0900 Subject: [PATCH 3/6] fix(notify-user-input): correct schema reference path in hooks.json The $schema path was ../../schemas/hooks-schema.json which incorrectly pointed to plugins/schemas/ (nonexistent). Corrected to ../../../schemas/hooks-schema.json to properly reference the root schemas/ directory. Co-Authored-By: Claude Opus 4.5 --- plugins/notify-user-input/hooks/hooks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/notify-user-input/hooks/hooks.json b/plugins/notify-user-input/hooks/hooks.json index 892307f8..36a9c56d 100644 --- a/plugins/notify-user-input/hooks/hooks.json +++ b/plugins/notify-user-input/hooks/hooks.json @@ -1,5 +1,5 @@ { - "$schema": "../../schemas/hooks-schema.json", + "$schema": "../../../schemas/hooks-schema.json", "description": "Notify when Claude asks for user input", "hooks": { "PreToolUse": [ From 1774410ebb63cd77b9e00c3653ecd0c2a36eedae Mon Sep 17 00:00:00 2001 From: jito Date: Fri, 6 Feb 2026 13:47:49 +0900 Subject: [PATCH 4/6] feat(notify-user-input): add ask-user-question.sh hook script Create the PreToolUse hook script that sends macOS notifications when Claude invokes the AskUserQuestion tool. Features: - Reads JSON input from stdin - Extracts tool_name and questions using jq - Filters for AskUserQuestion only - Truncates long questions to 100 characters - Sends macOS notification with Glass sound - Silently ignores errors (notification failure is non-blocking) Co-Authored-By: Claude Opus 4.5 --- .../hooks/ask-user-question.sh | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 plugins/notify-user-input/hooks/ask-user-question.sh diff --git a/plugins/notify-user-input/hooks/ask-user-question.sh b/plugins/notify-user-input/hooks/ask-user-question.sh new file mode 100755 index 00000000..c0bde4cc --- /dev/null +++ b/plugins/notify-user-input/hooks/ask-user-question.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -euo pipefail + +INPUT=$(cat) +TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // empty') + +# Only process AskUserQuestion +if [[ "$TOOL_NAME" != "AskUserQuestion" ]]; then + exit 0 +fi + +# Extract question text +QUESTION_TEXT=$(echo "$INPUT" | jq -r '.questions[0].text // empty') + +if [[ -z "$QUESTION_TEXT" ]]; then + exit 0 +fi + +# Truncate if too long +MAX_LENGTH=100 +if [[ ${#QUESTION_TEXT} -gt $MAX_LENGTH ]]; then + QUESTION_TEXT="${QUESTION_TEXT:0:$MAX_LENGTH}..." +fi + +# Send macOS notification +osascript -e "display notification \"$QUESTION_TEXT\" with title \"Claude Code\" sound name \"Glass\"" 2>/dev/null || true + +exit 0 From b2def665c5f0ec90aefa7163475b84a795b34b8e Mon Sep 17 00:00:00 2001 From: jito Date: Fri, 6 Feb 2026 13:50:12 +0900 Subject: [PATCH 5/6] docs(notify-user-input): add README.md Add basic README documentation for the notify-user-input plugin. Co-Authored-By: Claude Opus 4.5 --- plugins/notify-user-input/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 plugins/notify-user-input/README.md diff --git a/plugins/notify-user-input/README.md b/plugins/notify-user-input/README.md new file mode 100644 index 00000000..73ab9716 --- /dev/null +++ b/plugins/notify-user-input/README.md @@ -0,0 +1,11 @@ +# notify-user-input + +macOS notifications when Claude Code asks for user input. + +## Installation + +Part of baleen-plugins marketplace. + +## Testing + +Ask Claude something that requires confirmation - notification should appear. From 4db5d33a1eb8339d10b42de37ce57c96c9d0a418 Mon Sep 17 00:00:00 2001 From: jito Date: Fri, 6 Feb 2026 13:52:32 +0900 Subject: [PATCH 6/6] feat(notify-user-input): add plugin to marketplace.json Add notify-user-input plugin to the marketplace manifest. Inserted alphabetically between 'me' and 'ralph-loop'. Co-Authored-By: Claude Opus 4.5 --- .claude-plugin/marketplace.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index fa353178..f0445058 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -80,6 +80,19 @@ ], "version": "5.2.0" }, + { + "name": "notify-user-input", + "description": "macOS desktop notifications when Claude Code asks for user input", + "source": "./plugins/notify-user-input", + "category": "productivity", + "tags": [ + "notification", + "macos", + "desktop", + "hooks" + ], + "version": "5.2.0" + }, { "name": "ralph-loop", "description": "Continuous self-referential AI loops for interactive iterative development, implementing the Ralph Wiggum technique",