Skip to content

retrieve_work_item_by_identifier fails with Pydantic validation error when work item has assignees #98

@gzl10g

Description

@gzl10g

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

  1. Assign a user to any work item in Plane
  2. Call retrieve_work_item_by_identifier(project_identifier="PREFIX", issue_identifier=N)
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions