[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)
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-readablethinkingtext plussignature. - 0
redacted_thinkingblocks, 0 emptythinkingfields.
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 /
showThinkingSummariesnot 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
- Claude Code desktop app (macOS),
~/.claude/settings.jsoncontaining"verbose": true,"viewMode": "verbose","showThinkingSummaries": true. - Send any prompt that produces extended thinking → thinking renders live. ✅
- Close the session (or quit and relaunch the app), then reopen the same session from the sidebar.
- 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
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗