Hook status messages create noisy output with repeated 'running stop hook' announcements

Resolved 💬 3 comments Opened Jan 16, 2026 by chriswhsu Closed Jan 16, 2026

Problem

When using hooks (e.g., stop hooks for iTerm2 profile switching), Claude Code prints "running stop hook" for every hook invocation. When multiple tool calls complete in quick succession, this creates noisy repeated output:

✢ Kneading… (ctrl+c to interrupt · running stop hook)
✢ Kneading… (ctrl+c to interrupt · running stop hook)
· Kneading… (ctrl+c to interrupt · running stop hook)
· Kneading… (ctrl+c to interrupt · running stop hook)

The hook script itself can be debounced, but Claude Code still announces each invocation.

Suggested solutions

Any of these would help:

  1. Quiet/silent mode for hooks - config option to suppress status messages
  2. Built-in debouncing - don't announce repeated hook runs within a short window
  3. Config option - "announce": false in hook configuration

Use case

Using hooks for visual feedback (e.g., changing iTerm2 profile when Claude is waiting for input) works great functionally, but the repeated announcements add clutter to the output.

View original on GitHub ↗

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