Persistent terminal sessions
for GPU machines.

A native macOS terminal for managing remote VMs, sessions, and AI agents. The replacement for SSH + tmux.

orchestrator
training-run
eval-sweep
ML Research
$ claude
Orchestrating 4 sessions across 2 machines...
 
a100-box: training-run epoch 34/50 loss=0.0018
a100-box: eval-sweep checkpoint-34 acc=94.2%
h100-cluster: finetune-13b 73% ETA 1h48m
h100-cluster: tensorboard serving :6006
 
$
/home/user/research
experiments/
checkpoints/
data/
train.py
eval.py
config.yaml
requirements.txt
train.py
1import torch
2from model import TransformerLM
3
4def train(config):
5 model = TransformerLM(config)
6 optimizer = torch.optim.AdamW(
7 model.parameters(),
8 lr=config["lr"],
9 )
10
11 for epoch in range(config["epochs"]):
12 loss = train_epoch(model)
13 print(f"epoch {epoch} loss={loss:.4f}")
a100-box 10.0.1.42 up 14d 7h
CPU
23%
Memory
61% — 78.2 / 128 GB
GPU 0 — A100 80GB
94% util — VRAM 71.2 / 80 GB — 62°C
training-runpython train.py — 68.4 GB
GPU 1 — A100 80GB
78% util — VRAM 54.1 / 80 GB — 58°C
eval-sweeppython eval.py — 51.2 GB
GPU 2 — A100 80GB
2% util — VRAM 0.4 / 80 GB — 34°C
idle
⌘B

FAQ

How does session persistence work?
Haven runs a lightweight open-source daemon on each remote host that manages PTY sessions independently of your SSH connection. When you disconnect, sessions keep running. When you reconnect, Haven reattaches and restores scrollback.
Do local sessions persist?
Local sessions are standard shell processes on your Mac. They persist while Haven is running but won't survive an app restart. Remote sessions are the ones that stay alive on the other end.
How does the AI orchestrator work?
Right-click a local session and select "Install Orchestrator MCP." The AI agent running in that specific session gets access to list_sessions, read_terminal, and write_terminal — it can see and control every other Haven session, local and remote.
What does the remote host need?
Linux (x86_64 or ARM64) with SSH access. That's it. Haven detects the architecture and uploads the correct daemon binary on first connect.
Is this a tmux wrapper?
No. Haven runs its own daemon with native PTY management and encrypted IPC. The terminal is GPU-accelerated via WebGL. It's what tmux + SSH would look like if you rebuilt it as a native app.
Is the daemon open source?
Yes. The daemon that runs on your remote machines is fully open source at github.com/christiansafka/haven-daemon. You can audit exactly what runs on your infrastructure.

Your workspace should be beautiful.