meshTerm is a terminal client built for engineers who care about their sessions. Pair a host once, start a long-running task on the go, walk into the office and continue the same shell from a different device. Your scrollback, your environment, your half-finished command - exactly where you left it.

What's inside

Roam: persistent sessions (Halo)

A small open-source daemon, mtroamd, runs on your own server and holds your shell open across reconnects, app backgrounding, and device switches. Its persistent ring buffer, Halo, replays your scrollback the moment you reattach.

AI agents, native

Run Claude Code, Codex and Gemini on your own hosts, driven from a native in-app chat: streaming replies, per-tool approvals, plan mode, model and thinking pickers, token chips, and file attachments from iOS. Agents survive restarts and network drops, and you can resume any past conversation.

One-tap install

From Edit Host, after you authenticate, tap Set Up mtRoam. meshTerm fetches signed binaries, verifies them on-device, and configures the right service supervisor for your platform.

iCloud Sync

Your hosts, keys, macros, snippets, tags, Tailscale profiles and preferences sync across your devices, with secrets carried end-to-end by iCloud Keychain. Opt-in, off by default.

Port forwarding

Local (-L) forwards and a dynamic SOCKS5 (-D) proxy, managed per host, with an in-app browser for local web forwards.

Session takeover

Open a session on one device and take it over from another with a single tap. The displaced device drops to read-only.

Retro color modes

True Color plus green, blue and red phosphor and monochrome, with diff-aware brightness so additions stay bright and removals dim.

Named, multi-attach sessions

Run several named sessions per host - exclusive control, read-only watching, or passive tail. Switch between them in one tap.

Predictive echo

Typing feels native even on a slow link. A prompt-aware overlay mirrors keystrokes locally and reconciles them when the daemon's echo arrives.

Shell history at your thumb

Browse the remote host's shell history in a sheet, or accept matching suggestions from the prediction chip strip above the keyboard.

TUI return-to-prompt

A small floating pill detects when you're scrolling away from a Claude Code or Codex CLI prompt and offers a one-tap jump back.

Keyboard palette

A three-page palette above the keyboard: a features page for files, search, snippets, tunnels and agents, a keys page built from your own key groups, and a sessions page for one-tap switching. Minimize it to hand the screen back to your terminal.

Secret Profiles

Bundle your environment variables and keys under one name and inject them into a running session on tap: over plain SSH, mtRoam or tmux, with nothing typed and nothing left on screen. Keychain-backed, optionally gated by Face ID.

Wedge recovery

If a Claude Code TUI gets stuck after a resize, a top banner offers to save context and restart the session with one tap.

Tailscale-first SSH

Sign in with your Tailscale account - no keys to manage - then browse your Tailnet, pick a peer, add it as a host. Tailscale SSH nodes connect without passwords or keys.

SFTP file browser

Browse, upload, download, rename and delete files on any server. Integrates with the iOS Files app for end-to-end drag-and-drop.

Privacy by design

Terminal content never leaves your devices. SSH credentials live in the iOS Keychain. No analytics, no telemetry, no tracking SDKs.

Documentation

📖

User Guide

Setting up hosts, the Roam daemon and Halo, AI agents, port forwarding, the keyboard palette, the macro bar, snippets, SFTP, multi-session attach modes, and troubleshooting.

Read the guide

Tailscale Setup

Sign in with your Tailscale account (or use an auth key) to connect and browse your Tailnet - no API token needed while connected - and enable Tailscale SSH for passwordless access on every device.

Configure Tailscale
🛡️

Privacy Policy

What we don't collect, what stays on your device, and where Roam scrollback lives on your remote host.

Review privacy
⚖️

End User Licence Agreement

The legal agreement governing your use of meshTerm on Apple iOS and iPadOS devices.

Read EULA