Linear logo

Turn a Linear issue into a pull request

Connect your workspace and a new issue can start an agent that implements it. Inside the session the agent reads and writes Linear directly, so it pulls the issue, comments its progress, and moves the status without a human relaying anything.

Install on GitHub
Documentation
01

A new issue starts the work

One trigger block and a filed issue becomes a running agent. The ticket your team already wrote is the prompt, so nobody translates a description into instructions before the work can begin.

agents/issue-implementer.yamllive on merge
trigger:  type: react  linear_issue:    on: [opened]

The linear_issue trigger, in the agent's own config

02

From ticket to pull request without a relay

The agent reads the issue, works the problem in its own sandbox, opens a pull request linked back to the ticket, and comments what it did. The issue moves because the agent moved it, not because someone remembered to.

One issue, start to reviewSPL-1428
SPL-1428 created"Password reset email 500s on retry"
Session startsRepos cloned, issue body as the prompt
Reads the issueDescription, labels, team, comments
Works in a sandboxReproduces, fixes, runs the tests
Opens a pull requestLinked back to SPL-1428
Comments and moves itProgress note, status → In Review
Nobody relayed the ticket into a prompt

The issue, the change, and the status stay in step

03

Agents read and write Linear directly

Linear is not just the trigger. Any session on a connected account can read issues and comments, update fields, move statuses, and file new issues, so a nightly audit lands in your backlog instead of a log nobody opens.

Linear tools in the session41 tools available
Issues
get_issue · list_issues · save_issue
Comments
list_comments · save_comment · delete_comment
Status
list_issue_statuses · get_issue_status
Projects
list_projects · save_project · get_project
Cycles and milestones
list_cycles · list_milestones
People
list_users · get_user · list_teams
Available to every session, or only to agents that opt in

Issues, comments, statuses, projects, and people

Everything the Linear integration gives you

One authorization covers the trigger, the mentions, and the tools agents use to write back.

Connect once, in the dashboard

Authorize Ellipsis in Linear and you are connected. It acts as its own application user, so everything it posts is attributed to Ellipsis, not to you.

Scoped per team

Every team is enabled at connect time, and the same page toggles which teams Ellipsis interacts with.

The issue-opened trigger

A linear_issue react trigger starts an agent when an issue is created. That is the whole trigger vocabulary today.

Filter by who filed it

The trigger takes a for: selector, so an agent can react only to issues from certain accounts.

The issue is the prompt

The agent gets the title, description, labels, and team without anyone rewriting the ticket into instructions.

@ellipsis on any issue

A comment leading with @ellipsis starts or continues a durable conversation on that issue. Ask why something behaves the way it does, or tell it to fix what the issue describes.

No double answers

The comment must lead with the mention, so a mirrored GitHub thread never summons Ellipsis twice.

Read and write issues

Sessions get Linear tools: read issues and comments, create issues, update fields, and move status.

Projects, cycles, milestones

The same tool set reaches projects, cycles, milestones, labels, documents, and users, not just issues.

Agents can file work too

A cron agent can open Linear issues for what it finds, so a nightly audit lands in the backlog instead of a log file.

Tools you can restrict

Linear tools reach every session by default; an account setting can limit them to the agents that ask for them in their config.

Pull requests linked back

The agent opens its pull request on GitHub and links it to the issue, so the ticket and the change reference each other.

Frequently asked questions

Open Integrations → Linear in the dashboard and click Connect Linear. Linear's authorization screen asks for read and write access; approve it and you land back connected. Ellipsis acts as its own application user, so everything it posts is attributed to Ellipsis rather than to the person who connected it.

Issue creation. A react trigger on the linear_issue surface fires when an issue is opened, which is the only action supported today. The canonical use is an implementer: an agent that reads the new issue, makes the change, and opens a pull request linked back to it.

Yes. Every team is enabled when you connect, and the Integrations → Linear page toggles which teams Ellipsis interacts with. Teams created after you connect do not appear in the list; disconnect and reconnect to refresh it.

Read and write. Sessions on a connected account get a Linear tool set covering issues, comments, statuses, projects, cycles, milestones, labels, documents, and users, so an agent can pull the issue it was given, comment its progress, move the status, or file a new issue for something it found. An account setting can restrict those tools to agents that opt in.

A comment that leads with @ellipsis starts or continues a durable conversation on that issue, so follow-up replies do not need to mention it again. The mention has to lead the comment, which is what keeps a Linear issue mirrored into a GitHub thread from summoning Ellipsis twice for one request.

No. The trigger and the tools are independent: any agent, however it started, can read and write Linear if your account has the integration connected. A cron agent with no Linear trigger at all can still file its findings as issues.

Works with the tools you already use