Skip to main content
HTTP status: 400

Error message

When this error occurs

When tool_choice: { kind: "specific_tool", mcp_alias: "...", name: "..." } carries an mcp_alias, the platform looks the alias up in the effective config’s mcp_servers[]. If no MCP server has that alias for the run (typo? missing entry in a config_override that replaced the conversation’s default list?), the call is rejected synchronously.

How to fix

Use one of the registered aliases — or drop mcp_alias entirely if you meant a caller-declared tool. Sample shapes:
Remember that config_override.mcp_servers replaces the conversation default wholesale — the run sees only what’s listed in the override (or, if absent, the defaults). If you’re overriding the list, every alias your tool_choice references has to be in that override.