Skip to content
LabTether

Terminal Sessions

LabTether gives you browser-based terminal access to every managed node — agent-backed or manual device — without juggling SSH keys across machines or keeping a dozen terminal tabs open. Sessions can be temporary one-offs or persistent tmux-backed shells that survive disconnects.

Opening a terminal session

Two entry points:

  • Terminal in the main app navigation — opens the launcher with your recent and saved sessions.
  • Connect Terminal on any node detail page — jumps straight into a session for that specific node.

Previous Sessions

The terminal launcher is built around Previous Sessions — a single list that combines your saved shells, pinned shortcuts, and recent one-off connections. Instead of navigating separate setup surfaces, everything starts from this list.

Each row shows the host and its current state. Tap a row to reconnect:

  • If the row has a saved shell, the main action is Resume — LabTether reattaches to the existing tmux-backed workspace right where you left off.
  • If the row only has saved connection metadata, the main action is Connect — LabTether starts a new temporary session.

Saved shells remain visible in Previous Sessions even after you fully disconnect. They show as Detached until you resume them, and only flip to Attached after LabTether successfully creates the transport session.

Saved shells vs temporary sessions

Saved shells are backed by tmux on the remote machine. When you disconnect — whether intentionally or because your laptop went to sleep — the shell keeps running. Come back later and resume exactly where you left off. Long-running builds, tail commands, and monitoring sessions survive network hiccups.

Temporary sessions are one-off connections. When you disconnect, they are gone. Use these for quick checks where persistence does not matter.

To convert a temporary session into a saved shell, use the row menu and choose Save Shell For Later. The next time you open that entry, LabTether reattaches to the same tmux workspace.

Managing sessions

The row menu (long-press or context menu) on any Previous Sessions entry gives you:

Action What it does
Pin Keeps the session above ordinary recents — useful for your most-used nodes
Rename Changes the display label in the launcher
Resume Saved Shell Reattaches to an existing tmux workspace without creating a fresh session
New Temporary Shell Opens a clean one-off session, leaving the saved workspace untouched
Save Shell For Later Converts the current session into a persistent tmux-backed shell
Save Connection / Edit Saved Connection Manage host, port, username, host-key rules, and SSH credential profile
Remove From This iPhone Hides the shortcut locally — the hub copy and remote shell are untouched
Delete Everywhere Ends the remote tmux session, removes saved shell state and terminal config from the hub

Warning: Delete Everywhere is destructive — it kills the remote tmux session first, then cleans up hub metadata. If the agent or SSH connection is down, the delete will be blocked until you restore reachability. Remove From This iPhone is safe and local-only.

Saved connections

Each terminal entry can have a saved connection with host, port, username, host-key rules, and a link to an SSH credential profile managed at Settings → Credentials.

For agent-backed nodes, LabTether auto-creates the first saved terminal mapping when the agent installs the hub's SSH key. If you later edit the host, port, username, or credential profile, those edits are preserved — the agent will not overwrite your manual changes on reconnect.

Cleaning up

  • Remove From This iPhone — clears the shortcut from your local launcher. The remote shell and hub metadata are untouched. Use this when your launcher gets cluttered.
  • Delete Everywhere — ends the remote tmux-backed shell, removes any ephemeral hub terminal sessions for that workspace, and then removes the stored SSH mapping and saved shell metadata for that asset. This is a full cleanup. Connected-agent cleanup uses the terminal channel directly, so it does not require separate remote command capability on the agent token.

Browse Nodes

When you want to connect to a host that is not already in your Previous Sessions list, use Browse Nodes. This gives you a search and browse flow across all nodes in your inventory. Once you connect, the node appears in Previous Sessions for quick access next time.