linear_assignIssue
Assign Linear issues to specific team members or unassign them to manage task ownership and workflow distribution.
Instructions
Assign an issue to a user
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID or identifier of the issue to assign (e.g., ABC-123) | |
| assigneeId | Yes | ID of the user to assign the issue to, or null to unassign |
Implementation Reference
- The core handler function that executes the linear_assignIssue tool. Validates input with isAssignIssueArgs type guard and delegates to LinearService.assignIssue.export function handleAssignIssue(linearService: LinearService) { return async (args: unknown) => { try { if (!isAssignIssueArgs(args)) { throw new Error("Invalid arguments for assignIssue"); } return await linearService.assignIssue(args.issueId, args.assigneeId); } catch (error) { logError("Error assigning issue", error); throw error; } }; }
- The MCP tool definition (schema) for linear_assignIssue, including input and output schemas.export const assignIssueToolDefinition: MCPToolDefinition = { name: "linear_assignIssue", description: "Assign an issue to a user", input_schema: { type: "object", properties: { issueId: { type: "string", description: "ID or identifier of the issue to assign (e.g., ABC-123)", }, assigneeId: { type: "string", description: "ID of the user to assign the issue to, or null to unassign", }, }, required: ["issueId", "assigneeId"], }, output_schema: { type: "object", properties: { success: { type: "boolean" }, issue: { type: "object", properties: { id: { type: "string" }, identifier: { type: "string" }, title: { type: "string" }, assignee: { type: "object" }, url: { type: "string" } } } } } };
- src/tools/handlers/index.ts:88-88 (registration)Registration of the linear_assignIssue tool handler in the tool handlers registry.linear_assignIssue: handleAssignIssue(linearService),
- src/tools/type-guards.ts:252-264 (helper)Type guard function used in the handler to validate arguments for linear_assignIssue.export function isAssignIssueArgs(args: unknown): args is { issueId: string; assigneeId: string; } { return ( typeof args === "object" && args !== null && "issueId" in args && typeof (args as { issueId: string }).issueId === "string" && "assigneeId" in args && typeof (args as { assigneeId: string }).assigneeId === "string" ); }