What probably matters to youSection of the release
Unclear Whether bodyIdleTimeout is something a user can set, and what it defaults to, is not settled.
What
A timeout is how long Claude Code waits before giving up. The body idle timeout stops a streaming reply when no data arrives for too long.
API_FORCE_IDLE_TIMEOUT, when set to a true or false value, now takes precedence. Otherwise a new bodyIdleTimeout option decides whether the idle timeout applies.
The API client reads a body_idle_timeout value from a config object and passes it on as bodyIdleTimeout only when it is true or false.
CLAUDE_STREAM_IDLE_TIMEOUT_MS now falls back to a stream_idle_timeout_ms config value. That value must be a whole number within limits and is capped at the maximum.
If API_TIMEOUT_MS is unset, the request timeout now comes from api_timeout_ms in the same config, still defaulting to 600000 (10 minutes).
A new lower limit keeps a timeout at no less than 300000 milliseconds (5 minutes).
Provider setup now takes the provider and a resolved value instead of the old region helpers.
Why
If you see stalled streams or early timeouts, the environment variables still win when set, but when they are not, the values may now come from a config rather than fixed defaults.