Description
retrieve_work_item_by_identifier fails with a Pydantic validation error when the returned work item has one or more assignees.
Error
1 validation error for WorkItemDetail
assignees.0
Input should be a valid dictionary or instance of UserLite [type=model_type, input_value='<uuid-string>', input_type=str]
For further information visit https://errors.pydantic.dev/2.12/v/model_type
Steps to reproduce
- Assign a user to any work item in Plane
- Call
retrieve_work_item_by_identifier(project_identifier="PREFIX", issue_identifier=N)
- Observe Pydantic validation error
Expected behavior
The tool should return the work item data, including assignees as expanded UserLite objects or raw UUID strings that the model can handle.
Actual behavior
The Plane API returns assignees as an array of UUID strings (e.g. ["uuid"]), but the WorkItemDetail Pydantic model expects an array of UserLite dicts. This causes a validation error.
Work items without assignees (empty array) work fine.
Workaround
Use list_work_items(project_id=...) and filter by sequence_id instead.
Environment
plane-mcp-server 0.2.8
- Self-hosted Plane instance
- Python 3.10
Description
retrieve_work_item_by_identifierfails with a Pydantic validation error when the returned work item has one or more assignees.Error
Steps to reproduce
retrieve_work_item_by_identifier(project_identifier="PREFIX", issue_identifier=N)Expected behavior
The tool should return the work item data, including assignees as expanded
UserLiteobjects or raw UUID strings that the model can handle.Actual behavior
The Plane API returns
assigneesas an array of UUID strings (e.g.["uuid"]), but theWorkItemDetailPydantic model expects an array ofUserLitedicts. This causes a validation error.Work items without assignees (empty array) work fine.
Workaround
Use
list_work_items(project_id=...)and filter bysequence_idinstead.Environment
plane-mcp-server0.2.8