desktop computer

hqterm

Terminal sessions that never drop. On every machine you own.

Close the laptop on Wi-Fi, open it on 5G, and your shell, your editor and that 40-minute build are exactly where you left them. hqterm does what mosh and tmux do together, over the ssh you already have. It carries images and HD emoji too, and it works on Linux, macOS and Windows hosts.

curl -fsSL https://hqterm.sh/install | sh

Linux and macOS, x86_64 and arm64. Installs hqterm and hqsh into ~/.local/bin, no sudo. On each server: curl -fsSL https://hqterm.sh/install | sh -s -- --server

irm https://hqterm.sh/install.ps1 | iex

Windows PCs and servers, x64 and ARM64. No admin.

Read the docs GitHub Desktop app (Linux)

Never lose a session

Sleep, roam, lose the network: hqsh reconnects on its own and replays exactly the output you missed, with no gaps and no repeats. The session lives on the host.

Share it like tmux

Attach from your laptop and your desktop at once, pair with a teammate, or let someone watch read-only. --steal takes a session over.

Images and HD emoji

mosh syncs only text and drops every image. hqsh carries the raw stream, so Kitty, iTerm2 and sixel images and OpenEmoji art come through.

Just ssh

Your keys, agent, ProxyJump and known_hosts. No new port, no UDP, no daemon to expose, nothing for a firewall to block.

Every OS, as a real service

Sessions run as systemd units on Linux, launchd jobs on macOS, and on ConPTY on Windows servers, so they survive logout and you can see them with your usual tools.

Tailscale built in

If Tailscale is running, hqsh connects over your tailnet automatically and falls back to the normal route when it must. Your tailnet machines show up as hosts.

Why not mosh, Eternal Terminal or plain tmux?

hqtermmoshEternal Terminalssh + tmux
Survives sleep and network changesyesyesyesreattach by hand
Scrollback and exact replayyesscreen onlyyestmux's
Images and graphics protocolsyesdroppedyespassthrough only
Shared sessions, read-only watchersyesnonoyes
Extra ports or firewall changesnoneUDP 60000+TCP 2022none
Windows hostsyesnonono
Tailscale-awareyesnonono

Use it

hqterm                        # your hosts (ssh config, added, tailnet) and their sessions; click to attach
hqterm connect dev2 main       # straight into session "main" on dev2
hqterm desktop                # our terminal window: tabs, splits, images
hqsh dev2 --read-only         # watch a session someone else is driving
hqsh dev2 --steal             # take it over
hqterm update                 # everything, in place
# Ctrl-^ then .  detaches; the session keeps running

Every command, key, setting and fix is in the docs.

hqterm desktop

Our own terminal window for Linux (KDE, GNOME, anything with a display): GPU-rendered tabs and split panes that reattach to their sessions on the next launch. Every hqtui and qc image and HD emoji is drawn in full, even where Konsole cannot.

curl -fsSL https://hqterm.sh/install | sh -s -- --desktop