How to use Claude Code with Linear (three ways, 2026)
Claude Code has no assign-to-Claude in Linear. Three ways to connect them: an MCP connector, the GitHub Action, or a wrapper that assigns from the ticket.
There is no assignee called Claude in Linear. Anthropic ships Claude Code as a terminal tool, an editor extension, a GitHub Action, a web app, and a Slack bot, and none of those is a Linear integration in the sense a product manager means: pick the ticket, assign it, walk away. What Anthropic does ship is a connector, so Claude can read and write Linear from inside a session you started. That gap is why "Claude Code Linear integration" is a search with three different answers depending on who is asking, and each answer costs a different amount to set up.
Checked in early September 2026 against Anthropic's Claude Code docs, which are linked throughout and which change often.
Sinatra is our product. It is the third option below, and we say so where it comes up, along with the two cases where it is the wrong choice.
What Claude Code actually ships for Linear
Anthropic's platforms page puts it in one sentence: "For integrations not listed here, MCP servers and connectors let you connect almost anything: Linear, Notion, Google Drive, or your own internal APIs." Linear is a tool Claude can call, not a place Claude can be summoned from.
The same is true of routines, Anthropic's feature for sessions that run on a schedule, from an API call, or in response to GitHub repository events. A routine can use your linked Linear account as a connector while it works. Its triggers are scheduled, API, and GitHub. A Linear assignment is not on the list.
So every path from a Linear ticket to a Claude Code pull request is either you driving a session with Linear attached, or something that turns a Linear event into an event Claude Code does listen for.
Option one: the Linear MCP connector inside a session
This is the path most individual developers take, and it is the least setup.
You add Linear as an MCP server or connector, and Claude Code can then fetch an issue, read its comments, and update it while you work. A typical session starts with something like "read SIN-412 and implement it," Claude pulls the ticket through the connector, works in your checkout, and you review the diff before anything is committed. If you want the ticket updated, Claude can post a comment or move the status through the same connector.
You get Claude Code with the ticket's context, on your machine, on your branch, with your uncommitted changes in view. That is a strong position for the hard tickets, the ones where you want to steer.
It is not delegation. Someone is at the keyboard. The session runs on your laptop, so closing the lid stops it. A product manager cannot start one, and nothing happens to the ticket unless a person types the prompt. It is Claude Code with Linear attached, and if that is what you wanted, stop here; it works well.
Option two: the GitHub Action, with Linear watching the branch
The Claude Code GitHub Action is the delegation path Anthropic ships. You install the Claude GitHub App, add an authentication secret, and commit a workflow file, and the docs are clear that "you configure one repository at a time." After that, mentioning @claude in an issue or pull request comment, in a review, or in the body of a new issue starts a run on a GitHub-hosted runner. The Action also exposes an assignee trigger and a label trigger, so a repository can be set up to start work when an issue is assigned to a user or given a particular label.
None of that touches Linear directly. Linear's own GitHub integration is the bridge: put the Linear issue identifier in the branch name and Linear attaches the pull request to the issue, tracks its status, and closes the ticket on merge. So the loop for a Linear team looks like this. The ticket lives in Linear. Someone opens a GitHub issue that references it, or comments @claude on an existing one. The Action runs, pushes a branch named for the Linear issue, and opens a pull request. Linear picks the pull request up and the ticket follows it to done.
That works, and a lot of teams run it. The costs are the ones the docs name. A workflow file and a secret in every repository, kept in sync as the Action's version moves. Actions minutes for every run, since the agent executes on GitHub's runners. And the starting gesture is on GitHub, which means the person delegating has to leave Linear to do it, or you build a small automation that turns a Linear webhook into a GitHub issue. The credential can be an API key or a Claude subscription: the docs describe a long-lived OAuth token from claude setup-token that works on Pro, Max, Team, and Enterprise plans, and runs on that token bill the subscription instead of the API.
There is a web variant of this too. Claude Code on the web runs sessions on Anthropic's infrastructure, and with the GitHub App installed it can watch a pull request and, per the docs, "automatically respond to CI failures and review comments" once auto-fix is switched on for that pull request. It is a research preview for Pro, Max, and Team users as of this writing. It also starts from the web app or Slack, not from Linear.
Option three: assign the ticket, and Claude Code runs somewhere else
The third path is a hosted wrapper that treats the Linear assignment as the trigger and runs Claude Code in a sandbox it operates. That is what Sinatra is, and this section is the vendor describing itself.
You install a GitHub App once for the organization and a Linear app once for the workspace. Assign a ticket to Sinatra, or @-mention it in a comment, and it checks the repository out in an isolated sandbox, runs Claude Code on it, streams progress to the issue, and opens a draft pull request linked back to the ticket. On GitHub the same loop starts from the Sinatra label on an issue. Request changes on the pull request and the follow-up commit arrives without a mention.
It is Claude Code rather than a Claude-flavored something. The default engine is Claude Code itself, so the diffs are Anthropic's agent doing the work with the model you pin in a committed .sinatrarc. The credential is yours too: an Anthropic API key, or a Claude subscription each member connects for their own tasks, with nothing added to the token bill. Runs are staged, so a vague ticket gets a requirements write-up posted for approval before code, and a well-specified one gets a plan. The pull request arrives already self-reviewed, with the findings posted on the PR before you read the diff and a sinatra / review check you can require like any other.
It costs $20 per workspace member, flat, for the sandboxes and the tracker integration. The model bill is identical to what Claude Code would cost you directly, because it is the same credential. The free tier is 5 tasks a day with your own API key or subscription, with no card.
Where it is the wrong choice: one developer on two repositories should use the Action and keep the twenty dollars, and anyone whose objection to Claude Code is the model or the quality of its diffs will find the same agent doing the same work here. We put those cases in writing on the Claude Code comparison page rather than burying them.
Which one, for whom
For the developer who wants Claude Code with the ticket in context and their own hands on the wheel, the MCP connector. It costs nothing beyond the subscription and it is the best place to work a hard ticket.
For a team that lives on GitHub, has a few repositories, and is comfortable owning a workflow file, the Action, with Linear tracking the branch. That is Anthropic's own delegation path and it is good.
For a team whose backlog is in Linear, where the people assigning tickets are not always the people who would write a workflow file, or where twenty repositories make per-repo setup a project, a hosted wrapper. Sinatra is one; the coding agents for Linear roundup lists the others, several of which do not run Claude Code at all.
Running two of these at once is normal. Keep the connector for the branch you are holding, and hand the tickets nobody has started to whichever delegation path you picked.
Common questions
Can I assign a Linear issue to Claude Code?
Not with anything Anthropic ships. Linear appears in Claude Code's docs as an MCP connector, which lets Claude read and update Linear from inside a session. Assignment as a trigger needs a third party that watches the assignment and runs Claude Code for you.
Does Claude Code on the web connect to Linear?
Sessions on the web can use connectors, including Linear, while they run. They start from the web app or from Slack, not from a Linear ticket, and the auto-fix feature watches GitHub pull requests rather than Linear issues.
Does my Claude Max subscription work for delegated runs?
Yes on Anthropic's side: the GitHub Action accepts a long-lived OAuth token generated with claude setup-token, available on Pro, Max, Team, and Enterprise plans, and runs on that token use the subscription instead of API billing. Sinatra accepts the same kind of subscription as a per-member credential.
Which path is cheapest?
The connector, then the Action, then a hosted wrapper. The model cost is the same on all three because the credential is the same. The difference is who operates the machinery: you, GitHub's runners, or a vendor charging a seat for it.
If the assign-and-walk-away version is the one you were looking for, connect a Claude credential to Sinatra and hand it one ticket on the free tier. The Linear ticket walkthrough shows what comes back.