[BUG] Desktop app: thinking blocks render while streaming but are not re-rendered after session reopen — thinking fully present in session .jsonl (started with 1.22209.3)

Status Open
Reported on v2.1.173
Maintainer reply None cached
Activity 1 comment · opened Jul 19, 2026

What's Wrong?

On the Claude Code desktop app (macOS), extended thinking blocks render normally while a response is streaming. After closing and reopening the session (or quitting and relaunching the app), the rebuilt transcript no longer renders those thinking blocks at all — only user messages, assistant text, and tool cards remain.

The thinking data itself is fully intact on disk, so this is a transcript-replay rendering regression, not data loss:

Inspected the affected sessions' transcript files at ~/.claude/projects/<project>/<session-id>.jsonl:

  • One affected session contains 20 {"type": "thinking"} content blocks, another 4 — every block has complete, human-readable thinking text plus signature.
  • 0 redacted_thinking blocks, 0 empty thinking fields.

So the live streaming renderer displays thinking, but the transcript-rebuild path on session reopen skips thinking blocks entirely. The behavior started after the desktop app auto-updated to 1.22209.3 (2026-07-19); before the update, thinking was visible in normal use with the same settings.

What Should Happen?

With verbose / showThinkingSummaries enabled, thinking blocks stored in the session transcript should re-render when a session is reopened, matching what was shown live while streaming.

Related:

  • #78593 reports the same streaming-vs-restart inconsistency from the opposite direction (wants thinking hidden, and hidden consistently). Whichever default is chosen, the streaming path and the replay path should agree, presumably via a setting.
  • #25980 — same class of display-only regression in the terminal (thinking confirmed present in session .jsonl but not displayed in verbose mode).
  • #24285, #48065 — thinking not visible / showThinkingSummaries not honored.

Error Messages/Logs

N/A — UI/display behavior. Thinking blocks verified present and readable in the session .jsonl while the reopened UI shows none.

Steps to Reproduce

  1. Claude Code desktop app (macOS), ~/.claude/settings.json containing "verbose": true, "viewMode": "verbose", "showThinkingSummaries": true.
  2. Send any prompt that produces extended thinking → thinking renders live. ✅
  3. Close the session (or quit and relaunch the app), then reopen the same session from the sidebar.
  4. Thinking blocks are gone from the transcript. ❌ (Blocks still present in that session's .jsonl.)

Environment

  • Claude Desktop app (macOS): 1.22209.3 (com.anthropic.claudefordesktop), auto-updated 2026-07-19
  • Claude Code CLI on same machine: 2.1.173
  • macOS 26.5 (Darwin 25.5.0), Apple Silicon
  • Model: claude-fable-5

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗