Remote Control Agent Setup. By default ./start.sh brings up Remote Control w/ T3 Code alone, through T3 Connect: sign in from any device and it owns remote access and activity publishing, with no tunnel and no pairing code.
Two opt-in modes on top of that: Codex in Claude Code w/ CLIProxyAPI (CLAUDEX_ENABLED=1), and hosting T3 yourself over HTTPS w/ Cloudflare Tunnel + Cloudflare Access (T3_MODE=custom).
Tested on an ARM Mac (macOS 26.x), working end to end from off-network devices, phone included. Exact versions in TOOL-VERSIONS.md. Day-to-day start/stop in QUICK-SETUP.md. Full build docs in SETUP.md.
In T3_MODE=custom, browsers connect through Cloudflare Access when T3_CUSTOM_ACCESS=full. The mobile app pairs over a trusted LAN or VPN with T3_BIND=all in either custom access mode; see SETUP.md. The default T3_MODE=connect skips all of this - see SETUP.md#modes.
The example T3 settings enable the native codex provider. For normal Codex
models in T3 Code, quit the ChatGPT desktop app first: T3 owns the Codex
app-server processes, and the desktop app conflicts with that ownership. If
ChatGPT is still running, CodeLaunch warns and shows the graceful quit command
instead of quitting it for you:
osascript -e 'tell application "ChatGPT" to quit'CODEX_WEB_GPT_MANAGED=1 is a separate ChatGPT desktop integration and requires
CLAUDEX_ENABLED=1 - it is ignored otherwise. CodeLaunch can start its Web GPT
service headlessly when enabled, but the Web GPT models require the ChatGPT
desktop app and are not a working provider inside T3 Code/CodeLaunch (they cannot
make tool calls there). Keep CODEX_WEB_GPT_MANAGED=0 for normal Codex models; see
SETUP.md.
| Desktop | Mobile |
|---|---|
|
|
Mobile.Remote.Control.Demo.mov |


