Enterprise
What Cursor Cloud Agents Can Do: Capabilities and Limits
Each Cursor cloud agent runs in its own isolated VM with a full desktop, so it can use a mouse, keyboard, and browser to run the software it builds before opening a PR. It produces artifacts like screenshots, videos, and log references that attach to the PR, lets you take over the remote desktop, connects MCP servers configured for your team, and on Teams it automatically tries to fix CI failures in PRs it creates. Since August 19, 2026 it can also subscribe to a PR, a Slack thread or a schedule and wake when something happens, and it can mint 5-minute OIDC tokens to reach your cloud without a stored secret.

On this page
What can a Cursor cloud agent do?
Each cloud agent runs in its own isolated VM with a full desktop environment, so it can use a mouse and keyboard to control the desktop and browser the way a human developer would. That means it can start a dev server, open the app in a browser, click through UI flows, and verify a change works before it pushes a pull request.
What separates this from the agent in your editor turns out to be less the desktop than the approvals. A cloud agent runs every terminal command without stopping to ask, so it can sit on a failing test and keep trying while you do something else, where the foreground agent waits on you each time. That same property is what Cursor's own security docs name as the exfiltration risk, since a prompt injection has no approval step in its way, and the security and network page works through what to do about it.
Because the agent drives a real desktop, it checks its own work against the running app rather than guessing from the diff. Cursor describes this in its agent computer-use announcement post.
Check whether your repo qualifies before you plan a workflow around it. Computer use is supported for repos with Dockerfiles based on Debian or Ubuntu distributions, and anything else is a support request. The check is narrower than that sounds, though, because what it turns on is the base image your Dockerfile starts from. A repo with no Dockerfile at all runs on Cursor's default Ubuntu machine, so the caveat probably never reaches it. The team switch for computer use lives in Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition. settings and is available to enterprise teams only.
This is covered hands-on in Agent Mode Foundations — 6 short Units, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
How do cloud agents show their work?
Agents create artifacts such as screenshots, videos, and log references to demonstrate what they did, and those artifacts attach to the pull request. You can validate a change from the PR itself without checking out the branch locally.
You can also opt in to embed artifacts directly into GitHub pull request descriptions. Enable the Allow posting artifacts to GitHub setting in the Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition. dashboard to turn this on.
GitHub's image proxy requires public URLs, so artifacts embedded in PR descriptions use long, unguessable URLs that are viewable without authentication. Cursor notes that GitHub itself used public URLs for all issue and PR attachments until May 2023.
Whether unguessable counts as protection enough depends on what ends up in the picture. A recording of an internal admin flow is a different proposition from a screenshot of a marketing page, and the setting covers everything that follows it.
Which way to set it splits on who your reviewers are. Two or three people who all live in Cursor will open the agent anyway, so the artifacts attached to the PR are enough and the public URLs buy them nothing they did not already have. Once review pulls in people who never open Cursor, a recording has to be in the description to get watched at all, and the public URLs are the price of that.
If artifacts stop showing up on your PRs, start with egress. Uploads go to a host of their own, and blocking it drops the artifacts while the rest of the run carries on looking healthy. The security and network page has the host to allowlist.
Can I take control of the agent's machine?
Yes. You can take control of the agent's remote desktop to interact with the software it is building, then hand control back to the agent at any time to let it keep working.
Cloud agents run in a remote VM that can be onboarded with your repo, dependencies, tooling, and setup scripts. Because that VM mirrors your environment, you can test changes directly in it instead of checking out the branch on your local machine.
The VM profile a cloud agent gets by default has capped memory and CPU. Raising them is an Enterprise support request today, and Cursor lists self-serve resource configuration as coming soon. Which makes the takeover good for a flaky UI flow you want to watch yourself, and a poor home for the heavy build you were avoiding locally.
How do cloud agents use MCP servers?
Cloud agents can use MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. (Model Context Protocol) servers configured for your team, which gives them access to external tools and data sources such as databases, APIs, and third-party services during a run. Add and enable servers through the MCP dropdown at cursor.com/agents. Cloud agents support OAuth for servers that need it, and OAuth is per-user, including for servers shared at the team level.
You can add custom MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. servers using either HTTP or stdio transport; SSE and mcp-remote are not supported. MCP configurations are encrypted at rest, and the sensitive fields below are redacted after saving and cannot be read back by any user.
- env
- Environment variables for stdio servers.
- headers
- Request headers for HTTP servers.
- CLIENT_SECRET
- OAuth client secret for HTTP servers.
Cursor recommends HTTP over stdio. The table below contrasts where each transport runs and what credentials the agent's VM can reach, which is the deciding factor for most teams.
- Transport
- HTTP (recommended)
- Where it runs
- Tool calls are proxied through the backend; server config is never in the VM
- Credential exposure
- The agent has no access to refresh tokens, headers, or other credentials
- Transport
- stdio
- Where it runs
- The server runs inside the cloud agent's VM, like stdio MCPs in the Cursor IDE
- Credential exposure
- The agent has access to the server's configuration and environment variables
| Transport | Where it runs | Credential exposure |
|---|---|---|
| HTTP (recommended) | Tool calls are proxied through the backend; server config is never in the VM | The agent has no access to refresh tokens, headers, or other credentials |
| stdio | The server runs inside the cloud agent's VM, like stdio MCPs in the Cursor IDE | The agent has access to the server's configuration and environment variables |
Stdio servers depend on the VM environment, and Cursor cannot verify a stdio server will run until an agent launches; configure your environment setup correctly if you use them.
The caption under that table carries the part that costs time. Cursor cannot tell whether a stdio server will start until a cloud agent launches, so a missing binary or a wrong path only shows up once the run is under way, and every attempt at a fix means booting another agent to see. Nothing in the HTTP path depends on the VM environment that way.
Guidance about remote MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. servers, including our own for the desktop app, tends to end in the same place: a remote server is a URL, over streamable HTTP or SSE. Cloud agents take only half of that, since SSE and mcp-remote are both rejected, which makes a vendor whose sole documented remote endpoint is SSE a blocked integration rather than a configuration detail.
The three redacted fields are the ones I would plan around. Nothing reads env, headers or CLIENT_SECRET back once they are saved, so keep those values wherever you already keep secrets; the next rotation will need them.
A server that authenticates over OAuth still needs every person to authorize it individually, even when it is shared at team level. Onboarding a teammate onto one of those takes one step more than adding them to the team.
That is also the thing to rule out first when a server works in your runs and not in a colleague's.
How do cloud agents fix CI failures?
Cloud agents automatically try to fix CI failures in pull requests they create. This currently supports GitHub Actions only, and automatic fixing is available on Teams today, with support for non-Teams accounts described as coming soon.
Accounts outside Teams are not shut out of the behavior, exactly. Cursor's suggestion in the meantime is to ask the cloud agent explicitly to monitor and fix CI failures on the PR.
Four conditions stop the automatic follow-up. An agent skips an auto-fix in any of the cases below, and between them they keep it off your own commits and cap how many times it can retry.
- You pushed a new commit to the branch; agents do not auto-fix CI failures on human commits.
- You sent a follow-up message to the agent.
- The same check is already failing on the base commit of the PR.
- The PR has already had 10 CI-failure follow-ups.
When nothing happened at all, the base-commit condition is worth checking before the others. A check that already fails on the base commit means the branch you forked from brought the failure with it, so the base branch is where the fix belongs. The commit rule catches people the other way round, since your own push stops the automatic follow-up too.
Hitting the ten-follow-up ceiling is itself information. The count is per PR, not per check, so ten agent attempts at the CI on one branch is a decent signal that an eleventh will not clear it. Read the run yourself at that point instead of hunting for a way to raise the cap. A flaky integration test will happily consume the whole allowance and leave the branch where it started.
Since August 19, 2026 this behaviour has a name. Cursor's changelog describes cloud agents as automatically subscribing to the PRs they create and driving them to completion, fixing CI and addressing bot comments, which is the same loop with a wider remit: bot review comments count now, not only red checks. The harness release section below covers what else a subscription can watch.
You can disable this on all your personal cloud agents under Cursor Dashboard → Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition. → My Settings by turning off Automatically fix CI Failures. To control it per PR, comment @cursor autofix off to disable it and @cursor autofix on to re-enable it. You can also ask an agent to fix CI directly by tagging it in a comment, for example @cursor please fix the CI failures.
What did the August 2026 harness release add?
On August 19, 2026 Cursor shipped a changelog entry titled "Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition. and Cursor Harness Improvements," and the framing is worth quoting because it tells you what the five features are for: always-on agents that can "operate as a system, building and shipping software on their own without the need for intervention at each loop." Three of the five are about not stopping. Two are about not drifting.
- Feature
- Subscriptions
- What Cursor's changelog says it does
- The agent subscribes to an event source (a thread or conversation) and wakes when something happens: it can monitor your PRs, watch a Slack thread, or run scheduled tasks.
- Where it applies
- Cloud agents only, for now
- Feature
- Custom modes
- What Cursor's changelog says it does
- Any skill can be used as a Custom Mode, a skill that stays pinned in the chat, which Cursor describes as "always on" skills. From /, pick a skill and press ⌥↵ (Mac) or ⌥↵ (Windows), or choose Use as Mode.
- Where it applies
- Chat
- Feature
- Subagents on their own machines
- What Cursor's changelog says it does
- Subagents can run on their own virtual machines, each with an isolated copy of the project and clean context in its own cloud environment.
- Where it applies
- Cloud environments
- Feature
- /goal
- What Cursor's changelog says it does
- Gives the agent a long-lived objective to work towards until it is fully complete. Cursor suggests pairing it with a custom mode to follow a playbook, or with /loop for recurring check-ins.
- Where it applies
- Chat
- Feature
- Steering
- What Cursor's changelog says it does
- You can send a message to steer the agent while it is working; follow-ups wait for the next tool call instead of cutting the agent off mid-action. Type a follow-up and hit Send now, or press Return twice.
- Where it applies
- Chat
| Feature | What Cursor's changelog says it does | Where it applies |
|---|---|---|
| Subscriptions | The agent subscribes to an event source (a thread or conversation) and wakes when something happens: it can monitor your PRs, watch a Slack thread, or run scheduled tasks. | Cloud agents only, for now |
| Custom modes | Any skill can be used as a Custom Mode, a skill that stays pinned in the chat, which Cursor describes as "always on" skills. From /, pick a skill and press ⌥↵ (Mac) or ⌥↵ (Windows), or choose Use as Mode. | Chat |
| Subagents on their own machines | Subagents can run on their own virtual machines, each with an isolated copy of the project and clean context in its own cloud environment. | Cloud environments |
| /goal | Gives the agent a long-lived objective to work towards until it is fully complete. Cursor suggests pairing it with a custom mode to follow a playbook, or with /loop for recurring check-ins. | Chat |
| Steering | You can send a message to steer the agent while it is working; follow-ups wait for the next tool call instead of cutting the agent off mid-action. Type a follow-up and hit Send now, or press Return twice. | Chat |
Per the August 19, 2026 changelog. The example prompts Cursor gives are the best short description of each: "check back in an hour and keep going until that feedback is in" for a Slack subscription, "fix all flaky tests and make CI green" for /goal.
The subscription row is the one that changes how you plan work, and it pays to be precise about what subscribes to what. Cloud agents automatically subscribe to the PRs they create; that part needs no setup. Watching a Slack thread is something you ask for, with a prompt like the one in the caption. Scheduled tasks existed already as Automations; what is new is that the same wake-on-event idea now covers a thread or a PR as well as a clock. I would treat the "for now" in "cloud agents only, for now" as a real qualifier rather than filler, since the release notes are careful elsewhere about what is and is not in scope.
Subagents on separate VMs solve a collision problem the single-VM model had. Two subagents editing the same checkout could step on each other's files; each now gets its own copy of the project, so the changelog's suggested use, a swarm of subagents testing an app for bugs each in its own environment, is safe in a way it was not before. The price is the one you would expect: each VM is a fresh clone with clean context, so anything a subagent needs to know has to travel in the prompt.
Steering looks minor next to the rest and is probably the one you will use most. Before this release a follow-up interrupted the agent; now it queues until the next tool call, which means you can correct course mid-run without losing the half-finished action. The two-Return shortcut matters for the same reason: it makes the queued message the default, and the interrupting one the deliberate choice.
Can a cloud agent prove who it is to my cloud?
Yes, without a stored credential. Cursor's cloud-agent identity docs describe an API, local to the agent VM, from which an agent can mint a short-lived OIDCOpenID Connect. The modern single sign-on standard, built as an identity layer on top of OAuth 2.0. Where SAML is XML and enterprise-legacy, OIDC is JSON and what newer tools implement first. Press Enter for the full definition. JWT and present it to AWS STS, GCP, Azure, Vault, or a service you run. The verifier checks the signature against Cursor's published JWKS and authorizes on claims such as the subject, team id or cloud agent id. The point is in the docs' own framing: assume a cloud role or call an internal service without keeping a long-lived secret in the agent's Secrets store.
- How the agent mints one
- A POST to /v1/tokens/oidc over the Unix socket at CURSOR_AGENT_SOCKET (default /run/cursor/api.sock on Cursor-managed VMs), with the audience your verifier expects. The request body is capped at 4 KB.
- Lifetime
- Tokens are valid for 5 minutes. There is no refresh endpoint; the agent mints again when it needs a new one.
- Signature and issuer
- RS256 JWT. Issuer https://api.cursor.com, discovery at /.well-known/openid-configuration, JWKS at https://api.cursor.com/keys.
- Audience binding
- Every token is minted for the caller-supplied audience, and Cursor does not allowlist audiences, so your verifier has to reject unexpected aud values.
- Runtime claim
- Tokens minted on Cursor-managed VMs carry agent_runtime: managed.
- How you trigger it
- Agents call the API with their terminal tools; Cursor's suggested prompt is one line pointing the agent at the identity docs page.
The older discovery document at api2.cursor.sh still exists, but minted tokens no longer carry that issuer; Cursor says to point verifiers at api.cursor.com.
The same socket serves a second, smaller API that is easy to confuse with the first. Agent metadata, which Cursor marks as a preview subject to breaking changes, lets the agent, its hooks and its install scripts read key-value facts about the current run: the agent id, who owns it, who submitted this turn, which model is serving, and which repos are checked out. Keys live under four prefixes, agent/, owner/, turn/ and workspace/, and a key exists only when it has a value, so turn/ disappears between coding turns. Self-hosted workers do not serve this API yet.
Cursor draws the line itself: when something outside the VM needs to verify the agent's identity, have the agent mint an OIDCOpenID Connect. The modern single sign-on standard, built as an identity layer on top of OAuth 2.0. Where SAML is XML and enterprise-legacy, OIDC is JSON and what newer tools implement first. Press Enter for the full definition. token, because those are signed and audience-bound. Metadata can include the current turn's submitter and serving model, which a token should not carry. Neither API is the Cloud AgentsAgents that run in a Cursor-managed virtual machine, check out the repo, do the work and open a pull request, then shut down, with no load on your laptop. Press Enter for the full definition. API or the SDK's caller-owned metadata tags; those use Cursor API keys and manage agents from outside the VM.
Where this lands in practice is the install script. Both docs say install scripts can use the socket, so a script can ask owner/team-id to decide which configuration to load, then mint a token to pull a private dependency, and the agent starts its coding turn already authorized. The retry note is easy to miss and worth keeping: if the socket is missing right after boot, retry the connection rather than failing the build.
Frequently asked questions
Does a Cursor cloud agent really run a full desktop?
Yes. Each cloud agent runs in its own isolated VM with a full desktop environment and can use a mouse, keyboard, and browser, so it can start a dev server, click through UI flows, and verify a change before opening a PR.
Should I use HTTP or stdio for a cloud agent's MCP server?
Cursor recommends HTTP. With HTTP, tool calls are proxied through the backend and the server config is never present in the agent's VM, so the agent cannot reach tokens, headers, or other credentials. Stdio servers run inside the VM and expose their configuration and environment variables to the agent.
Does cloud agent computer use work with a custom Dockerfile?
Computer use is supported for repos whose Dockerfiles are based on Debian or Ubuntu Linux distributions, and Cursor asks you to contact support if you need another distribution. A repo with no Dockerfile runs on Cursor's default Ubuntu base. The team-level computer use switch in Cloud Agents settings is available to enterprise teams only.
Why are my cloud agent's artifacts missing from the pull request?
Check two things. Artifact uploads go to a dedicated host that has to be on your allowlist if you run Default + allowlist or Allowlist only, and blocking it stops the uploads without affecting the run itself. If you expected artifacts embedded in the PR description rather than attached, confirm that Allow posting artifacts to GitHub is enabled in the Cloud Agents dashboard.
Can a cloud agent keep working on a PR after it opens it?
Yes. Per Cursor's August 19, 2026 changelog, cloud agents automatically subscribe to the PRs they create and drive them to completion, fixing CI and addressing bot comments. Subscriptions can also watch a Slack thread or run scheduled tasks, and Cursor says they are available for cloud agents only, for now.
Can a cloud agent get AWS credentials without a stored secret?
Yes. Inside the VM an agent can mint a short-lived OIDC JWT (RS256, valid for 5 minutes, audience-bound) over a local Unix socket and present it to AWS STS, GCP, Azure, Vault or your own verifier, which checks it against Cursor's JWKS at api.cursor.com/keys. Cursor does not allowlist audiences, so the verifier must reject unexpected aud values. The agent metadata API on the same socket is a preview and is not a credential.
Why didn't my cloud agent auto-fix a failing CI check?
Auto-fix supports GitHub Actions only and is available on Teams today. Agents also skip the auto-fix if you pushed a new commit, sent a follow-up message, the check was already failing on the PR's base commit, or the PR has had 10 CI-failure follow-ups. If you are not on a Teams account, Cursor suggests asking the cloud agent explicitly to monitor and fix CI failures on the PR until non-Teams support ships.
Sources & last verified
- Cursor - Cloud Agent Capabilities
- Cursor - Agent computer use (blog)
- Cursor - MCP
- Cursor - Cloud agent setup
- Cursor changelog - Cloud Agents and Cursor Harness Improvements (Aug 19, 2026)
- Cursor - Cloud Agent OIDC tokens
- Cursor - Cloud Agent metadata
Cursor ships frequently. Last updated August 22, 2026.