Preflight Checklist
What's Wrong?
On Claude Desktop (macOS) — both Cowork and Code surfaces — the "Thought process" panel renders for every turn but is permanently empty: expanding it shows no text at any point, then just "Completed". claude.ai web on the same account shows thinking summaries normally. Persisting since ~May 2026.
Transcript forensics (~/.claude/projects/<project>/<session>.jsonl) show this is data-level, not rendering: thinking blocks ARE present, with thinking: "" and only a large signature — the documented shape of thinking.display: "omitted".
Controlled A/B evidence (2026-07-14, Desktop 1.20186.7, runtime 2.1.205) — same session, same account, same settings:
| Actor |
Model |
thinking blocks |
text |
| Main loop |
claude-fable-5 |
23 |
all empty (0 chars), signatures up to ~15,400 chars |
claude-code-guide subagent |
claude-haiku-4-5-20251001 |
17 |
all populated with plaintext |
Cumulative on this machine since 2026-07-11: 331 Fable 5 thinking blocks, 0 with text · 17 Haiku 4.5 blocks, 17 with text. This matches the per-model API defaults (Fable 5 / Sonnet 5 / Opus 4.7+ → display: "omitted"; Haiku 4.5 / ≤4.6 models → "summarized"): the desktop runtime never requests summarized for omitted-default models.
The documented opt-out is a no-op on the desktop surface. The model config docs say interactive sessions on the Anthropic API receive redacted thinking blocks by default and that setting showThinkingSummaries: true restores the full summaries. That key has been set in ~/.claude/settings.json since 2026-07-12 — before all sessions above. Inspection of the live desktop-spawned runtime process confirms user settings are loaded and not overridden (--setting-sources=user,project,local, --settings {} — full argv in logs below). Thinking still arrives empty on Fable 5 / Opus 4.7.
Regression window: 2026-04-11 (claude-opus-4-6 — thinking populated, 611 chars across 3 blocks) → 2026-05-12 onward (claude-opus-4-7, later claude-fable-5 — every sampled block empty: 05-12/13/14/15/17/21, 06-12, 07-11→14). Correlates with the model-default switch to omitted plus CHANGELOG v2.1.89 ("thinking summaries no longer generated by default … set showThinkingSummaries: true … to restore") — a restore path desktop sessions ignore. Evidence sessions (transcripts retained, available on request): 1a1e5f08-cd60-4de6-aa88-9678fbcaf232 (04-11), dd823e3c-4b2f-4097-a768-963a1742f45a (05-12→21), 34f2f61a-9df9-4961-8ea8-4a5f40477251 (06-12), 86bc3562-207d-4b03-be87-f9d4ece9105f (07-14 A/B).
Reproduction:
~/.claude/settings.json → {"showThinkingSummaries": true}
- Start a new Cowork or Code session on Fable 5 / Opus 4.7+ and let it think
- Inspect the session
.jsonl: every thinking block has "thinking": ""
- Spawn any Haiku-powered subagent in the same session → its
agent-*.jsonl thinking blocks contain plaintext
Additional context: Related — #31326 (terminal analog: empty since v2.1.69, closed as not planned), #67729 (Bedrock ignores summarized display — same "client never applies display" family), #58689 and #52046 (VS Code extension analogs: thinking not viewable on Opus 4.7 despite showThinkingSummaries: true; closed), #24285 (different mechanism: blocks absent vs. present-but-empty). Reported to Anthropic support ~2026-06-12 with a full technical report; no response in 30+ days (Installation ID a118e8fe-e424-4fae-8e01-7f00bd8004cf).
Environment: Claude Desktop 1.20186.7 (macOS, auto-updated) · Claude Code runtime 2.1.205 · CLAUDE_CODE_ENTRYPOINT=claude-desktop · first-party API (api.anthropic.com), consumer OAuth · Affected: claude-opus-4-7, claude-fable-5 (any omitted-default model) · Not affected: claude-haiku-4-5 subagents, claude.ai web
What Should Happen?
Any of, in order of preference:
- The desktop runtime honors
showThinkingSummaries: true (i.e. requests thinking.display: "summarized") the same way the docs describe for the CLI — or exposes an equivalent desktop setting.
- If
omitted is intentional on desktop: the UI should not render an expandable, permanently-empty "Thought process" panel — show a "reasoning hidden" state or hide it. During 10+ minute agentic turns there is currently no way to tell progress from a hang.
- At minimum, docs state explicitly that
showThinkingSummaries does not apply to Claude Desktop sessions.
Error Messages/Logs
# thinking block as stored in session .jsonl (2026-07-14, claude-fable-5, runtime 2.1.205):
{"type": "thinking", "thinking": "", "signature": "CAISs1oK..."} # signature: 15,440 chars
# same structure on 2026-04-11 (claude-opus-4-6) had plaintext in "thinking"
# transcript scan across all local sessions (model / runtime / dates / blocks):
claude-fable-5 2.1.205 2026-07-11..07-14 331 empty, 0 with text
claude-haiku-4-5-20251001 2.1.205 2026-07-14 0 empty, 17 with text
# live desktop-spawned runtime argv (settings-precedence-relevant flags):
~/Library/Application Support/Claude/claude-code/2.1.205/claude.app/Contents/MacOS/claude
--output-format stream-json --input-format stream-json
--effort max --model claude-fable-5
--setting-sources=user,project,local
--settings {}
--permission-mode auto --include-partial-messages [...]
# env: CLAUDE_CODE_ENTRYPOINT=claude-desktop, ANTHROPIC_BASE_URL=https://api.anthropic.com
# ~/.claude/settings.json (mtime 2026-07-12, before all A/B sessions above):
{"showThinkingSummaries": true, ...}
Steps to Reproduce
- On Claude Desktop (macOS, latest), ensure
~/.claude/settings.json contains {"showThinkingSummaries": true}
- Start a new Cowork or Code session on Fable 5 (or Opus 4.7+); give it any task that triggers extended thinking
- Observe the "Thought process" panel: it renders every turn but never shows any text, then reads "Completed"
- Inspect the session transcript
~/.claude/projects/<project>/<session-id>.jsonl: every assistant thinking block has "thinking": "" with a populated signature (up to ~15,400 chars)
- In the same session, spawn any Haiku-powered subagent (e.g. the built-in
claude-code-guide agent) and inspect its agent-*.jsonl: its thinking blocks contain plaintext — same runtime, same account, same settings; only the model (and its API-side thinking.display default) differs
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Runtime 2.1.68 (terminal analog, per #31326); on this machine, desktop thinking last displayed 2026-04-11 (claude-opus-4-6)
Claude Code Version
2.1.205 (Claude Code) — bundled runtime of Claude Desktop 1.20186.7 (macOS)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Surface is the Claude Desktop app itself (Cowork and Code tabs), not a terminal — Terminal/Shell set to "Other" as the closest option. The desktop app embeds the Claude Code runtime (spawned with --input-format/--output-format stream-json). Full transcripts and the desktop diagnostic report are available on request.
Preflight Checklist
What's Wrong?
On Claude Desktop (macOS) — both Cowork and Code surfaces — the "Thought process" panel renders for every turn but is permanently empty: expanding it shows no text at any point, then just "Completed". claude.ai web on the same account shows thinking summaries normally. Persisting since ~May 2026.
Transcript forensics (
~/.claude/projects/<project>/<session>.jsonl) show this is data-level, not rendering:thinkingblocks ARE present, withthinking: ""and only a largesignature— the documented shape ofthinking.display: "omitted".Controlled A/B evidence (2026-07-14, Desktop 1.20186.7, runtime 2.1.205) — same session, same account, same settings:
claude-code-guidesubagentCumulative on this machine since 2026-07-11: 331 Fable 5 thinking blocks, 0 with text · 17 Haiku 4.5 blocks, 17 with text. This matches the per-model API defaults (Fable 5 / Sonnet 5 / Opus 4.7+ →
display: "omitted"; Haiku 4.5 / ≤4.6 models →"summarized"): the desktop runtime never requestssummarizedfor omitted-default models.The documented opt-out is a no-op on the desktop surface. The model config docs say interactive sessions on the Anthropic API receive redacted thinking blocks by default and that setting
showThinkingSummaries: truerestores the full summaries. That key has been set in~/.claude/settings.jsonsince 2026-07-12 — before all sessions above. Inspection of the live desktop-spawned runtime process confirms user settings are loaded and not overridden (--setting-sources=user,project,local,--settings {}— full argv in logs below). Thinking still arrives empty on Fable 5 / Opus 4.7.Regression window: 2026-04-11 (claude-opus-4-6 — thinking populated, 611 chars across 3 blocks) → 2026-05-12 onward (claude-opus-4-7, later claude-fable-5 — every sampled block empty: 05-12/13/14/15/17/21, 06-12, 07-11→14). Correlates with the model-default switch to
omittedplus CHANGELOG v2.1.89 ("thinking summaries no longer generated by default … setshowThinkingSummaries: true… to restore") — a restore path desktop sessions ignore. Evidence sessions (transcripts retained, available on request):1a1e5f08-cd60-4de6-aa88-9678fbcaf232(04-11),dd823e3c-4b2f-4097-a768-963a1742f45a(05-12→21),34f2f61a-9df9-4961-8ea8-4a5f40477251(06-12),86bc3562-207d-4b03-be87-f9d4ece9105f(07-14 A/B).Reproduction:
~/.claude/settings.json→{"showThinkingSummaries": true}.jsonl: everythinkingblock has"thinking": ""agent-*.jsonlthinking blocks contain plaintextAdditional context: Related — #31326 (terminal analog: empty since v2.1.69, closed as not planned), #67729 (Bedrock ignores
summarizeddisplay — same "client never applies display" family), #58689 and #52046 (VS Code extension analogs: thinking not viewable on Opus 4.7 despiteshowThinkingSummaries: true; closed), #24285 (different mechanism: blocks absent vs. present-but-empty). Reported to Anthropic support ~2026-06-12 with a full technical report; no response in 30+ days (Installation IDa118e8fe-e424-4fae-8e01-7f00bd8004cf).Environment: Claude Desktop 1.20186.7 (macOS, auto-updated) · Claude Code runtime 2.1.205 ·
CLAUDE_CODE_ENTRYPOINT=claude-desktop· first-party API (api.anthropic.com), consumer OAuth · Affected: claude-opus-4-7, claude-fable-5 (any omitted-default model) · Not affected: claude-haiku-4-5 subagents, claude.ai webWhat Should Happen?
Any of, in order of preference:
showThinkingSummaries: true(i.e. requeststhinking.display: "summarized") the same way the docs describe for the CLI — or exposes an equivalent desktop setting.omittedis intentional on desktop: the UI should not render an expandable, permanently-empty "Thought process" panel — show a "reasoning hidden" state or hide it. During 10+ minute agentic turns there is currently no way to tell progress from a hang.showThinkingSummariesdoes not apply to Claude Desktop sessions.Error Messages/Logs
Steps to Reproduce
~/.claude/settings.jsoncontains{"showThinkingSummaries": true}~/.claude/projects/<project>/<session-id>.jsonl: every assistantthinkingblock has"thinking": ""with a populatedsignature(up to ~15,400 chars)claude-code-guideagent) and inspect itsagent-*.jsonl: its thinking blocks contain plaintext — same runtime, same account, same settings; only the model (and its API-sidethinking.displaydefault) differsClaude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Runtime 2.1.68 (terminal analog, per #31326); on this machine, desktop thinking last displayed 2026-04-11 (claude-opus-4-6)
Claude Code Version
2.1.205 (Claude Code) — bundled runtime of Claude Desktop 1.20186.7 (macOS)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Surface is the Claude Desktop app itself (Cowork and Code tabs), not a terminal — Terminal/Shell set to "Other" as the closest option. The desktop app embeds the Claude Code runtime (spawned with --input-format/--output-format stream-json). Full transcripts and the desktop diagnostic report are available on request.