A native iOS client for remote tmux workspaces, designed to feel natural on iPhone.
Remux
A native iOS client for remote tmux workspaces.
https://github.com/user-attachments/assets/e7482322-15f8-4f7d-aca4-83368fddd07c
About
Remux is a native iOS client for remote tmux workspaces, built on Ghostty. It brings tmux's session, window, and pane model into a mobile-first interface. It previews files and running dev servers straight from the terminal, and uploads photos and files, with markup for images.
Features
- tmux sessions: Attach to running sessions or start new ones.
- Windows and panes: Swipe between windows, pick panes from a bottom
- Shortcut palette: Run saved commands with a tap. Starter sets cover
- Voice dictation: Dictate text in the composer using on-device speech
- Attachments: Upload photos and files to the server, with markup for
- File preview: Long-press a path in terminal output to preview it:
- Localhost preview: Long-press a localhost URL to open the dev server
- Cursor control: Hold the space bar or long-press in the terminal,
- Direct SSH: Remux connects straight to the server, with no relay and
- Themes: Ghostty default, Catppuccin Mocha, and Catppuccin Latte,
Installation
Remux is available as a public beta on TestFlight: testflight.apple.com/join/fHqG1ruE. You can also build from source.
Building from Source
Requirements:
- Xcode with iOS 18 SDK support
- XcodeGen
scripts/fetch_ghosttykit.sh
Generate the Xcode project and build:
xcodegen generate
xcodebuild build \ -project Remux.xcodeproj \ -scheme Remux \ -destination 'generic/platform=iOS Simulator'
Run the tests:
xcodebuild test \
-project Remux.xcodeproj \
-scheme Remux \
-destination 'platform=iOS Simulator,name=iPhone 17,OS=latest'
To build GhosttyKit yourself instead of fetching it, see remux-ghostty and scripts/buildrelease_ghosttykit.sh.
Acknowledgments
Remux is built on Ghostty's terminal core and uses Citadel for SSH.