[BUG] Desktop (Cowork/Code): showThinkingSummaries is ignored — thinking arrives empty (display: omitted) on Fable 5 / Opus 4.7+, "Thought process" panel permanently empty

Open 💬 4 comments Opened Jul 14, 2026 by r99-creator

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:

  1. ~/.claude/settings.json{"showThinkingSummaries": true}
  2. Start a new Cowork or Code session on Fable 5 / Opus 4.7+ and let it think
  3. Inspect the session .jsonl: every thinking block has "thinking": ""
  4. 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:

  1. 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.
  2. 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.
  3. 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

  1. On Claude Desktop (macOS, latest), ensure ~/.claude/settings.json contains {"showThinkingSummaries": true}
  2. Start a new Cowork or Code session on Fable 5 (or Opus 4.7+); give it any task that triggers extended thinking
  3. Observe the "Thought process" panel: it renders every turn but never shows any text, then reads "Completed"
  4. 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)
  5. 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.

View original on GitHub ↗

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