The tmux quick row
tmux keeps your work alive between connections — it’s non-negotiable. The hard part on a phone is typing the prefix (Ctrl-B) on a touch keyboard. TermRover puts the common tmux commands on a row right above the keyboard — one tap each.
Tap c for a new window, " or % to split, z to zoom the focused pane, and d to detach. TermRover detects your prefix per host, so there’s nothing to configure.
The session picker
Tap the tmux button to bring up the session picker, switch to another session is just one tap away.
Star the tmux sessions you live in: favourites float to the top and drag into the order you want, saved per host. Worth it the moment a box has more sessions than you can scan on a phone.
tmux scrolling without configuration changes
Swipe to scroll. tmux needs mouse mode on before it will give you history, and when it is off, TermRover tells you instead of just ignoring the gesture: a notice slides down with a Turn on button. One tap and you are scrolling. No set -g mouse on, no editing .tmux.conf on the server, no reconnect.
The mouse key stays amber the whole time it is on, so you always know which mode you are in.
tmux, herdr or Zellij
tmux is the default, not the only option. Tap tmux, herdr or zellij in the picker header and everything retargets with it: the session list, the attach, the detach, the quick row.
Set a per-host default with the cog, and new tabs to that host open on it — so if you live in herdr or Zellij, you never tap past tmux first.
The 3 panes
Swipe left to Quick Commands, right to Composer.
Quick Commands is a word cloud of tap-to-run chips for what you type all day — a quick git status, or the :wq that finally gets you out of vim. The ones you use most grow larger; tap the gear to edit the list.
The Composer is a full multi-line field for writing a real prompt before it runs — draft, paste, fix a typo, then send it all at once instead of pecking into the live shell. Your dictation and attached images land here too.
Landscape, made for iPad
Rotate to landscape and the whole key deck collapses into a slim rail on the left edge, handing the rest of the screen to the terminal. The quick rows and command panels become opt-in: toggle one on when you need it, drag it out of the way, toggle it off and the space is yours again.
Comfortable on a phone, ideal on an iPad: with a hardware keyboard you just type Ctrl-B and Ctrl-C, so you can leave the quick rows off and hand the entire screen to the terminal.
Pick a theme that’s easy on the eyes
Working at night? A harsh, bright terminal in a dark room is hard on the eyes. Open the theme picker and choose something calmer.
The whole app follows along — terminal and keyboard bar reskin together. Pick what you can look at for hours and stay in it.
My favourite theme at night: Gruvbox Dark.
SSH by default, Mosh when you need it
SSH drops the moment the network moves. Mosh rides it out: your terminal stays alive as the phone crosses from Wi-Fi to cellular or wakes from sleep, with no reconnect ceremony.
To switch a live host, tap the SSH badge and choose Mosh. Your terminal and tmux session stay in place. If the host needs mosh-server, TermRover helps you install it over the working SSH connection.
Send image to your agent
When an agent needs to see what you’re looking at, send it an image — the awkward things most mobile terminals won’t let you do easily.
Tap Attach and pick a screenshot from your phone. Tap the image to add drawings and annotate where your agent should pay attention.
You can attach multiple images. TermRover uploads them over the same SSH connection and drops each file path straight into your prompt.
~/.termrover/screenshot-{hash}.png
Talk instead of typing
Sometimes you just don’t want to type on a phone. Tap the mic and talk — your words land in a normal, editable field.
If it mishears a word, tap in and fix it before sending. Dictation runs on-device.
Your localhost, on your phone
When an agent spins up a dev server on the box, forward its port over SSH and open it right in the app. Open a new tab, choose Port forward, and enter the port — say 3000.
The tab shows ⇄ :3000. Tap Open in browser and your localhost loads in-app — hot reload and all.