Claude Desktop: Assistant message blocks duplicated and pinned to bottom of conversation

Resolved 💬 3 comments Opened Apr 2, 2026 by randie3503 Closed Apr 5, 2026

Description

Assistant message blocks are rendered twice in the conversation view — the duplicate appears "pinned" to the bottom of the chat and follows as the conversation continues. The content is only generated once by the model (verified via JSONL conversation logs), confirming this is a client-side UI rendering issue.

Reproduction Pattern

  1. During a conversation, send a follow-up message quickly while the assistant is still responding or just finished (triggering a queue-operation in the conversation log)
  2. A stop_hook_summary system event fires between the queued message and its dequeue
  3. The assistant's previous response block gets rendered a second time, appearing at the bottom of the conversation

Conversation log structure when this occurs:

Line N:   assistant  →  (original response)
Line N+1: queue-operation → enqueue (user sends new message quickly)
Line N+2: queue-operation → dequeue
Line N+3: system → stop_hook_summary (hook callback fires)
Line N+4: user → (the queued message)
Line N+5: assistant → (new response — different content)

The JSONL file contains the assistant text exactly once, but the UI renders it twice.

Behavior

  • Specific text blocks appear duplicated at the bottom of the conversation view
  • The duplicated blocks persist and "follow" as the conversation scrolls
  • Observed across multiple independent sessions/conversations
  • Appears correlated with rapid sequential user messages that trigger queue-operations

Environment

  • Claude Desktop for Windows, version 2.1.87
  • Windows 11 Pro 10.0.26200
  • Entrypoint: claude-desktop

Evidence

  • JSONL conversation log (~/.claude/projects/*/sessionId.jsonl) shows the duplicated text appearing only once in the data
  • grep -c for the duplicated text returns 1
  • The conversation was not long enough to trigger context compaction
  • Screenshots available upon request showing the duplicate rendering

View original on GitHub ↗

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