agent-browser, and it opens on this desktop. You see every page they visit as it happens and can step in to enter a password, solve a captcha or fix a form without stopping them.
Open it
- Console. On the Machines page, open a machine’s Open menu and choose Desktop. It opens in its own window, one per machine.
- CLI.
boxd machine desktop myappprints the link and opens it in your browser. - Link.
https://app.boxd.sh/desktop/<machine>. An agent on the machine gives you this link when it starts a browser session. - SDK. Every machine carries it:
machine.access.desktopUrlin TypeScript,machine.access.desktop_urlin Python. Use it when a script creates a machine and needs to hand someone a way to watch it. - From inside the machine. There is no in-machine command for it, but every session carries the machine’s name and host, so you can build the link:
Desktop needs the default machine image at a recent version. A machine on a custom image, or created before the desktop shipped, shows the entry greyed out: Desktop is not available for this machine. Create a new machine to use it. Forks and machines created from a snapshot keep their source machine’s image, so create a fresh machine from the default image to get it.
Launch apps
Click Launch at the top, or press ⌘B (Ctrl+B). Type to filter, use the arrow keys to move between tiles, press Enter to launch and Esc to close. Three apps are always there:
Anything else with a desktop entry on the machine, such as an editor, a design tool or a desktop app you installed, appears with its own icon and name. Terminal-type entries and other Chrome or Chromium installs are left out, since the built-ins cover them. Apps run as the machine’s user, with the same access a terminal has.
Work in it
- Windows. Drag the title bar to move. Drag the right edge, the bottom edge or the bottom-right grip to resize. Click to bring a window to the front, and click ✕ to close it. Apps that draw their own title bar keep it.
- Keyboard. Everything you type goes to the focused window, modifiers included. Only ⌘B/Ctrl+B is reserved. Switching to another window on your laptop releases any held modifier on the machine, so nothing gets stuck.
- Right-click. It goes to the machine, not your browser.
- Clipboard. Text copied on the machine pastes on your laptop. Text copied on your laptop is available on the machine when you focus the desktop window again. Your browser may ask once for permission to read the clipboard.
- Screen size. The machine’s display follows the size of the window, up to 5K, so there is no letterboxing. Resize the window and the desktop resizes with it.
Upload by drag and drop
Drag files or whole folders from your laptop onto the desktop:- Dropped on the Files window, they land in the folder it currently has open.
- Dropped anywhere else, they land in the home directory.
boxd machine cp or the file manager’s own tools for that.
One viewer at a time
A desktop has one viewer. Opening it while it is open elsewhere, in another tab or on another laptop, takes over, and the other view shows Disconnected with a Reconnect button. Everyone who can open it has full control. There is no read-only mode.What persists
- Closing the window. Nothing changes on the machine. Windows and apps keep running and are there when you open the desktop again.
- Standby and hibernation. Both preserve the desktop and its windows.
- Stop or reboot. Either ends every desktop window. The desktop comes back on demand, the next time you open the view or an agent starts a browser, and files on disk are untouched.
- The browser’s profile. Cookies and logins survive closing the browser, relaunching it, and crashes. The Browser tile, agents, and links opened from a terminal all share one profile.
Limits
- Drag and drop. Up to 500 files per drop and 1 GiB per file.
- Input. Mouse and keyboard only, with no touch.
- Clipboard. Text only.
- Not included. Audio, microphone and webcam, printing, minimize and maximize, and a taskbar.
Drive it from code
browser.launch() in an automation opens a Playwright-controlled browser on this same desktop, with a clean profile on every launch, so a script’s browsing is just as watchable as an agent’s. GUI apps of any kind can be started onto the desktop from a shell on the machine with boxd-desktop-launch '<command>'.