diff --git a/src/openai/lib/azure.py b/src/openai/lib/azure.py
index b76b83c61c..165b9b82e2 100644
--- a/src/openai/lib/azure.py
+++ b/src/openai/lib/azure.py
@@ -2,7 +2,7 @@
 
 import os
 import inspect
-from typing import Any, Union, Mapping, TypeVar, Callable, Awaitable, overload
+from typing import Any, Union, Mapping, TypeVar, Callable, Awaitable, cast, overload
 from typing_extensions import Self, override
 
 import httpx
@@ -515,7 +515,7 @@ async def _get_azure_ad_token(self) -> str | None:
             token = provider()
             if inspect.isawaitable(token):
                 token = await token
-            if not token or not isinstance(token, str):
+            if not token or not isinstance(cast(Any, token), str):
                 raise ValueError(
                     f"Expected `azure_ad_token_provider` argument to return a string but it returned {token}",
                 )