OpenRouter gives applications a common way to interpret why a model stopped generating, while preserving the provider's own explanation. Its finish_reason field uses standardized values aligned with OpenAI-style conventions, and native_finish_reason retains model-specific details. OpenRouter says this unifies finish reasons across reasoning-capable models, so developers can handle responses consistently without discarding information useful for diagnosing a particular provider's behavior. The change concerns response metadata, rather than exposing the model's underlying reasoning. Announcement.