# Sessions — Liu Terminal

> Liu Terminal sessions. Full SSH client with file browser, SFTP, port forwarding, Mosh, and known-hosts TOFU.

URL: https://liu.software/docs/sessions/  
Language: en  
Updated: 2026-10-17

Local PTYs run AI agents. The same Session abstraction also backs SSH, SFTP, Mosh, Telnet and serial - kept linked because plenty of people still need them, even though the product no longer headlines remote shells.

## What a session is

Every tab and split leaf in Liu is a session. Most of them are local PTYs running your login shell — that's the substrate the AI agents (Claude, Codex, Copilot, …) actually run in. Sessions can also be remote: SSH, SFTP, Mosh, Telnet, serial. They share one abstraction, one rendering pipeline, one scrollback.

## Local PTYs

New tabs (⌘ T) spawn a local PTY in the parent tab's cwd. When the inherited cwd is /, Liu silently chdir($HOME) in the child before exec so your prompt opens somewhere useful.

The shell's working directory is tracked via OSC 7. Plug printf '\\\\e\]7;file://%s%s\\\\e\\\\\\\\' "$HOSTNAME" "$PWD" into PROMPT\_COMMAND and Liu's sidebar, split-inheritance, and Agent History cwd-scope all light up.

## SSH (substrate, still here)

libssh2-backed. Password, public-key, agent and keyboard-interactive auth. ~/.ssh/config is honoured for Host, Match, Include, ProxyJump, IdentityFile and related directives. Liu also multiplexes connections internally, but ControlMaster / GSSAPI lines from ssh config are not parsed into live sessions yet.

- Generate ED25519 / RSA-3072 keys from the vault panel; private key stays encrypted at rest.
- SSH\_AUTH\_SOCK honoured for outbound auth. Agent forwarding is per-host and off by default.
- Multi-hop ProxyJump + SOCKS5 supported. GSSAPI/Kerberos ssh-config lines are not wired into live sessions yet.

## Known hosts

First connection prompts with the SHA-256 fingerprint plus a randomart preview. Accepted entries land in ~/.config/Liu/known\_hosts in OpenSSH-compatible format. A changed host key blocks input until you re-acknowledge.

## Other protocols

- SFTP — open from the sidebar against any saved host. Drag-drop, resume on disconnect.
- Mosh — pair with an SSH host to get roaming + adaptive retransmits.
- Telnet & serial — for legacy gear. Same session UI, no encryption.

## Port forwarding

Each host carries a list of forward rules — local, remote and dynamic (SOCKS) — applied on connect. They show in the status bar with a green dot when bound and a red dot if the bind failed.

```
{ "type": "local",   "from": "8080",  "to": "localhost:80" }
{ "type": "remote",  "from": "9000",  "to": "127.0.0.1:9000" }
{ "type": "dynamic", "from": "1080" }
```

[Next File browser →](https://liu.software/docs/file-browser.md)
