- Integrations
- Sinatra
Assign issues to Sinatra and draft pull requests




Overview
Sinatra is a background coding agent you assign Linear issues to. It clones the repository into its own sandbox, writes the code, runs your tests, opens a pull request on GitHub, and reports progress back on the issue. It runs on the Claude or Codex subscription or API key your team already has, with no markup on model usage.
How it works
Assign an issue to Sinatra, or @mention it in a comment, and it picks the work up in a fresh, isolated cloud sandbox with the repository cloned in. It reads the issue and the surrounding code, and for issues that are under-specified it first posts a short requirements summary and a plan as comments on the issue for a human to approve, so vague tickets don’t turn into vague pull requests. Well-specified issues go straight to implementation.
While it works it posts progress on the issue as a single updating comment, so the thread stays readable. It writes the change, runs your project’s test command inside the sandbox, and opens a pull request on GitHub, linked back on the Linear issue. Before anyone reviews it, the agent reviews its own diff and posts what it found on the pull request, so reviewers start from a findings list instead of from zero.
Review comments on the pull request go back to the agent, which pushes fixes to the same branch. Sinatra never merges its own work; a human reviews and merges every pull request. It supports Claude and Codex subscriptions as well as Anthropic and OpenRouter API keys, and per-repository behavior (model, test command, sandbox image, whether to plan first) is configured in a .sinatrarc file in the repo.
Configure
- Create a workspace at app.sinatra.dev and install the Sinatra GitHub App on the repositories the agent may work in.
- In workspace settings, click Connect Linear and authorize Sinatra in your Linear workspace. You need to be an owner or admin of the Sinatra workspace, and a Linear admin to approve the app install.
- Connect a model: a Claude or ChatGPT subscription, or an Anthropic or OpenRouter API key. The free tier is 5 tasks a day on your own credentials.
- Assign an issue to Sinatra (or @mention it) and it starts. Optional per-repo settings live in .sinatrarc.
