#30761 [Bug]: Anthropic streaming bridge crashes on empty `choices` chunks from OpenAI/Azure-compatible backends
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
When LiteLLM serves Anthropic-compatible `/v1/messages` requests for an OpenAI/Azure-compatible backend in streaming mode, the stream can crash mid-flight with:
```text IndexError: list index out of range ```
This happens in LiteLLM's Anthropic pass-through streaming adapter when an upstream streaming chunk has `choices=[]`.
The request still starts with `HTTP 200` and Anthropic-style SSE events such as:
- `message_start` - `content_block_start`
but then the stream fails and emits an SSE error payload instead of completing normally.
### Why this is happening
The Anthropic streaming adapter assumes every chunk has `choices[0]` and crashes instead of skipping or handling empty-choice chunks.
### Root cause
There are multiple unguarded `choices[0]` accesses in the Anthropic pass-through adapter.
Examples: - https://github.com/BerriAI/litellm/blob/v1.89.2/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py#L346 - https://github.com/BerriAI/litellm/blob/v1.89.2/litellm/llms/anthropic/experimental_pass_through/ad…