Multi-Machine Management
Cloud Only
Multi-machine management is available in the Cloud version only. The self-hosted version supports a single machine.
ADHDev Cloud lets one account keep track of multiple development machines from a single dashboard.
What It Gives You
- one dashboard for your laptop, desktop, work machine, or remote box
- machine-aware session visibility across IDE, CLI, and ACP workflows
- a machine detail page with launch controls, provider settings, logs, and session-host recovery
- cloud access outside your local network
This is one of the clearest differences between cloud and self-hosted. Cloud is the account-linked control plane. Self-hosted is one local dashboard per machine.
How It Works
Each machine runs its own ADHDev daemon, authenticated to the same cloud account:
npm install -g adhdev
adhdev setup
adhdev daemonOnce the machines are connected under the same account, they appear together in the dashboard.
Repo Mesh (daemon-to-daemon orchestration)
Repo Mesh coordinates multiple same-account daemons so one coordinator session can drive work across several machines or git worktrees. It runs over a direct daemon-to-daemon P2P DataChannel (via node-datachannel); the cloud server WebSocket relays only SDP offer/answer/ICE signaling and authorizes that both daemons belong to the same account. This is daemon coordination — it is not a dashboard command fallback. Dashboard command/data traffic still uses the dashboard↔daemon P2P channel only.
The cloud dashboard surfaces the mesh on the Repo Mesh page (/mesh).
Core concepts:
- Node — a workspace taking part in the mesh: a repo checkout or an isolated git worktree where an agent can run.
- Mission — a goal that groups the tasks working toward it and stays as a durable record.
- Task — a unit of work an agent on a node performs, moving through
pending → assigned → completed/failed. - Queue — the daemon-local list of waiting tasks that idle nodes autonomously claim. The queue is local-first and authoritative; Cloud/D1 holds only lightweight membership/signaling metadata.
- Ledger — the append-only mesh audit log of what has already happened across nodes (history, not a to-do list). Reconciled between daemons over bounded P2P ledger slices.
- Refinery — the process that converges a worktree branch back into its base: validate → merge → push → clean up.
The coordinator daemon owns the aggregate mesh_status snapshot. Worker sessions are coordinator-dispatched and auto-approved by default. Completion is evidence-based (git status/checkpoint, ledger events), not LLM self-report. Repo Mesh tools are exposed to coordinator sessions through the MCP server in mesh mode — see MCP Server.
For the full picture — pull-based orchestration, worktree-isolated repo collaboration, refinery convergence, and MAGI cross-verification — see the dedicated Repo Mesh guide.
Burrows
The Burrows page is the machine-level overview. It is where you quickly see:
- which machines are online
- which machine a session belongs to
- connection and runtime status
- which machine you want to open in detail
Machine Detail
Opening a machine gives you a more operational view than the main dashboard:
- Workspace for current IDE, CLI, and ACP sessions
- Hosted Runtimes for hosted CLI runtime diagnostics and recovery
- Providers for machine/provider settings
- System for machine health
- Logs for runtime and daemon logs
This is the page you use when the high-level dashboard tells you something is wrong but you need machine-specific context.
Typical Uses
Multi-machine cloud setups are especially useful when you:
- keep one machine on background agent work
- separate personal and work devices
- want mobile approvals for sessions running somewhere else
- need to recover a CLI runtime on a machine you are not physically using
Plan Limits
| Plan | Max Machines |
|---|---|
| Free | 1 |
| Pro | 3 |
| Enterprise | Unlimited |
When you hit your machine limit, additional machine registrations are rejected until you remove one or upgrade.
Self-hosted Difference
Self-hosted does not merge multiple machines into one hosted dashboard.
Use self-hosted when you want a local-only dashboard for one machine. Use cloud when you want account-linked machine visibility across devices.
Naming Machines
Friendly machine names matter once you have more than one box connected.
Machine nicknames appear throughout the dashboard and help disambiguate where a session is actually running.
