From a7de06c3370bad6a21b073f1e49d5d1f986b0161 Mon Sep 17 00:00:00 2001 From: Navnit Shukla Date: Fri, 5 Jun 2026 11:47:56 -0700 Subject: [PATCH] fix(snowflake): map max_tokens to max_completion_tokens for native endpoint --- litellm/llms/snowflake/chat/transformation.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/litellm/llms/snowflake/chat/transformation.py b/litellm/llms/snowflake/chat/transformation.py index b8136b0baaa..bb4318f4aa6 100644 --- a/litellm/llms/snowflake/chat/transformation.py +++ b/litellm/llms/snowflake/chat/transformation.py @@ -55,6 +55,7 @@ class SnowflakeConfig(SnowflakeBaseConfig, OpenAIGPTConfig): return [ "temperature", "max_tokens", + "max_completion_tokens", "top_p", "stream", "response_format", @@ -103,7 +104,11 @@ class SnowflakeConfig(SnowflakeBaseConfig, OpenAIGPTConfig): stream: bool = optional_params.pop("stream", False) or False extra_body = optional_params.pop("extra_body", {}) - return { + max_tokens = optional_params.pop("max_tokens", None) + max_completion_tokens = optional_params.pop("max_completion_tokens", None) + resolved_max = max_completion_tokens or max_tokens + + body: dict = { "model": model, "messages": messages, "stream": stream, @@ -111,6 +116,11 @@ class SnowflakeConfig(SnowflakeBaseConfig, OpenAIGPTConfig): **extra_body, } + if resolved_max is not None: + body["max_completion_tokens"] = resolved_max + + return body + def transform_response( self, model: str,