-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Open
Labels
Description
What happened?
When setting a timeout for OpenRouter requests (e.g., timeout=10), the request does not timeout at 10 seconds. Instead, it continues for up to 300 seconds (aiohttp's default).
response = await self.router.acompletion(
model="openrouter/anthropic/claude-3-sonnet",
timeout=10
)
# request continues past 10 seconds without timing outcause
OpenRouter uses base_llm_http_handler with aiohttp_transport. In aiohttp_transport.py, the ClientTimeout is created without setting the total field:
# Current code
timeout=ClientTimeout(
sock_connect=timeout.get("connect"),
sock_read=timeout.get("read"),
connect=timeout.get("pool"),
)
# total is not set → defaults to 300sWhy this matters
Inconsistent behavior across providers:
- ✅ Anthropic, Bedrock, OpenAI: uses user timeout correctly
- ❌ OpenRouter: Ignores user timeout, uses 300s as default
Relevant log output
No error logs - request simply doesn't timeout as expected.Are you a ML Ops Team?
Yes
What LiteLLM version are you on ?
v1.76.2
Twitter / LinkedIn details
No response