pydantic/pydantic · error · PydanticUserError
invalid-annotated-type
invalid-annotated-type
Error message
'{annotation}' cannot annotate '{annotated_type}'. What it means
Error "'{annotation}' cannot annotate '{annotated_type}'." thrown in pydantic/pydantic.
Source
Thrown at pydantic/types.py:2234
kibit, mibit, gibit, tibit, pibit, eibit (bit units).
Returns:
The byte size in the new unit.
"""
try:
unit_div = self.byte_sizes[unit.lower()]
except KeyError:
raise PydanticCustomError('byte_size_unit', 'Could not interpret byte unit: {unit}', {'unit': unit})
return self / unit_div
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DATE TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def _check_annotated_type(annotated_type: str, expected_type: str, annotation: str) -> None:
if annotated_type != expected_type:
raise PydanticUserError(f"'{annotation}' cannot annotate '{annotated_type}'.", code='invalid-annotated-type')
if TYPE_CHECKING:
PastDate = Annotated[date, ...]
FutureDate = Annotated[date, ...]
else:
class PastDate:
"""A date in the past."""
@classmethod
def __get_pydantic_core_schema__(
cls, source: type[Any], handler: GetCoreSchemaHandler
) -> core_schema.CoreSchema:
if cls is source:
# used directly as a type
return core_schema.date_schema(now_op='past')
else:View on GitHub (pinned to 2e5f0e2b42)
When it happens
Trigger: Thrown at pydantic/types.py:2234 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/989c113154e1a625.json.
Report an issue: GitHub.