home-assistant/core · error · IntentRecognitionError

intent-agent-not-found

intent-agent-not-found

Error message

Intent recognition engine {self._conversation_data.continue_conversation_agent} asked for follow-up but is no longer found

What it means

IntentRecognitionError with code intent-agent-not-found is raised in prepare_recognize_intent when a conversation that is mid-dialog (continue_conversation_agent set by a previous turn's conversation agent asking for follow-up) can no longer resolve that agent via conversation.async_get_agent_info. Note the code nulls continue_conversation_agent before building the message, so the embedded engine name renders as 'None' — a known cosmetic quirk of this raise.

Source

Thrown at homeassistant/components/assist_pipeline/pipeline.py:1051

                        )
                    )
                    sent_vad_start = True

            yield chunk.audio

    async def prepare_recognize_intent(self, session: chat_session.ChatSession) -> None:
        """Prepare recognizing an intent."""
        self._conversation_data = async_get_pipeline_conversation_data(
            self.hass, session
        )

        if self._conversation_data.continue_conversation_agent is not None:
            agent_info = conversation.async_get_agent_info(
                self.hass, self._conversation_data.continue_conversation_agent
            )
            self._conversation_data.continue_conversation_agent = None
            if agent_info is None:
                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(

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Re-add or re-enable the conversation agent integration whose entity was driving the follow-up.
  2. Clear the conversation session (new conversation_id) so the pipeline does not try to continue with the missing agent.
  3. Verify the agent entity id still exists under the conversation integration (States/Developer Tools) and matches what the dialog expects.
  4. Guard the UX: catch this error and restart the conversation from the default agent.

Example fix

# before
session = await chat_session.async_get_chat_session(hass, conversation_id)
# agent from previous turn was deleted; prepare_recognize_intent raises

# after
from homeassistant.components import conversation
agent_info = conversation.async_get_agent_info(hass, stored_agent_id)
if agent_info is None:
    session = await chat_session.async_create_chat_session(hass, None)  # start fresh
Defensive patterns

Strategy: validation

Validate before calling

from homeassistant.components import conversation
agent_info = conversation.async_get_agent_info(hass, stored_continue_agent_id)
if agent_info is None:
    session = await chat_session.async_create_chat_session(hass, None)  # fresh session

Try / catch

from homeassistant.components.assist_pipeline.error import IntentRecognitionError
try:
    await pipeline_job.run()
except IntentRecognitionError as err:
    if err.code == "intent-agent-not-found":
        # start a new conversation_id
        ...

Prevention

When it happens

Trigger: A multi-turn dialog where the previous turn returned a continue_conversation hint, and by the next pipeline run the named conversation agent (e.g. an OpenAI/extended conversation entity) has been deleted, disabled, or its integration unloaded.

Common situations: User deletes or renames a conversation agent entity mid-dialog, an LLM integration is unloaded or fails to set up, or the agent id stored in the chat session no longer matches any registered agent after a restart.

Related errors


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