Cursor background agents were renamed Cloud Agents in Cursor 2.0, and the documentation now files them under that name. They run on isolated Ubuntu VMs that Cursor operates, clone your repository, install dependencies from a Build snapshot described by .cursor/environment.json, and normally finish by opening a pull request. You can launch one from the desktop app, cursor.com/agents, the iOS app, Slack, GitHub, Bitbucket, Linear, the API, or by prefixing a CLI message with an ampersand. They need a paid plan and a source-control connection an admin has authorised, and they work under Privacy Mode but not Privacy Mode (Legacy). Billing is at the selected model’s API pricing, drawing your included allowance first; Builds carry no separate charge. The practical limits are concurrency, an ephemeral machine that can be recycled mid-run, and the fact that everything must live in git. Local agents in worktrees remain the better answer for work that needs your machine, your secrets, or your eyes.
- They are called Cloud Agents now. Cursor renamed Background Agents in Cursor 2.0, and the docs carry the naming history.
- They run on isolated Ubuntu VMs in Cursor’s cloud, not on your machine, with a default VM profile Cursor describes as limited memory and CPU.
- Nine ways in: desktop, web, iOS, Slack, GitHub, Bitbucket, Linear, the API, and
&in the CLI. - Setup lives in
.cursor/environment.jsonand is baked into a Build, a bootable snapshot, so agents start ready instead of installing on every run. - Billing is the selected model’s API pricing, drawn from your included allowance first. Builds are included at no extra cost.
- Privacy Mode is fine. Privacy Mode (Legacy) is not, because a cloud agent must store code and environment data while it runs.
- The machine is ephemeral. Commit constantly, because uncommitted work does not survive a VM reset.
First, the name changed
If you are searching for Cursor background agents you are searching for a feature that Cursor no longer calls that. It was renamed to Cloud Agents in Cursor 2.0, and the current documentation carries an explicit naming-history line saying so. The old documentation path redirects to cursor.com/docs/cloud-agent.
This matters for more than tidiness. Most of the writing about Cursor background agents describes the 2025 product, and the 2025 product had a different entry point, a different pricing model, and a different answer on Privacy Mode. If an article tells you to press Cmd+E or click a cloud icon in chat, it predates Cursor 3.0, which moved cloud agents out of the editor entirely and into the Agents Window.
What a Cursor background agent actually is
A Cloud Agent is an agent run that happens somewhere else. Cursor describes them as running in isolated VMs in the cloud with full development environments: your repository cloned, dependencies installed, secrets injected, startup commands run, and network access configured. The agent can then build, test, and interact with the software it is changing, which is the part that separates this from a chat that writes code it never executes.
The machine is Ubuntu. Cursor does not publish CPU, memory, or disk figures, and describes the default VM profile as having limited memory and CPU; custom resource configuration exists but is an Enterprise feature. Assume a modest box, not a build server.
| Cloud Agent | Cursor agent in the editor | Local agent in a worktree | |
|---|---|---|---|
| Where it runs | Cursor’s VM | Your machine | Your machine |
| Your uncommitted work | Invisible to it | Available | Available |
| Your local secrets and services | Not present unless configured | Present | Present |
| While it works you are | Free to do something else | Watching | Free to do something else |
| You review | A pull request | Diffs as they appear | A branch, on your disk |
| Machine survives the run | No, it is ephemeral | Yes | Yes |
| Needs everything in git | Yes | No | No |
That last row is the one that changes how you work. A Cloud Agent can only see what is committed and pushed. A half-finished refactor sitting in your working tree does not exist to it, and neither does the .env you never committed for good reasons. This is not a rough edge; it is the defining constraint of the model, and most of the friction people report traces back to it.
Every way to start one
The documentation lists seven surfaces, and there are two more worth knowing. The spread is the actual product insight here: Cursor is betting that the moment you want to delegate a task is often a moment you are not in your editor.
| Surface | How you start it |
|---|---|
| Cursor desktop | Open the Agents Window and select Cloud in the dropdown |
| Cursor Web | Go to cursor.com/agents and describe the task |
| Cursor for iOS | The native app, including on iPad |
| Slack | Mention @Cursor in a message or thread |
| GitHub or Bitbucket | Comment @cursor on a pull request or issue |
| Linear | Mention @cursor on an issue |
| API | POST to the Cloud Agents API, which is in public beta |
| Cursor CLI | Prefix any message with & to hand that turn to a Cloud Agent |
| Automations | Scheduled or event-triggered runs from the dashboard |
The Privacy Mode trap
There are two privacy settings with confusingly similar names and opposite outcomes. Cloud Agents are available in Privacy Mode: Cursor states that it never trains on your code and only retains code for running the agent. Cloud Agents are not available in Privacy Mode (Legacy), because legacy privacy mode blocks cloud data storage and a cloud agent has to store code and environment data while it runs.
If you turned privacy on years ago and never revisited it, you are probably on the legacy setting, and Cloud Agents will refuse to start with a message telling you to switch. That is the fix: switch to the current Privacy Mode. Any guide that flatly says privacy mode disables background agents is describing the legacy setting without naming it.
Setting up the environment
A fresh VM with your repository on it is not a working environment. Getting from one to the other is what .cursor/environment.json describes, and it is where most of the real configuration effort goes.
{
"install": "pnpm install --frozen-lockfile",
"start": "docker compose up -d postgres redis",
"terminals": [
{ "name": "dev", "command": "pnpm dev" },
{ "name": "tests", "command": "pnpm test --watch" }
]
}
| Field | When it runs | What it is for |
|---|---|---|
build | Docker image build | A dockerfile and context, if you want full control of the image |
install | During each Build, not each run | Dependencies. Must be idempotent, because it can run against previously prepared disk state |
start | At the start of every run | Daemons, databases, anything that has to be live for this session |
terminals | At the start of every run | Long-lived processes in a tmux session shared between you and the agent |
The unit that makes this fast is a Build, which Cursor defines as a bootable snapshot of a prepared Cloud Agent environment. Your install step is baked in once and the agent boots from the snapshot, rather than reinstalling your dependency tree every time you delegate a task. If a new Build fails, agents keep using the last successful one, which is the right failure mode.
Secrets, in three flavours
Because the machine is not yours, every credential your build or test suite needs has to be handed over deliberately. Cursor separates them by who can see them, which is a better design than a single flat list.
- Environment variables are visible to the agent. Use them for flags, public URLs, and configuration you would not mind reading in a transcript.
- Runtime secrets are redacted from the agent’s tool-call results, chat transcript, commits, and commit messages, replaced with
[REDACTED]. Note the limit Cursor documents: they are still visible to a human interacting with the environment through the terminal. - Build secrets are available only to the Docker build process and never reach the running agent. This is the right home for a private package registry token.
Network access has three settings: reach any external host, the default domains plus your allowlist, or your allowlist only. Allowlist-only is the interesting one for anyone with a compliance story to tell, and it is worth setting deliberately rather than discovering later, because an agent that can run arbitrary commands with unrestricted egress is a data-exfiltration surface if the prompt can be manipulated.
What it costs
The pricing question people ask is whether the VM is billed separately from the tokens. Per the documentation, no. Cursor states that Cloud Agents are charged at API pricing for the selected model, and that Builds are included with Cloud Agents at no additional cost.
- Model tokens are the meter. The context window size you pick affects token usage, and therefore cost.
- Included usage is spent first. Cloud agent tokens draw down your plan’s allowance before any on-demand charge begins.
- On-demand billing has to be enabled at all. Cloud Agents require it as a prerequisite, so an account with overage switched off cannot start one even with allowance remaining.
- The plan matters. Cloud Agents are listed on the paid tiers, not on Hobby.
Separately, be aware that Cursor removed dollar cost figures from its usage graph in August 2026, on the reasoning that plan usage in dollars is not what you are billed. That is defensible, and it also makes attributing spend to individual cloud agent runs harder than it was.
The limits worth knowing before you rely on them
This is the section most coverage skips, and it is the one that decides whether Cloud Agents fit your work.
Concurrency is capped, and the number is not in the docs
Cursor staff have stated on the forum that Pro allows 8 simultaneous Cloud Agents, and that the limit counts agents running at the same time rather than repositories or environments. Higher tiers get increases that Cursor describes only as generous. Hitting the cap produces an upgrade prompt rather than a queue.
There is no documented maximum runtime, and no way to set one
Users have asked for a hard stop after automations got stuck waiting for a response and ran for a weekend. Long-running Agents exist as a separate research preview for Ultra, Teams, and Enterprise, with a 52-hour run cited as an example in Cursor’s own writing, but that is a capability, not a ceiling you control.
The VM is ephemeral, and this is the complaint that recurs
Cursor staff have acknowledged on the forum that an agent’s machine can become unreachable mid-run and be rebuilt as a fresh machine from your environment snapshot, that tmux processes live and die with that specific VM, and that this is an issue with no single fix. Their advice is the same as the design implies: commit to git constantly. Read the "everything must be in git" rule as damage control for ephemeral infrastructure, not only as a philosophy.
The git handoff is not perfectly reliable
The most common concrete failure users report is a run that completes without creating and pushing its branch, which Cursor staff have described on the forum as a known issue. Pull requests occasionally target the wrong base branch too. Check that the branch actually exists before assuming a silent run failed.
Secrets and private registries are where most setups stall
A test suite that needs a credential the VM does not have looks exactly like an agent that cannot write working code. Configure the three secret types first and prove the environment builds before judging the agent, and note that changing a secret generally means rebuilding the environment rather than editing a value.
How a run ends
The finish is genuinely good, and it is the part of the feature that most justifies it.
- It opens a pull request. The output arrives in the place your team already reviews code, rather than in a chat window you have to transcribe.
- It tries to fix CI it broke. Cloud Agents automatically attempt to fix CI failures they introduce, and skip that follow-up once a human pushes a commit to the branch. Turn it off globally in Cursor Dashboard, Cloud Agents, My Settings, or per pull request by commenting
@cursor autofix off. - Commits are signed. They carry the verified badge on GitHub and GitLab automatically, so agent authorship is legible in history rather than indistinguishable from yours.
- You can take the wheel. Cursor documents taking control of the agent’s remote desktop to interact with the software it is building, then handing control back to let it keep working. The
terminalsyou configured run in atmuxsession shared between you and the agent.
That last capability is underrated. The usual criticism of cloud agents is that you trade visibility for parallelism, and a shared terminal plus a remote desktop is a real answer to it, at least for the cases where you notice something has gone wrong in time.
When a local agent in a worktree is the better answer
Cloud Agents solve a specific problem: you want work done and you do not want it on your laptop or in your way. When that is the problem, they are the right tool. When it is not, moving the work to someone else’s VM adds setup, latency, and a class of failure you cannot debug.
| If this is true | Prefer |
|---|---|
| The task is fully described by what is committed | Cloud Agent |
| You want a pull request without occupying your machine | Cloud Agent |
| You are away from your desk and an idea will not keep | Cloud Agent, from Slack or the phone |
| The work depends on uncommitted local changes | Local worktree |
| It needs local services, a local database, or credentials you will not upload | Local worktree |
| Your account is on Privacy Mode (Legacy) or your admin has not connected source control | Local worktree |
| You want to watch it and interrupt early | Local worktree |
| You want several agents on one repo without paying per VM | Local worktrees |
The last row is the one worth dwelling on, because parallelism is the main thing people want from background agents and it is entirely achievable locally. A git worktree gives each agent its own checkout of the same repository, with its own branch and its own files, so several can work at once without overwriting each other. That is the same isolation property a cloud VM provides, on hardware you already own, with your environment already set up on it. The mechanics are in the complete git worktree guide, and the coordination problem is in multi-agent orchestration.
Cursor supports this directly: the CLI has a -w flag that creates the worktree for you. It is a genuine strength of the product and gets far less attention than the cloud story does.
None of that is an argument against Cloud Agents. The honest summary is that they are excellent at the thing they are for, delegating self-contained work to a machine that is not yours, and that a large share of real coding work is not self-contained. Most people who use both end up with a simple rule: if the task can be written down completely, send it to the cloud; if it needs your context, keep it local.
Questions people ask
What are Cursor background agents?
They are agent runs that execute on isolated Ubuntu VMs in Cursor’s cloud rather than on your machine. The agent clones your repository, installs dependencies from a prepared snapshot, makes the change, can build and test it, and normally opens a pull request. Cursor renamed the feature to Cloud Agents in Cursor 2.0, so that is the name you will see in the product and the documentation.
Are Cursor background agents the same as Cloud Agents?
Yes. Cursor renamed Background Agents to Cloud Agents in Cursor 2.0, and the docs carry an explicit naming-history note. The old documentation URL redirects. Only the name changed; the feature continued and has gained capabilities since.
How do I start a Cursor background agent?
Open the Agents Window in the desktop app and choose Cloud, or use cursor.com/agents, the iOS app, Slack, a @cursor comment on a GitHub or Bitbucket pull request or issue, Linear, the API, or an ampersand prefix on a message in the Cursor CLI. An account admin must have connected source control first, with read-write repository access.
How much do Cursor background agents cost?
They are charged at the selected model’s API pricing, drawing on your plan’s included usage before any on-demand charge. Builds are included at no additional cost, and Cursor documents no separate compute charge for the VM. On-demand billing must be enabled for cloud agents to run at all, and they are a paid-plan feature.
Do Cursor background agents work in Privacy Mode?
Yes in Privacy Mode, no in Privacy Mode (Legacy). Cursor states that Cloud Agents are available in Privacy Mode and that it never trains on your code, retaining code only to run the agent. Legacy privacy mode blocks cloud data storage, which a cloud agent needs while it runs, so accounts on the legacy setting have to switch.
How many Cursor background agents can I run at once?
Cursor staff have said on the forum that Pro allows 8 running at the same time, counted by concurrent agents rather than repositories or environments. Higher tiers get increases Cursor describes as generous without publishing a number, and the limit is not documented. Exceeding it produces an upgrade prompt.
Why did my Cursor background agent not push a branch?
It is a known issue that Cursor staff have acknowledged on the forum: runs sometimes complete without creating and pushing the branch. The related failure is a pull request opened against the wrong base branch. Check whether the branch exists before assuming the work itself failed, and commit early inside the run, because an ephemeral VM that gets recycled takes uncommitted changes with it.
Can a Cursor background agent see my uncommitted changes?
No. It works from what is committed and pushed to the repository. Local edits, untracked files, and an uncommitted .env do not exist to it. That constraint is the main reason to run an agent locally in a git worktree instead, where it sees your working tree, your services, and your credentials.
Are background agents better than running agents locally in worktrees?
They answer different needs. Cloud Agents suit self-contained tasks you want off your machine and delivered as a pull request, including ones you start from a phone. Local agents in git worktrees suit anything that depends on uncommitted work, local services, or credentials you will not upload, and they give you the same parallelism without a per-run VM. Cursor’s own CLI ships a -w worktree flag for exactly that.
Sources
Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.
- Cursor docs: Cloud Agents the naming history, the VM description, launch surfaces, and model-priced billing
- Cursor changelog: 2.0 the rename from Background Agents to Cloud Agents
- Cursor docs: Cloud Agent setup Ubuntu machines, the default VM profile, environment.json
- Cursor docs: Builds bootable snapshots, install and start timing, fallback to the last successful Build
- Cursor docs: security and network Privacy Mode versus Privacy Mode (Legacy), the three secret types, network modes
- Cursor docs: Cloud Agent capabilities CI autofix, @cursor autofix off, taking control of the remote desktop
- Cursor docs: Cloud Agent settings admin toggles, network access mode, long-running agents
- Cursor docs: Cloud Agents API the public-beta v1 API surface
- Cursor docs: Agents Window where cloud agents live after Cursor 3.0 moved them out of the editor
- Cursor forum: simultaneous cloud agent limits Cursor staff stating the Pro concurrency figure
- Cursor forum: cloud agent VM reset mid-run Cursor staff on ephemeral VMs and lost uncommitted work
- Cursor forum: unreliable branch push Cursor staff describing the missing-branch failure as a known issue