Clu · downloadOne binary · zero dependencies

Install the agent.

The agent is a single self-contained binary. Run one line on each machine you want to reach. No runtime, no package soup.

your-machine · bash macOS · Linux · WSL
$ curl -fsSL cluterm.com/install | sh
→ Reads the installer before running? Good. Read the installer
Prefer an app?

CluTerm 0.2.0 installs the agent for you, keeps it running and lives in your menu bar, with approvals for new devices one click away.

Opened it already? It has no window: click the >_ icon in your menu bar (system tray on Windows and Linux) and choose Install CluTerm Agent….

§ 01 · PLATFORMS

Every machine you own.

The agent runs the machines you reach. The apps below are how you reach them.

macOS

12+ · Apple Silicon & Intel

The CluTerm app installs the cluterm agent for you, keeps it running and lives in your menu bar. Prefer the terminal? Paste the line above; the installer verifies what it downloads.

Linux

x86-64 & arm64

One static binary, with no runtime to install and no distro packages to match. Built against an old glibc baseline, so it runs on Debian 11+, Ubuntu 20.04+, CentOS 7 and every WSL distro.

Windows

native · x86-64

The native Windows agent. One PowerShell line: irm https://cluterm.com/install.ps1 | iex. WSL 2 still works if you'd rather run a Linux-side agent: use the Linux line inside your distro.

iOS

web client

Run sessions and watch long-running work from your phone today via the web thin client in Safari, on the same encrypted tunnel with a mobile keyboard. The native iOS app is not in the App Store yet.

Any browser

nothing to install

The full dashboard runs in any modern browser. Sign in and your paired machines are right there.

Terminal TUI

ships with the agent

Prefer to stay in the shell? Run the agent in a terminal and it draws a live status screen: your sessions, your other machines, its connections and its logs.

Requirements
  • Outbound 443 only. No inbound ports, works behind NAT and corporate firewalls.
  • A Clu account. The 30-day trial needs no card.
Verify the download
$ curl -fsSL cluterm.com/install | sh ✓ Checksum verified (SHA-256, signed manifest) ✓ Code signature verified (macOS) $ cluterm pair A7X92M
§ 02 · DEVICES

Boards that join your mesh.

CluOS and the handset firmware ship with the agent, in the same signed release.

From agent release 0.12.596. Each file is named, with its size and sha256, in that release’s Ed25519-signed manifest, which this page verified.

CluOS for Raspberry Pi

Raspberry Pi 3 Model B · Raspberry Pi 3 Model B+ · Raspberry Pi 4 Model B

A small SD-card image with the agent built in. It pairs itself on first boot with a provisioning code, then waits for you to approve it.

file cluos-rpi-0.12.596.img.xz
size 45.9 MB
sha256 5f43302776b5672ab78e2f3b17be6f165301fb8e6aa2a7c641b2d09fe8df7ed5
  1. In Raspberry Pi Imager: Choose OS → Use custom, pick the .img.xz, then write it to the card. Check its sha256 above first.
  2. In the dashboard: Add device → Provision a headless device. Append its line to line 1 of cmdline.txt on the card's CLUOS volume, and save the sync password as cluterm-sync-pin.txt beside it.
  3. For Wi-Fi, rename wpa_supplicant.conf.example to wpa_supplicant.conf and fill it in (a cable needs nothing).
  4. Boot it. It turns up pending; approve it from your dashboard or on your head node.

CluOS VM images

QEMU / KVM · aarch64 & x86-64

A kernel, an initramfs with the agent inside, and the run-cluos.sh that boots them. Pass a provisioning code on the kernel command line, the same as on a Pi.

file cluos-virt-aarch64-0.12.596.tar.xz
size 35.4 MB
sha256 f8c535afd7c4788f3d3fe58594d5c335ef975c6de9668e44b7fb720800470a31
file cluos-virt-x86_64-0.12.596.tar.xz
size 38.3 MB
sha256 600dda7592cffe33230ff9735ffd0bd0ad095dbdb6715f0cd62f79a955df9ca7

K10 handset

DFRobot UNIHIKER K10 · ESP32-S3

Push-to-talk with Clu, approve plans and diffs, and see what each machine is doing, from a pocket board.

file cluterm-k10-0.12.596.bin
size 2.2 MB
sha256 671a680ca1fc1e734053a6d4fef001fe25b1c59c0da2427f5f20be9fc37db11d
  1. Flash it from this page in Chrome or Edge, no account needed: it checks the image against the signed manifest before writing a byte. Or write the .bin yourself; check its sha256 above first.
  2. Pair it: sign in and provision it from the dashboard, or on your head node, with the board plugged in, run cluterm handset pair --board k10.
  3. It waits pending until you approve its keys on your head node.
Download .bin · 2.2 MB

CYD-C5 handset

RockBase NM-CYD-C5 · ESP32-C5

The same pocket client on a touchscreen, with 2.4 and 5 GHz Wi-Fi.

file cluterm-cyd-c5-0.12.596.bin
size 3.2 MB
sha256 4f4f6917eea6529711885479f897a7cca66a064897df917e2c13f0d810d216c6
  1. Flash it from this page in Chrome or Edge, no account needed: it checks the image against the signed manifest before writing a byte. Or write the .bin yourself; check its sha256 above first.
  2. Pair it: sign in and provision it from the dashboard, or on your head node, with the board plugged in, run cluterm handset pair --board cyd-c5.
  3. It waits pending until you approve its keys on your head node.
Download .bin · 3.2 MB
Requirements
  • Flashing a handset: Chrome or Edge on a computer (Web Serial) and a USB data cable; no account. The port picker offers only the board's serial bridge: the K10's USB-C, the CYD's CH340.
  • Pairing a handset: a signed-in account, or your head node with the board plugged in. Pair a computer first: a handset can never be an account's first device.
  • CluOS on a Pi: Raspberry Pi 3 Model B, Raspberry Pi 3 Model B+, Raspberry Pi 4 Model B, and a microSD card of 1 GB or more.
Before you flash a handset
  • Its keys are stored unencrypted. Its keys, its device token and your Wi-Fi password sit in the board's flash in clear: whoever holds it can read them over USB.
  • Its tool calls are confined to what a handset needs on machines whose agent is up to date. A machine on an older agent still lets whoever holds its keys run any tool, as you.
  • Lost one? Remove it in the dashboard and its sessions stop at once. What holding one means

Installed? Now pair it.

Grab a code from the dashboard and run cluterm pair. You’re in within a minute.