microsoft/autogen · error · ValueError

Tool override name '{override.name}' conflicts with existing

Error message

Tool override name '{override.name}' conflicts with existing tool name. Override names must not conflict with any tool names.

What it means

Error "Tool override name '{override.name}' conflicts with existing tool name. Override names must not conflict with any tool names." thrown in microsoft/autogen.

Source

Thrown at python/packages/autogen-core/src/autogen_core/tools/_static_workbench.py:55

    component_provider_override = "autogen_core.tools.StaticWorkbench"
    component_config_schema = StaticWorkbenchConfig

    def __init__(
        self, tools: List[BaseTool[Any, Any]], tool_overrides: Optional[Dict[str, ToolOverride]] = None
    ) -> None:
        self._tools = tools
        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] = {}
        existing_tool_names = {tool.name for tool in self._tools}

        for original_name, override in self._tool_overrides.items():
            if override.name and override.name != original_name:
                # Check for conflicts with existing tool names
                if override.name in existing_tool_names and override.name != original_name:
                    raise ValueError(
                        f"Tool override name '{override.name}' conflicts with existing tool name. "
                        f"Override names must not conflict with any tool names."
                    )
                # 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

    async def list_tools(self) -> List[ToolSchema]:
        result_schemas: List[ToolSchema] = []
        for tool in self._tools:
            original_schema = tool.schema

            # Apply overrides if they exist for this tool

View on GitHub (pinned to 027ecf0a37)

Solutions

  1. Choose a unique override name not used by any tool

Example fix

Rename the override so it does not collide with tool names

When it happens

Trigger: Thrown at python/packages/autogen-core/src/autogen_core/tools/_static_workbench.py:55 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/ef9fb36f259834a0. Report an issue: GitHub.