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

# Linear Integration

> Connect Linear so issues route to Aether projects as tasks and results post back as Linear comments.

Connect Linear to turn issues into Aether tasks. You create **routes** that map a Linear team — optionally a specific project within it — to an Aether [project](/guides/projects); a team or Linear project can route to several Aether projects. Matching issues open tasks in a routed project, and the agent's progress and result post back to Linear.

<Note>
  Linear is **config-gated**: it is only available when the deployment has Linear OAuth credentials configured. If you do not see Linear in **Settings → Connections** or the CLI commands return errors, the deployment has not enabled it. See [Integrations](/guides/integrations).
</Note>

## Prerequisites

A route targets an Aether project that has a **linked GitHub repo** — that is where the agent's work lands. Connect GitHub and import a repo first; see [GitHub integration](/guides/github-integration).

## Connecting Linear

<Tabs>
  <Tab title="Web">
    Go to **Settings → Connections → Linear** and click **Connect** to authorize Aether to access your Linear organization.
  </Tab>

  <Tab title="CLI">
    ```bash theme={"dark"}
    aether linear connect
    ```

    This opens your browser to authorize Aether, then polls until the connection completes. On success it prints the connected organization.
  </Tab>
</Tabs>

Check the connection any time:

```bash theme={"dark"}
aether linear status
```

## Listing Teams and Projects

Routes are keyed by Linear team and (optionally) project ID, so look those up first:

```bash theme={"dark"}
# Teams in the connected org
aether linear teams

# Projects in a team
aether linear projects --team-id <linear-team-id>
```

## Creating a Route

A route maps a Linear team (and optionally one project within it) to an Aether project. Omit the Linear project to match every issue in the team.

A team, or a Linear project, can have routes to several Aether projects: create one route per Aether project. Each team-wide route links its team to an Aether project at most once, and each project-scoped route links its Linear project to an Aether project at most once — creating the same pair again fails with an error naming the team (and Linear project) and the Aether project.

```bash theme={"dark"}
# Route all of a team's issues to the selected Aether project
aether linear routes create --team-id <linear-team-id>

# Scope to one Linear project, and target a specific Aether project
aether linear routes create \
  --team-id <linear-team-id> \
  --linear-project-id <linear-project-id> \
  --aether-project a1b2c3d4
```

Run with no flags to pick the team interactively. `--aether-project` accepts a project ID or short prefix and defaults to your [selected project](/guides/projects); it must be a project with a linked repo. New routes are enabled by default — pass `--enabled false` to create one paused.

In the web app, add routes under **Settings → Connections → Linear → Issue routes**.

## What Happens on an Issue

When a matching Linear issue triggers Aether, the agent opens a task seeded from the issue's identifier, title, description, labels, and recent comments, with instructions to implement the fix, run checks, and open or update a PR. Progress and the final result post back to the Linear issue as comments and agent-session activities, including links to the Aether task and the pull request.

### Which routes an issue uses

When you delegate an issue to Aether or mention Aether on it, Aether looks at the issue's **active** routes:

* If the issue is in a Linear project with active routes scoped to it, those routes are used.
* Otherwise, its team's active team-wide routes are used.

Paused routes are skipped: an issue whose Linear project's routes are all paused uses its team's team-wide routes.

* **No route:** the agent session shows "Aether is not configured for this Linear team or project yet. Add a route in Aether Settings first." with a link to the Linear settings page.
* **One route:** the task starts in that route's project.
* **Several routes:** the agent session asks **Which project?** with one option per route, labeled by Aether project name and in project-name order. No task starts until you choose.

An issue already linked to an Aether task — an earlier delegation started one — resumes that task instead of starting another or asking which project.

### Choosing a project

Click an option, or reply in the agent session with the project's name (any capitalization). The task starts in that project, seeded from the issue as above plus the comment thread that started the agent session and your Linear agent guidance. A reply that names none of the offered projects gets the question again with a short note; a project whose route was paused or deleted in the meantime is no longer offered. Each agent session starts at most one task: once it has started, later replies in the session go to that task as follow-ups.

## Managing Routes

```bash theme={"dark"}
# List routes (team, Linear project, Aether project, enabled)
aether linear routes list

# Pause or resume a route
aether linear routes update <route-id> --enabled false
aether linear routes update <route-id> --enabled true

# Delete a route
aether linear routes delete <route-id> --force
```

`routes list` lists a team's routes together — its team-wide routes first, then its routes scoped to each Linear project, each group in Aether project name order; **Settings → Connections → Linear** lists routes in the same order. Each route has its own `enabled` flag, so you can pause one Aether project's route without deleting it or touching the team's other routes.

## Disconnecting Linear

```bash theme={"dark"}
aether linear disconnect --force
```

<Warning>
  Disconnecting removes all Linear routes. `--force` skips the confirmation prompt.
</Warning>

## API

The Linear endpoints are part of the frontend/CLI API surface, not the versioned `/v1` API, and are config-gated — see the [API overview](/api-reference/overview). Browse the operations under the Linear group, for example [list routes](/api-reference/account/linear/get-linear-routes) and [create a route](/api-reference/account/linear/post-linear-routes). The full CLI reference is at [`aether linear`](/cli/linear).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.