- SSH
- CLI
boxd connect staging (or SSHes in) and lands on the same machine — same disk, same running services, same data. The org keeps paying for it the whole time; unsharing only changes who can reach it, never who’s billed.
“Make this VM public” means “share it with the org.” The machine’s
https://name.boxd.sh URL is already public to the internet — sharing is about which teammates can get a shell on the box, not about exposing a web app.The credential handoff
A machine you’ve been working on holds your personal agent logins on disk — Claude Code, Codex, and OpenCode keep their tokens in your home directory. The moment a machine becomes reachable by the rest of your team, those tokens must not be sitting there for anyone with a shell to read. boxd enforces this for you. Sharing a machine wipes the in-VM agent credentials the instant it goes shared — immediately, no reboot required:Unsharing restores you
Runboxd org unshare and the machine is private to you again — and your agents come back:
- Claude Code re-authenticates automatically. boxd restores your Claude login on the next session; you don’t have to do anything.
- Codex and OpenCode need a one-time
codex/opencodelogin on the machine. After that they persist normally again — a private machine is never wiped.
Fork a shared machine for private work
Forking a shared machine gives you a private fork by default — the org keeps paying, but the copy is yours alone, and your agent logins work in it again right away:- SSH
- CLI
--shared when you want the fork to stay open to the org. (Forking a personal machine is unchanged — the fork stays personal.)
The --shared flag also works inside the interactive ssh boxd.sh prompt — drop the prefix: boxd> fork staging --shared.
At a glance
| You run | Reachable by | Billed to | In-VM agent logins |
|---|---|---|---|
boxd org share <vm> | Whole org | Org | Wiped on share; GitHub → org App token |
boxd org unshare <vm> | You only | Org | Claude auto-restores; Codex/OpenCode re-login once |
boxd fork <shared-vm> | You only | Org | Restored (private fork) |
boxd fork <shared-vm> --shared | Whole org | Org | Wiped (stays shared) |