remux

title
remux
type
toolbox
summary
Native iOS tmux client built on Ghostty's terminal core, direct SSH with no relay or account
tags
ios, swift, terminal, tmux, ssh, watchlist
language
Swift
license
MIT
created
2026-07-29
updated
2026-07-29

remux is a native iOS client for remote tmux workspaces. Rather than shipping a generic SSH terminal and leaving you to drive tmux through Ctrl-b on a software keyboard, it maps tmux's session, window and pane model onto iPhone gestures, and adds the things a phone can do that a terminal cannot โ€” previewing files and running dev servers from the terminal output, and uploading photos with markup.

How it is put together

The terminal core is Ghostty, consumed as a prebuilt GhosttyKit framework, which is why remux inherits Ghostty's rendering and its default theme (see gpu-accelerated-terminal for what that core is doing). SSH is Citadel.

Connections are direct: the app talks to your server with no relay in the middle and no account to create. Passwords and private keys live in the iOS Keychain, and trusted host keys are remembered across connections.

What the mobile-first part buys you

tmux sessions can be attached to or started fresh. Windows are a swipe apart; panes are picked from a bottom sheet showing live previews, and can be split, zoomed or closed from there.

The shortcut palette runs saved commands with a tap, which is the part that most directly attacks the software-keyboard problem. It ships with starter sets for the shell, claude-code and Codex, and takes your own commands organised into groups.

Two long-press behaviours turn terminal output into something interactive. Long-pressing a path in the output previews the file โ€” code, images, PDFs or HTML pages. Long-pressing a localhost URL opens the dev server running on the remote machine, hot reload and WebSockets included, which means a phone can watch a frontend rebuild on a server it is SSHed into.

Attachments go the other direction: photos and files upload to the server, with markup available for images, and the remote path is typed at the prompt for you.

Cursor placement, which is the other thing a touchscreen is bad at, is handled by holding the space bar or long-pressing in the terminal and then dragging.

Themes are Ghostty default, Catppuccin Mocha and Catppuccin Latte, with adjustable font size.

Getting it

The distribution channel is a public TestFlight beta at testflight.apple.com/join/fHqG1ruE โ€” there is no App Store release and no GitHub release artifact.

Building from source needs Xcode with the iOS 18 SDK and XcodeGen:

scripts/fetch_ghosttykit.sh
xcodegen generate
xcodebuild build \
  -project Remux.xcodeproj \
  -scheme Remux \
  -destination 'generic/platform=iOS Simulator'

The fetch script pulls a prebuilt GhosttyKit; building that yourself instead means going through the separate remux-ghostty fork.

Limitations

iOS only, and iPhone-shaped specifically โ€” the design goal is stated as feeling natural on iPhone, and there is no macOS, iPadOS-specific, or Android story. Everything about the workflow assumes a persistent remote machine you already have SSH access to; remux is a client and provides no server side of its own.

Status and watchlist

MIT, 212 stars, two contributors, repository created 2026-04-21 and actively pushed. No tagged releases exist โ€” TestFlight is the only binary channel, which puts availability at the mercy of Apple's beta program and the author's willingness to keep re-submitting builds.

Added to watchlist on the single-platform and beta-only grounds. The interesting question is whether the file/localhost preview ideas survive into a shipped App Store product, or whether this stays a beta that a handful of people run from Xcode.