Source: https://harnsy.dev/docs/several-machines

> With harnsy Max, agents on different computers work as one team: your laptop, a server, a colleague’s machine. One machine is the master; the others join it.

# Several machines

With harnsy Max, agents on different computers work as one team: your laptop, a server, a colleague’s machine. One machine is the master; the others join it.

**What you need.** harnsy Max on the master. A member borrows harnsy Max from the master without a key of its own (the master lends it to as many members as its seats minus one). The free harnsy has no machines.

**The easy way (0.11.0).**

**1. On the master**, open Settings › Machines and press “+ Connect a machine”.

**2. Choose the system** (Linux or macOS, or Windows). If the other machine has to reach this one directly, fill in this PC’s address; behind the relay you leave it empty.

**3. Press “Get the command”.** The window shows ONE command. Run it on the other machine. It installs harnsy there too, and works once and for one hour. The command looks like this:

**Linux and macOS**

```bash
curl -fsSL https://harnsy.dev/install.sh | HARNSY_JOIN='&lt;address&gt;#&lt;ticket&gt;' sh
```

**Windows**

```powershell
$env:HARNSY_JOIN='&lt;address&gt;#&lt;ticket&gt;'; irm https://harnsy.dev/install.ps1 | iex
```

**You see:** “Waiting for the machine…” and then that the machine is connected. Unused commands are listed with “Revoke”.

> Warning
> 
> This PC gets full access to that machine: terminal, files, starting agents. The machine can refuse it itself: Settings › Machines there. Keys and subscriptions stay on this PC; there is no need to sign in to Claude on the server. Connect only a computer you are allowed to give this access to. For a colleague’s or a company’s machine, ask the owner first.

**The older way (0.10.0, still works).** On the master issue a token; the command prints the join line:

Shell

```bash
harnsy debug cluster issue &lt;name&gt;
```

On the member run:

Shell

```bash
harnsy debug cluster init &lt;name&gt; --join &lt;master url&gt; --token &lt;token&gt;
```

**The relay (beta).** If the master has no public address, a member can reach it through the harnsy relay. Both dial out to the relay, which only joins encrypted streams: the connection between master and member is encrypted and pinned to the master’s certificate, so, by design, the relay joins encrypted streams and does not read them. The relay is a beta in this release: its address and limits may still change. It needs harnsy Max and an activated licence on the master. On the master turn it on, then restart harnsy:

Shell

```bash
harnsy cluster relay on
```

To stop it:

Shell

```bash
harnsy cluster relay off
```

Settings › Machines shows whether the relay is up. You can run a relay of your own on a server with a public address; that needs a licence with the relay-host right:

Shell

```bash
harnsy relay serve --addr :443 --domain &lt;name&gt;
```

**What the master sees.** A master sees a member’s terminals only if the member allows it: Settings › Machines on the member, “Let the master connect to this node’s terminals”: No, View, or View and type.

Since harnsy 0.6. “Connect a machine” is new in 0.11.0. The harnsy relay is a beta.

See also the feature page: [Multi-machine teams](https://harnsy.dev/features/machines)

Anthropic, Claude Code, OpenAI, ChatGPT, Codex, OpenCode, Telegram, Discord, GitHub, Apple, macOS, iOS, iPhone, Safari, Google, Android, Chrome, Microsoft, Windows, Windows Security, Defender and QR Code are names of their owners’ products. harnsy is not affiliated with or endorsed by them. iOS is a trademark of Cisco used under licence by Apple; QR Code is a registered trademark of DENSO WAVE INCORPORATED. No logos.
