# linear_updateIssue

Update an existing issue in Linear

Agent View of the PolicyLayer registry record for `linear_updateIssue`. HTML page: https://policylayer.com/tools/linear/linear-updateissue

## Facts

- Tool: `linear_updateIssue`
- Server: Linear (`@linear-mcp-server`) — https://policylayer.com/tools/linear.md
- Install: `npx -y @linear-mcp-server`
- Homepage: https://github.com/https://mcp.linear.app/mcp
- Risk category: Write (Medium risk)
- Registry record: grade D, identity verified
- Server auth posture: gated
- Server rate-limited: no
- Parameters: 12
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | no | ID or identifier of the issue to update (e.g., ABC-123) |
| `title` | string | no | New title for the issue |
| `teamId` | string | no | ID of the team to move the issue to |
| `cycleId` | string | no | ID of the cycle to move the issue to, or null to remove from current cycle |
| `dueDate` | string | no | The new due date for the issue (YYYY-MM-DD format), or null to remove |
| `stateId` | string | no | ID of the new state for the issue |
| `estimate` | number | no | The estimated complexity/points for the issue |
| `labelIds` | array | no | IDs of the labels to set on the issue (replacing existing labels) |
| `parentId` | string | no | ID of the parent issue, or null to convert to a regular issue |
| `priority` | number | no | New priority for the issue (0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low) |
| `projectId` | string | no | ID of the project to move the issue to |
| `sortOrder` | number | no | The position of the issue in relation to other issues |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "linear_updateIssue",
    "arguments": {}
  }
}
```

## Why linear_updateIssue is rated Medium

This tool modifies existing issue records in Linear, which is a reversible write operation. While it changes data, updates are not destructive (data is not deleted) and can typically be undone. The severity is medium because misuse could modify important project tracking data, affecting team workflows, but the impact is recoverable.

From the tool's own definition: "Tool name 'updateIssue' and description 'Update an existing issue in Linear' indicate modification of existing data."

Risk signals: High parameter count (17 properties)

## Use case

AI agents use linear_updateIssue to create or update resources in Linear, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Linear environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Linear:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "linear_updateIssue": {
      "limits": [
        {
          "counter": "linear_updateissue_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Linear (65)

- `linear_deleteInitiative` — Destructive — https://policylayer.com/tools/linear/linear-deleteinitiative.md
- `get_document` — Read — https://policylayer.com/tools/linear/get-document.md
- `get_issue` — Read — https://policylayer.com/tools/linear/get-issue.md
- `get_issue_status` — Read — https://policylayer.com/tools/linear/get-issue-status.md
- `get_project` — Read — https://policylayer.com/tools/linear/get-project.md
- `get_team` — Read — https://policylayer.com/tools/linear/get-team.md
- `get_user` — Read — https://policylayer.com/tools/linear/get-user.md
- `linear_getActiveCycle` — Read — https://policylayer.com/tools/linear/linear-getactivecycle.md
- `linear_getComments` — Read — https://policylayer.com/tools/linear/linear-getcomments.md
- `linear_getCycles` — Read — https://policylayer.com/tools/linear/linear-getcycles.md
- `linear_getInitiativeById` — Read — https://policylayer.com/tools/linear/linear-getinitiativebyid.md
- `linear_getInitiativeProjects` — Read — https://policylayer.com/tools/linear/linear-getinitiativeprojects.md
- `linear_getInitiatives` — Read — https://policylayer.com/tools/linear/linear-getinitiatives.md
- `linear_getIssueById` — Read — https://policylayer.com/tools/linear/linear-getissuebyid.md
- `linear_getIssueHistory` — Read — https://policylayer.com/tools/linear/linear-getissuehistory.md
- `linear_getIssues` — Read — https://policylayer.com/tools/linear/linear-getissues.md
- `linear_getLabels` — Read — https://policylayer.com/tools/linear/linear-getlabels.md
- `linear_getOrganization` — Read — https://policylayer.com/tools/linear/linear-getorganization.md
- `linear_getProjectIssues` — Read — https://policylayer.com/tools/linear/linear-getprojectissues.md
- `linear_getProjects` — Read — https://policylayer.com/tools/linear/linear-getprojects.md
- `linear_getTeams` — Read — https://policylayer.com/tools/linear/linear-getteams.md
- `linear_getUsers` — Read — https://policylayer.com/tools/linear/linear-getusers.md
- `linear_getViewer` — Read — https://policylayer.com/tools/linear/linear-getviewer.md
- `linear_getWorkflowStates` — Read — https://policylayer.com/tools/linear/linear-getworkflowstates.md
- `linear_searchIssues` — Read — https://policylayer.com/tools/linear/linear-searchissues.md
- `list_comments` — Read — https://policylayer.com/tools/linear/list-comments.md
- `list_cycles` — Read — https://policylayer.com/tools/linear/list-cycles.md
- `list_documents` — Read — https://policylayer.com/tools/linear/list-documents.md
- `list_issue_labels` — Read — https://policylayer.com/tools/linear/list-issue-labels.md
- `list_issue_statuses` — Read — https://policylayer.com/tools/linear/list-issue-statuses.md
- …and 35 more: https://policylayer.com/tools/linear.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=linear · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/linear
