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.
On this page
There is no assignee called Claude in Linear. Anthropic ships Claude Code in a terminal, in editors, on desktop and mobile, on the web, as a GitHub Action, and in Slack, 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 October 2026 against Anthropic's Claude Code and Claude Tag 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 scheduled tasks (formerly routines, and still in research preview), Anthropic's feature for cloud sessions that run on a schedule, from an API call, or in response to GitHub repository events. A scheduled task 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. Setup works "one repository at a time," and the docs describe an organization rollout on top of that. 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 in every repository, kept in sync as the Action's version moves, plus the secret, though one organization-level Actions secret, holding an API key rather than one person's subscription token, can serve every repository. 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. Cloud sessions are available on Pro, Max, and Team plans, and to Enterprise users with the right seat. They start from the browser, the desktop or mobile app, the terminal with claude --cloud, or a scheduled task. Slack depends on your plan. On Team and Enterprise it is now Claude Tag, in public beta, which takes requests in channels and bills an organization usage balance. The older Claude Code in Slack bot, which opens a web session from an @Claude mention, answers only Pro and Max accounts, and only in Slack workspaces not connected to Claude Tag. None of these starts from a Linear ticket.
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 can run 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 the agent 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.
The same hosted task can start without a ticket, too. Sinatra is also a remote MCP server. Add it with claude mcp add --transport http --scope user sinatra https://api.sinatra.dev/v1/mcp, run /mcp, and sign in to Sinatra in the browser. There's no token to paste, though a personal access token in a header still works for clients that want one. After that you can ask Claude, mid-session, to hand a task to Sinatra. It runs in Sinatra's sandbox, not on your machine, and you follow the answer and the pull request from the same session or the dashboard. claude.ai and Claude Desktop take the same server as a custom connector, and the sinatra CLI does the same from a plain terminal. One limit applies to all three: a follow-up you send while the task is running waits for the next agent. Only replies in a Linear, GitHub or Slack thread reach a running agent.
It can be Claude Code rather than a Claude-flavored something. The default engine is oh-my-pi; set the engine to Claude Code in a committed .sinatrarc and the diffs are Anthropic's agent doing the work with the model you pin there. 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. A vague ticket gets questions or a proposed plan in an ordinary reply before any code, and a message you send on the ticket while it works reaches the running agent, Claude Code included. 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 a month for the whole workspace on Pro, flat, for the sandboxes and the tracker integration, with 3 agents at a time, plus 10 waiting. The model bill is identical to what Claude Code would cost you directly, because it is the same credential. The free tier is 1 agent at a time, plus 1 waiting, with no daily limit, on 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 with the Claude Code engine. 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
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.
Sessions on the web can use connectors, including Linear, while they run. They start from the browser, the desktop or mobile app, the terminal, a scheduled task, or an @Claude mention in Slack (the older bot on Pro and Max, Claude Tag on Team and Enterprise), not from a Linear ticket, and the auto-fix feature watches GitHub pull requests rather than Linear issues.
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.
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 flat fee 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.
Assign the issue. Come back to a PR.
Sinatra picks up work from Linear, GitHub and Slack and opens a draft pull request for your team to review. Bring your own Claude or Codex access; Sinatra never bills for model usage.