{"record":{"id":"5f34c4d5112e17f8","repo":"home-assistant/core","slug":"intent-agent-not-found","errorCode":"intent-agent-not-found","errorMessage":"Intent recognition engine {self._conversation_data.continue_conversation_agent} asked for follow-up but is no longer found","messagePattern":"Intent recognition engine (.+?) asked for follow-up but is no longer found","errorType":"exception","errorClass":"IntentRecognitionError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/assist_pipeline/pipeline.py","lineNumber":1051,"sourceCode":"                        )\n                    )\n                    sent_vad_start = True\n\n            yield chunk.audio\n\n    async def prepare_recognize_intent(self, session: chat_session.ChatSession) -> None:\n        \"\"\"Prepare recognizing an intent.\"\"\"\n        self._conversation_data = async_get_pipeline_conversation_data(\n            self.hass, session\n        )\n\n        if self._conversation_data.continue_conversation_agent is not None:\n            agent_info = conversation.async_get_agent_info(\n                self.hass, self._conversation_data.continue_conversation_agent\n            )\n            self._conversation_data.continue_conversation_agent = None\n            if agent_info is None:\n                raise IntentRecognitionError(\n                    code=\"intent-agent-not-found\",\n                    message=(\n                        f\"Intent recognition engine\"\n                        f\" {self._conversation_data.continue_conversation_agent}\"\n                        \" asked for follow-up but is no longer found\"\n                    ),\n                )\n            self._intent_agent_only = True\n\n        else:\n            agent_info = conversation.async_get_agent_info(\n                self.hass,\n                self.pipeline.conversation_engine or conversation.HOME_ASSISTANT_AGENT,\n            )\n\n            if agent_info is None:\n                engine = self.pipeline.conversation_engine or \"default\"\n                raise IntentRecognitionError(","sourceCodeStart":1033,"sourceCodeEnd":1069,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/assist_pipeline/pipeline.py#L1033-L1069","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Re-add or re-enable the conversation agent integration whose entity was driving the follow-up.","Clear the conversation session (new conversation_id) so the pipeline does not try to continue with the missing agent.","Verify the agent entity id still exists under the conversation integration (States/Developer Tools) and matches what the dialog expects.","Guard the UX: catch this error and restart the conversation from the default agent."],"exampleFix":"# before\nsession = await chat_session.async_get_chat_session(hass, conversation_id)\n# agent from previous turn was deleted; prepare_recognize_intent raises\n\n# after\nfrom homeassistant.components import conversation\nagent_info = conversation.async_get_agent_info(hass, stored_agent_id)\nif agent_info is None:\n    session = await chat_session.async_create_chat_session(hass, None)  # start fresh","handlingStrategy":"validation","validationCode":"from homeassistant.components import conversation\nagent_info = conversation.async_get_agent_info(hass, stored_continue_agent_id)\nif agent_info is None:\n    session = await chat_session.async_create_chat_session(hass, None)  # fresh session","typeGuard":null,"tryCatchPattern":"from homeassistant.components.assist_pipeline.error import IntentRecognitionError\ntry:\n    await pipeline_job.run()\nexcept IntentRecognitionError as err:\n    if err.code == \"intent-agent-not-found\":\n        # start a new conversation_id\n        ...","preventionTips":["Before continuing a dialog, re-resolve the stored agent id against conversation.async_get_agent_info.","When deleting or renaming conversation agents, expect in-flight dialogs to break; document it."],"tags":["assist-pipeline","conversation","agent","multi-turn"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}