Skip to main content
HTTP status: 400

Error message

When this error occurs

tool_choice: { kind: "specific_tool", ... } pins the model to a single tool on iteration 1 of the run. The platform validates that the named tool exists in the effective catalog before kicking off the workflow — better to fail synchronously here than later as a confusing Bedrock-side error inside the agent loop. This error surfaces when either:
  • mcp_alias is absent and name doesn’t appear in caller-declared tools[].
  • mcp_alias is present (and the alias is registered), but name doesn’t appear in that MCP server’s declared tools[].

How to fix

Make sure tool_choice.name matches the catalog exactly:
If you only know the wire form (docs-search_kb), split it: prefix before the first dash becomes mcp_alias, suffix becomes name.