#25308 [Bug]: Haiku 4.5 not included in structured output allowlist, supports parallel tool calls
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
Haiku 4.5 supports structured output, but isn't included in the allowlist, so a `json_tool_call` is synthesized β however `_should_convert_tool_call_to_json_mode` only cleans up `tool_calls` if `len(tool_calls) == 1` β it won't do anything if the LLM invocation resulted in a legitimate tool call, like in the example code I've provided. This doesn't play nice with downstream code which expects to be able to dispatch to a known set of functions based on the response's tool calls.
Happy to submit a PR which just adds Haiku 4.5 to the allowlist, but I thought you might have a reason for not including it β would you prefer to check for _inclusion_ of `"json_tool_call"` in `tool_calls` β or both?
### Steps to Reproduce
```python import litellm from pydantic import BaseModel
class MovieReview(BaseModel): title: str rating: float summary: str pros: list[str] cons: list[str]
response = litellm.completion( model="anthropic/claude-haiku-4-5-20251001", messages=[ {"role": "user", "content": "Review the movie Incepβ¦