{"record":{"id":"2231e2b28d8a8da3","repo":"microsoft/autogen","slug":"tool-override-name-override-name-is-used-by-mu-2231e2","errorCode":null,"errorMessage":"Tool override name '{override_name}' is used by multiple tools: '{existing_original}' and '{original_name}'. Override names must be unique.","messagePattern":"Tool override name '(.+?)' is used by multiple tools: '(.+?)' and '(.+?)'\\. Override names must be unique\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/packages/autogen-ext/src/autogen_ext/tools/mcp/_workbench.py","lineNumber":256,"sourceCode":"\n    def __init__(\n        self,\n        server_params: McpServerParams,\n        tool_overrides: Optional[Dict[str, ToolOverride]] = None,\n        host: McpSessionHost | None = None,\n    ) -> None:\n        self._server_params = server_params\n        self._tool_overrides = tool_overrides or {}\n\n        # Build reverse mapping from override names to original names for call_tool\n        self._override_name_to_original: Dict[str, str] = {}\n        for original_name, override in self._tool_overrides.items():\n            override_name = override.name\n            if override_name and override_name != original_name:\n                # Check for conflicts with other override names\n                if override_name in self._override_name_to_original:\n                    existing_original = self._override_name_to_original[override_name]\n                    raise ValueError(\n                        f\"Tool override name '{override_name}' is used by multiple tools: \"\n                        f\"'{existing_original}' and '{original_name}'. Override names must be unique.\"\n                    )\n                self._override_name_to_original[override_name] = original_name\n\n        self._host = host\n\n        # self._session: ClientSession | None = None\n        self._actor: McpSessionActor | None = None\n        self._actor_loop: asyncio.AbstractEventLoop | None = None\n        self._read = None\n        self._write = None\n\n    @property\n    def server_params(self) -> McpServerParams:\n        return self._server_params\n\n    async def list_tools(self) -> List[ToolSchema]:","sourceCodeStart":238,"sourceCodeEnd":274,"githubUrl":"https://github.com/microsoft/autogen/blob/027ecf0a379bcc1d09956d46d12d44a3ad9cee14/python/packages/autogen-ext/src/autogen_ext/tools/mcp/_workbench.py#L238-L274","documentation":"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.","triggerScenarios":"Thrown at python/packages/autogen-ext/src/autogen_ext/tools/mcp/_workbench.py:256 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Make override names unique"],"exampleFix":"Rename one of the conflicting overrides","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"027ecf0a379bcc1d09956d46d12d44a3ad9cee14","analyzedAt":"2026-08-15T03:38:00.719Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}