microsoft/autogen · error · UnsupportedKeywordError
Unsupported or missing type `{json_type}` in union
Error message
Unsupported or missing type `{json_type}` in union What it means
Error "Unsupported or missing type `{json_type}` in union" thrown in microsoft/autogen.
Source
Thrown at python/packages/autogen-core/src/autogen_core/utils/_json_to_pydantic.py:187
for k, v in schema.items():
if k not in {"allOf", "properties", "required"}:
merged[k] = v
merged["required"] = list(set(merged["required"]))
schema = merged
return self._json_schema_to_model(schema, model_name, root_schema)
def _resolve_union_types(self, schemas: List[Dict[str, Any]]) -> List[Any]:
types: List[Any] = []
for s in schemas:
if "$ref" in s:
types.append(self.get_ref(s["$ref"].split("/")[-1]))
elif "enum" in s:
types.append(Literal[tuple(s["enum"])] if len(s["enum"]) > 0 else Any)
else:
json_type = s.get("type")
if json_type not in TYPE_MAPPING:
raise UnsupportedKeywordError(f"Unsupported or missing type `{json_type}` in union")
# Handle array types with items specification
if json_type == "array" and "items" in s:
item_schema = s["items"]
if "$ref" in item_schema:
item_type = self.get_ref(item_schema["$ref"].split("/")[-1])
else:
item_type_name = item_schema.get("type")
if item_type_name is None:
item_type = str
elif item_type_name not in TYPE_MAPPING:
raise UnsupportedKeywordError(f"Unsupported item type `{item_type_name}` in union array")
else:
item_type = TYPE_MAPPING[item_type_name]
constraints = {}
if "minItems" in s:
constraints["min_length"] = s["minItems"]View on GitHub (pinned to 027ecf0a37)
Solutions
- Use only supported JSON types inside unions
Example fix
Replace the unsupported union member with a supported type
When it happens
Trigger: Thrown at python/packages/autogen-core/src/autogen_core/utils/_json_to_pydantic.py:187 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/b6db1f52d5ddd6bd.
Report an issue: GitHub.