How Terminal iOS Works
Terminal iOS is a native iPhone terminal connected to a persistent session on a host you control. It transports terminal input and output without moving execution, repositories, accounts, or credentials onto the iPhone.
The connection
iPhone app
-> authenticated private connection
-> Terminal iOS host service
-> persistent terminal session
-> shell, repositories, AI tools, and other terminal programs
The app sends terminal input and displays terminal output. The host executes commands and retains the running session. Codex CLI is the setup-validated AI workflow today; Claude Code and Gemini CLI compatibility are being validated. Closing the app or losing the network detaches the phone; it does not end the host session.
Host roadmap
For commercial v1, the persistent session runs on an Apple-silicon Mac. Native Ubuntu is the next planned independent profile. Windows + WSL2 is retained as a future beta, and native Windows is demand-gated with no release commitment. None of those future profiles is implied by macOS support or blocks the Mac release.
One-time pairing
On Mac, terminal-ios-host setup checks the host and opens a short-lived QR. Scanning it binds the iPhone to that exact host and issues a revocable device credential. The QR expires, cannot be reused, and is not stored as a website download.
Reconnecting
The terminal session remains on the host. When the app returns, it attaches a fresh client to the same persistent session and displays its current screen. The app names Live, Reconnecting, Offline, Stale, and failed states plainly rather than presenting an uncertain connection as live.
What the product does not do
- It does not run project code or AI tools locally on the iPhone.
- It does not copy repositories or host credentials into the app.
- It does not provide an unauthenticated generic SSH connection.
- It does not route customer terminal contents through a Terminal iOS vendor relay.