# Argument Validation Error - stateId must be a UUID (Linear MCP update_issue)

**TL;DR:** Resolve the workflow state name to its UUID first (via the team states list), then pass the UUID as the status. The schema implies a name, but the code forwards it as stateId, which the Linear API requires to be a UUID. Or switch to the official mcp.linear.app server, which resolves state names internally.

## The error

```
Argument Validation Error - stateId must be a UUID
```

## Fix it

1. List the team workflow states to get each state's id and name.
   Expected: You see the UUID for Todo, In Progress, Done.
2. Call update_issue with the state UUID instead of the name.
   Expected: The update succeeds.
3. Long term: move to the official Linear MCP server at mcp.linear.app.
   Expected: Status names work directly there.

## When this applies

linear-mcp-server update_issue rejects a status name with the stateId UUID validation error.

## When this does NOT apply

On the official server this is already handled; if it still fails there, the state name is wrong. Auth errors are separate.

## Tool compatibility

jerhadf/linear-mcp-server (deprecated community server)

## Also seen as

- Linear MCP status must be UUID
- stateId must be a UUID linear
- linear update_issue status name fails

## Why it happens

The community server mapped the status argument straight onto the SDK's stateId field without resolving names. The Linear API validates stateId as a UUID, so any name fails validation.

## Edge cases

- State names vary per team; always resolve against the right team.
- The official server accepts state: Done directly.
- Custom workflow states have UUIDs too; list them per team.