Same assistant response rendered 16 times in terminal for a single user message
Environment
- Claude Code version: 2.1.119
- Platform: macOS Darwin 24.6.0
- Shell: zsh in macOS Terminal (not iTerm2, not tmux — confirmed neither was running)
- Model: claude-sonnet-4-6 (1M context)
What happened
During a normal session, a single user message produced one assistant turn that was rendered 16 times in the terminal. The repeated block included tool output (a large grep result across a docs directory) followed by the assistant's analysis.
The turn that repeated was triggered by this Bash tool call:
\\\\
grep -rn "christacarmen-ai" /Users/trust/Dev/tessera/CLAUDE.md /Users/trust/Dev/tessera/_docs/
\\
That command produced approximately 40 lines of output across many files. Immediately after, the assistant composed a multi-paragraph categorized response. That entire block — tool output + response — appeared 16 times.
Relevant configuration
Two superpowers plugins were loaded simultaneously, both registering a SessionStart hook with "matcher": "startup|resume|clear|compact":
superpowers@superpowers-marketplacev4.3.1 (since removed)superpowers@claude-plugins-officialv5.0.7
Global settings at the time:
"verbose": true"alwaysThinkingEnabled": true
Hypothesis
The large grep output may have triggered a context compaction event. Both plugins registered on the compact matcher and fired simultaneously. It is unknown whether the 16x repetition is a display/rendering bug (one API call, output shown 16 times) or 16 actual API calls — the raw stream log was not captured.
Impact
- Unpredictable token usage (16x for that turn)
- No way for the user to distinguish rendering artifact from actual repeated inference
Steps to reproduce
Not yet reproducible on demand. Likely requires:
- Two plugins with
SessionStarthooks registered oncompact - A large Bash tool result (40+ lines) triggering compaction
verbose: true
The duplicate plugin has been removed. A session log capture strategy (claude 2>&1 | tee /tmp/claude-session.log) has been suggested to isolate whether this is rendering or inference repetition if it recurs.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗