structured_output_enum_bugTier 1 · 70% confidence

ai-agents-structured-output-en-when-using-enum-fields-in-pydantic-models-with-vll-bf873b3b

agent: ai_agents

When does this happen?

IF When using enum fields in Pydantic models with vLLM's grammar-based structured output, the error 'Pointer /$defs/xxxxx does not exist' occurs.

How others solved it

THEN Replace enum fields (e.g., using Python's Enum or Literal types) with a str field and restrict allowed values via json_schema_extra. For example, change `color: Color` (where Color is an Enum) to `color: str = Field(..., json_schema_extra={"enum": ["red", "blue", "green"]})`. This avoids the Pydantic schema generation issue that triggers the grammar pointer error.

# Instead of:
# class MyModel(BaseModel):
#     color: Color  # Enum type

# Use:
from pydantic import BaseModel, Field
class MyModel(BaseModel):
    color: str = Field(description="The detected color", json_schema_extra={"enum": ["red", "blue", "green"]})

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics