The catalogue/Linear

Linear

app.linear

Manage issues, projects, and labels in Linear

API keyproductivityRead the source
Version2.0.0
Categoryproductivity
AuthAPI key
Tools20
Transportstdio
LicenceMIT
01

What it does

The app, in its own words.

Linear issue tracking - list, create, update issues, manage projects, labels, teams and users

linearissuestasksproject-management
02

Tools

20 tools the agent can call.

Every one is declared with typed parameters and returns structured results, so the host can render them instead of narrating them.

  • linear-add-commentAdd a comment to a Linear issue. Returns curated { id, body, authorId, authorName, issueId, url, createdAt }. Not retryable. Params: issueId, body, fields?, includeRaw.
  • linear-add-issues-to-projectAttach one or more Linear issues to a project. Returns { projectId, added, failed, results: [{ issueId, identifier?, success, error? }] }.
  • linear-add-labels-to-issueAdd labels to a Linear issue (deduped server-side against existing labels). Returns { issueId, added, total, labelIds }.
  • linear-archive-issueArchive a Linear issue (soft delete). Reversible via un-archive. Returns { success, issueId }.
  • linear-create-issueCreate a Linear issue. Returns curated { id, identifier, title, url, status, priority, assignee, team, createdAt, updatedAt }. Not retryable (no idempotency key). Params: title, teamId, description?, assigneeId?, priority?, projectId?, labelIds?, stateId?, parentId? (UUID or "TER-123"), fields?, includeRaw.
  • linear-create-labelCreate a Linear label. Returns curated { id, name, color, description }. Not retryable. Params: name, teamId, color?, description?, fields?, includeRaw.
  • linear-create-projectCreate a Linear project. Returns curated project shape. Not retryable (no idempotency key). Params: name, teamIds, description?, leadId?, startDate?, targetDate?, fields?, includeRaw.
  • linear-delete-issuePermanently delete a Linear issue. Irreversible. Returns { success, issueId }.
  • linear-delete-labelPermanently delete a Linear label. Irreversible. Returns { success, labelId }.
  • linear-get-issueRetrieve a Linear issue by UUID or identifier (e.g. "TER-123"). Returns curated { id, identifier, title, url, status, priority, assignee, team, project, cycle, labels, description, createdAt, updatedAt }. Params: issueId, fields?, includeRaw.
  • linear-list-issuesList Linear issues with optional filters. Returns curated rows { id, identifier, title, url, status, priority, assignee, team, createdAt, updatedAt }. Params: teamId?, status?, assigneeId?, priority?, limit (1-100, def 50), startCursor, fields?, includeRaw.
  • linear-list-labelsList Linear labels. Returns curated rows { id, name, color, description, isGroup, parentId }. Params: teamId?, limit (1-100, def 50), startCursor, fields?, includeRaw.
  • linear-list-projectsList Linear projects. Returns curated rows { id, name, url, state, icon, color, progress, startDate, targetDate, createdAt, updatedAt }. Params: teamId?, limit (1-100, def 50), startCursor, fields?, includeRaw.
  • linear-list-teamsList Linear teams. Returns curated rows { id, name, key, icon, color, description, private }. Params: limit (1-100, def 50), startCursor, fields?, includeRaw.
  • linear-list-usersList Linear workspace users. Optionally filters by team membership. Returns curated rows { id, name, displayName, email, avatarUrl, active, admin }. Params: teamId?, limit (1-100, def 50), startCursor, fields?, includeRaw.
  • linear-list-workflow-statesList workflow states for a team. Returns curated rows { id, name, type, color, position, description }. Params: teamId, limit (1-100, def 50), startCursor, fields?, includeRaw.
  • linear-remove-issues-from-projectDetach one or more Linear issues from their project. Returns { removed, failed, results: [{ issueId, identifier?, success, error? }] }.
  • linear-remove-labels-from-issueRemove labels from a Linear issue. Returns { issueId, removed, total, labelIds }.
  • linear-update-issueUpdate a Linear issue. Returns curated updated issue. Idempotent per-field — safe to retry. Params: issueId, title?, description?, stateId?, assigneeId?, priority?, projectId?, labelIds?, estimate?, dueDate?, fields?, includeRaw.
  • linear-update-labelUpdate a Linear label. Returns curated updated label. Idempotent per-field. Params: labelId, name?, color?, description?, fields?, includeRaw.
03

Auth and permissions

What it asks for.

Declared in the manifest, in advance. The app cannot reach anything it did not ask for here.

User secrets

API_KEY

Reading further

The manifest and the source for Linear live in the monorepo, alongside the other apps.

Read the sourceBack to the catalogue

Linear · Agent Apps