# pydantic_core._pydantic_core.ValidationError: 1 validation error for Event
  Unable to extract tag using discriminator 'kind' [type=union_tag_not_found, input_value={'type': 'click'}, input_type=dict]

- **ID:** `python/pydantic-union-tag-required`
- **Domain:** python
- **Category:** data_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

A discriminated union expects a discriminator key ('kind') but the input provides a different key ('type').

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 2.x | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   from typing import Literal, Union, Annotated
from pydantic import BaseModel, Field
class Click(BaseModel):
    type: Literal['click']
    x: int
class View(BaseModel):
    type: Literal['view']
    url: str
Event = Annotated[Union[Click, View], Field(discriminator='type')]
   ```
2. **** (80% success)
   ```
   class Click(BaseModel):
    kind: Literal['click'] = Field(validation_alias=AliasChoices('kind','type'))
   ```

## Dead Ends

- **** — Literal values on subclasses still declare kind='click' etc.; tag mismatch persists. (55% fail)
- **** — Loses discriminated parsing; downstream isinstance checks become unreliable. (60% fail)
- **** — Works but silently mutates payloads; breaks strict round-trip serialization. (40% fail)
