### Docs page URL https://openrouter.ai/docs/api-reference/streaming ### API endpoint /api/v1/chat/completions ### Description I observed a trailing `[DONE]` SSE sentinel on both OpenRouter streaming APIs: * OpenAI-compatible: `POST /api/v1/chat/completions` * Anthropic-compatible: `POST /api/v1/messages?beta=true` ## Observed behavior ### OpenAI-compatible path Response tail: ```text data: {...final chunk...} data: [DONE] ``` ### Anthropic-compatible path /api Response tail: ``` event: message_stop data: {"type":"message_stop"} event: data data: [DONE] ``` ## Repro models Observed on: - minimax/minimax-m2.5 - anthropic/claude-haiku-4.5 ## Docs question I could not find explicit documentation that the Anthropic-compatible endpoint also emits a terminal [DONE] sentinel. Is this intentional behavior for OpenRouter's streaming layer across both APIs? If yes, could this be documented explicitly for /api/v1/messages as well? ### Steps to reproduce _No response_
Activity
jonny64 commentedon Apr 5, 2026
Impact: LiteLLM crash with
Exact exception type/message from traceback:
Exact failing line from traceback:
Exact upstream tail that triggered it:
Workaround: jonny64/litellm@90bdeff would not be accepted in litellm upstream if undefined behaviour not covered, i think