diff --git a/homeassistant/components/open_router/entity.py b/homeassistant/components/open_router/entity.py index 6667514a93a..ea3aa9d1d82 100644 --- a/homeassistant/components/open_router/entity.py +++ b/homeassistant/components/open_router/entity.py @@ -88,9 +88,13 @@ def _format_tool( custom_serializer: Callable[[Any], Any] | None, ) -> ChatCompletionFunctionToolParam: """Format tool specification.""" + unsupported_keys = {"oneOf", "anyOf", "allOf"} + schema = convert(tool.parameters, custom_serializer=custom_serializer) + schema = {k: v for k, v in schema.items() if k not in unsupported_keys} + tool_spec = FunctionDefinition( name=tool.name, - parameters=convert(tool.parameters, custom_serializer=custom_serializer), + parameters=schema, ) if tool.description: tool_spec["description"] = tool.description