Skip to content

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

Description

@r99-creator

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions