Installing T3 Code

Every way to install T3 Code compared — the zero-install npx route, winget, Homebrew, the AUR and direct downloads. Plus what you must install first.

Last reviewed · verified against the pingdotgg/t3code repo

Two decisions: npx or desktop app, and which provider CLI. Get those right and installation is a single command.

Before anything else#

T3 Code is a client. It cannot do anything until a coding agent CLI is installed and authenticated on the same machine that runs the server. Do this first:

bash
codex login          # OpenAI Codex
claude auth login    # Anthropic Claude Code
cursor-agent login   # Cursor
opencode auth login  # OpenCode

You only need one, but at least one is mandatory. Provider details →

Which install method?#

MethodCommandNode requiredBest for
npxnpx t3@latestYesTrying it out, servers, always-latest
Windowswinget install T3Tools.T3CodeNoDaily desktop use
macOSbrew install --cask t3-codeNoDaily desktop use
Arch Linuxyay -S t3code-binNoArch and derivatives
Direct download.exe / .dmg / .AppImageNoAir-gapped, or pinning a version

The important practical difference: the npx route uses your system Node.js, while the desktop app bundles everything it needs. If you don't want to manage a Node install, take the desktop app. If you want to run T3 Code headless on a remote box, take npx.

Either way, the provider CLI stays a separate install. The desktop bundle does not include Codex.

The zero-install route#

bash
npx t3@latest

Downloads the latest release, starts the server on port 3773, opens your browser. Nothing is left installed globally. This is also the form you use for remote and headless setups:

bash
npx t3 serve --host 0.0.0.0

Full npx guide →

Desktop applications#

Prebuilt binaries are published to the GitHub releases page for all three platforms: .dmg for macOS, .exe for Windows, .AppImage for Linux. Package managers pull from the same releases, so winget and brew just save you the manual download-and-update loop.

System requirements#

RequirementDetail
OSWindows, macOS, or Linux
Node.js (npx route only)A current LTS or newer
Node.js (remote environments)^22.16 || ^23.11 || >=24.10
GitRequired for worktrees, diffs and PR workflows
Provider CLIAt least one, installed and authenticated
Free port3773 by default

The remote-environment Node range is stricter than the local one because the desktop app has to launch a compatible server over SSH. It searches your PATH plus Volta, asdf, mise, fnm, nodenv and nvm installations.

Keeping it updated#

T3 Code ships nightly builds most days, and the running server can pull updates itself. Because the project is early-stage and explicitly warns about breaking changes, decide deliberately whether you want the moving target or a pinned version. Updates and nightly builds →

FAQ#

How do I install T3 Code?#

Run npx t3@latest for the no-install route, or install the desktop app with winget install T3Tools.T3Code on Windows, brew install --cask t3-code on macOS, or yay -S t3code-bin on Arch Linux. You must separately install and authenticate a provider CLI such as Codex.

Does T3 Code require Node.js?#

Only for the npx route, which runs on your system Node. The desktop applications bundle their own runtime and do not need Node installed. Remote environments launched over SSH require Node ^22.16 || ^23.11 || >=24.10.

Is there a Docker image for T3 Code?#

There is no official Docker image. Because the server has to spawn provider CLIs that hold your authenticated credentials, containerising it means also installing and authenticating those CLIs inside the container. Most people run npx t3 serve on the host instead.

Where does T3 Code get installed from?#

Desktop builds come from the GitHub releases page of the pingdotgg/t3code repository. The winget, Homebrew and AUR packages all pull from those same release artifacts.