home-assistant/core · error · IntentRecognitionError
intent-not-supported
intent-not-supported
Error message
Intent recognition engine {engine} is not found What it means
IntentRecognitionError with code intent-not-supported is raised in prepare_recognize_intent when async_get_agent_info cannot resolve the pipeline's configured conversation_engine (or the default HOME_ASSISTANT_AGENT if none set). The pipeline names a conversation engine that is not registered, so intent recognition cannot be prepared.
Source
Thrown at homeassistant/components/assist_pipeline/pipeline.py:1069
raise IntentRecognitionError(
code="intent-agent-not-found",
message=(
f"Intent recognition engine"
f" {self._conversation_data.continue_conversation_agent}"
" asked for follow-up but is no longer found"
),
)
self._intent_agent_only = True
else:
agent_info = conversation.async_get_agent_info(
self.hass,
self.pipeline.conversation_engine or conversation.HOME_ASSISTANT_AGENT,
)
if agent_info is None:
engine = self.pipeline.conversation_engine or "default"
raise IntentRecognitionError(
code="intent-not-supported",
message=f"Intent recognition engine {engine} is not found",
)
self.intent_agent = agent_info
async def recognize_intent(
self,
intent_input: str,
conversation_id: str,
conversation_extra_system_prompt: str | None,
) -> tuple[str, bool]:
"""Run intent recognition portion of pipeline.
Returns (speech, all_targets_in_satellite_area).
"""
if self.intent_agent is None or self._conversation_data is None:
raise RuntimeError("Recognize intent was not prepared")View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Open Settings > Voice assistants, edit the pipeline, and select an existing conversation agent (or clear the field to use the default).
- Confirm the conversation integration is enabled and the agent entity is listed in Developer Tools > States.
- Restart Home Assistant if a conversation agent integration failed to load on boot.
- Fix the stored value in .storage/assist_pipeline.json if it references a stale entity id.
Example fix
# before
pipeline = Pipeline(conversation_engine="conversation.chatgpt") # deleted entity
# after
from homeassistant.components import conversation
if conversation.async_get_agent_info(hass, pipeline.conversation_engine or conversation.HOME_ASSISTANT_AGENT) is None:
pipeline = dataclasses.replace(pipeline, conversation_engine=None) # default agent Defensive patterns
Strategy: validation
Validate before calling
from homeassistant.components import conversation
agent_info = conversation.async_get_agent_info(
hass, pipeline.conversation_engine or conversation.HOME_ASSISTANT_AGENT
)
if agent_info is None:
_LOGGER.warning("Conversation engine missing: %s", pipeline.conversation_engine) Try / catch
from homeassistant.components.assist_pipeline.error import IntentRecognitionError
try:
await pipeline_job.run()
except IntentRecognitionError as err:
if err.code == "intent-not-supported":
# reselect conversation agent
... Prevention
- Validate pipeline.conversation_engine resolves before exposing the pipeline to users.
- Update pipelines when conversation agent entities are removed.
When it happens
Trigger: A pipeline whose conversation_engine references a missing conversation agent entity, or the default conversation integration itself failed to load, and a run enters the INTENT stage.
Common situations: Conversation agent entity deleted or renamed while a pipeline still points at it; the default conversation integration disabled; a custom conversation agent integration that failed setup; importing a pipeline config from another instance.
Related errors
- stt-provider-missing
- intent-agent-not-found
- intent-failed
- tts-not-supported
- AI Task media source requires at least one media directory c
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/77b115150f66295c.
Report an issue: GitHub.