Fable 5: thinking summaries arrive empty (signature-only) on 2.1.233 — Opus 5 on the same version is fine; 2.1.226/227 had text

Status Closed — duplicate
Reported on v2.1.233
Maintainer reply None cached
Activity 1 comment · opened Aug 15, 2026 · closed Aug 15, 2026

Summary

Since updating to 2.1.233, every thinking block returned for claude-fable-5 is an empty string with only a signature — in the terminal (no thinking summaries are rendered anymore) and in the session JSONL. claude-opus-5 on the very same CLI version, same day, same settings still returns full thinking text. On 2.1.226/2.1.227 (Aug 9–11) Fable 5 returned thinking text in ~80% of blocks. Settings were not changed in between.

Environment

  • Claude Code 2.1.233, native installer (~/.local/share/claude/versions/2.1.233), macOS (Darwin 27.0.0), zsh
  • Model: claude-fable-5 (broken) vs claude-opus-5 (fine)
  • ~/.claude/settings.json: "showThinkingSummaries": true, "verbose": true, env.CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING: "0", env.MAX_THINKING_TOKENS: "128000" — unchanged across the versions below

Evidence: thinking blocks in ~/.claude/projects/*/*.jsonl, aggregated per CLI version × model × day

Counted every content[].type == "thinking" in type: "assistant" lines across all projects on this machine (Aug 7–15). "empty" = thinking field is "" (signature present in every case).

| CLI version | model | day | assistant msgs | thinking blocks | empty | % empty | avg chars |
|---|---|---|---:|---:|---:|---:|---:|
| 2.1.223 | claude-fable-5 | 2026-08-07 | 186 | 80 | 18 | 22% | 1413 |
| 2.1.224 | claude-fable-5 | 2026-08-07 | 134 | 60 | 13 | 21% | 612 |
| 2.1.224 | claude-opus-5 | 2026-08-07 | 95 | 32 | 5 | 15% | 3175 |
| 2.1.226 | claude-fable-5 | 2026-08-09 | 1163 | 528 | 89 | 16% | 1132 |
| 2.1.226 | claude-fable-5 | 2026-08-10 | 540 | 219 | 31 | 14% | 1400 |
| 2.1.227 | claude-fable-5 | 2026-08-11 | 471 | 212 | 49 | 23% | 890 |
| 2.1.227 | claude-opus-5 | 2026-08-11 | 170 | 57 | 13 | 22% | 1520 |
| 2.1.233 | claude-fable-5 | 2026-08-15 | 694 | 230 | 230 | 100% | 0 |
| 2.1.233 | claude-opus-5 | 2026-08-15 | 54 | 17 | 0 | 0% | 1151 |

The ~15–23% empty blocks on older versions look like normal adaptive-thinking short turns. 230/230 empty on 2.1.233 for Fable 5 — while Opus 5 on the same binary is 0/17 empty — is not that.

No sessions were run on 2.1.228–2.1.232 here (2.1.228 was downloaded but never used interactively), so the change is somewhere in 2.1.228…2.1.233 or a concurrent server-side change for Fable 5; I cannot tell from client-side data alone.

Additional observation: -p (print) mode always yields empty thinking

Same prompt run headless with --output-format json, four combinations:

| CLI | model | thinking blocks | empty |
|---|---|---:|---:|
| 2.1.227 | claude-fable-5 | 1 | 1 |
| 2.1.227 | claude-opus-5 | 1 | 1 |
| 2.1.233 | claude-fable-5 | 0 | – |
| 2.1.233 | claude-opus-5 | 1 | 1 |

So print mode never carries thinking text for either model (maybe intended), which means the regression can only be reproduced interactively. Note also that 2.1.233 + Fable 5 in print mode emitted no thinking block at all, versus a signature-only block on 2.1.227.

Expected

With showThinkingSummaries: true, Fable 5 thinking summaries render in the interactive terminal (and land in the JSONL) as they did on ≤ 2.1.227 and as they still do for Opus 5 on 2.1.233.

Actual

Fable 5: empty thinking stubs only; nothing to expand with Ctrl+O. Thinking tokens are presumably still billed.

Questions

  1. Is this an intentional change (e.g. Fable 5 now defaults to thinking.display: "omitted" server-side, or the CLI stopped sending display: "summarized" for this model), or a regression?
  2. If intentional, is there a setting/env to opt back in to summarized thinking for Fable 5?

Related: #32810 (empty thinking in JSONL), #66887 (Fable 5 empty thinking stubs in VS Code), anthropics/claude-agent-sdk-typescript#337.

I can supply the aggregation script or run an interactive A/B on 2.1.227 (binary still on disk) if that helps.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗