documented-behavior Issue
Fixed in: not specified
LiteLLM deliberately normalizes unfamiliar finish reasons to stop with a warning. The upstream issue requested that fallback and is closed as completed; 1.105.1 implements it in https://github.com/BerriAI/litellm/blob/v1.105.1/litellm/litellm_core_utils/core_helpers.py#L253-L258. Gemini and the OpenAI Chat path retain the original in choices[0].provider_specific_fields.native_finish_reason; Anthropic and native Ollama normalize before assigning the choice and lose the original. A raw original does not change the contradictory primary stop.