How to Run Self-Hosted Cloud Agents with Cursor in 2026 – Full Setup Guide

Cursor’s regular Cloud Agents are convenient. You describe a task and they handle the environment, tests, and PRs. But as soon as you need your code, secrets, or internal services to stay completely inside your own network, the standard version stops being useful.

On March 25, 2026 Cursor released Self-Hosted Cloud Agents. The planning and LLM reasoning still happen in Cursor’s cloud, but every actual command, file operation, build, test, or database call runs on your own machine or server.

I enabled it the day it dropped and have been running workers daily on a plain Ubuntu VM, a GPU box, and a small Kubernetes cluster. This is exactly how I use it.

Self-Hosted vs Regular Cloud Agents – Honest Comparison

What mattersRegular Cloud AgentsSelf-Hosted Cloud Agents
Where execution happensCursor’s serversYour own VM, laptop, devbox, or Kubernetes
Code & secrets stay in your networkNoYes
Access to internal services (DBs, private APIs, caches)You have to expose themFull native access
Setup time for first runInstant5–10 minutes
CostOnly your Cursor planCursor plan + whatever you pay for the VM/K8s/GPU
Worker limits (April 2026)Plan-dependent concurrent agents10 workers per user, 50 per team (more available on request)

If privacy, compliance, or “I want the agent to use the exact same environment my CI uses” matters to you, go self-hosted. If you just need something quick and don’t care where it runs, regular cloud agents are still simpler.

Step-by-Step Setup (Exactly What I Did)

1. Enable Self-Hosted Agents

You need a Cursor Team plan. Go to cursor.com/dashboard → Cloud Agents section and turn on “Allow Self-Hosted Agents”. Only admins can do this.

2. Install the Worker CLI

# macOS, Linux, or WSL
curl https://cursor.com/install -fsS | bash

# Windows PowerShell
irm 'https://cursor.com/install?win32=true' | iex

Verify it installed:

agent --version

3. Start a Worker

cd into the root of the repository you want the agent to work on, then run:

agent worker start

For production or long-running use I prefer an API key:

agent worker start --api-key "sk-..."

The worker only makes an outbound HTTPS connection on port 443. No inbound ports or firewall changes needed. It shows up immediately in your Cursor dashboard under Self-Hosted workers.

4. Run a Task

Go to cursor.com/agents, pick your repo, choose “Self-Hosted” from the environment dropdown, and describe the task the same way you normally would.

Advanced Options That Actually Get Used

Long-lived worker (daily use): just leave agent worker start running.

Ephemeral / single-use worker:

agent worker start --single-use --idle-release-timeout 600

Labels for routing:

agent worker start --label env=production --label gpu=true --label size=large

Kubernetes fleet: Cursor provides an official Helm chart and operator if you want to scale workers across multiple nodes.

Things That Actually Bite You

Your worker has to match whatever environment you normally use. If your dev machine has some custom alias, a specific version of Node, or a weird .env setup, the agent will hit the same walls you would.

A bunch of the newer features (screenshots, full computer use, some automations) are still missing on self-hosted workers.

You’re still paying for your Cursor plan on top of whatever you spend on VMs or Kubernetes. It adds up if you forget and leave workers running 24/7.

Git providers besides GitHub and GitLab can feel a bit clunky in the web UI right now.

When I Actually Use Self-Hosted

I use self-hosted whenever the task touches real secrets, internal services, production-like data, or specific hardware (my GPU box for heavier jobs, for example).

For quick throwaway experiments I still use regular cloud agents because they spin up faster. Most days I keep one long-lived worker on my main dev machine and another on a cheap cloud VM or GPU instance.

Resources

If you run into something weird while setting this up, drop the exact error or what you’re trying to do in the comments and I’ll tell you what worked for me.

By:

Posted in:


Leave a Reply

Your email address will not be published. Required fields are marked *