Hook execution status accumulates indefinitely instead of clearing between prompts

Resolved 💬 3 comments Opened Oct 18, 2025 by kosmotaur Closed Oct 21, 2025

Description

Hook execution status messages accumulate in an ever-growing list instead of clearing between prompts. After multiple interactions, the status list grows to dozens of entries, pushing actual content down and cluttering the interface.

Expected Behavior

Hook execution status should either:

  • Show only the current hook execution status
  • Clear between prompts
  • Have a maximum display limit (e.g., show only last 3-5 executions)

Actual Behavior

Each prompt appends another hook status line to the display, creating an unbounded growing list:

⎿  SessionStart:startup hook succeeded: Success
⎿  UserPromptSubmit hook succeeded: Success
⎿  UserPromptSubmit hook succeeded: Success
⎿  UserPromptSubmit hook succeeded: Success
⎿  UserPromptSubmit hook succeeded: Success
[... grows indefinitely with each prompt ...]

After 30+ prompts, this list becomes extremely long and pushes actual conversation content down.

Configuration

Hooks configured in ~/.claude/settings.json:

  • SessionStart hook
  • PreCompact hook
  • UserPromptSubmit hook (triggers after every user prompt)
  • PreToolUse hook

Environment

  • Platform: macOS (Darwin 25.0.0)
  • Claude Code version: (will add after checking)

Impact

This makes the interface increasingly cluttered and harder to read over time, especially in long sessions. The hook status serves no purpose after confirmation of initial execution.

View original on GitHub ↗

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