Open the desktop
From your local machine, open an authenticated desktop URL. Integrations can request the same URL through the SDK or API:Desktop streaming is available only after the box’s machine is up. If the box is provisioning, archived, or stopped, start or resume it first.
Streaming modes
The default desktop streams video and audio over Moonlight (WebRTC) at 1920x1080 and 60 fps. WebRTC relies on UDP and peer connectivity, so on restrictive, corporate, or low-bandwidth networks it can be choppy or fail to connect. For those cases, use VNC, which tunnels over plain HTTPS and is far more tolerant of poor connections (at a lower frame rate):The VNC viewer opens as its own top-level page (not embedded), which is required for its connection to authenticate. The first
--vnc on a box takes a few seconds to prepare; later opens are instant.Open only the browser
Use a browser-only view when someone needs Chromium without access to the Box desktop:box desktop still opens the full desktop as a
separate surface. On a dedicated Browser Box, the command reuses its primary
browser stream.
Desktop Automation
Boxes also include Lux for desktop and browser automation. Lux is available inside the Box as both:- a
luxCLI for driving the visible desktop from shell commands - a Lux skill that helps agents use the CLI for GUI work
lux run drives the active Lux session to completion and records a demo video under:
Lux controls the Box’s single shared desktop, so run only one Lux session at a time. Wait for the active
lux run to finish before starting another session.
Lux quotas
Lux has its own quota, separate from your plan’s machine time: 20 sessions per day per account, shared across every box you own, including no-env boxes you hand to your users. The quota is the same on every plan and resets daily. Each session also has a step budget. Lux picks it from the task (20 steps for quick actions, 100 for thorough flows); raise it withlux run --max-steps N. lux status shows today’s usage.
You can combine Lux with normal desktop tools. For example, launch Chrome or focus a window with shell commands, then let Lux interact with the UI:
What happens when you open it
The CLI or dashboard asks Box for a fresh authenticated desktop URL for your box. If the desktop stream is not ready yet, Box prepares it and then opens the browser viewer. The returned URL opens a browser page. For the default Moonlight stream it looks like this:--vnc) it points at a noVNC page instead:
--public or send publicAccess: true to POST /boxes/{boxId}/desktop?vnc=1, the noVNC URL does not include _token. The exact host, IDs, password, and token fields are generated for the running box. The Moonlight viewer removes its fragment immediately, sends the token in authenticated request headers and the first WebSocket frame, and never puts it in an HTTP or WebSocket request URL. Treat desktop URLs as sensitive because they can let the browser attach to that desktop session.