home-assistant/core · error · UnknownRequest
Received unknown request {req_type}
Error message
Received unknown request {req_type} What it means
Raised by the Alexa intent endpoint in intent.py: the incoming request message's request.type is looked up in the HANDLERS registry, and an unknown type raises UnknownRequest. Only registered types (SessionEndedRequest, IntentRequest, LaunchRequest) are accepted.
Source
Thrown at homeassistant/components/alexa/intent.py:133
async def async_handle_message(
hass: HomeAssistant, message: dict[str, Any]
) -> dict[str, Any]:
"""Handle an Alexa intent.
Raises:
- UnknownRequest
- intent.UnknownIntent
- intent.InvalidSlotInfo
- intent.IntentError
"""
req = message["request"]
req_type = req["type"]
if not (handler := HANDLERS.get(req_type)):
raise UnknownRequest(f"Received unknown request {req_type}")
return await handler(hass, message)
@HANDLERS.register("SessionEndedRequest")
@HANDLERS.register("IntentRequest")
@HANDLERS.register("LaunchRequest")
async def async_handle_intent(
hass: HomeAssistant, message: dict[str, Any]
) -> dict[str, Any]:
"""Handle an intent request.
Raises:
- intent.UnknownIntent
- intent.InvalidSlotInfo
- intent.IntentError
"""View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Update Home Assistant to the latest version so newly supported request types are handled
- Inspect the posted message payload and confirm request.type matches a registered handler
- If building against this API, only send IntentRequest, LaunchRequest, or SessionEndedRequest
Defensive patterns
Strategy: try-catch
Validate before calling
KNOWN_REQUEST_TYPES = {'IntentRequest', 'LaunchRequest', 'SessionEndedRequest'}
if message['request']['type'] not in KNOWN_REQUEST_TYPES:
return _response('canFulfill', {'canFulfill': 'NO'}) Type guard
def is_known_request_type(message: dict) -> bool:
return message.get('request', {}).get('type') in {'IntentRequest', 'LaunchRequest', 'SessionEndedRequest'} Try / catch
Wrap async_handle_message in try/except UnknownRequest and return a graceful Alexa error response instead of a 500.
Prevention
- Validate request.type against the handler registry before dispatch
- Update Home Assistant when Alexa adds request types
When it happens
Trigger: Alexa (or any client) posts a message with a request type Home Assistant has no handler for, e.g. new Alexa request types like CanFulfillIntentRequest or AudioPlayer events.
Common situations: Amazon introduces new Skill request types; a custom skill posts malformed/unsupported payloads; version drift between the Alexa cloud protocol and the installed Home Assistant release.
Related errors
- INVALID_DIRECTIVE
- INVALID_VALUE
- TEMPERATURE_VALUE_OUT_OF_RANGE
- INVALID_TARGET_STATE
- UNSUPPORTED_THERMOSTAT_MODE
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/acfb82602616adf3.
Report an issue: GitHub.