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

# Linear

> Connect Linear once and reach its GraphQL API — and an optional MCP server — from every personal machine.

Connecting [Linear](https://linear.app) puts your Linear access token on every personal machine, so anything running there — a script, an agent — can read and file issues through Linear's API. See [Integrations](/integrations/overview) for the shared model (scope, discovery, MCP).

## Connect

From the [console](https://boxd.sh/app) → **Integrations**, click **Connect** on Linear. Or, from any boxd CLI:

```bash theme={"theme":"github-dark"}
boxd manage integrations connect linear
```

This prints a Linear authorize URL. Open it in a browser, approve, and the CLI finishes on its own. The connection is per-account and lands on your **personal and private machines** (not shared org machines).

## What's authorized

boxd requests these Linear scopes:

| Scope             | Grants                                             |
| ----------------- | -------------------------------------------------- |
| `read`            | Read your Linear data (issues, projects, teams, …) |
| `write`           | Update existing Linear data                        |
| `issues:create`   | Create new issues                                  |
| `comments:create` | Comment on issues                                  |

The token is stored server-side and kept fresh automatically — boxd's control plane refreshes it before it expires, so your machines always see a live token. It's only ever injected into your own personal/private machines.

## Use Linear from a machine

The access token is exported as `LINEAR_ACCESS_TOKEN` in every login shell (and in the coding agents' environment). Call Linear's GraphQL API with it as a bearer token:

```bash theme={"theme":"github-dark"}
curl -s https://api.linear.app/graphql \
  -H "Authorization: Bearer $LINEAR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ viewer { id name } }"}'
```

Run `boxd manage integrations` inside the machine to confirm it's wired in and see this same hint.

## Linear MCP server

Linear also publishes a [Model Context Protocol](https://modelcontextprotocol.io) server (`linear-server`, at `https://mcp.linear.app/mcp`) that a coding agent can call directly instead of hand-writing GraphQL. It's opt-in per agent:

```bash theme={"theme":"github-dark"}
boxd manage integrations mcp linear                 # install into all agents (Claude Code, Codex, OpenCode)
boxd manage integrations mcp linear claude          # only Claude Code
boxd manage integrations mcp linear --disable       # remove from every agent
```

You can also toggle this with **Enable MCP** on the Linear card in the console. Once enabled, the server is configured in the chosen agents with your token as the bearer — newly created machines pick it up automatically.

## Disconnect

```bash theme={"theme":"github-dark"}
boxd manage integrations disconnect linear
```

This revokes the token at Linear, clears it from boxd, and removes the MCP server from your agents. You can also **Disconnect** from the Linear card in the console.
