Overview
Tern is a native SSH client for macOS, built in Rust with GPUI. It combines terminal sessions with server organization, remote file access, reusable commands, and connection tools in a single desktop process.
The client can reopen tabs at launch and reconnect after an unexpected network interruption. It deliberately does not reconnect after the user exits a session.
Key Features
- Organizes saved hosts with groups and tags, with one-time import from SSH configuration.
- Supports split panes, scrollback search, session logging, broadcast input, and a latency status line.
- Provides SFTP browsing for remote files, including downloads and drag-and-drop uploads.
- Stores command snippets that can either run immediately or be inserted for editing.
- Handles ProxyJump chains, local, remote, and SOCKS forwarding, agent forwarding, and two-factor logins.
- Offers configurable shortcuts, monospace fonts, wallpapers, and light or dark appearance modes.
Credentials and Security
Tern can use SSH keys, retrieve passwords through a password-manager command, or keep passwords and SSH keys in an age-encrypted vault. Vault access can use a PIN or the macOS Keychain, and the vault locks after inactivity. Passwords are entered only when explicitly requested at a password prompt.
Host keys are checked against the local known-hosts file. A changed key stops the connection and presents the command needed to remove a trusted stale entry. Secrets are excluded from logs.
Sync and Platform Support
Hosts, snippets, and settings can sync through a private Git repository owned by the user. Data is encrypted on the Mac before transfer, changes are merged per host, and password commands received through sync require approval on each Mac.
The primary supported platform is macOS. Windows and Linux builds are described as previews that pass continuous integration but have not yet been tested on real desktops.