Show HN: BoxHaven – Run Claude Code and Codex on Persistent Cloud VMs BoxHaven launched as a hosted and self-hostable service that runs AI coding agents such as Claude Code, Codex, and Gemini on persistent remote Linux boxes with managed tmux sessions, project sync, and direct SSH access. The CLI requires `bh` 0.2.0 or later, and a public BoxHaven skill installs via Vercel's Skills CLI with `npx skills add finbarr/boxhaven --skill boxhaven -g -a codex claude-code` on Node.js 22.20 or later. The tool targets teams assembling remote dev boxes by hand, letting agents keep working after a laptop disconnects and allowing parallel agent runs on separate boxes. BoxHaven gives development teams a standard way to run AI coding agents and developer shells on named remote Linux boxes. Try the hosted version https://app.boxhaven.dev/ or self-host it with your own cloud credentials. Each box keeps running after a laptop disconnects, has a managed tmux session for long-running Codex, Claude, Gemini, or shell work, and can sync the current project to and from the remote machine. BoxHaven is built for the workflow many teams are assembling by hand today: remote dev boxes for individual developers, persistent agent sessions, direct SSH access, project sync, GitHub pushes from the box, and a self-hostable control plane. The web console, API, and documentation are separate surfaces. The backend serves the console and API, while docs https://github.com/finbarr/boxhaven/blob/master/docs builds as a static site. Set BOXHAVEN DOCS URL when building the console if its footer should link to a different documentation site. Backend distributions can add in-process modules through the published @boxhaven/backend contract. The self-hosted console checks the public BoxHaven GitHub release through its backend and shows a compact release banner when the installation is behind. Release checks are cached and disappear silently when GitHub is unreachable. The CLI is intentionally small, and the workflow is agent-first: copy your project to a box once, start Claude or Codex inside the box's tmux session — resuming your local conversation if you like — then disconnect and let it work: bh login bh ssh-config install one-time setup for normal ssh/scp aliases bh create work provisions a box and syncs this project once bh run work claude claude starts working in the box's tmux session close the laptop — the agent keeps going. Reattach any time: bh connect work On first login, enter your backend API URL, or press Enter to choose hosted BoxHaven. Later logins reuse the saved URL. For scripts or a noninteractive terminal, pass --backend-url or set BOXHAVEN BACKEND URL . Mid-conversation with Claude locally? bh run work claude --continue resumes that exact session on the box. Sign up with email and password, then follow the one-hour verification link. The link verifies your email and signs you in automatically, replacing any other account open in that browser. The "Continue with GitHub" button appears only when the operator configures a GitHub OAuth app GITHUB CLIENT ID / GITHUB CLIENT SECRET . GitHub's provider-verified email does not need a second verification step; bh login then works the same either way. Run agents in parallel, each on its own box. Redirecting input and output makes these launches detached even when you run this example in a terminal: launch logs=$ mktemp -d bh create work-2 && bh run work-2 codex 'Review the project and report improvements.'