[BUG] Desktop (Cowork/Code): showThinkingSummaries is ignored — thinking arrives empty (display: omitted) on Fable 5 / Opus 4.7+, "Thought process" panel permanently empty
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
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: everythinkingblock has"thinking": "" - Spawn any Haiku-powered subagent in the same session → its
agent-*.jsonlthinking 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. requeststhinking.display: "summarized") the same way the docs describe for the CLI — or exposes an equivalent desktop setting. - If
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. - At minimum, docs state explicitly that
showThinkingSummariesdoes 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.jsoncontains{"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 assistantthinkingblock has"thinking": ""with a populatedsignature(up to ~15,400 chars) - In the same session, spawn any Haiku-powered subagent (e.g. the built-in
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) 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.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗