sinatra.dev
← All comparisons

Sinatra vs Cursor Cloud Agents

The cloud half of Cursor, renamed from Background Agents. Compared here on Cloud Agents, not on the Cursor editor, which is a different product and a very good one.

Cursor Cloud Agents, renamed from Background Agents, do the Linear-to-pull-request loop well, and Cursor is unusually honest about cost. Two things are worth knowing before you compare bills. Cursor does take your own API key, but its docs scope custom keys to chat models and never say they cover a Cloud Agent. And on Teams and Enterprise a Cursor Token Rate applies on top of model API pricing, explicitly including on your own key. Cloud Agents are also not on the free Hobby plan. If you live in the Cursor editor, none of that will move you, and it should not.

Feature
Sinatra
Cursor
Native GitHub-issue trigger1
~
Native Linear-ticket assignee2
Replies in-thread on PR review3
~
Bring your own model key4
~
Runs on your Claude or ChatGPT subscription5
No markup on model usage6
~
Plan price and usage rate both published7
Free tier with a published daily quota8
Fully-managed tier (infra and model)9
IDE or editor surface10
Start a run from Slack11
Self-hosted or open-source option12
  1. Yes means the vendor's own app starts a run from the issue itself, with nothing to commit to the repo first. Sinatra's trigger is the Sinatra label that ships with the GitHub App install (`sinatraai` on the hosted app). Partial means either that a workflow file and an API-key secret have to be added per repository first, or that the mention only works on pull requests and not on issues.
  2. Yes means assigning the ticket to the agent in Linear starts the run. Partial means the run starts some other way: an attachment link you click, or a trigger you configure yourself against Linear's webhooks. Assignment on its own does nothing.
  3. Yes means a changes-requested review is enough on its own: Sinatra reworks the branch and pushes the follow-up commit with no re-trigger and no mention. Partial means the agent acts only when it is @-mentioned in the thread, or only while its original session is still open.
  4. Yes means your own provider API key runs the agent everywhere the product runs it. Partial means keys work on some surfaces but not the one being compared here, either because the vendor documents them as local-CLI-and-desktop only, or because it never documents them covering its cloud agent at all.
  5. Yes means a Claude Pro/Max or ChatGPT subscription you already pay for authenticates the run on the vendor's hosted cloud. Partial means it works only where that CLI's login already sits on the machine: your own laptop or a self-hosted backend, not a clean cloud sandbox.
  6. Yes means you are never charged a marked-up model rate, either because you pay your provider directly, or because the vendor publishes the same per-token rates the provider does, or because model use is included in a flat plan with a published allowance. Partial means the answer depends on which plan you are on: no fee on the individual tiers, a published per-token fee on the team ones, charged even against your own key.
  7. Both halves have to be published: the plan price, and the rate for work past the plan. A published seat price sitting on top of an undisclosed credit, compute unit, or quota size is partial.
  8. Yes means the free tier states its daily allowance as a number. Sinatra's is 5 tasks a day with your own key or a Codex subscription, 1 a day on Sinatra's keys, no card. Partial means a free plan exists but its allowance is not published.
  9. Yes means you can run without supplying a model key at all, because the vendor bills you for the model.
  10. Yes means an editor plugin or a desktop app; partial means a terminal CLI and nothing that runs inside an editor. Sinatra has neither, on purpose: the work starts in the tracker and comes back as a pull request. If you want an assistant inside your editor, that is a real reason to pick one of these instead, and several teams run both.
  11. Sinatra has no Slack trigger. GitHub and Linear are the only two ways to start a run, and a Slack-first team should weigh that.
  12. Yes means you can run the agent on infrastructure you control, or the source is open. Partial means execution or inference can be pointed at your own account while the product itself stays the vendor's and stays closed. Sinatra is hosted only; there is no self-managed build.

Read off each vendor's own documentation and pricing pages on September 4, 2026.

How you start it

Sinatra
  • Add the Sinatra label to a GitHub issue. The label ships with the GitHub App install and is named after the app (sinatraai on the hosted one)
  • Assign a Linear ticket to Sinatra, or @-mention it in a comment
Cursor Cloud Agents
  • Assign a Linear issue to Cursor, or mention @Cursor in a comment
  • @cursor in a GitHub or Bitbucket pull-request comment
  • Slack
  • Cursor Web, the Cursor desktop app, Cursor for iOS, and the API
Sinatra

$20 per member per month for hosted sandboxes and orchestration, with model cost passed through at provider rates and no markup. Free tier: 5 tasks a day with your own key or Codex, 1 a day on ours. No card.

Sinatra pricing
Cursor Cloud Agents

Hobby is free but has no Cloud Agents. Pro $20/mo, Pro Plus $60/mo, Ultra $200/mo, Start ₹649/mo in India, and Teams at $40 a standard seat or $120 a premium seat. Third-party models are charged at the model's own API price out of a Cursor usage pool, and Cursor's docs estimate daily agent users at $60 to $100 a month of usage. On Teams and Enterprise a Cursor Token Rate of $0.25 per million tokens applies on top of model API pricing, including on your own key.

Cursor Cloud Agents pricing page

How you start a task

Cursor's Linear integration is a real one, and on Linear these two are a tie, so judge them on the diffs rather than the trigger.

GitHub is a different story. Cursor's documented path is a comment on a pull request, so nothing you do to a GitHub issue starts a Cloud Agent. Sinatra's trigger is a label on the issue itself. If your backlog is GitHub Issues, that is the gap.

Cursor also starts agents from the web, the desktop app, iOS, Slack, and an API, considerably more surface than Sinatra's two. On review, Cursor's agents push changes and hand off, so acting on a changes-requested review means going back and asking; Sinatra treats the review as the instruction.

What it costs, in dollars

Cursor is one of the more transparent vendors here and it is worth saying so before the criticism. Third-party models are "charged at the model's API price," the published rates match the providers' own, and Cursor even puts an expectation in writing, "Daily Agent users: Typically $60–$100/mo total usage," which almost nobody else in this market will do.

Three things follow. The bill is Cursor's rather than your provider's, so the Claude Max plan on your card does nothing to reduce it. Cloud Agents are not in the free tier, so there is no free way to try one on a real ticket. And the at-cost promise stops at the team plans: Cursor's docs add a Cursor Token Rate of $0.25 per million tokens on Teams and Enterprise, applied "on top of model API pricing for included usage, on-demand usage, and BYOK usage." That last clause is worth reading twice. On a team plan you pay Cursor a per-token fee on tokens you bought yourself. It is an order of magnitude smaller than Augment's 40%, it is published rather than hidden, and it is still the number a CTO comparing invoices should know about.

Where Sinatra wins

The credential is yours and it is unmetered: Anthropic, OpenRouter, a Claude subscription, or a ChatGPT or Codex subscription, running the hosted task with nothing added at any volume. Cursor takes custom keys too, but its docs scope them to chat models without saying they reach a Cloud Agent, and on a team plan it charges against your own key regardless.

A GitHub issue starts a run, from a label, with no pull request required first. The full agent is in the free tier, 5 tasks a day with your own key or Codex, 1 a day on ours. No card. where Cursor's Cloud Agents begin at $20 a month. And requesting changes gets you the follow-up commit without asking again.

Where Cursor wins

Cursor is an editor company that also runs cloud agents, and for a lot of teams that combination is exactly right.

The editor, obviously. Cursor is one of the best places to write code with a model, and the cloud agent shares its rules, its config, and its habits. Sinatra has no editor, so the handoff between "I am working on this" and "finish this for me" that Cursor gets for free does not exist here at all.

It is also one product with one configuration. Rules, skills, subagents, hooks, and MCP servers are set up once and apply locally and in the cloud, where running two vendors means keeping two sets of conventions. At-cost model pricing arrives with none of the work: provider rates without holding a provider account, rotating a key, or reconciling a second invoice. And there is a lot more of it, including Bugbot, Automations, self-hosted machines, PR routing, a mobile app, an SDK, a CLI, plus Slack and iOS, where Sinatra does one workflow and has neither.

Looking for a Cursor Cloud Agents alternative?

The people who search this usually are not leaving Cursor. They are trying to stop paying twice, because they hold a Claude or ChatGPT subscription that Cursor's usage pool cannot draw on, or they want the agent to start from a GitHub issue rather than a pull-request comment.

Sinatra fixes those two things and nothing else. Connect the key or subscription you already have and every hosted task runs on it, so the model line moves to your provider's invoice at their rate. Add the Sinatra label to a GitHub issue and the loop runs from there, with Linear assignment working as it does in Cursor.

What Sinatra does not do is replace the editor. Most people landing here should keep Cursor for writing code and hand the queued tickets somewhere else.

Switching, or running both

This is the pairing most likely to end in "both". Cursor answers @cursor on a pull request and a Linear assignee; Sinatra watches a label and an assignee of its own, and neither notices the other. Keep writing code in Cursor, route the tickets you would have queued as Cloud Agents to Sinatra with your own key attached, and give it two weeks. Then compare the pull requests, and put Cursor's usage line, plus the token rate if you are on Teams, next to Sinatra's seat and your provider's invoice.

Questions people ask about Cursor Cloud Agents and Sinatra

Can I use my own API key with Cursor Cloud Agents?

Cursor supports custom keys for OpenAI, Anthropic, Google, Azure, and AWS, but scopes them to chat models and says nothing about Cloud Agents either way, which is why the row is partial. On Teams the Cursor Token Rate applies to bring-your-own-key usage too.

Does Cursor mark up model tokens?

It depends on the plan. Pro, Pro Plus, and Ultra charge third-party models at the model's API price; Teams and Enterprise add a Cursor Token Rate of $0.25 per million tokens 'on top of model API pricing for included usage, on-demand usage, and BYOK usage.'

Are Cloud Agents included in Cursor's free plan?

No. Hobby is free with limited agent requests, and Cloud Agents start at Pro, $20 a month. Sinatra's free tier includes the full agent.

Can Cursor start from a GitHub issue?

No. Cursor's documented GitHub and Bitbucket trigger is an @cursor comment on a pull request; Sinatra's is a label on the issue itself.

Where these facts came from

Cursor Cloud Agents sources, read September 4, 2026: cursor.com/docs/cloud-agents, cursor.com/docs/integrations/linear, cursor.com/docs/integrations/github, cursor.com/docs/account/pricing, cursor.com/pricing, cursor.com/help/models-and-usage/api-keys, cursor.com/docs/account/teams/members

Every mark on this page was read off Cursor Cloud Agents's own documentation and pricing pages on September 4, 2026, not from a third-party roundup. If something here is out of date or wrong, tell us and we will fix the page.

Related reading

Start free →See pricingCompare every alternative