My Machines
My Machines connects one machine to your Cursor account so Cloud Agent tools run on it. The agent loop and inference run in Cursor. Terminal commands, file edits, computer use, and local MCP servers run on your machine.
Use My Machines for personal workflows on a single laptop, devbox, Mac, or remote VM. For teams and enterprises, use Pools.
Connect a machine
Follow the quickstart to install the Cursor CLI, sign in, and connect your first machine:
cd /path/to/repoagent worker startThe worker stays connected until you stop it. A personal worker can run multiple agents when the machine has enough resources.
Configure the worker
Worker options go before start:
agent worker [options] startName the machine
Give the machine a recognizable name:
agent worker --name "my-devbox" startThe name appears under My Machines when you choose where an agent runs.
Use a different workspace
Point the worker at a repository without changing directories:
agent worker --worker-dir "$HOME/repos/payments" startRegister multiple repository roots by repeating --worker-dir:
agent worker \ --worker-dir "$HOME/repos/app" \ --worker-dir "$HOME/repos/infra" \ startEach path must exist. For each root with a Git remote, the worker registers routing metadata so Cursor can match requests to the correct checkout.
Authenticate without browser login
Sign in from the browser:
agent loginagent worker startFor a personal devbox without browser access, use a personal API key from Cursor Dashboard -> API Keys:
agent worker --api-key "$CURSOR_API_KEY" startMy Machines requires a personal credential. A service account API key starts a pool worker, not a personal worker.
How Cursor chooses a machine
When you select a machine in the Cursor app, on cursor.com/agents, or on mobile, Cursor matches the request to the machine's registered repositories.
A machine is eligible when:
- It is registered to your Cursor account.
- It is connected and available.
- One of its registered repository roots matches the request's repository.
If the repository does not match, start the worker from the correct checkout or pass another --worker-dir. Cursor does not send a repository request to an unrelated checkout.

Local tools and MCP servers
An MCP server's transport determines where it runs:
| Transport | Runs on | Use case |
|---|---|---|
Command (stdio) | Your machine | The MCP process starts on your machine and can reach private networks, internal APIs, and local services. |
HTTP or SSE (url) | Cursor backend | Cursor handles OAuth, session caching, and authentication for HTTP-based MCP servers. |
Use the command (stdio) transport when an MCP server needs to reach private endpoints. The server runs on your machine and uses its network. Cursor connects to HTTP-based MCP servers from its backend.
Add and enable personal MCP servers through the MCP dropdown in cursor.com/agents. Team admins configure shared servers under Dashboard -> Integrations & MCP.
Networking and artifacts
Workers connect to Cursor over outbound HTTPS. They don't require inbound ports, a public IP, or a VPN tunnel. If the machine uses an HTTPS proxy, set HTTPS_PROXY or https_proxy.
As the agent works, the worker returns tool results and selected context to Cursor. Cursor uploads Cloud Agent artifacts to managed storage so they appear in the dashboard and pull requests. See What leaves your network for the complete data flow and required hosts.
Troubleshoot a worker
Run the preflight report:
agent worker debugIt checks authentication, worker policy, repository labels, and whether Cursor can see a matching worker. To print diagnostics before connecting, run:
agent worker start --debugIf the machine does not appear:
- Confirm the worker process is still running.
- Confirm the Cursor app and CLI use the same account.
- Check that the worker directory has the expected Git remote.
- Check outbound access to the hosts listed in the BYOM overview.