Unclear It is not clear whether the attempt count is ever set, so this limit may not be active.
What
Compaction is when Claude Code shortens a long conversation by summarising older parts. It now tracks how many requests to the model it has left, through compactionApiAttemptsLeft.count, and acts when that reaches 0:
- If the cache-sharing response has no text and the count is 0, the response is returned. Before, it always fell back with the warning
Compact cache sharing: no text in response, falling back. - The compaction loop returns
{ ok: !1, reason: "exhausted" }when the count is 0. - A new compaction reason,
compact_larger_model, is also listed.
Why
Compaction no longer keeps making requests after its attempt budget is used up, which avoids extra calls to the model during compaction retries.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
It is not clear whether the attempt count is ever set, so this limit may not be active.