What is T3 Code?
T3 Code is an open-source "agent harness control surface" from Theo (t3.gg) and Ping — a purpose-built UI for driving coding agents rather than an agent of its own. It works with the subscriptions you already have on Claude Code, Codex, Cursor, Grok Build, and OpenCode, and it runs on your own machine: install it with npx t3@latest, Homebrew, winget, the AUR, or a desktop build. It's remote-ready — you can reach it from your phone or another machine, and run it as a background service on Linux — and it ships native iOS and Android apps alongside a web app and an Electron desktop app for Windows, macOS, and Linux. Parallelism is handled with git worktrees: each thread gets its own directory and branch off a shared object store, so several agents can work at once without editing the same files. It's MIT-licensed and openly alpha — the project states, "We are very very early in this project. Expect bugs."
What is ShipIt?
ShipIt is a self-hosted, chat-driven IDE that runs coding agents through your real engineering loop. You bring Claude Code or Codex on your own subscription or API key, and each task runs as a session in its own isolated Docker container, with a full clone of your repo and a live instance of your app (via Docker Compose) to build and test against. The GitHub PR lifecycle — description, CI checks, review threads, deploy status, merge state — renders inline in chat, next to your Linear and GitHub issues. It's Apache-2.0, installs with one command on local Docker or an Ubuntu VPS, and is mobile-first with voice.
Where they overlap
Substantially. Both are open source. Both are control surfaces for agent CLIs, not proprietary agents — you bring the subscription you already pay for, and neither locks you to one vendor's model. Both let you connect more than one account per provider and tell them apart when you pick one, so a second subscription isn't wasted; the difference is that T3 Code has you choose the account and ShipIt rolls over on its own when one runs out of headroom. Both run on hardware you own rather than routing your code through someone else's cloud. Both are built around running multiple agents in parallel, each on its own branch, and both are designed to be driven from a phone. If your requirement is "an open-source, bring-your-own-agent GUI that runs several coding agents at once on my own machine," both tools qualify, and you should pick on the details below rather than on principle.
Where ShipIt is the weaker choice
Several rows go to T3 Code outright. It supports more agents — Cursor, Grok Build, and OpenCode in addition to Claude Code and Codex — where ShipIt runs two backends today. It's far lighter to run: no Docker requirement and no resource planning, against ShipIt's containerized-always model that wants 8 GB of RAM minimum and 16 GB recommended on a VPS because every active session is its own container. And it ships an Electron desktop app that ShipIt has no equivalent of. On phones the difference is packaging rather than capability — ShipIt is a mobile-first PWA with voice in and out, which installs without an app store, while a native shell gets background push for free. ShipIt's answer there is a webhook: a voice note can be delivered to an endpoint as well as played in-app, so "the agent needs you" reaches your phone through whatever notifier you already run — a workable path, but one you wire up rather than one that works out of the box. If you want minimal setup, maximum agent choice, a desktop build, or push that needs no plumbing, T3 Code is the better fit and ShipIt's extra machinery is overhead you may not need.
Where ShipIt fits better
The case for ShipIt is depth. T3 Code does have a desktop in-app browser preview, so this isn't preview versus no preview — it's what the app runs against. Git worktrees stop agents from editing each other's files, but they share the host: the same dependencies, the same ports, the same database, which is why devcontainer-style isolation is an open feature request on T3 Code rather than a shipped capability. ShipIt starts from container isolation instead, so each session brings up its own Compose services and its own instance of your app for the agent to build against and for you to preview — and the agent drives those services itself, starting, stopping, and tailing the ones it needs rather than waiting on a click from you. The session image also bakes in a JDK, the Android SDK, and Gradle, so an agent can build a Gradle project, run Paparazzi snapshot tests, read the PNG diffs, and show a running emulator live in the preview panel. Around all of it sit a per-agent default-deny outbound firewall, brokered git credentials, and guardrails that block a commit carrying a recognized secret. The other half is the loop after the diff: ShipIt renders the whole GitHub lifecycle inline — CI checks with a failure loop back to the agent, review threads, deploy status, an approval-aware merge gate — plus a one-click sync when your branch falls behind its base, sessions that wake on their own PR merge to ship stacked work, and Linear and GitHub issues you can start a session from. T3 Code gives you worktree diffs and pull-request creation; ShipIt is trying to be the surface where the entire review-and-ship cycle happens.