Connect the dev server you already run.
Install baton-runner on any machine: a VM, a box under a desk, Cloudflare or Kubernetes. Baton becomes the layer on top. Your code, previews and logs stay on your server.
$ curl -fsSL trybaton.dev/install | sh ✓ baton-runner 1.4.0 installed$ baton-runner connect --workspace larkline ▸ opening browser to sign in ✓ connected as dev-01 (outbound only)$ baton-runner previews --root ~/src --cmd "pnpm dev" ✓ previews on *.dev.larkline.com$ baton-runner harness add claude-code codex openclaw ✓ 3 adapters ready
What Baton does on your server
worktreesOne per sessionAgents and people never collide on a branch
previewsYour dev command, per branchEach gets a URL your team opens from the session
logsStreamed to the sessionBuild, test and request logs, live
limitsEnforced by the runnerAllow, Ask or Never, set per project in Baton
cleanupOn merge or idleWorktrees and previews are removed for you
Rather not run servers?Layer + servers starts at $24 a seat →