{"record":{"id":"753872737849a02a","repo":"microsoft/autogen","slug":"tool-override-name-override-name-is-used-by-mu","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-core/src/autogen_core/tools/_static_workbench.py","lineNumber":62,"sourceCode":"        self._tools = tools\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        existing_tool_names = {tool.name for tool in self._tools}\n\n        for original_name, override in self._tool_overrides.items():\n            if override.name and override.name != original_name:\n                # Check for conflicts with existing tool names\n                if override.name in existing_tool_names and override.name != original_name:\n                    raise ValueError(\n                        f\"Tool override name '{override.name}' conflicts with existing tool name. \"\n                        f\"Override names must not conflict with any tool names.\"\n                    )\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    async def list_tools(self) -> List[ToolSchema]:\n        result_schemas: List[ToolSchema] = []\n        for tool in self._tools:\n            original_schema = tool.schema\n\n            # Apply overrides if they exist for this tool\n            if tool.name in self._tool_overrides:\n                override = self._tool_overrides[tool.name]\n                # Create a new ToolSchema with overrides applied\n                schema: ToolSchema = {\n                    \"name\": override.name if override.name is not None else original_schema[\"name\"],\n                    \"description\": override.description\n                    if override.description is not None","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/microsoft/autogen/blob/027ecf0a379bcc1d09956d46d12d44a3ad9cee14/python/packages/autogen-core/src/autogen_core/tools/_static_workbench.py#L44-L80","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-core/src/autogen_core/tools/_static_workbench.py:62 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Give each override a distinct name"],"exampleFix":"Make override names unique across the workbench","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-15T22:17:37.221Z"}