Hosts Overview and Ports
The Hosts overview dialog: per-machine CPU and memory-pressure history, observed agents, projects and facts, adding agents on other hosts to a fleet, adding projects on a host, and the Ports view for forwarding a host's localhost.
Opening the Overview
The Hosts overview is one dialog with a card for every machine, this one included, and the Ports view underneath. Open it from Hosts overview… in the host menu or the command palette, or from Forward port…, which opens the same dialog; Ports is below the cards. Cards are in the same order as the host menu: this machine first, then hosts alphabetically.
What a Card Shows
A card shows the latest reported numbers for this machine and for hosts whose link is connected, with how long ago they were updated. A host that isn't connected shows just its connection state.
| Part | What it shows |
|---|---|
| Header | The platform mark, the name and the state: This window for the window's own host, then Local, Connected, No reply, Unreachable and the rest, with Last seen … or Last heard … beneath when it applies. |
| Agents | 3 working · 1 waiting · 2 idle (observed), counted from the host's agent terminals. Labeled observed because agent states are read from terminal output, not reported by the agents. |
| CPU and Memory pressure | A sparkline each, with the current value. Samples arrive every 5 seconds and the history fills to about 15 minutes; until there are a few samples the card says Collecting history…. Memory pressure is normal, warn or critical: macOS reports these levels itself, and on Linux Daintree derives them from memory pressure stall information, warn at 10% of time stalled and critical at 40%. |
| Projects | How many are open and how many worktrees they have, then up to six projects with Show N more projects. Hover a project for its path on that machine. |
| Facts | Memory used of total, Swap, Thermal state, Driving (Driven from its own screen or Driven from Greg's MacBook Pro), Platform, and Link: the round trip in milliseconds. |
| Plugins | On a connected host whose plugins differ from this machine's: plugins: 1 missing · 1 older. |
| Buttons | Add agents to fleet… on other connected machines, Add project… on this machine and connected hosts, and Details on a host's card, which opens its page in Settings → Hosts. |
Swap and thermal state appear where the platform reports them. Versions, agent CLIs and forge accounts aren't on the card; they are on the host's details page.
Clicking a Card
- The card's header switches this window to that machine, exactly like choosing it in the host menu. Cmd-click (Ctrl-click on Linux) opens it in a new window.
- A project switches this window to that machine and opens that project.
The overview closes as the window moves.
Add Agents on Another Host to a Fleet
A fleet can span machines. On a connected host's card, Add agents to fleet… lists the agents running there, each with its project and observed state, and a checkbox. Checked agents join this window's fleet beside its own armed panels. The next time the card shows the button, it notes how many are armed, such as 2 in this window's fleet.
- In the fleet's member list, those agents read on studio-02. They have no panel here, so there is nothing to focus.
- A broadcast reaches them over that host's link, unless another screen has control of their project, in which case that send is refused. They get the draft verbatim, so recipe variables arrive as literal text, because there is no worktree here to resolve them against.
- The fleet's bulk action shortcuts (accept, reject, interrupt, restart, kill, trash) act only on armed panels in this window, not on agents on other hosts.
- With only other hosts' agents armed, the arming ribbon shows its own field: Message 4 agents.
- If a host never confirms a send, because the link dropped at the wrong moment, Retry resends safely for five minutes: the host recognizes the same send. After that the fleet says Broadcast unconfirmed, warns that sending again may deliver it twice, and Send again… asks before resending.
Removing a host drops its agents from the fleet. Saved fleets cover this window's own panels only.
Add a Project on a Host
Add project… on a card opens Add a project on studio-02, for starting work there from a repository rather than from a project you have here:
- Clone: a repository URL, such as
git@github.com:owner/repo.git. - Into: the folder on the host, suggested as you type, with Change… to browse the host.
- Initialise submodules and the clone depth: Full clone, Shallow clone or Partial clone.
The clone runs on studio-02 with that host's own Git credentials. Clone and open clones it and switches this window to the new project on the host. For a repository already on the host, Open a folder… under Already on studio-02? browses the host for it.
Ports
The Ports view sits at the bottom of the overview. It lists every port forwarded from a host to this machine and lets you add one by hand.
- Forward a port: pick the host under From (when more than one is connected), enter the Port the server listens on there, and click Forward port.
- Forwards: each row reads localhost:4173, then the port on the host and how the forward started, with Stop.
- Listening on studio-01: servers listening on the host's localhost that aren't forwarded yet, with the process name and a Forward button. Rescan with the refresh button.
A forward's origin tells you why it exists:
| Origin | Created by |
|---|---|
| Forwarded by you | The Ports view, Forward port…, or a browser panel opening the host's localhost (labeled Browser panel). Kept until you stop it. |
| Detected on the host | A server you forwarded from the Listening on list. |
| Dev preview | Dev Preview reaching the host's dev server. Dropped once Dev Preview finds the dev server gone. |
| Sign-in, closes when idle | A localhost link opened from a terminal, or a sign-in callback. Temporary: it closes on its own after about ten minutes. |
Forwards listen only on this machine's loopback address and ride the existing ssh connection to the host; no new login is needed. A forward uses the same port number here when it is free. Disconnecting from a host stops its forwards working here, and Daintree asks first when there are any; they come back when the host reconnects, possibly on different local ports.
http://localhost:5173 there forwards the host's port 5173 automatically. See Dev Servers and localhost.Least Loaded
The New Worktree dialog's Host row suggests where to put new work. It scores each connected machine from its latest sample: CPU percentage, plus 40 for warn or 100 for critical memory pressure, plus 15 for each agent observed working. A measurement a machine doesn't report costs 100, and machines that report neither CPU nor memory pressure are left out. The lowest score wins, with the reason shown, for example Least loaded: studio-02 · CPU 12% · memory normal · 2 working (observed). It is a suggestion; you pick.
Every Host's Worktrees
Once a host exists, the Worktrees Overview gains an All hosts disclosure. Expanding it asks every other connected machine for the worktrees of its open projects and lists each one's branch, project and, when there are any, changed-file count. Hosts that aren't connected say Not connected. Click a worktree to switch to that host and project.