T3 Code on iPhone and iPad

There's no App Store build, but T3 Code runs well in Safari once you add it to the home screen. Setup, the iOS-specific gotchas, and what actually works on an iPad.

Last reviewed · verified against the pingdotgg/t3code repo

There is no T3 Code app on the App Store, and searching for one is the most common way people arrive at this page. What exists is better than it sounds: the same web interface, in Safari, connected to a server on your own machine.

Setup#

1. Start a server on the machine holding your code.

bash
npx t3 serve --tailscale-serve

Use --tailscale-serve rather than a plain LAN address. It gives you HTTPS, and iOS is strict enough about insecure contexts that plain HTTP fails in ways that look like a T3 Code bug. Remote access guide →

2. Scan the QR code. t3 serve prints one. Point the iPhone camera at it — far less painful than typing a pairing token on a phone keyboard.

3. Add to Home Screen. In Safari: Share → Add to Home Screen.

This step matters more on iOS than anywhere else. You get:

  • Full screen with no Safari chrome, which is a large fraction of a phone viewport
  • Its own icon and app switcher entry
  • A separate process from your browser tabs, so Safari's tab management doesn't discard it

That last point is the real reason to do it — see below.

iOS-specific gotchas#

Safari discards background tabs aggressively#

iOS reclaims memory from background Safari tabs quickly. Leave T3 Code in a tab, switch to another app for a few minutes, come back, and the page has reloaded and lost its WebSocket connection.

Add it to the home screen. A standalone web app is treated more like an app and survives backgrounding considerably longer. This single change is the difference between "iOS support is broken" and "it works".

Low Power Mode throttles connections#

Low Power Mode suspends background network activity. A long agent run monitored from a phone at 15% battery will silently stop updating. The run continues on your machine — only your view of it dies. Pull to refresh and it reconnects.

The host must stay awake#

The most common disappointment isn't iOS at all. If your Mac sleeps, the server dies and the session goes with it.

bash
caffeinate -i npx t3 serve --tailscale-serve

caffeinate -i prevents idle sleep for as long as the command runs. macOS guide →

Tailscale needs to be running on the phone#

Obvious in principle, easy to miss in practice — iOS may disconnect the Tailscale VPN when switching networks or after a reboot. If the page suddenly won't load, check Tailscale before debugging anything else.

iPad is a genuinely different story#

Everything above applies, but the verdict changes with the screen:

TaskiPhoneiPad
Reading agent outputGoodGood
Checking whether a run finishedGoodGood
Approving Supervised promptsWorkableGood
Reviewing a small diffWorkableGood
Reviewing a large diffPainfulWorkable
Writing a detailed promptPainfulGood with a keyboard

An iPad with a keyboard is a legitimate secondary workstation for this — enough screen to read a diff properly and enough keyboard to write a real prompt. On an iPhone, the honest use case remains monitoring and nudging: start a long refactor at your desk, check on it from the sofa.

Recent T3 Code builds have polished an iOS git progress overlay and added thread snoozing, which suggests mobile is getting deliberate attention rather than being an accident.

Not what you were looking for?#

If you're trying to connect the ChatGPT mobile app to Codex Desktop — a different product and a different mechanism — that pairing has its own well-documented failure modes: Codex mobile won't connect →

FAQ#

Is there a T3 Code app on the App Store?#

No. T3 Code has no native iOS app. Its web interface runs in Safari and can be added to your home screen for a full-screen, app-like experience connected to a server on your own computer.

How do I use T3 Code on my iPhone?#

Run npx t3 serve --tailscale-serve on the machine with your code, scan the QR code it prints with your iPhone camera, then use Share → Add to Home Screen so the session survives backgrounding.

Why does T3 Code disconnect when I switch apps on iOS?#

iOS aggressively reclaims memory from background Safari tabs, dropping the WebSocket. Adding T3 Code to your home screen makes it a standalone web app, which survives backgrounding far better. Low Power Mode also throttles background connections.

Does T3 Code work on iPad?#

Yes, and better than on iPhone. The larger screen makes diff review practical, and with a keyboard an iPad works as a genuine secondary workstation rather than just a monitoring screen.

Do I need Tailscale to use T3 Code on iOS?#

Not strictly, but it's strongly recommended. It provides HTTPS, which iOS requires for a reliable connection, and it works from any network. The alternative is an SSH tunnel.