{"record":{"id":"6ad117b5da6b7326","repo":"microsoft/semantic-kernel","slug":"agent-does-not-exist-please-create-the-agent-befo-6ad117","errorCode":null,"errorMessage":"Agent does not exist. Please create the agent before disassociating it with a knowledge base.","messagePattern":"Agent does not exist\\. Please create the agent before disassociating it with a knowledge base\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/semantic_kernel/agents/bedrock/bedrock_agent_base.py","lineNumber":305,"sourceCode":"                    agentVersion=self.agent_model.agent_version,\n                    knowledgeBaseId=knowledge_base_id,\n                    **kwargs,\n                ),\n            )\n\n            await self.prepare_agent_and_wait_until_prepared()\n\n            return response\n        except ClientError as e:\n            logger.error(\n                f\"Failed to associate agent {self.agent_model.agent_id} with knowledge base {knowledge_base_id}.\"\n            )\n            raise e\n\n    async def disassociate_agent_knowledge_base(self, knowledge_base_id: str, **kwargs) -> None:\n        \"\"\"Disassociate an agent with a knowledge base.\"\"\"\n        if not self.agent_model.agent_id:\n            raise ValueError(\n                \"Agent does not exist. Please create the agent before disassociating it with a knowledge base.\"\n            )\n\n        try:\n            response = await run_in_executor(\n                None,\n                partial(\n                    self.bedrock_client.disassociate_agent_knowledge_base,\n                    agentId=self.agent_model.agent_id,\n                    agentVersion=self.agent_model.agent_version,\n                    knowledgeBaseId=knowledge_base_id,\n                    **kwargs,\n                ),\n            )\n\n            await self.prepare_agent_and_wait_until_prepared()\n\n            return response","sourceCodeStart":287,"sourceCodeEnd":323,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/agents/bedrock/bedrock_agent_base.py#L287-L323","documentation":"Raised by BedrockAgentBase.disassociate_agent_knowledge_base when self.agent_model.agent_id is falsy. Disassociating a knowledge base requires a created agent whose agent_id is known, since the underlying boto3 disassociate_agent_knowledge_base call needs an agentId parameter.","triggerScenarios":"Calling agent.disassociate_agent_knowledge_base('kb-id') before the agent was created on AWS, after the agent was deleted, or on an object built from settings where creation was skipped.","commonSituations":"Cleanup/teardown code that tries to disassociate knowledge bases from an agent that was never fully created; reusing a deleted agent object; assume-the-agent-exists logic in integration tests where setup failed.","solutions":["Ensure agent creation completed and agent_model.agent_id is set before calling disassociate_agent_knowledge_base.","Guard teardown logic with a check on agent.agent_model.agent_id and skip disassociation if absent.","If the agent may have been deleted, catch the error in cleanup paths and log rather than abort.","Run creation in setup and verify the agent_id propagates to the object used for disassociation."],"exampleFix":"// before\nawait agent.disassociate_agent_knowledge_base('kb-id')  # raises if not created\n// after\nif agent.agent_model.agent_id:\n    await agent.disassociate_agent_knowledge_base('kb-id')\nelse:\n    logger.warning('Skipping disassociate: agent not created')","handlingStrategy":"validation","validationCode":"if agent.agent_model.agent_id:\n    await agent.disassociate_agent_knowledge_base(kb_id)\nelse:\n    logger.warning('Agent not created; skipping disassociate')","typeGuard":"def is_bedrock_agent_created(agent) -> bool:\n    return bool(getattr(getattr(agent, 'agent_model', None), 'agent_id', None))","tryCatchPattern":"try:\n    await agent.disassociate_agent_knowledge_base(kb_id)\nexcept ValueError:\n    logger.warning('Cannot disassociate; agent not created')","preventionTips":["Guard teardown paths with an agent_id check","Avoid reusing deleted/uncleared agent objects for disassociation"],"tags":["bedrock","agent-lifecycle","aws","validation"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}