boxd CLI you use on a laptop. From inside a VM it auto-auths. Zero keys, zero tokens, zero config.
How it works (briefly)
From inside a VM, boxd already knows which machine the call is coming from, so it authenticates you as that machine’s owner automatically — no tokens, no SSH keys, no shared secrets to plumb. Ownership is enforced on every call: a VM can only see, fork, or exec into other VMs you own. That holds no matter how many VMs you run. All your VMs share one flat private network, so a call from one reaches any other of yours the same way — two machines or two hundred, same call, no setup.What this enables
- Agent fan-out. An orchestrator spawns N worker agents, each in its own VM, each running against its own copy of the codebase. They never stomp on each other. The orchestrator collects results and destroys the workers.
- Multi-step pipelines. Step A runs in vm-a, hands its output to vm-b via
boxd machine cp, triggers vm-b’s work withboxd machine exec. Pause a VM between steps, resume it later, no state lost. - Self-cloning workflows. A VM forks itself, hands a job to the fork, destroys the fork when done. Clean slate per task without rebuilding the environment.
- Fleet-level patterns. Test matrices, parallel scrapers, ML batch jobs, distributed builds. Anything that wanted a hundred Linux machines for ten seconds gets it with one
forloop. - Direct service calls. One VM reaches another’s running service over the private network by name —
curl http://api-vm.boxd:3000— with no service discovery to wire up and nothing exposed publicly. See Reach another VM over the network.
What you can do from inside a VM
Everything the CLI does, scoped to your VMs only:ssh name.boxd.sh. That hostname resolves to the proxy’s public edge, and a VM doesn’t carry your SSH key. Use boxd machine exec or boxd connect to run commands, or the internal DNS name below to reach a VM’s services directly.
Reach another VM over the network
boxd machine exec and boxd machine cp cover running commands and moving files. When you want one VM to talk to another’s running service — an API, a database, a dev server — resolve it by name. Inside any VM, <vmname>.boxd resolves to that VM’s private IP:
worker-1.boxd resolves identically wherever the target machine happens to be. Names answer with a short (30s) TTL; only the bare <vmname>.boxd form resolves (no sub-labels). Everything that isn’t a .boxd name is forwarded to a normal upstream resolver, so regular internet DNS keeps working unchanged.
<vmname>.boxd is for VM-to-VM traffic over the private network. Public clients still reach a VM at its <vmname>.boxd.sh HTTPS domain through the proxy.Don’t confuse this with the <vmname>.boxd SSH alias the CLI writes on your laptop (Editor & SSH workflows). Same name, different things: that alias is a local ~/.ssh/config shortcut for ssh-ing into a VM from outside; this is real DNS, for one VM to reach another over the private network.Reference
Internal CLI
Full command surface of the in-VM
boxd.Fork
Memory, disk, and in-progress work, branched.