iOS companion

The Ghostex iPhone companion connects to live agent sessions on your Mac over SSH. It is built on the VVTerm codebase with a Ghostex sidebar for session listing, attach, and remote actions.

iOSTestFlightVVTerm

Get the app

The iOS companion is distributed through TestFlight. Join the Ghostex Discord to request access:

https://discord.gg/df7b3G92CS

First-launch setup in the macOS app links to the same Discord URL for iPhone TestFlight access.

Architecture

  • Built on VVTerm — GPU-accelerated Ghostty terminal rendering via GhosttyKit.
  • SSH transport with libssh2/OpenSSL; supports password, SSH key, and key + passphrase.
  • GhostexSidebarStore manages remote session list, refresh, attach, and actions.
  • Sessions grouped by project with collapsible project groups.
  • iOS keyboard accessory support with special keys and custom actions.

Mac prerequisites

  • Install Tailscale on Mac and iPhone; sign into the same tailnet.
  • Enable macOS Remote Login.
  • Install Ghostex with ghostex/gx in the SSH login shell.
  • Set session persistence to zmx (default for new installs).
  • Keep Ghostex running on the Mac for live session inventory.
  • Keep the Mac awake while attaching remotely.

Remote attach

iOS direct attach uses the same stable Ghostex id contract as Android and desktop remote SSH:

ghostex attach --session-id <id> --project-id <id>

GhostexSidebarStore refreshes sessions over SSH, handles concurrent refresh cancellation, and runs attach actions with responsive direct attach. When the live gxserver bridge is unavailable, persisted sidebar data can serve as a fallback for session inventory.

CLI from iPhone SSH

# After connecting to the Mac via VVTerm SSH
gx sessions
gx a 1
gx wake 1
gx sleep 1

VVTerm foundation

The iOS app inherits VVTerm capabilities beyond Ghostex session control:

OptionWhat it does
ConnectionsSSH, Tailscale, Mosh, Cloudflare Access modes.
TerminalTabs, split panes, reconnect, persisted session state.
Remote filesSFTP browser with upload, download, rename, and permissions.
SecurityKeychain credentials, biometric unlock, full-app lock.
SyncCloudKit sync for servers, workspaces, and preferences.
Live ActivityActive terminal connection status on the Lock Screen.

Requirements

  • iOS 16.1+
  • Apple Silicon / arm64 hardware targets
  • Tailscale-reachable Mac with Ghostex and zmx

Credits

The iOS companion builds on VVTerm by Vivy Technologies. Ghostex adds the Ghostex sidebar feature module for live session control on top of VVTerm's SSH terminal infrastructure.

Related docs