Skip to content

Enable hook-utils observability plugin - #237

Draft
jack-nsheaps[bot] wants to merge 4 commits into
mainfrom
claude/zealous-dirac-d9vi65
Draft

Enable hook-utils observability plugin#237
jack-nsheaps[bot] wants to merge 4 commits into
mainfrom
claude/zealous-dirac-d9vi65

Conversation

@jack-nsheaps

@jack-nsheaps jack-nsheaps Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Enables the hook-utils@agents observability plugin in this repo's .claude/settings.json (registering the agents plugin marketplace where it wasn't already present).

hook-utils traces Claude Code hook events to the user-facing UI only via the systemMessage field — it never enters Claude's context or token budget. Verbosity is configurable in .claude/plugins.settings.yaml (hook-utils.verbosity: quiet|normal|full, default normal).

Plugin source: nsheaps/agents → plugins/claude-code/hook-utils (added in #233).

🤖 Automated change opened by jack-nsheaps[bot] on behalf of @nsheaps · session

claude added 4 commits June 9, 2026 18:38
Maps every documented Claude Code hook event (30 events) to a single
renderer (hook-stream.sh) that prints the hook name, parameters, and —
for post-events — the response plus elapsed time. Output goes to the
user only via the systemMessage field (never added to Claude's context)
and is hidden from the transcript via suppressOutput.

Verbosity is configurable in .claude/plugins.settings.yaml:
  - quiet:  just the hook name
  - normal: name + params (pre) or response + timing (post), 80-char trunc
  - full:   everything, untruncated

Rendering mirrors the claude-stream chatroom style. The plugin never
emits a permissionDecision, so tool calls are never blocked or altered.
…code 2.1.138

CI test job failed: `claude plugin validate` (pinned to claude-code 2.1.138)
rejects the MessageDisplay hook key as 'Invalid key in record'. Local
claude 2.1.170 accepts it, which masked the issue.

Verified the full event set against an npm-installed claude-code@2.1.138:
MessageDisplay is the only one of the 30 rejected. Remaining 29 events all
validate. Updated README to document the omission.
…d9vi65

# Conflicts:
#	plugins/claude-code/hook-utils/.claude-plugin/plugin.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant