From 96b4d25640f928473bf878e672bc144ff2ae88b1 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Sat, 18 Apr 2026 11:32:34 -0700 Subject: [PATCH] fix: guard casted_metadata None before 'in' check and return empty dict on None metadata --- .../proxy/management_endpoints/key_management_endpoints.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/management_endpoints/key_management_endpoints.py b/litellm/proxy/management_endpoints/key_management_endpoints.py index 5c0a3e014a9..abec282267b 100644 --- a/litellm/proxy/management_endpoints/key_management_endpoints.py +++ b/litellm/proxy/management_endpoints/key_management_endpoints.py @@ -1546,7 +1546,7 @@ def prepare_metadata_fields( ) non_default_values["metadata"] = casted_metadata - if metadata_provided_in_update and "logging" in casted_metadata: + if metadata_provided_in_update and casted_metadata and "logging" in casted_metadata: encrypt_logging_callback_vars(non_default_values["metadata"]) return non_default_values @@ -4983,7 +4983,7 @@ async def _list_key_helper( if return_full_object is True or (expand and "user" in expand): key_dict["metadata"] = redact_sensitive_logging_metadata( key_dict.get("metadata") - ) + ) or {} if use_deleted_table: # Use deleted key type to preserve deleted_at, deleted_by, etc. key_list.append(LiteLLM_DeletedVerificationToken(**key_dict))