What
When a request to the model fails, Claude Code labels why and decides whether to try again. Timeouts now have their own label:
- A server error that is a
timeout_erroris now classified astimedOutinstead ofserverError. - The retry decision handles
timedOut: it switches to the fallback model when one is available (when only thinking was produced), and otherwise retries once. - A new input,
outlastedNonStreamingTimeout, means aserverErrorthat comes after a non-streaming timeout was outlasted is also retried. - At the output stage,
timedOutis now handled by the same branch asoverloadedandserverError.
Why
Requests that time out are more likely to be retried or moved to a fallback model instead of ending the turn with an error, and timeouts can be told apart from other server errors.
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 what this handling actually does, for example whether it retries the request or skips a fallback.