[FEATURE] Distinct default styling for hook output (separate from conversation transcript)

Resolved 💬 3 comments Opened Mar 7, 2026 by Anyesh Closed May 4, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Hook stderr output renders identically to Claude's conversation responses. There's no visual distinction between automated hook messages and Claude's actual reasoning, making the terminal hard to scan when hooks are active.

With multiple hooks (code quality, architecture enforcement, bash guards, stop validation), the terminal mixes hook output with Claude's responses. Users can't quickly tell "this came from an automated check" vs "Claude is saying this."

Proposed Solution

The CLI renders hook stderr with distinct styling automatically. Possible approaches:

  1. Dimmed/gray text — similar to how tool metadata is rendered
  2. A style field in hook config — e.g. "style": "dimmed" or "style": "info"
  3. Automatic [hook] badge in a distinct color before hook output

This is complementary to #30635 — ANSI support lets hooks opt into custom colors, while this request provides sensible defaults without any hook-side changes.

Alternative Solutions

Manually prefixing all hook stderr messages with [hook] — helps scanning but doesn't change visual weight.

Priority

Low - Nice to have

Feature Category

Other

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗