---
title: Desktop
description: Open a sandbox's 1920x1080 desktop with Chrome in your browser, and share it with a link.
---

Every running sandbox has a desktop: a 1920x1080 X11 session with Google Chrome. You can open it in any modern browser, watch what an agent does on it, and use its mouse and keyboard yourself.

```sh
pols desktop web
# https://sbx-...-desktop.on.pols.so/#...
```

Open the printed link. The page connects to the sandbox's desktop through noVNC and scales it to your window. Over the API, `POST /v1/sandboxes/{sandbox}/desktop` returns the same link with its expiry, and the TypeScript client has `pols.desktop.link()`.

## The link is the key

The link carries a token after the `#`. Browsers never send that part of a URL to a server: the desktop page reads it, removes it from the address bar and presents it when it opens the connection, so it appears in no request URL and no log, and no cookie is set.

Whoever has the link can see the desktop and use its mouse and keyboard. Treat it like a password: share it only with people who should control the sandbox.

A desktop link:

- works for 12 hours, as often as you open it, and reconnects by itself after a network interruption;
- ends when the sandbox stops, also if you resume it later; an open desktop closes when the link expires;
- stops working when the API key that created it is revoked.

Run `pols desktop` again for a fresh link.

## Using the desktop

The desktop runs as `user` on display `:1`. Graphical programs you start in the sandbox appear on it when they use that display; login shells (`bash -lc`) already have `DISPLAY=:1` set. For screenshots and automated input, use [computer use](/agents/computer-use/) rather than the browser view; to record the desktop to a video file, run `pols-record start` and `pols-record stop` inside the sandbox.

The desktop's VNC server only listens inside the VM; there is no VNC port to publish. Port 6080, which the desktop uses internally, cannot be published with `pols host`.
