Skip to main content
The client utilities are a small background agent on your computer that lets your machines reach back to it: paste images from your clipboard into Claude Code, read files under your home directory, and start and drive the Chrome on your laptop - with your logins - from inside a machine.

Enable

They’re built into the boxd CLI from the Quickstart; there’s no separate download. They’re off by default. On each computer you want to reach:
You need to be logged in first (boxd auth login). Run it as yourself, not with sudo - the agent runs in your login session so it can reach your clipboard, browser and home directory. macOS and Linux are supported.
Turning the utilities off keeps a small background agent running in a reduced mode that only syncs your ~/.ssh/config entries; daemon.enable false removes it altogether.

Which machines can reach your computer

Your personal machines and private org-billed machines - the ones only you have a shell on. Shared org machines and isolated machines are refused, so a teammate on a shared box can never read your files or drive your browser. Every session you open with boxd connect or ssh <vm>.boxd is tied to the computer you opened it from. Sessions without that context - a cron job, a background automation, a console terminal - reach your most recently connected computer instead. Nothing else is needed; the bridge keeps working across reconnects.

Several computers

Enable the utilities on each one, and give them labels. Inside a machine:
The listing marks the most recently connected computer as the default. A session you opened from one of your computers (boxd connect, ssh <vm>.boxd) goes to that computer; anything else (cron, automations, the console terminal) goes to the marked default. Every boxd local command takes --device <label|id|prefix> to target a specific computer; an explicit choice is strict and never falls back to a different one, and an ambiguous prefix is refused. Agents on the machine are told to run boxd local devices first and to ask which computer when there’s more than one.

Clipboard and image pasting

With the utilities enabled, pasting into Claude Code inside a machine - including images - pulls from your computer’s clipboard. Screenshots, diagrams and mockups go straight into the conversation with no file transfer.

Reading local files

Access is read-only and limited to files under your home directory; anything outside it is refused. Files up to 100 MiB can be read. All commands except read accept --json.

Browser

Start and control a Chrome on your computer from a machine. The browser runs on your screen and your network, in a dedicated profile boxd keeps for it, separate from your everyday Chrome. It starts empty; log in once and it stays logged in.
Chrome or Chromium must be installed on the computer. One instance runs at a time - open while it’s running returns the existing one. Its profile lives in ~/.boxd/browser-sessions/default/ on your computer, so cookies and logins persist across open/close.

Driving it

boxd local browser cdp-url prints a Chrome DevTools Protocol endpoint that any CDP client inside the machine can use: the pre-installed agent-browser (agent-browser --cdp "$(boxd local browser cdp-url)"), Playwright, Puppeteer, or the chrome-devtools MCP that coding agents get automatically. In an automation, boxd.local.device().browser.connect() hands you a Playwright Browser. Examples, and how this compares with the machine’s own browser, are in Launch a Browser.

Errors you might see

  • no devices connected - on your computer, run boxd config set client-utils.enable true - nothing is enabled, or the agent on your computer isn’t running.
  • can’t reach your computer from this VM - the boxd client daemon isn’t connected - re-run the enable command on your computer.
  • this feature requires an updated boxd client on your computer - the agent is older than the machine expects; update the CLI.
  • client utilities are not available on org-shared VMs / … isolated VMs - by design; fork the shared machine to get a private copy.

Updating

Re-run the install command to upgrade the boxd CLI in place. The next time you run boxd, the agent restarts on the new version.