# pydantic.errors.PydanticUserError: Field 'tags' requires a default value or default_factory; mutable defaults are not allowed in Pydantic v2

- **ID:** `python/pydantic-nested-dict-default-mutable`
- **Domain:** python
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

A mutable default (list, dict, set) was provided directly to a field, which Pydantic v2 rejects to avoid shared-state bugs.

## Version Compatibility

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

## Workarounds

1. **** (98% success)
   ```
   from pydantic import BaseModel, Field
class M(BaseModel):
    tags: list[str] = Field(default_factory=list)
   ```
2. **** (90% success)
   ```
   class M(BaseModel):
    tags: list[str] = []  # Pydantic copies per-instance
   ```

## Dead Ends

- **** — Same mutable default problem; Pydantic raises at class definition. (70% fail)
- **** — Callers must handle None everywhere; downstream iteration crashes. (50% fail)
- **** — Bypasses Pydantic field metadata; model_dump and JSON schema lose the default. (55% fail)
