Another machine
Work on a VPS or a second computer from this window, over SSH.
A connection is which herdr server blockodile drives. By default there is one, this machine. Add another and the sidebar, the terminal block and every session in it belong to that computer instead — reached over plain SSH, the same one you would type in a terminal.
Everything stays per machine: sessions, layouts, project order and icons. The order lives in that machine's herdr, so anyone attached to it (you on another laptop, the iPhone app) sees the same one. Switching back finds your work exactly where you left it.
Before you add one
Two things have to be true on the other machine. Test (below) checks both and tells you which one is missing, so you can also just try.
| Why | How | |
|---|---|---|
| SSH with a key | blockodile never answers a password prompt — a poll cannot stop to ask | Run ssh-copy-id user@host once from this machine; it asks for the password that last time |
| herdr installed | it is the runtime; blockodile only draws it | curl -fsSL https://herdr.dev/install.sh | sh on that machine |
Add it
Settings → Connections → + Add a machine, then fill four fields:
| Field | Example | Note |
|---|---|---|
| Name | MacBook | Yours to choose; shown in the sidebar |
| User | alek | The account on the other machine, not this one |
| Host or IP | omarchy · 192.168.1.40 · vps.example.com | A hostname, a Tailscale name, or an address |
| Port | empty | Only when SSH is not on 22 |
Already keep a Host block in ~/.ssh/config? Tick I have an ~/.ssh/config alias and give
the alias instead — jump hosts, identity files and everything else keep living there.
Test it
Test runs the same setup checks as Settings → General, aimed at that machine. A failing row says what to do in one sentence:
| What you see | What it means |
|---|---|
Key not accepted. Run ssh-copy-id … | SSH works, your key is not on that machine yet |
| Host not found | The name does not resolve. Check it, or bring up the VPN |
| Refused… | Nothing is listening on SSH: turn on Remote Login (macOS) or sshd (Linux) |
| …hung up before asking for a key | That machine is refusing connections — a ban, a firewall, an allowed-hours rule. ssh -v user@host prints the reason |
Not found on <name> | SSH is fine; herdr is not installed over there |
Fix buttons only appear on the connection you are currently using: they act on the machine this window is attached to, and pointing them anywhere else would be a lie.
Switch
Click the radio next to a machine, or ⌘K → Switch to <name>. The window reloads, because
the terminal has to attach to the other computer's herdr.
When you are not on this machine the sidebar says so at the top:
● MACBOOK
PROJECTSClick it to come back to Settings → Connections.
One window per machine
To work on two machines side by side, press mod+alt+n or ⌘K →
New window: <name>. The new window is attached to that machine; the first one stays where
it was. Each machine opens in one window only: asking for one that is already open brings its
window to the front.
What travels, and what does not
| On a remote connection | |
|---|---|
| Sessions, projects, agents, the terminal | That machine's |
| New project | Browses that machine's folders — the system dialog cannot, so blockodile walks it over SSH |
| A pasted image | Copied across before the path is typed, so the agent there can read it |
| Files module, Show in folder, Localhost | Still this machine. Not there yet |
Let an agent set it up
The machines are a plain file, ~/.config/blockodile/connections.json, and blockodile re-reads it
whenever Settings opens — no restart:
[
{ "id": "vps", "label": "Hetzner", "target": "root@1.2.3.4" },
{ "id": "imac", "label": "iMac", "target": "alek@omarchy" }
]id keys the saved layouts, the terminal and the SSH connection reuse, so never change it on an
entry that already exists — rename label instead.
That is enough for Claude Code or Cursor to add one and check it for you: blockodile installs a skill into both that covers connections, including the two SSH commands that prove a machine is ready. Ask in plain words — "add my VPS root@1.2.3.4 to blockodile and test it". See the agent skill.
One herdr session, or two
blockodile normally runs its own herdr server, separate from the herdr you may run in a
terminal. The reason is that the settings which hide herdr's tab bar, sidebar and borders — right
inside a bento block, wrong in a full terminal — are read by the server, so one session means one
appearance for both.
The cost is two lists of sessions on the same computer. If you never open herdr outside blockodile, that buys you nothing: Settings → General → herdr session → Use my own herdr session. Same panes everywhere, and herdr draws its own chrome inside the block. The switch is reversible; the window reloads either way.