← 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 also start on Premium at $30 a month, not on Free or Plus. 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
✓
✓
Start a hosted run over API or MCP3
✓
✓
Replies in-thread on PR review4
✓
~
Bring your own model key5
✓
~
Runs on your Claude or ChatGPT subscription6
✓
✕
Doesn't bill for model usage7
✓
✕
Plan price and usage rate both published8
✓
~
Free tier with published limits9
✓
✕
Fully-managed tier (infra and model)10
✕
✓
IDE or editor surface11
~
✓
Start a run from Slack12
✓
✓
Self-hosted or open-source option13
✕
~
  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, or that starting from an issue needs a trigger or automation you configure yourself.
  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 documented HTTP API or MCP server starts a run on the vendor's hosted agent from a task the caller writes, so a script, a CI job, or an MCP client can hand off work and follow it to a pull request. Partial means only the vendor's CLI can start such a run, or the API only fires an automation saved ahead of time, or it is enabled for selected organizations only. Local agent sessions, and MCP servers that only read docs or tickets, don't count. Creating, labeling, or assigning an issue through a tracker's API, so that a tracker trigger or a saved automation picks it up, doesn't count either. Sinatra's MCP server takes an OAuth sign-in from Claude Code, Cursor, claude.ai or ChatGPT, or a personal access token; the HTTP API and the `sinatra` CLI take the token; and every run happens on Sinatra's hosted agent.
  4. 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.
  5. 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.
  6. 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, or that a linked subscription pays only for one provider's share of a hosted run while the vendor bills the rest.
  7. Yes means the vendor never charges you for model use itself: it runs on a key or subscription you pay a model provider for, or model use is included in a flat plan and capped by a rate limit or task quota rather than charged. When the vendor is itself the model provider, paying its own API rates on your own key counts as paying your provider. Partial means the vendor bills model use unless you bring your own key on the surface compared here. No means the vendor bills model use, as tokens, credits, or units, at cost or marked up, including usage past an included allowance. Sinatra runs on your own Claude or ChatGPT subscription or API key and never bills for model usage.
  8. 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.
  9. Yes means the free tier states its limits as numbers. Sinatra's Free plan is 1 task at a time, plus 1 queued with no daily limit and no card, on your own subscription or API key; each request runs for up to 60 minutes, and if it needs longer Sinatra stops, keeps the changes, and picks up when you reply. Partial means a free plan exists but its limits are not published, or are published in a unit whose size isn't. No means there is no free tier, or the free tier leaves out the agent compared here.
  10. Yes means the vendor supplies model access and bills for or includes that usage. Sinatra requires your own workspace API key or personal subscription on every tier, including existing and paid accounts, and does not bill model tokens.
  11. Yes means an editor plugin or a desktop app; partial means a terminal CLI and no plugin or app of the vendor's own inside an editor. Sinatra is partial: the `sinatra` CLI, and an MCP server that Claude Code, Cursor, claude.ai, ChatGPT and other MCP clients can call, hand work to the hosted agent, which works in its own sandbox and comes back as a pull request. There is no editor extension, and the agent never runs on your machine. If you want an assistant working inside your editor, that is a real reason to pick one of these instead, and several teams run both.
  12. Yes means mentioning the agent in a Slack channel or thread starts a run on the vendor's hosted agent. Sinatra's Slack app is connected once per workspace by an owner or admin, on every plan: mention it in a channel and it works in that thread, posting its progress and answer there and opening a pull request when the request needs code. Follow-ups in the thread continue the task.
  13. 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 or your own machines while the product itself stays the vendor's and stays closed. Sinatra is hosted only; there is no self-managed build.

Competitor facts were read off each vendor's own documentation and pricing pages on October 16, 2026. Sinatra's terms reflect the current own-credential requirement.

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
  • Mention @Sinatra in a Slack channel; it works in that thread, and follow-ups in the thread continue the task
  • Start a task from your terminal with the sinatra CLI, from Claude Code, Cursor, claude.ai or ChatGPT over MCP, or over the HTTP API. It runs on Sinatra's hosted agent, not on your machine
Cursor Cloud Agents
  • Assign a Linear issue to Cursor, or mention @Cursor in a comment
  • @cursor in a comment on a GitHub pull request or issue, or on a Bitbucket pull request
  • @Cursor in Slack or Microsoft Teams
  • A Jira work item, on Teams and Enterprise plans
  • Cursor Web, the Cursor desktop app, Cursor for iOS, and the API
Sinatra

Free: 1 task at a time, plus 1 queued, no daily limit. Bring your own Claude or ChatGPT subscription, or an API key. On Free, each request runs for up to 60 minutes. If it needs longer, Sinatra stops, keeps the changes, and picks up when you reply. No card. Paid plans are one flat monthly price for the whole workspace, however many people are in it: Pro $20 (3 tasks at a time, plus 10 queued), Team $99 (10 tasks at a time, plus 25 queued), Scale $249 (25 tasks at a time, plus 100 queued). Enterprise is custom. Sinatra never bills for model usage.

Sinatra pricing →
Cursor Cloud Agents

Sold as part of The X Subscription, one plan for Cursor, Grok, and X. Free and Plus ($8/mo) have no Cloud Agents; they start at Premium $30/mo, then Super $100/mo and Ultra $200/mo, and Teams seats are $30, $100, or $200 a month. Cursor's own models draw on a weekly usage pool sized as a multiple of Plus; third-party models are charged at API list price from prepaid credit. On Teams and Enterprise a Cursor Token Rate of $0.25 per million tokens applies on top, including on your own key. The older Pro, Pro+, Ultra, and Teams plans continue for existing customers.

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.

On GitHub the gesture differs more than the capability. Cursor's docs list a comment of @cursor on a pull request or an issue, so an issue can start a Cloud Agent, with the comment as the prompt. Sinatra's trigger is a label on the issue, which needs no prompt at all. If the people handing over work are not the people who would write one, that is the difference.

Cursor also starts agents from the web, the desktop app, iOS, Slack, Microsoft Teams, Jira on its team plans, and an API. Sinatra starts from Slack and an API too, but has no web, desktop, or iOS app to start one from, and no Teams or Jira app. On review, a Cursor agent can now wait on its own pull request and act on review comments and CI results, but only when the prompt asks it to, for example "open a PR and keep CI green." Otherwise it pushes and hands off, and a changes-requested review means going back and asking. Sinatra treats the review as the instruction every time.

What it costs, in dollars

Cursor is now sold as part of The X Subscription, one plan that covers Cursor, Grok, and X. Free and Plus ($8 a month) have no Cloud Agents. They start at Premium, $30 a month, with Super at $100 and Ultra at $200, and a Teams seat costs $30, $100, or $200 at the matching tier. Customers on the older Pro, Pro+, Ultra, and Teams plans keep them, and new customers start on the new ones.

What a Cloud Agent costs depends on the model. Cursor's own models, Grok and Composer, come out of a weekly usage pool, and Cursor states the pool as a multiple of Plus ("4x Plus" on Premium) rather than as a number of tokens or dollars. Third-party models such as Claude, GPT, and Gemini aren't in the pool at all: they are charged at the model's API list price from the first request, out of prepaid credit, and Cursor publishes every per-token rate. It also says which plan suits whom: Premium for new agent users, Super for daily ones. It is one of the more transparent vendors here, and it is worth saying so before the criticism.

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. There is no free way to try a Cloud Agent 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, which "applies on top of model API pricing for additional usage and BYOK usage." That last part 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 alone, with nothing to type. The full agent is in the free tier (1 task at a time, plus 1 queued, with no daily limit and no card), where Cursor's Cloud Agents begin at $30 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 is not an editor. Its MCP server lets Cursor's agent start a Sinatra task, but that task starts from a fresh clone and whatever the prompt says, not from your working copy and Cursor's rules, so the handoff between "I am working on this" and "finish this for me" that Cursor gets for free is a much thinner one here.

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, code hosting on Origin, self-hosted machines that run an agent's tool calls on hardware you manage, PR routing, an SDK, a CLI, plus Slack, Microsoft Teams, and iOS. Sinatra focuses on the ticket-to-PR workflow, has no iOS app, and has no self-hosted option.

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 a GitHub issue handed over with a label rather than a prompt typed into a 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. With Sinatra's MCP server added to Cursor, that handoff can start from the editor too: ask for a Sinatra task, and it runs in Sinatra's sandbox on your own key or subscription and comes back as a pull request.

Switching, or running both

This is the pairing most likely to end in "both". Cursor answers @cursor on a pull request or issue 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 plan 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. Premium, Super, and Ultra charge third-party models at the model's API list price, paid from prepaid credit; Teams and Enterprise add a Cursor Token Rate of $0.25 per million tokens, which 'applies on top of model API pricing for additional usage and BYOK usage.' Individual plans don't pay it.

Are Cloud Agents included in Cursor's free plan?

No. Cursor is now sold as part of The X Subscription, and neither Free nor the $8 Plus plan includes Cloud Agents. They start at Premium, $30 a month. Sinatra's free tier includes the full agent.

Can Cursor start from a GitHub issue?

Yes. Cursor's Cloud Agents docs list a comment of @cursor on a GitHub pull request or issue, with the comment as the prompt; Bitbucket is pull requests only. Sinatra's trigger is a label on the issue, so nobody has to write a prompt to hand work over.

Where these facts came from

Cursor Cloud Agents sources, read October 16, 2026: cursor.com/docs/cloud-agents, cursor.com/docs/integrations/linear, cursor.com/docs/integrations/github, cursor.com/docs/integrations/microsoft-teams, cursor.com/docs/integrations/jira, cursor.com/docs/account/pricing, cursor.com/docs/account/pricing/legacy-cursor-plans, cursor.com/pricing, cursor.com/help/models-and-usage/api-keys, cursor.com/docs/cloud-agent/capabilities, cursor.com/docs/cloud-agent/self-hosted/choose-runtime, cursor.com/docs/cloud-agent/api/endpoints

Every mark on this page comes from Cursor Cloud Agents's own documentation and pricing pages, not a third-party roundup: read on October 16, 2026. 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