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

  1. Open Settings > Voice assistants, edit the pipeline, and select an existing conversation agent (or clear the field to use the default).
  2. Confirm the conversation integration is enabled and the agent entity is listed in Developer Tools > States.
  3. Restart Home Assistant if a conversation agent integration failed to load on boot.
  4. 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

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


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/77b115150f66295c. Report an issue: GitHub.