[BUG] Fable 5: thinking blocks dropped every turn in live sessions → full conversation re-cached each exchange (looks like a recurrence of the March 26 clear_thinking keep:1 regression; Opus 4.8 unaffected) — CC 2.1.202

Open 💬 0 comments Opened Jul 10, 2026 by Hetnon

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-fable-5, the first model call of every new exchange collapses the cache read to a fixed ~25k prefix (system + tools + first user message) and re-writes the entire conversation history to cache at the 1h-TTL write rate (2× input). The identical workflow on claude-opus-4-8 does not — history reads cleanly from cache.

This matches the failure mode documented in Anthropic's April 23, 2026 postmortem (clear_thinking_20251015 with keep:1 dropping thinking blocks every turn instead of once), reportedly fixed in v2.1.116 on April 10 for Sonnet 4.6 / Opus 4.6. I am on 2.1.202 and still see it on Fable 5, which reads as a regression or a Fable-specific recurrence.

Why this is not a duplicate:

  • #27048 and #43657 are cache invalidation on --resume / session resume. This occurs in a single continuous live session, no resume, triggered by each new user turn.
  • #66887 is Fable 5 thinking blocks rendering as empty stubs — a display bug, not caching.

What Should Happen?

Prior-turn thinking blocks should remain in the cached prefix across user turns, so conversation history reads from cache instead of being fully rewritten each exchange — the behavior seen on Opus 4.8 in the same harness.

<img width="1843" height="628" alt="Image" src="https://github.com/user-attachments/assets/fc6647fa-1a12-4770-b9c8-f5908d9b24c2" />
<img width="1854" height="542" alt="Image" src="https://github.com/user-attachments/assets/9b375a6e-541e-416e-bce2-f7502052f80f" />

Error Messages/Logs

In the screenshots from my own tool reading the cache files from my machine, you can see it rewriting the entire cache in 2 situations, in a new exchange in the same session, and even worse, inside the same exchange when going to the next model call.

Steps to Reproduce

  1. Start a live Claude Code session on claude-fable-5 (extended thinking on).
  2. Run an exchange that ends in a long interleaved-thinking tool loop (20+ tool calls).
  3. Send a new (non-tool-result) user message to begin the next exchange.
  4. Inspect that exchange's first call: cache_read collapses to ~25k; cache_creation ≈ the full prior context.
  5. Repeat the identical flow on claude-opus-4-8: no collapse — history reads from cache.

Evidence from one session (JSONL transcript):

  • Surviving prefix constant at 25,061 tokens across 4 collapses.
  • ~597k of 863.8k session cache-write tokens (~69%) were full-prefix rewrites.
  • Scales with context: at ~290k context, each new exchange opens with a ~250k-token write (a one-line follow-up cost ~$9).
  • Control: an exchange with a text-only answer (no tool calls) got a clean full-history cache hit, consistent with thinking-block handling as the cause.

Likely root cause: Claude Code's context-management pruning (clear_thinking_20251015 / keep:N) firing per-turn on Fable 5 sessions — the shape of the March 26 regression from the April 23 postmortem — rather than a model-weights issue, since Opus 4.8 in the same harness is unaffected.

Claude Model

Other

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Unknown exact version, but the same failure class was fixed in v2.1.116 (April 10, 2026) per Anthropic's April 23 postmortem; it has resurfaced on Fable 5 by 2.1.202.

Claude Code Version

2.1.202 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

Ask: confirm whether clear_thinking per-turn pruning is active for Fable 5 in 2.1.202, and either stop pruning per-turn or preserve thinking blocks in the cached prefix as on Opus 4.8. Optionally expose the keep behavior as a user setting.

Reference: Anthropic engineering postmortem, April 23, 2026 (clear_thinking_20251015 keep:1 per-turn bug). Related but distinct: #27048, #43657 (resume-triggered), #66887 (Fable 5 thinking display stub).

View original on GitHub ↗