xxterm is a cross-platform terminal emulator with built-in SSH and SFTP tools. It is designed for people who want a single desktop app for local shells, remote server access, file transfers, port forwarding, and saved connection profiles.
It has been built for full tmux compatibility, with full OSC 52 clipboard sync, copy-on-select, and intelligent paste handling that works seamlessly both inside and outside tmux.
xxterm brings the most common terminal workflows into one app:
- Run local shells in tabs
- Connect to remote machines over SSH
- Browse and manage files over SFTP
- Create and manage port forwards
- Save reusable connection profiles
- Switch between color themes
xxterm supports both local and remote terminal sessions.
Open native shells on your machine, including common terminals such as PowerShell, bash, zsh, fish, cmd, WSL, or custom profiles.
Use local sessions when you want:
- A fast shell for work on your own machine
- Multiple tabs for separate tasks
- A terminal profile that matches the shell you prefer (built-in and customizable profiles)
Connect to remote hosts from the same tabbed terminal interface. SSH sessions support:
- Password authentication
- Private key authentication
- SSH agent authentication
- Jump hosts
- Saved credentials protected by a master password
- Save session details for later reuse
- Organise sessions into groups
- Edit or remove existing sessions
The SFTP browser lets you work with files on remote hosts from inside xxterm. SFT browser opens in a left-side pane with each SSH session you connect to.
- Navigate directories
- Upload and download files
- Rename files and folders
- Delete files and folders
- Create new directories
- Track transfer progress
- Edit a remote file locally and sync changes back on save
xxterm includes a port forwarding manager for SSH-based forwarding.
You can create and manage:
- Local forwards (
-L) - Remote forwards (
-R) - Dynamic SOCKS5 forwards (
-D)
The port forward manager supports:
- Per-session forward definitions
- Start and stop controls
- Auto-start on connect
- Status tracking
xxterm is purpose-built for tmux users. It handles tmux's unique terminal protocols natively so clipboard operations work the same way whether you are in a shell, inside tmux, or outside it entirely. set-clipboard in tmux works out of the box.
Selecting text with the mouse automatically copies it to the clipboard. Pasting works with Ctrl+V / Cmd+V, middle-click, and Shift + Ins.
All settings are stored in a sqlite database in ~/.config/xxterm/xxterm.db. Saved passwords are encrypted at rest. You can create backups of this file or move it to other systems to bring your saved sessions and configurations.
xxterm includes over 40 color themes for the terminal and the UI. Below are a few examples.
- Tauri 2
- SolidJS
- TypeScript
- Rust
- xterm.js
- russh
- russh-sftp
- portable-pty
- rusqlite
npm install
npm run tauri devUse the provided scripts to compile a release build:
Linux / Mac OS:
./build-portable.shWindows:
.\build-portable.bat