#9391·pi

After compaction, stale signed thinking blocks are replayed every turn; Anthropic drops them (prefix_binding_mismatch) on every request

Author: drewbittCreated Sep 9, 2026Updated Sep 17, 2026

What happened?

After a manual compaction in a long session, pi prints this on every subsequent turn:

Anthropic dropped 15 thinking blocks: prefix_binding_mismatch at messages.5.content.0; prefix_binding_mismatch at messages.11.content.0; ...

The same 15 paths, every request, for the rest of the session. The session keeps working, the warning just never stops.

Looking at my session .jsonl: a long turn hit ~120k tokens, I compacted manually. Compaction kept a tail of the original conversation (firstKeptEntryId onward), and the assistant messages in that tail still have signed thinking blocks. Those signatures were created against the pre-compaction prefix, so Anthropic now rejects them and drops the blocks. Pi keeps them in its history though, so it replays the same mismatch on every request and the warning repeats forever.

Steps to reproduce

Happened in a real multi-hour session:

  1. Long agentic session on claude-fable-5-1 with thinking on, long enough that the context grows large.
  2. Run /compact manually (I didn't test whether auto-compaction does the same).
  3. Keep working. The prefix_binding_mismatch warning appears on every turn from then on, always with identical paths.

Expected behavior

Either don't send stale thinking blocks after compaction, or at least don't warn about the same drop on every single turn.

Version

0.85.1, provider anthropic, model claude-fable-5-1.