Skip to content

Linear

Linear

Linear is a streamlined issue tracking and project planning tool for modern teams, featuring fast workflows, keyboard shortcuts, and GitHub integrations. With the Linear integration in SquadOS, your agents can create and update issues, manage projects, list teams and members, and automate development workflows without leaving the chat.

This tool supports two authentication modes: OAuth 2.0 (OAUTH2) and API key (API_KEY). OAuth 2.0 is the recommended method for personal use; API key is suited for automations and service integrations.

You will need the following fields (API key mode):

FieldRequiredDescription
api_keyYesAPI key generated in the Linear dashboard under Settings → API → Personal API keys.

For OAuth 2.0, credentials are managed by Composio — no fields need to be entered manually.

  1. Go to linear.app and log in to your workspace.
  2. In Composio, click Connect on the Linear card and follow the OAuth authorization flow.
  3. You will be redirected to Linear to approve the requested permissions (read, write, issue and comment creation).
  4. After approving, you are returned to SquadOS with the account connected.
  1. Go to linear.app and log in.
  2. Navigate to Settings (gear icon) → APIPersonal API keys.
  3. Click Create key, give it a descriptive name (e.g., “SquadOS”), and click Create.
  4. Copy the generated key — it is only shown once.
  1. Go to Tools in the side menu (/admin/tools).
  2. Open the Available tab and search for Linear.
  3. Click the card to open the details modal and hit Connect.
  4. You’re taken to the secure connection page hosted by Composio, where you authorize access via OAuth 2.0 or enter the API key obtained above.
  5. Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)

LINEAR_CREATE_ATTACHMENT

Creates a new attachment and associates it with a specific, existing Linear issue.

NameTypeRequiredDescription
urlstringYesURL of the attachment’s content (e.g., file, webpage, online resource).
titlestringYesTitle for the attachment.
issue_idstringYesIdentifier of the existing Linear issue to which the attachment will be added. Accepts either UUID format (e.g., ‘590a1127-f98b-49fc-ba74-2df8751c089e’) or issue key format (e.g., ‘GHO-300’, ‘ENG-123’).
subtitlestringNoOptional subtitle or short description for the attachment.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_COMMENT_REACTION

Tool to add a reaction to an existing Linear comment. Use when you want to programmatically react to a comment on an issue.

NameTypeRequiredDescription
emojistringYesEmoji for the reaction. Supports Unicode emojis or shortcodes like ‘:thumbsup:’.
comment_idstringYesIdentifier of the existing Linear comment to add the reaction to.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_LINEAR_COMMENT

Creates a new comment on a specified Linear issue. This action modifies shared workspace data and is not reversible — confirm the target issue and comment content before executing.

NameTypeRequiredDescription
bodystringYesNon-empty comment content, in plain text or Markdown. Must not be whitespace-only.
issueIdstringYesID of the Linear issue to add the comment to. Must be in one of two formats: (1) UUID format: a 36-character string with hyphens (e.g., ‘c5748ccf-c67f-4af4-bd74-fe513dc4c054’), or (2) Shorthand identifier: team key followed by hyphen and issue number (e.g., ‘ENG-123’). Use LINEAR_LIST_LINEAR_ISSUES to retrieve valid issue IDs if needed.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_LINEAR_ISSUE

Creates a new issue in a specified Linear project and team, requiring team_id and title, and allowing optional properties like description, assignee, state, priority, cycle, and due date. All UUID parameters (state_id, assignee_id, cycle_id, label_ids, project_id) must belong to the same team as team_id. The created issue’s id is returned in data.id — capture it for use as parent_id in sub-issues or follow-up operations.

NameTypeRequiredDescription
titlestringYesThe title of the new issue.
team_idstringYesUUID of the team responsible for this issue. Use LINEAR_GET_ALL_LINEAR_TEAMS to retrieve available teams and their UUIDs. Only UUID format is accepted — do not use team keys or names.
cycle_idstringNoUUID of the cycle (sprint) to assign this issue to. Only applicable if the team has cycles feature enabled. Must belong to the same team as team_id.
due_datestringNoThe target completion date in ISO8601 datetime format or YYYY-MM-DD TimelessDate format (e.g., ‘2024-12-31’).
estimateintegerNoThe estimated complexity or effort for the issue as a numerical point value (e.g., 1, 2, 3, 5, 8). Applies only if the estimates feature is enabled for the team.
priorityintegerNoPriority of the issue: 0 = no priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
state_idstringNoUUID of the workflow state to assign to the issue. Must belong to the same team as team_id.
label_idsarrayNoA list of UUIDs for labels to be added to this issue. Linear organizes labels into groups where only ONE label per group can be applied. Use LINEAR_LIST_LINEAR_LABELS with team_id to get valid labels.
parent_idstringNoUUID of an existing issue to set as the parent, creating a sub-issue relationship.
project_idstringNoUUID of the project to associate with this issue. Must belong to the same team as team_id.
assignee_idstringNoUUID of the user to assign to this issue. User must be a member of the team specified in team_id.
descriptionstringNoA detailed description of the issue, which can include markdown formatting.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_LINEAR_ISSUE_RELATION

Create a relationship between two Linear issues using the issueRelationCreate mutation. Use this to establish connections like ‘blocks’, ‘duplicate’, or ‘related’ between issues.

NameTypeRequiredDescription
issue_idstringYesUUID of the primary issue in the relationship.
relation_typestringYesType of relationship between the two issues. Options: ‘blocks’ (this issue blocks the related issue), ‘duplicate’ (this issue is a duplicate of the related issue), ‘related’ (general relationship between issues).
related_issue_idstringYesUUID of the related issue.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_LINEAR_LABEL

Creates a new label in Linear for a specified team, used to categorize and organize issues. Label names must be unique within each team. If a label with the same name already exists, the existing label will be returned.

NameTypeRequiredDescription
namestringYesName of the new label, displayed in the Linear UI. Must be unique within the team.
colorstringYesHexadecimal color code (e.g., ‘#FF0000’) for the label’s appearance in the UI.
team_idstringYesIdentifier of the team for which this label will be created.
descriptionstringNoOptional detailed description for the label, providing context on its use.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_LINEAR_PROJECT

Creates a new Linear project with specified name and team associations.

NameTypeRequiredDescription
namestringYesThe name of the project. Linear permits duplicate project names within a team; uniqueness must be enforced externally if required.
team_idsarrayYesList of team IDs (UUIDs) that this project will be associated with. At least one valid team ID is required. Use LINEAR_GET_ALL_LINEAR_TEAMS to obtain IDs.
iconstringNoOptional icon for the project. Must be a valid icon name string from Linear’s icon set (case-sensitive). Verified valid icon names include: ‘Project’, ‘Rocket’, ‘Bug’, ‘Team’, ‘Calendar’, ‘Home’.
colorstringNoOptional color for the project (hex color code).
lead_idstringNoOptional ID (UUID) of the user who will lead this project.
priorityintegerNoPriority level of the project: 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
start_datestringNoOptional planned start date in YYYY-MM-DD format.
descriptionstringNoOptional description for the project. Supports markdown formatting. Maximum 255 characters.
target_datestringNoOptional planned completion date in YYYY-MM-DD format.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_PROJECT_MILESTONE

Tool to create a project milestone in Linear with a name and optional target date and sort order. Use when you need to add milestones to track progress within a project.

NameTypeRequiredDescription
namestringYesThe name/title of the milestone.
project_idstringYesUUID of the project to which this milestone belongs.
sort_ordernumberNoOptional sort order number for the milestone. Lower numbers appear first.
descriptionstringNoOptional description for the milestone. Supports markdown formatting.
target_datestringNoOptional target date for the milestone in YYYY-MM-DD format.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_CREATE_PROJECT_UPDATE

Tool to create a project status update post for a Linear project. Use when you need to post progress updates, status reports, or announcements for a project.

NameTypeRequiredDescription
bodystringYesThe body content of the project update. Supports markdown formatting. This is the main content describing the project status, progress, blockers, and next steps.
project_idstringYesThe unique identifier (UUID) of the project to create an update for.
healthstringNoHealth status for a project update in Linear: ‘onTrack’, ‘atRisk’, or ‘offTrack’.
is_diff_hiddenbooleanNoOptional flag to control whether the diff (changes since last update) should be hidden in the update. If true, the diff will not be displayed.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_DELETE_LINEAR_ISSUE

Archives an existing Linear issue by its ID, which is Linear’s standard way of deleting issues; the operation is idempotent. Archiving is permanent with no built-in undo — confirm the issue identifier and title before executing, especially in bulk operations.

NameTypeRequiredDescription
issue_idstringYesID of the Linear issue to be archived. Must be in one of two formats: (1) UUID format: a 36-character string with hyphens (e.g., ‘c5748ccf-c67f-4af4-bd74-fe513dc4c054’), or (2) Shorthand identifier: team key followed by hyphen and issue number (e.g., ‘ENG-123’). Plain numeric IDs are NOT valid.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_ALL_LINEAR_TEAMS

DEPRECATED: Use ListLinearTeams instead (returns paginated payloads with members and projects); this tool returns simpler id/name-level data for all teams visible to the connected workspace with no server-side filtering. Match teams on stable team id, not display name, as names are not guaranteed unique.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of teams to return per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_ATTACHMENT

Downloads a specific attachment from a Linear issue; the file_name must include the correct file extension.

NameTypeRequiredDescription
issue_idstringYesThe unique identifier of the Linear issue from which the attachment will be downloaded.
file_namestringYesThe desired name for the downloaded file, including its extension.
attachment_idstringYesThe unique identifier of the specific attachment to download.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_CURRENT_USER

Gets the currently authenticated user’s ID, name, email, and other profile information — this is the account behind the API token, which may be a bot or service account rather than a human user. Use the returned id field (nested under data.viewer) for downstream Linear operations requiring user ID filtering.

NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_CYCLES_BY_TEAM_ID

Retrieves all cycles for a specified Linear team ID; cycles are time-boxed work periods (like sprints). Results are team-scoped to the given team_id. To identify the active cycle, check that the current date (in UTC) falls between a cycle’s startAt and endAt fields.

NameTypeRequiredDescription
team_idstringYesThe team’s unique identifier. Must be a valid UUID (e.g., ‘d282d590-8462-4390-8ef9-98f5ac2190b0’). Use LINEAR_GET_ALL_LINEAR_TEAMS to resolve if unknown.
afterstringNoCursor for pagination. Use the endCursor value from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of cycles to return per page. Maximum 250.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_ISSUE_DEFAULTS

Fetches a Linear team’s default issue estimate and state, useful for pre-filling new issue forms.

NameTypeRequiredDescription
team_idstringYesIdentifier of the Linear team. Must be a valid UUID.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_LINEAR_ISSUE

Retrieves an existing Linear issue’s comprehensive details, including id, identifier, title, description, timestamps, state, team, creator, attachments, comments (with user info and timestamps), subscribers, and due date. Optional fields (labels, project, state, assignee, cycle) may be null.

NameTypeRequiredDescription
issue_idstringYesID of the Linear issue. Must be in one of two formats: (1) UUID format: a 36-character string with hyphens (e.g., ‘c5748ccf-c67f-4af4-bd74-fe513dc4c054’), or (2) Shorthand identifier (e.g., ‘ENG-123’). Plain numeric IDs and full URLs are invalid.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_GET_LINEAR_PROJECT

Retrieves a single Linear project by its unique identifier. Use when verifying a newly created or updated project, or when fetching detailed project information by ID.

NameTypeRequiredDescription
project_idstringYesThe unique identifier (UUID) of the Linear project to retrieve.
include_teamsbooleanNoWhether to include teams associated with the project in the response.
include_membersbooleanNoWhether to include project members in the response.
include_initiativesbooleanNoWhether to include related initiatives in the response.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_ISSUE_DRAFTS

Tool to list issue drafts. Use when you need to fetch draft issues for review or further editing. Check pageInfo.hasNextPage in the response to determine if additional drafts exist beyond the current page.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor from the previous response’s pageInfo to fetch the next set of drafts.
firstintegerNoNumber of draft issues to return.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_ISSUES_BY_TEAM_ID

Tool to list all issues for a specific Linear team, scoped by team ID. Use when you need to retrieve issues belonging to a particular team without fetching workspace-wide issues. This is more efficient than workspace-wide listing followed by client-side filtering.

NameTypeRequiredDescription
team_idstringYesThe unique identifier (UUID) of the Linear team whose issues you want to list.
afterstringNoOpaque pagination cursor for fetching the next page of results. Must be the exact end_cursor value from a previous response’s page_info. Omit for the first page.
firstintegerNoNumber of issues to return per page (forward pagination). Must be between 1 and 250.
include_archivedbooleanNoWhether to include archived issues in the results. Default is false.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_CYCLES

Retrieves all cycles (time-boxed sprint iterations) org-wide from the Linear account; no filters applied. In large multi-team workspaces this produces heavy responses — filter client-side by team ID and date range using each cycle’s startsAt/endsAt fields.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of cycles to return per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_ISSUES

Lists non-archived Linear issues; if project_id is not specified, issues from all accessible projects are returned. Can filter by assignee_id. Only project_id and assignee_id server-side filters are supported; label, state, team, cycle, or date filters must be done client-side or via LINEAR_RUN_QUERY_OR_MUTATION.

NameTypeRequiredDescription
afterstringNoCursor for pagination (opaque string). Use the exact endCursor value from the previous response’s page_info.
firstintegerNoNumber of issues to return. Maximum 250 per page.
project_idstringNoID of the project to filter issues by. If provided, only issues belonging to this project will be returned.
assignee_idstringNoUUID of the user to filter issues by assignee. Use ‘me’ to filter by the current authenticated user, or provide a valid Linear user UUID.
original_cursorstringNoThe original cursor value before it was reset.
cursor_was_corruptedbooleanNoIndicates whether the pagination cursor was corrupted and reset.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_LABELS

Retrieves labels from Linear. If team_id is provided, returns labels for that specific team; if omitted, returns all labels across the workspace. Label names are not unique across teams — always use returned IDs, not names.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor value from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of labels to return per page. Maximum 250.
team_idstringNoThe unique identifier of the team for which to retrieve labels. If omitted, returns all labels across the workspace. Workspace-wide label IDs may not be valid for team-scoped mutations.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_PROJECTS

Retrieves all projects from the Linear account. Returns a flat array (not a GraphQL connection) with fields id and name. No server-side filtering: all workspace projects are returned regardless of team or name — filter client-side. Multiple projects can share identical names; always confirm project_id before downstream use.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of projects to return per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_STATES

Retrieves all workflow states for a specified team in Linear, representing the stages an issue progresses through in that team’s workflow. Returned state IDs are team-scoped — never reuse a stateId across different teams. State names (e.g., ‘Done’, ‘In Progress’) are non-unique across teams; always resolve names to IDs via this tool for the specific team_id.

NameTypeRequiredDescription
team_idstringYesUUID of a team in your Linear workspace. Use LINEAR_GET_ALL_LINEAR_TEAMS to list teams and obtain valid IDs.
afterstringNoCursor for pagination. Use the endCursor value from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of states to return per page. Maximum 250.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_TEAMS

Retrieves all teams with their members and projects. Use stable team IDs or keys (not display names) for subsequent operations — names are non-unique. Results reflect only teams visible to the authenticated token scope.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor value from the previous response’s page_info to fetch the next page.
firstintegerNoNumber of teams to return per page. Maximum 250.
project_idstringNoOptional project ID to filter teams’ associated projects. If provided, only projects matching this ID will be included in each team’s ‘projects’ list.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_LIST_LINEAR_USERS

Lists all workspace users (not team-scoped) with their IDs, names, emails, and active status. Display names are non-unique — use email to disambiguate before extracting an ID. Only assign users with active: true.

NameTypeRequiredDescription
afterstringNoCursor for pagination. Use the endCursor from the previous response’s page_info to fetch the next set of users.
firstintegerNoNumber of users to return. In large workspaces, check page_info.hasNextPage and paginate using after.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_REMOVE_ISSUE_LABEL

Removes a specified label from an existing Linear issue using their IDs; successful even if the label isn’t on the issue. Operation is irreversible — obtain explicit user approval before executing. Use this tool instead of LINEAR_UPDATE_ISSUE to avoid replacing the entire label set.

NameTypeRequiredDescription
issue_idstringYesIdentifier of the Linear issue from which to remove the label. Verify this is the correct issue before executing.
label_idstringYesIdentifier of the label to remove. The operation is successful without change if this label isn’t on the issue.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_REMOVE_REACTION

Tool to remove a reaction on a comment. Use when you have a reaction ID and need to delete it.

NameTypeRequiredDescription
reaction_idstringYesIdentifier of the reaction to delete.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_RUN_QUERY_OR_MUTATION

Execute any GraphQL query or mutation against Linear’s API. USE WHEN: No dedicated action exists, need complex filtering, custom fields, or schema discovery. Run introspection before unknown operations. Linear uses nested objects (project { id }), NOT scalar IDs (projectId). All IDs are UUIDs. Filter: { field: { eq: value } }. Pagination: nodes[] + pageInfo.

NameTypeRequiredDescription
query_or_mutationstringYesGraphQL query or mutation for Linear’s API. Must be a non-empty, valid GraphQL query or mutation string.
variablesobjectNoVariables for the GraphQL operation as a JSON object. Optional — omit or use {} if no variables are needed.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_SEARCH_ISSUES

Search Linear issues using full-text search across identifier, title, and description. Use when you need to find issues by keywords or specific identifiers. Note: This endpoint only supports full-text search; for structured filtering by team, project, assignee, state, or labels, use LIST_ISSUES_BY_TEAM_ID instead.

NameTypeRequiredDescription
querystringYesThe search query text. Searches across issue identifier (e.g., ‘ENG-123’), title, and description fields. Full-text search only; structured filtering is not supported on this endpoint.
afterstringNoCursor for pagination. Use the endCursor from the previous response’s page_info to fetch the next page of results.
firstintegerNoNumber of issues to return per page. Must be between 1 and 50. Defaults to 25.
include_archivedbooleanNoWhether to include archived issues in search results. Defaults to false.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_UPDATE_ISSUE

Updates an existing Linear issue using its issue_id; requires at least one other attribute for modification, and all provided entity IDs (for state, assignee, labels, etc.) must be valid UUIDs — only issueId accepts key format (e.g., ‘ENG-123’). All updated fields are fully overwritten, not merged; omit any field you do not intend to change.

NameTypeRequiredDescription
issueIdstringYesIdentifier of the issue to update. Accepts either UUID format (e.g., ‘d282c513-3265-4513-9099-abc0123def45’) or issue key format (e.g., ‘ENG-123’).
titlestringNoNew title for the issue.
teamIdstringNoUUID of the team to move the issue to. Use to transfer an issue from one team to another.
cycleIdstringNoUUID of the cycle (sprint) to assign this issue to. The cycle must belong to the same team as the issue.
dueDatestringNoNew due date in ISO8601 datetime format or YYYY-MM-DD TimelessDate format.
stateIdstringNoUUID of the workflow state to transition the issue to. The state must belong to the same team as the issue.
estimateintegerNoEstimate points for the issue (e.g., 1, 2, 3, 5, 8).
labelIdsarrayNoList of label identifiers to set; replaces all existing labels. An empty list removes all labels.
parentIdstringNoUUID of an existing issue to set as this issue’s parent (making this issue a sub-issue).
priorityintegerNoPriority: 0 (No priority), 1 (Urgent), 2 (High), 3 (Normal), 4 (Low).
projectIdstringNoUUID of the project to associate the issue with. The project must belong to the same team as the issue.
assigneeIdstringNoUUID of the user to assign to the issue. Must be a valid user UUID from your Linear workspace.
descriptionstringNoNew Markdown description for the issue.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_UPDATE_LINEAR_COMMENT

Tool to update an existing Linear comment’s body text. Use when you need to edit or modify the content of a previously created comment.

NameTypeRequiredDescription
bodystringYesNew comment content, in plain text or Markdown format.
comment_idstringYesUnique identifier of the comment to update.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

LINEAR_UPDATE_LINEAR_PROJECT

Tool to update an existing Linear project. Use when you need to modify project properties like name, description, state, dates, or lead. All fields except project_id are optional - only provide the fields you want to update.

NameTypeRequiredDescription
project_idstringYesThe unique identifier (UUID) of the project to update.
iconstringNoIcon identifier for the project.
namestringNoNew name for the project.
colorstringNoColor for the project (hex color code).
statestringNoThe state of the project. Standard values: ‘backlog’, ‘planned’, ‘started’, ‘completed’, ‘canceled’.
lead_idstringNoThe UUID of the user who will lead this project. Use LINEAR_LIST_LINEAR_USERS to get valid user IDs.
priorityintegerNoPriority level of the project: 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low.
status_idstringNoThe UUID of the project status to set.
start_datestringNoNew planned start date in YYYY-MM-DD format.
descriptionstringNoNew description for the project. Supports plain text.
target_datestringNoNew planned completion date in YYYY-MM-DD format.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.