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.
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:
codex login # OpenAI Codex
claude auth login # Anthropic Claude Code
cursor-agent login # Cursor
opencode auth login # OpenCodeYou only need one, but at least one is mandatory. Provider details →
Which install method?#
| Method | Command | Node required | Best for |
|---|---|---|---|
| npx | npx t3@latest | Yes | Trying it out, servers, always-latest |
| Windows | winget install T3Tools.T3Code | No | Daily desktop use |
| macOS | brew install --cask t3-code | No | Daily desktop use |
| Arch Linux | yay -S t3code-bin | No | Arch and derivatives |
| Direct download | .exe / .dmg / .AppImage | No | Air-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#
npx t3@latestDownloads 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:
npx t3 serve --host 0.0.0.0Desktop 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.
- Windows install guide — winget, the installer, and the PATH gotcha
- macOS install guide — Homebrew cask, Apple Silicon notes, Gatekeeper
- Linux install guide — AUR, AppImage, and desktop integration
System requirements#
| Requirement | Detail |
|---|---|
| OS | Windows, macOS, or Linux |
| Node.js (npx route only) | A current LTS or newer |
| Node.js (remote environments) | ^22.16 || ^23.11 || >=24.10 |
| Git | Required for worktrees, diffs and PR workflows |
| Provider CLI | At least one, installed and authenticated |
| Free port | 3773 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.