#29286 [Bug]: `/v1/messages` streaming emits empty `input_json_delta` instead of `text_delta` when OpenAI-compatible vLLM stream returns `content` with empty `tool_calls: []`
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
I am using LiteLLM Proxy `v1.85.0` in front of a vLLM `v0.21.0` OpenAI-compatible backend serving **DeepSeek V4 Pro**. When I call the same model through LiteLLM's OpenAI-compatible `/v1/chat/completions` endpoint with `stream: true`, streaming works correctly. The backend returns normal OpenAI-style chunks with `delta.content`. However, when I call the model through LiteLLM's Anthropic-compatible `/v1/messages` endpoint with `stream: true`, the SSE stream is converted incorrectly. For a plain text response, LiteLLM emits repeated empty `input_json_delta` chunks instead of `text_delta` chunks. This causes Claude Code or other Anthropic-compatible clients to receive no visible streamed text, even though the OpenAI-compatible stream contains valid `delta.content`. Environment: ```text LiteLLM version: v1.85.0 vLLM version: v0.21.0 Backend model: DeepSeek V4 Pro Backend API type: OpenAI-compatible vLLM server Client path: Claude Code / Anthropic-compatible /v1/messages Proxy path: Claude Code -> NGINX -> APISIX -> LiteLLM v1.85.0 -> vLLM v0.21.0 -…