From e36992ef082dfb257d5717314a2c90b658394f5d Mon Sep 17 00:00:00 2001 From: shivam Date: Thu, 5 Feb 2026 17:10:11 -0800 Subject: [PATCH] resolved greptile issue --- litellm/router.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/litellm/router.py b/litellm/router.py index ded1f75fd38..3f9883c4aa7 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -3284,6 +3284,11 @@ class Router: kwargs["original_function"] = self._ageneric_api_call_with_fallbacks_helper if use_guardrail_list: kwargs["use_guardrail_list"] = True + # Set selected_guardrail before retries so per-guardrail num_retries is always available + if kwargs.get("selected_guardrail") is None: + kwargs["selected_guardrail"] = self.get_available_guardrail( + guardrail_name=model, + ) if kwargs.get("num_retries") is None: kwargs["num_retries"] = ( self.guardrail_num_retries @@ -3350,10 +3355,10 @@ class Router: use_guardrail_list = kwargs.pop("use_guardrail_list", False) if use_guardrail_list: - selected_guardrail = self.get_available_guardrail( - guardrail_name=model, - ) - kwargs["selected_guardrail"] = selected_guardrail + if kwargs.get("selected_guardrail") is None: + kwargs["selected_guardrail"] = self.get_available_guardrail( + guardrail_name=model, + ) return await original_generic_function(**kwargs) passthrough_on_no_deployment = kwargs.pop("passthrough_on_no_deployment", False)