Hook execution status accumulates indefinitely instead of clearing between prompts
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.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗