Hoq Term
Every terminal session on every machine you own, in one browser list.
What it does
Term shows every tmux session on your Linux and Mac machines in one list, in a browser or as an installable phone app. Close the tab or lose signal and the session keeps running on its machine. Open it again and the screen redraws as it is now, including output from while you were away.
You add a machine with one curl command and approve it in Hoq ID. A small daemon runs as your own user and connects out to a relay, so nothing on the machine listens to the internet. Every connection runs a Noise NK handshake with a key held by the machine, so the relay carries only ciphertext.
It is built for watching long jobs and coding agents. With Claude Code hooks turned on, a session reports when it needs permission or has finished its turn, you get a notification, and you can answer Allow or Deny from the list or the notification.
On a computer you get tabs, up to four sessions side by side and five tiled workspaces. On a phone you get a customisable key bar, history search and copy, and a session that opens at its real width.
In numbers
Specifications
| Where sessions run | In tmux on your own machine. Term never runs your shell on its servers. |
|---|---|
| Encryption | End to end on every connection: Noise_NK_25519_AESGCM_SHA256, keyed to the machine and bound to a one-time pass. The relay and proxy see only ciphertext. |
| Network exposure | Machines connect out to the relay. Nothing on them listens to the internet, so it works behind home routers. |
| Access passes | The daemon accepts only single-use passes that last one minute and were made for that machine's owner. |
| Supported machines | Linux (systemd user service) and macOS (launchd). Needs Node and tmux. |
| Install | curl -fsSL https://term.hoq.app/install.sh | sh, with a pairing ticket that works once for 15 minutes. |
| Updates | The daemon installs only builds whose SHA-256 is signed with the Hoq Ed25519 release key, and keeps the previous version. |
| File transfer | Up to 50 MB a file over its own encrypted connection, 500 MB kept per machine with the oldest cleared first. Photos are resized to 2048 px and stripped of location data. |
| View-only sharing | A link for 1 hour, 1 day or until you stop it shows one session live, end to end encrypted, last 500 lines. Only the link's hash is stored. |
| Sign-in | Hoq ID. Machines are paired to your Hoq ID account and show which account approved them. |
Features
65 features: 53 shipped, 12 in beta. Listed from the product's feature ledger; each row shows the day it was last checked.
| Sessions that keep running | Each session is a tmux session on your own machine, so it carries on when you close the page or lose signal. | Shipped | Checked 2026-10-21 |
| One list across machines | Every machine you added and every session on it, with busy or idle, how long ago, the last two lines and the machine's load and free disk. | Shipped | Checked 2026-10-21 |
| Session tabs | Sessions you open line up as tabs along the top, come back after a reload, mark new output and "needs you", and close without stopping the session; Alt+1–9 and Ctrl+Shift+[ ] switch on a computer. | Shipped | Checked 2026-10-22 |
| Tab menu | Right-click a tab, or press and hold it on a phone, to rename the session, move the tab left or right, or close it or the others (the session keeps running). | Shipped | Checked 2026-10-22 |
| Session menu | The same menu on every session in the list: open, move up or down, rename, mute notifications, close its tab, or end the session after a confirm. | Shipped | Checked 2026-10-22 |
| Name sessions anything | A session can be called anything (spaces, commas, dots, up to 60 characters); the name is kept on the machine so every device shows it. | Shipped | Checked 2026-10-22 |
| Start without a name | Leave the name empty and the session is named after its folder. | Shipped | Checked 2026-10-22 |
| What a session is running | The list shows how many commands a session is running in the background (hover for which), for shells and for Claude Code. | Shipped | Checked 2026-10-22 |
| Claude Code status | With `hoq-term hooks on`, Claude Code reports when it needs permission, when its turn is over and how many agents are running, so "Needs you" and its notification are exact. | Shipped | Checked 2026-10-22 |
| Answer Claude from anywhere | When Claude Code asks permission, the session shows the question with Allow, Always (when Claude offers a rule) and Deny, in the list and in a bar over the terminal; Deny lets you say why. Claude takes whichever answer comes first, the desk or the app, and the buttons go when it is answered either place. Needs `hoq-term hooks on` again on machines set up before. | Beta | Checked 2026-10-23 |
| Reply to Claude | When Claude ends its turn waiting for you, Reply on its card in the session list opens a box (dictation and paste work there) and types your answer into the session. | Beta | Checked 2026-10-23 |
| Answer from a notification | On computers and Android the permission notification has Allow and Deny buttons; iPhone shows none, so tapping opens the session with the question on top. Can be turned off in Notification settings. | Beta | Checked 2026-10-23 |
| Encrypted end to end | Each machine has its own key, registered once with id.hoq.app; every connection runs a Noise NK handshake (X25519, AES-GCM) bound to its one-time pass, so the relay and the proxy carry only ciphertext and a copied pass is useless. The page refuses plain text from a machine that has a key. A machine's key can only change by pairing it again. | Beta | Checked 2026-10-23 |
| Hide what is on screen | A per-device setting that makes notifications say only what happened and where, since notification text travels through id.hoq.app and Apple or Google. | Beta | Checked 2026-10-23 |
24 more in Sessions
| Compose | A real text box for a session (keyboard dictation and paste work there), sent as one paste with or without Enter; the last ten are kept to send again and an unsent draft stays. | Beta | Checked 2026-10-23 |
| Send files and photos | Attach from Compose, or drop or paste onto the terminal on a computer: files go over their own encrypted connection (typing never waits behind them) to `~/.local/share/hoq-term/uploads/<session>/` and their paths go into your text. Photos are resized to 2048 px and lose their location and camera details. 50 MB a file, 500 MB kept, oldest cleared first. | Beta | Checked 2026-10-23 |
| Download a file | Hold a path in the output and tap Save, or use Download a file in the session menu: paths are taken from the session's folder; links are not followed; up to 50 MB. On a phone it opens the share sheet. | Beta | Checked 2026-10-23 |
| View-only share link | Session menu, Share view-only: a link for 1 hour, 1 day or until you stop it. Anyone with it watches live at term.hoq.app/v without signing in (encrypted end to end, the last 500 lines, never your other sessions); they cannot type or resize. An eye on the session shows how many are watching; Stop closes them at once. Only the link's hash is stored, and the code sits after the # so it never reaches a server log. | Beta | Checked 2026-10-23 |
| hoq-term doctor | Checks Node, tmux, pairing, that the daemon runs, the relay link, the encryption key, linger, PATH, the Claude Code and shell hooks, and the clock (passes last a minute), with the fix for each. | Beta | Checked 2026-10-23 |
| Open a port | Session menu, Open a port: lists what you have listening on that machine (your own processes only) and opens one on a private address for 12 hours, for you only (a one-time key becomes a cookie the app never sees), hot reload included. Machines reached through the relay; switched off until the relay has its own preview domain. Not end-to-end encrypted, and the sheet says so. | Beta | Checked 2026-10-23 |
| Typing ahead | On a computer, when the line to the machine is slow (round trip over 80 ms), what you type shows at once, faintly underlined, until the machine's echo replaces it; never in full-screen programs, and off until Enter at a prompt that does not echo (passwords) or after any mismatch. On a slow line / Always / Off in the account menu. | Beta | Checked 2026-10-23 |
| Side by side | On a computer, "Open beside" (right-click a session or tab) shows up to four sessions next to each other, each fitted to its pane and streaming live; click a pane to type into it, × closes the pane and leaves the session running. | Shipped | Checked 2026-10-22 |
| Workspaces | Five workspaces (1–5 in the terminal bar) on a computer, each with its own tiled panes; a new pane splits the focused one along its longer side; workspaces you are not looking at stop streaming and come back painted; kept after a reload. | Shipped | Checked 2026-10-22 |
| Workspace keys | Alt (or Ctrl+Alt) + 1–5 switch, + Shift+1–5 send the pane, + arrows move focus, + Shift+arrows swap, + J flip the split, + F full size, + W close the pane, + Enter start a shell beside. | Shipped | Checked 2026-10-22 |
| Arrange by dragging | Drag the line between panes to resize (double-click evens it out); drag a pane by its header onto another pane's edge to put it there, or onto its middle to swap; drop a session from the list or a tab onto a pane, a pane's edge, or a workspace number. | Shipped | Checked 2026-10-22 |
| Workspaces on a phone | The strip under the bar shows 1–5 and that workspace's sessions; tap a number to jump to its last session; hold a tab to move it to another workspace; what you open lands in the current one. | Shipped | Checked 2026-10-22 |
| Colours | Right-click a terminal's title bar (hold the title on a phone) for ten background colours; each session keeps its own, on every device, shown as a chip in the list and a line under its tab. | Shipped | Checked 2026-10-22 |
| Same workspaces everywhere | Workspaces follow you between computers and your phone (a phone shows a workspace's panes as its tabs); a change made elsewhere reaches the workspace you are looking at when you come back to the app, never while you type. | Shipped | Checked 2026-10-22 |
| Updates itself | An open page reloads into a new version when you come back to it. | Shipped | Checked 2026-10-22 |
| Your own session order | Sessions stay where you put them: drag them on a computer (or Alt+↑/↓), use Reorder on a phone; new ones go at the top. Name or recent activity are options. | Shipped | Checked 2026-10-22 |
| Hide the session list | On a computer the session list folds away for a wider terminal, and stays that way. | Shipped | Checked 2026-10-22 |
| List that scrolls with status | The list scrolls on its own under a fixed header, machine names stay in view, machines fold away, and each row shows working / needs you / ended, when it last did something and where else it is open. | Shipped | Checked 2026-10-22 |
| Filter the list | With six or more sessions, a filter box (/ on a computer) and All · Needs you · Working buttons with counts. | Shipped | Checked 2026-10-22 |
| Compact list | Smaller rows with the last lines shown only when a session needs you or has ended; previews can be turned back on. | Shipped | Checked 2026-10-22 |
| Pick up where you left off | Opening a session redraws its screen as it is now, including output from while you were away, the cursor and full-screen programs. | Shipped | Checked 2026-10-21 |
| New session | Start one in a folder with a shell, Claude Code or your own command. | Shipped | Checked 2026-10-21 |
| Rename and close | Rename a session, or close it after a confirm. | Shipped | Checked 2026-10-21 |
| Reconnects by itself | When the tab or phone comes back or the network returns, it checks the connection and reconnects. | Shipped | Checked 2026-10-21 |
| Phone does not shrink the desktop | A phone opens a session at its real width and lets you scroll, unless you choose to fit it to the phone. | Shipped | Checked 2026-10-21 |
| Key bar | Esc, Ctrl, Tab, arrows, ^C and Paste above the phone keyboard; swipe to see more, customisable. | Shipped | Checked 2026-10-21 |
| Key bar editor | Choose small, medium or large keys and one or two rows, move and remove keys, add from a catalogue, start from a set (Claude Code, Vim), and copy a layout to another device. | Shipped | Checked 2026-10-22 |
| Your own keys | Make a key that types a command or sequence (^C, \e, Enter after), with its own label and width. | Shipped | Checked 2026-10-22 |
| Text size | Make the terminal text larger or smaller. | Shipped | Checked 2026-10-21 |
| Installable app | Add to Home Screen with its own icon; it opens full-screen and the page loads without signal. | Shipped | Checked 2026-10-21 |
| Instant return | The last screen of each session is kept on the device and shows at once while the live one loads. | Shipped | Checked 2026-10-21 |
| History, search and copy | Scroll a session's history as text, search it, rejoin long lines and copy a selection or all of it. | Shipped | Checked 2026-10-21 |
| Pinch for text size | Pinch the terminal on a phone to make the text larger or smaller. | Shipped | Checked 2026-10-21 |
| Phone layout | Dark throughout, large-title list with + and account, one bar in a session, bottom sheets, 44 px targets, landscape too. | Shipped | Checked 2026-10-21 |
| Fits the phone | A session fits the phone unless someone else has it open; the choice is remembered per session. | Shipped | Checked 2026-10-21 |
| Swipe to scroll | Swipe scrolls the history with momentum, and moves full-screen programs like less and vim. | Shipped | Checked 2026-10-21 |
| Select and copy | Long-press a word to select it, then Copy, Paste or open History. | Shipped | Checked 2026-10-21 |
| Switch sessions | Tap the session name to jump to any other session on any machine. | Shipped | Checked 2026-10-21 |
4 more in Phone
| Follows the keyboard | The terminal and key bar stay above the on-screen keyboard. | Shipped | Checked 2026-10-21 |
| Notifications | Tell you when Claude Code is waiting, a long command finished or a session ended; not while you are looking at it. | Shipped | Checked 2026-10-21 |
| Mute a session | Turn notifications off for one session from its ⋯ panel; it shows 🔕 in the list. | Shipped | Checked 2026-10-21 |
| Tap to open | Tapping a notification opens Term on that session. | Shipped | Checked 2026-10-21 |
| Add a machine | Register a machine and get its setup file, shown once. | Shipped | Checked 2026-10-21 |
| Machine daemon | hoq-termd runs as your own user and only accepts one-minute, single-use passes made for that machine's owner. | Shipped | Checked 2026-10-21 |
| Command line | `hoq-term ls`, `new`, `attach`, `rename`, `kill`, `status` on the machine itself. | Shipped | Checked 2026-10-21 |
| Add a Linux or Mac computer in one line | `curl -fsSL https://term.hoq.app/install.sh | sh` installs the daemon for your user (systemd on Linux, launchd on macOS) and pairs it with a short code you approve in Hoq ID. | Shipped | Checked 2026-10-21 |
| Works behind home routers | Paired machines connect out to relay.hoq.link; nothing on them listens to the internet. | Shipped | Checked 2026-10-21 |
| Back after sleep | A laptop that wakes or changes network reconnects at once; a link that silently died is replaced. | Shipped | Checked 2026-10-21 |
| Pairing shows who approved | The machine says which account approved it and asks before saving; the pairing key is thrown away. | Shipped | Checked 2026-10-21 |
| Machines update themselves | `hoq-term update`, Update in a machine's menu, or automatic (`hoq-term update --auto on`, waits while you use it); only builds signed with the Hoq release key are installed, and the old version is kept. | Shipped | Checked 2026-10-24 |
| Update ready | A machine running an older hoq-termd says "update ready" in the list, and `hoq-term doctor` names the newer version. | Shipped | Checked 2026-10-24 |
Works with
- Hoq AgentsCoding agents in tmux sessions show up in Term with their status, so you can watch and answer them from a phone.
- GrimasteSign in once with Hoq ID for both, and approve Claude Code permission requests from Term's notifications.
Your data
| Where it is kept | Sessions, their output and any files you send stay on your own machine. Term's servers keep your machine list and each machine's public key. |
|---|---|
| Getting it out | Session output is in tmux on your machine. You can keep a snapshot of a session's whole history or download a file from its folder. |
| If you leave | Remove a machine from your list in the app. There is no uninstall command yet, so you stop the daemon's user service on the machine yourself. Your tmux sessions are untouched. |
APIs and standards
- Web app and installable phone app at https://term.hoq.app
- Command line on each machine: hoq-term ls, new, attach, rename, kill, status, doctor, update, hooks
- Claude Code hooks: hoq-term hooks on
- Standard: Noise Protocol Framework (NK, X25519, AES-GCM, SHA-256)
- Standard: Ed25519 signed updates
- Standard: Web Push
- Standard: tmux
Compared
| Checked 2026-11-01 | Hoq Term | Termius Pro | tmux with Tailscale SSH |
|---|---|---|---|
| Price | No price shown on term.hoq.app | $10 per month, billed annually (Starter tier free)1 | $0 on Tailscale Personal, up to 6 users2 |
| Session keeps running after you disconnect | Yes, every session is tmux on your machine | not published1 | Yes, tmux sessions keep running in the background after you detach3 |
| Protocols | Its own daemon over an outbound relay link; no SSH | SSH, SFTP, Telnet, Mosh, local terminal1 | SSH over WireGuard4 |
| Encryption | Noise NK (X25519, AES-GCM) end to end; relay sees ciphertext | Vault encrypted with X25519, XSalsa20 and Poly1305; sessions over SSH5 | WireGuard with Tailscale node keys4 |
| Port forwarding | Built but switched off for now | Included on the free Starter tier1 | not published4 |
| Several devices on one session | Yes; the list shows where else a session is open | not published1 | Yes, a tmux session can be attached to more than one client3 |
| Watching or recording a session | View-only share link for 1 hour, 1 day or until stopped | not published1 | SSH session recording for audit4 |
| Coding-agent prompts | Claude Code permission requests answered from the list or a notification | not published1 | not published4 |