Docs · T3 Code

T3 Code

T3 Code's device panel can show and drive the iOS Simulator on a NoMac Mac over SSH, with no Mac of your own.

A NoMac Mac as a device host

T3 Code reaches a Mac over SSH, installs its device tools there on first use, and streams the Simulator into its Device panel. A NoMac Mac has what it checks for: Node and npm, Xcode and the iOS Simulator, and SSH with port forwarding.

  1. On the machine that runs T3 Code, install the NoMac CLI and sign in.
Terminal
npm install -g @nomac/cli
nomac login
  1. Start a Mac from your project's folder and name it in your SSH config.
Terminal
nomac start
nomac ssh-config
ssh nomac true
  1. In T3 Code, open Settings → Devices, choose the environments that should use it, then Add source → Machine over SSH. Enter nomac and leave the identity file and port empty. Choose Test connection in the host's menu.
  2. Open the Device panel in a thread. The first time, T3 Code installs its device tools on the Mac (about 10 seconds). Start the iPhone Simulator to watch and tap it.
  3. For your agent, turn on Agents can use devices in Settings → Devices, then start a new agent session.

Build the app on the same Mac: nomac sync . sends the project to ~/drive/src, kept between sessions, and ssh nomac or nomac exec runs xcodebuild there. See Build and test an app.

While T3 Code holds its SSH connection the Mac counts as in use, so it does not stop when idle: it runs until nomac stop or its time limit (2 hours by default; nomac start --max-duration 3600 sets one hour). The next nomac start from the same folder keeps the name nomac, and T3 Code reconnects. On its own, a Simulator on the Mac does not see your machine's localhost: a dev server there needs a tunnel.

NoMac's MCP server in T3 threads

T3 Code keeps the MCP servers your Claude Code and Codex already use, so an agent in a T3 thread can start Macs and iOS Simulators itself. Add NoMac at user scope and sign in once outside T3 Code, since T3 does not open sign-in links in the middle of a thread:

Terminal
claude mcp add -s user --transport http nomac https://mcp.nomac.app/mcp
codex mcp add nomac -- npx @nomac/cli mcp

Then run /mcp in Claude Code once to sign in, or use an API key. Every way to connect is on Connect your agent.