microsoft/autogen · error · ValueError

Tool override name '{override_name}' is used by multiple too

Error message

Tool override name '{override_name}' is used by multiple tools: '{existing_original}' and '{original_name}'. Override names must be unique.

What it means

Error "Tool override name '{override_name}' is used by multiple tools: '{existing_original}' and '{original_name}'. Override names must be unique." thrown in microsoft/autogen.

Source

Thrown at python/packages/autogen-ext/src/autogen_ext/tools/mcp/_workbench.py:256

    def __init__(
        self,
        server_params: McpServerParams,
        tool_overrides: Optional[Dict[str, ToolOverride]] = None,
        host: McpSessionHost | None = None,
    ) -> None:
        self._server_params = server_params
        self._tool_overrides = tool_overrides or {}

        # Build reverse mapping from override names to original names for call_tool
        self._override_name_to_original: Dict[str, str] = {}
        for original_name, override in self._tool_overrides.items():
            override_name = override.name
            if override_name and override_name != original_name:
                # Check for conflicts with other override names
                if override_name in self._override_name_to_original:
                    existing_original = self._override_name_to_original[override_name]
                    raise ValueError(
                        f"Tool override name '{override_name}' is used by multiple tools: "
                        f"'{existing_original}' and '{original_name}'. Override names must be unique."
                    )
                self._override_name_to_original[override_name] = original_name

        self._host = host

        # self._session: ClientSession | None = None
        self._actor: McpSessionActor | None = None
        self._actor_loop: asyncio.AbstractEventLoop | None = None
        self._read = None
        self._write = None

    @property
    def server_params(self) -> McpServerParams:
        return self._server_params

    async def list_tools(self) -> List[ToolSchema]:

View on GitHub (pinned to 027ecf0a37)

Solutions

  1. Make override names unique

Example fix

Rename one of the conflicting overrides

When it happens

Trigger: Thrown at python/packages/autogen-ext/src/autogen_ext/tools/mcp/_workbench.py:256 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of microsoft/autogen@027ecf0a37 (2026-08-15). Data as JSON: /api/errors/2231e2b28d8a8da3. Report an issue: GitHub.