BerriAI/litellm · error · HTTPException
Redis cache not configured. Polling requires Redis.
Error message
Redis cache not configured. Polling requires Redis.
What it means
Polling guard on the response retrieval endpoint: the response_id is a polling ID, but redis_usage_cache is None on the proxy server — asynchronous response polling stores state in Redis, so without Redis configured the polling feature cannot work; surfaced as a 500 configuration error.
Source
Thrown at litellm/proxy/response_api_endpoints/endpoints.py:712
llm_router,
proxy_config,
proxy_logging_obj,
redis_usage_cache,
select_data_generator,
user_api_base,
user_max_tokens,
user_model,
user_request_timeout,
user_temperature,
version,
)
from litellm.proxy.response_polling.polling_handler import ResponsePollingHandler
# Check if this is a polling ID
if ResponsePollingHandler.is_polling_id(response_id):
# Handle polling response
if not redis_usage_cache:
raise HTTPException(
status_code=500,
detail="Redis cache not configured. Polling requires Redis.",
)
polling_handler: Final = ResponsePollingHandler(redis_cache=redis_usage_cache)
# Get current state from cache
state: Final = await polling_handler.get_state(response_id)
if not state:
raise HTTPException(
status_code=404,
detail=f"Polling response {response_id} not found or expired",
)
# Return the whole state directly (OpenAI Response object format)
# https://platform.openai.com/docs/api-reference/responses/object
return stateView on GitHub (pinned to 77b7c6c40c)
Solutions
- Configure Redis (redis_host/redis_port/redis_password or REDIS_URL) in the proxy config to enable response polling.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/response_api_endpoints/endpoints.py:712 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/e6b54d9746e7e076.
Report an issue: GitHub.