> ## Documentation Index
> Fetch the complete documentation index at: https://squad.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Linear

> What agents can do in Linear at each access level, and how to connect, limit, and disconnect Linear.

Connect Linear so your agents can work in your Linear account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Linear account has an access level: **Read-only**, **Create + comment**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                         | The connect window describes this level as            | Actions agents can use |
| ----------------------------- | ----------------------------------------------------- | ---------------------- |
| **Read-only**                 | "Read issues, projects, and teams."                   | 20 of 41               |
| **Create + comment**          | "Read and add new issues and comments."               | 37 of 41               |
| **Full access** (recommended) | "Read, create, edit, and delete issues and projects." | 41 of 41               |

**Full access** is the recommended level. The connect window selects it for you, and you can choose another level.

The Linear sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Linear account?" The agent can search the Linear actions for you.</Tip>

Each action shows its name, a one-line description where the Linear action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 20 of the 41 Linear actions at this level:

    * View and search issues
    * View cycles
    * View project updates
    * View projects
    * View teams
    * View users
    * View attachments
    * View comments
    * View drafts
    * View labels

    All 20 actions at this level:

    | Works on            | Action                 | What it does                                                                                                                                                                                                                                                            | Slug                            |
    | ------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
    | **Attachments**     | Get attachment         | Downloads a specific attachment from a Linear issue.                                                                                                                                                                                                                    | `LINEAR_GET_ATTACHMENT`         |
    | **Comments**        | Get comment            |                                                                                                                                                                                                                                                                         | `LINEAR_GET_COMMENT`            |
    | **Cycles**          | Get cycles by team ID  | Retrieves all cycles for a specified Linear team ID.                                                                                                                                                                                                                    | `LINEAR_GET_CYCLES_BY_TEAM_ID`  |
    |                     | List linear cycles     | Retrieves all cycles (time-boxed sprint iterations) org-wide from the Linear account.                                                                                                                                                                                   | `LINEAR_LIST_LINEAR_CYCLES`     |
    | **Drafts**          | List issue drafts      | Check pageInfo.hasNextPage in the response to determine if additional drafts exist beyond the current page.                                                                                                                                                             | `LINEAR_LIST_ISSUE_DRAFTS`      |
    | **Issues**          | Get issue defaults     | Fetches a Linear team's default issue estimate and state, useful for pre-filling new issue forms.                                                                                                                                                                       | `LINEAR_GET_ISSUE_DEFAULTS`     |
    |                     | 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, use issue.comments.nodes for comment IDs), subscribers, and due date. | `LINEAR_GET_LINEAR_ISSUE`       |
    |                     | List issues by team ID | List all issues for a specific Linear team, scoped by team ID.                                                                                                                                                                                                          | `LINEAR_LIST_ISSUES_BY_TEAM_ID` |
    |                     | List linear issues     | Lists non-archived Linear issues.                                                                                                                                                                                                                                       | `LINEAR_LIST_LINEAR_ISSUES`     |
    |                     | Search issues          | Search Linear issues using full-text search across identifier, title, and description.                                                                                                                                                                                  | `LINEAR_SEARCH_ISSUES`          |
    | **Labels**          | List linear labels     | Retrieves labels from Linear.                                                                                                                                                                                                                                           | `LINEAR_LIST_LINEAR_LABELS`     |
    | **Project updates** | Get project update     |                                                                                                                                                                                                                                                                         | `LINEAR_GET_PROJECT_UPDATE`     |
    |                     | List project updates   |                                                                                                                                                                                                                                                                         | `LINEAR_LIST_PROJECT_UPDATES`   |
    | **Projects**        | Get linear project     | Retrieves a single Linear project by its unique identifier.                                                                                                                                                                                                             | `LINEAR_GET_LINEAR_PROJECT`     |
    |                     | List linear projects   | Retrieves all projects from the Linear account.                                                                                                                                                                                                                         | `LINEAR_LIST_LINEAR_PROJECTS`   |
    | **Teams**           | Get all linear teams   | DEPRECATED: Use ListLinearTeams instead (returns paginated payloads with members and projects).                                                                                                                                                                         | `LINEAR_GET_ALL_LINEAR_TEAMS`   |
    |                     | List linear teams      | Retrieves all teams with their members and projects.                                                                                                                                                                                                                    | `LINEAR_LIST_LINEAR_TEAMS`      |
    | **Users**           | Get current user       | Gets the currently authenticated user's ID, name, email, and other profile information.                                                                                                                                                                                 | `LINEAR_GET_CURRENT_USER`       |
    |                     | List linear users      | Lists all workspace users (not team-scoped) with their IDs, names, emails, and active status.                                                                                                                                                                           | `LINEAR_LIST_LINEAR_USERS`      |
    | **Other actions**   | 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.                                                                                                                              | `LINEAR_LIST_LINEAR_STATES`     |
  </Accordion>

  <Accordion title="Create + comment">
    Agents can use 37 of the 41 Linear actions at this level: everything in **Read-only**, plus:

    * Create and update comments
    * Create and update issues
    * Create and update projects
    * View account details
    * Create attachments
    * Create labels
    * Create milestones
    * Create project updates
    * Create reactions

    The 17 actions that this level adds to **Read-only**:

    | Works on            | Action                       | What it does                                                                                                                                                                                 | Slug                                  |
    | ------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
    | **Account details** | Who am I                     |                                                                                                                                                                                              | `LINEAR_WHO_AM_I`                     |
    | **Attachments**     | Create attachment            | Creates a new attachment and associates it with a specific, existing Linear issue.                                                                                                           | `LINEAR_CREATE_ATTACHMENT`            |
    | **Comments**        | Create linear comment        | Creates a new comment on a specified Linear issue.                                                                                                                                           | `LINEAR_CREATE_LINEAR_COMMENT`        |
    |                     | List comments                |                                                                                                                                                                                              | `LINEAR_LIST_COMMENTS`                |
    |                     | Resolve comment              |                                                                                                                                                                                              | `LINEAR_RESOLVE_COMMENT`              |
    |                     | Unresolve comment            |                                                                                                                                                                                              | `LINEAR_UNRESOLVE_COMMENT`            |
    |                     | Update linear comment        | Update an existing Linear comment's body text.                                                                                                                                               | `LINEAR_UPDATE_LINEAR_COMMENT`        |
    | **Issues**          | 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. | `LINEAR_CREATE_LINEAR_ISSUE`          |
    |                     | Create linear issue relation | Create a relationship between two Linear issues using the issueRelationCreate mutation.                                                                                                      | `LINEAR_CREATE_LINEAR_ISSUE_RELATION` |
    |                     | Update issue                 | Updates an existing Linear issue using its issue\_id.                                                                                                                                        | `LINEAR_UPDATE_ISSUE`                 |
    | **Labels**          | Create linear label          | Creates a new label in Linear for a specified team, used to categorize and organize issues.                                                                                                  | `LINEAR_CREATE_LINEAR_LABEL`          |
    | **Milestones**      | Create project milestone     | Create a project milestone in Linear with a name and optional target date and sort order.                                                                                                    | `LINEAR_CREATE_PROJECT_MILESTONE`     |
    | **Project updates** | Create project update        | Create a project status update post for a Linear project.                                                                                                                                    | `LINEAR_CREATE_PROJECT_UPDATE`        |
    | **Projects**        | Create linear project        | Creates a new Linear project with specified name and team associations.                                                                                                                      | `LINEAR_CREATE_LINEAR_PROJECT`        |
    |                     | Update linear project        | Update an existing Linear project.                                                                                                                                                           | `LINEAR_UPDATE_LINEAR_PROJECT`        |
    | **Reactions**       | Create comment reaction      | Add a reaction to an existing Linear comment.                                                                                                                                                | `LINEAR_CREATE_COMMENT_REACTION`      |
    | **Other actions**   | Validate credential          |                                                                                                                                                                                              | `LINEAR_VALIDATE_CREDENTIAL`          |
  </Accordion>

  <Accordion title="Full access (recommended)">
    Agents can use 41 of the 41 Linear actions at this level: everything in **Create + comment**, plus:

    * Delete issues
    * Delete labels
    * Run queries
    * Delete reactions

    The 4 actions that this level adds to **Create + comment**:

    | Works on      | Action                | What it does                                                                                    | Slug                           |
    | ------------- | --------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------ |
    | **Issues**    | Delete linear issue   | Archives an existing Linear issue by its ID, which is Linear's standard way of deleting issues. | `LINEAR_DELETE_LINEAR_ISSUE`   |
    | **Labels**    | Remove issue label    | Removes a specified label from an existing Linear issue using their IDs.                        | `LINEAR_REMOVE_ISSUE_LABEL`    |
    | **Queries**   | Run query or mutation | Execute any GraphQL query or mutation against Linear's API.                                     | `LINEAR_RUN_QUERY_OR_MUTATION` |
    | **Reactions** | Remove reaction       | Remove a reaction on a comment.                                                                 | `LINEAR_REMOVE_REACTION`       |
  </Accordion>
</AccordionGroup>

## Connect Linear

Before you start:

* You need a Linear account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Linear">
    Find **Linear** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Linear">
    Click **Connect Linear**. The Linear sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Linear">
    Sign in to Linear and approve the request.
  </Step>
</Steps>

Check that it works: Linear shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Linear account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Linear account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Linear account

Click **+ Account** on the Linear card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Linear side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Linear**.
3. Sign in to Linear and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Linear account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Linear account becomes primary.</Warning>

## Costs

Linear actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Linear, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Linear connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Linear?">
    Each Linear account has an access level: **Read-only**, **Create + comment**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Linear account?">
    Click **+ Account** on the Linear card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Linear?">
    Open the account menu (⋯) on the Linear account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
