[Bug] Anthropic API: claude-opus-4-8 returns empty thinking block text with valid signatures
Bug Description
## Opus 4.8 returns thinking blocks with empty summary text (signatures intact)
Summary
Since mid-day 2026-07-15, claude-opus-4-8 returns thinking content blocks whose
thinking text is an empty string, while the accompanying signature is present,
large, and varies with turn complexity. Claude Code records the blocks and renders
nothing, so thinking summaries silently disappeared from the TUI. Sonnet 5 is
unaffected on the same machine, same settings, same day.
Environment
- Claude Code 2.1.210 (native install, Linux). Also reproduced on 2.1.211.
- Settings: showThinkingSummaries: true, verbose: true, effortLevel: "high",
tui: "fullscreen", model opus.
- Interactive sessions (display resolves to "summarized").
**Evidence 1 — onset, from session transcripts (~/.claude/projects//.jsonl)
Counting type:"thinking" blocks per day/model, and how many have non-empty text:
| Date | Model | Blocks | Non-empty |
|--------|--------------|--------|-----------|
| Jul 10 | opus-4-8 | 1043 | 1043 |
| Jul 12 | opus-4-8 | 624 | 624 |
| Jul 14 | opus-4-8 | 884 | 884 |
| Jul 15 | opus-4-8 | 839 | 58 |
| Jul 15 | sonnet-5 | 192 | 192 |
| Jul 16 | opus-4-8 | 134 | 0 |
Clean 100% -> partial -> 0% transition on opus-4-8, beginning mid-day Jul 15.
Sonnet 5 stays at 100% throughout, including Jul 15.
Evidence 2 — thinking happened; only the text is missing
Sample of thinking blocks from a single opus-4-8 session:
#1: thinking_len=0 signature_len=3664
#2: thinking_len=0 signature_len=400
#3: thinking_len=0 signature_len=592
#5: thinking_len=0 signature_len=2088
#6: thinking_len=0 signature_len=1548
Signatures are substantial and vary in size with the reasoning load of each turn
(the 3664-byte block was a long multi-step planning turn; the 400-byte one was a
trivial turn). Inference, not confirmed: signature size tracking reasoning volume
suggests underlying thinking is generated and signed normally, and only the
summary text is being emptied.
Ruled out (client-side)
- Not config: showThinkingSummaries/verbose are true; display path resolves to
"summarized" for interactive sessions.
- Not the client version: present on both 2.1.210 and 2.1.211; a downgrade did not fix it.
- Not the renderer: tui: "fullscreen" is long-standing and predates the onset.
- Not a feature gate: no thinking-related GrowthBook flags cached;
tengu_turtle_carbon (ultrathink highlighting) is true.
- Not the TUI at all: the empty strings are in the on-disk transcript, upstream of rendering.
Impact
Thinking summaries are unavailable on Opus 4.8. Failure is silent — blocks are
emitted and recorded, so nothing errors; the text is simply blank.
Workaround
Sonnet 5 still returns populated thinking summaries.
How to verify**
Scan ~/.claude/projects/*/*.jsonl for assistant messages containing
type:"thinking" blocks; compare len(thinking) against len(signature),
grouped by model and date.
Environment Info
- Platform: linux
- Terminal: gnome-terminal
- Version: 2.1.210
- Feedback ID: f65fa6b8-d9e2-43ca-a285-8af283ddc641
Errors
[]This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗