{"record":{"id":"e5ca4136f45ca3e0","repo":"microsoft/semantic-kernel","slug":"failed-to-initialize-the-amazon-bedrock-agent-sett","errorCode":null,"errorMessage":"Failed to initialize the Amazon Bedrock Agent settings: {e}","messagePattern":"Failed to initialize the Amazon Bedrock Agent settings: (.+?)","errorType":"exception","errorClass":"AgentInitializationException","httpStatus":null,"severity":"error","filePath":"python/semantic_kernel/agents/bedrock/bedrock_agent.py","lineNumber":219,"sourceCode":"            function_choice_behavior (FunctionChoiceBehavior, optional): The function choice behavior for accessing\n                the kernel functions and filters. Only FunctionChoiceType.AUTO is supported.\n            arguments (KernelArguments, optional): The kernel arguments.\n            prompt_template_config (PromptTemplateConfig, optional): The prompt template configuration.\n            env_file_path (str, optional): The path to the environment file.\n            env_file_encoding (str, optional): The encoding of the environment file.\n\n        Returns:\n            An instance of BedrockAgent with the created agent.\n        \"\"\"\n        try:\n            bedrock_agent_settings = BedrockAgentSettings(\n                agent_resource_role_arn=agent_resource_role_arn,\n                foundation_model=foundation_model,\n                env_file_path=env_file_path,\n                env_file_encoding=env_file_encoding,\n            )\n        except ValidationError as e:\n            raise AgentInitializationException(f\"Failed to initialize the Amazon Bedrock Agent settings: {e}\") from e\n\n        import boto3\n        from botocore.exceptions import ClientError\n\n        bedrock_runtime_client = bedrock_runtime_client or boto3.client(\"bedrock-agent-runtime\")\n        bedrock_client = bedrock_client or boto3.client(\"bedrock-agent\")\n\n        try:\n            response = await run_in_executor(\n                None,\n                partial(\n                    bedrock_client.create_agent,\n                    agentName=name,\n                    foundationModel=bedrock_agent_settings.foundation_model,\n                    agentResourceRoleArn=bedrock_agent_settings.agent_resource_role_arn,\n                    instruction=instructions,\n                ),\n            )","sourceCodeStart":201,"sourceCodeEnd":237,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/agents/bedrock/bedrock_agent.py#L201-L237","documentation":"Raised by BedrockAgent.create_and_prepare_agent when BedrockAgentSettings (a Pydantic KernelBaseSettings model) fails validation. BedrockAgentSettings requires agent_resource_role_arn and foundation_model, loaded from env vars prefixed BEDROCK_AGENT_ (or a .env file). A ValidationError means one or both required fields are missing or empty.","triggerScenarios":"Called when BedrockAgentSettings(...) is constructed inside create_and_prepare_agent and agent_resource_role_arn/foundation_model are neither passed as arguments nor found in environment variables / .env file.","commonSituations":"Missing BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN or BEDROCK_AGENT_FOUNDATION_MODEL environment variables; .env file not on the expected path; wrong env_file_encoding; typo in env var names; running in an environment (CI, container) without AWS config exported; forgot to call load_dotenv().","solutions":["Set the env vars: export BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN=<iam-role-arn> and export BEDROCK_AGENT_FOUNDATION_MODEL=<model-id>.","Pass the values explicitly to create_and_prepare_agent: agent_resource_role_arn=..., foundation_model=....","Create a .env file in the project root with BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN and BEDROCK_AGENT_FOUNDATION_MODEL, and pass env_file_path if it is not in the default location.","Verify the env var names match the prefix BEDROCK_AGENT_ exactly."],"exampleFix":"// before\nagent = await BedrockAgent.create_and_prepare_agent(\n    name=\"my-agent\", instructions=\"...\"\n)  # missing role/model\n\n// after\nagent = await BedrockAgent.create_and_prepare_agent(\n    name=\"my-agent\",\n    instructions=\"...\",\n    agent_resource_role_arn=\"arn:aws:iam::123456789012:role/BedrockAgentRole\",\n    foundation_model=\"anthropic.claude-3-sonnet-20240229-v1:0\",\n)","handlingStrategy":"try-catch","validationCode":"import os\n\ndef validate_bedrock_settings_present() -> None:\n    missing = [\n        v for v in (\n            \"BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN\",\n            \"BEDROCK_AGENT_FOUNDATION_MODEL\",\n        ) if not os.getenv(v)\n    ]\n    if missing:\n        raise EnvironmentError(f\"Missing required env vars: {missing}\")","typeGuard":null,"tryCatchPattern":"from semantic_kernel.exceptions.agent_exceptions import AgentInitializationException\n\ntry:\n    agent = await BedrockAgent.create_and_prepare_agent(\n        name=\"x\", instructions=\"...\",\n        agent_resource_role_arn=os.getenv(\"BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN\"),\n        foundation_model=os.getenv(\"BEDROCK_AGENT_FOUNDATION_MODEL\"),\n    )\nexcept AgentInitializationException as e:\n    if \"Failed to initialize\" in str(e):\n        # surface missing-settings guidance to the operator\n        raise SystemExit(\"Set BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN and BEDROCK_AGENT_FOUNDATION_MODEL\") from e\n    raise","preventionTips":["Set BEDROCK_AGENT_AGENT_RESOURCE_ROLE_ARN and BEDROCK_AGENT_FOUNDATION_MODEL in your environment or .env.","Pass the values explicitly to create_and_prepare_agent to avoid env-var ambiguity.","Validate required env vars at application startup before calling agent creation."],"tags":["bedrock","settings","pydantic","configuration","environment-variables"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}