Skip to content

CLI quickstart

Join early access, install bxc, and authenticate from your terminal.

Updated View as Markdown

Use the BoxCompute CLI when you want to manage remote Sandboxes from a terminal or connect a local coding agent without handling API keys yourself.

The CLI creates VM Sandboxes; new gVisor creation is disabled. It does not manage the VM browser-preview, operator-selected cooperative-SSH, or selected-TCP service-access routes.

1. Register your account

After approval, open the one-time invitation link from your email and create your BoxCompute account. You must complete this registration before the CLI can authorize your terminal.

After registration, you can sign in at https://app.boxcompute.ai.

2. Install the CLI

Install Node.js 20 or newer, then install the public CLI package:

npm install --global @boxcompute/cli

Confirm that bxc is available:

bxc version

Bun, pnpm, and Yarn installation options are available in the complete CLI guide.

3. Log in

bxc login

The CLI prints a short approval code and opens the BoxCompute app in your browser. Sign in with your registered account, confirm that the browser shows the same code, and approve the device.

After approval, the terminal completes login and saves a protected CLI credential outside your project. You do not need to create or paste an API key for CLI login.

If the terminal cannot open a browser, use:

bxc login --no-open

Open the printed URL yourself, sign in, and approve the matching code.

4. Verify the connection

bxc doctor
bxc workspaces
bxc sandboxes

doctor confirms that the saved credential works. workspaces lists the parents available for new Sandboxes, and sandboxes lists your existing instances.

5. Start and use a Sandbox

Copy a workspace ID from bxc workspaces, then run:

bxc sandbox start WORKSPACE_ID
bxc sandbox exec SANDBOX_ID -- python3 -c 'print(sum(range(100000)))'
bxc sandbox status SANDBOX_ID

Replace SANDBOX_ID with the ID returned by sandbox start. Everything after -- is sent as a structured argument vector to the remote Sandbox.

Sandboxes are persistent resources. Keep the returned ID for later work, or delete the instance explicitly when you no longer need it:

bxc sandbox delete SANDBOX_ID --yes

Deletion is permanent and leaves the parent workspace intact.

Next steps

Navigation

Type to search…

↑↓ navigate↵ selectEsc close