Your machines are ready for handoffs after one setup.

RequirementNode.js 20.xInstall it first if the machine does not have it.

CLI setup & demo
STEP 1

The working machine sends the files.

A few configurations, once per machine.

ubuntu-gpu-01
# point the CLI at the service$ relay config set url <service-url>
    # we hand this out once the service opens# create an account — prompts for your password$ relay signup --username <username> --device ubuntu-gpu-01

# create your first workspace and make it the default$ relay ws create main --use

# push the folder — the note is required$ relay bundle push ./results --note "benchmark-v3"# see how much of your quota is used$ relay storage stats

Only signing up needs a human: the password has to come from you.

STEP 2

Your other machine collects them later.

Same workspace, same service — that is the only thing the two sides share.

macbook-main
# point at the same service$ relay config set url <service-url>

# sign in — prompts for your password$ relay login --identifier <username>

# switch to the workspace the bundle was sent to$ relay ws use main

# what is waiting for this device?$ relay bundle inbox

# pull it into a directory of your choice$ relay bundle pull b_7f3a91 --output ./incoming

Pull never overwrites an existing file, and the directory structure is rebuilt as it was.

Every command supports --json, so scripts and agents can drive the CLI directly.

Open the interactive handoff demo

Each step shows where your files are.

Step through a simulated handoff, from sending the folder to collecting it on another machine.

bundle b_7f3a91Simulated — not a live connection
ubuntu-gpu-01SOURCE MACHINEonline
Relay Cloudalways onholding b_7f3a91
macbook-mainRELAY INBOXoffline
ubuntu-gpu-01
macbook-main
Relay Cloud
WorkspaceBundleDeviceHistory
ubuntu-gpu-01
$ relay bundle push ./results --note "benchmark-v3"
Created bundle b_7f3a91 in main
folder: /
files: 14
size: 30 MB
INBOX0
  • Nothing waiting yet
HISTORY1
  • 2026-09-19 15:47ubuntu-gpu-01 · created
01 / 05

One command turns the files and notes into a bundle. No receiver address, path, or online state was needed. This demo relays a ./results folder of 14 files.