pydantic/pydantic · error · TypeError
Expected a class, got {type_param!r}
Error message
Expected a class, got {type_param!r} What it means
Error "Expected a class, got {type_param!r}" thrown in pydantic/pydantic.
Source
Thrown at pydantic/_internal/_generate_schema.py:1757
else:
return self._type_schema()
elif is_union_origin(get_origin(type_param)):
return self._union_is_subclass_schema(type_param)
else:
if typing_objects.is_self(type_param):
type_param = self._resolve_self_type(type_param)
if _typing_extra.is_generic_alias(type_param):
raise PydanticUserError(
'Subscripting `type[]` with an already parametrized type is not supported. '
f'Instead of using type[{type_param!r}], use type[{_repr.display_as_type(get_origin(type_param))}].',
code=None,
)
if not inspect.isclass(type_param):
# when using type[None], this doesn't type convert to type[NoneType], and None isn't a class
# so we handle it manually here
if type_param is None:
return core_schema.is_subclass_schema(NoneType)
raise TypeError(f'Expected a class, got {type_param!r}')
return core_schema.is_subclass_schema(type_param)
def _sequence_schema(self, items_type: Any) -> core_schema.CoreSchema:
"""Generate schema for a Sequence, e.g. `Sequence[int]`."""
from ._serializers import serialize_sequence_via_list
item_type_schema = self.generate_schema(items_type)
list_schema = core_schema.list_schema(item_type_schema)
json_schema = smart_deepcopy(list_schema)
python_schema = core_schema.is_instance_schema(typing.Sequence, cls_repr='Sequence')
if not typing_objects.is_any(items_type):
from ._validators import sequence_validator
python_schema = core_schema.chain_schema(
[python_schema, core_schema.no_info_wrap_validator_function(sequence_validator, list_schema)],
)
View on GitHub (pinned to 2e5f0e2b42)
When it happens
Trigger: Thrown at pydantic/_internal/_generate_schema.py:1757 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of pydantic/pydantic@2e5f0e2b42 (2026-08-04).
Data as JSON: /data/errors/cf83c0b4cd8c4c48.json.
Report an issue: GitHub.