T3 Code with a sketch pad in the composer
  • TypeScript 96.1%
  • MDX 2%
  • JavaScript 0.6%
  • Astro 0.3%
  • CSS 0.2%
  • Other 0.5%
Find a file
Tessa Nijholt d0bc7e4a85
Some checks failed
publish-aur.yml / Fix lint errors in the sketch pad and run its dialog test in the browser (push) Failing after 0s
release-desktop.yml / Fix lint errors in the sketch pad and run its dialog test in the browser (push) Failing after 0s
Fix lint errors in the sketch pad and run its dialog test in the browser
2026-11-03 10:34:15 +01:00
.agents/skills docs(agents): agents verify in a browser or simulator without asking (#26637) 2026-10-28 13:36:41 -07:00
.claude Make test-t3-app skill discoverable by Claude Code (#4162) 2026-07-19 20:32:36 +02:00
.cursor refactor(server): one module per service instead of Services/ and Layers/ folders (#16295) 2026-10-05 19:17:27 -07:00
.devcontainer docs: document the GitCafe mirror and refresh the dev setup (#23808) 2026-10-22 13:31:09 -07:00
.github fix(cli): t3 triage issues get the via-triage label for every reporter (#24955) 2026-10-31 08:34:53 +00:00
.macroscope chore(review): Macroscope check agents move to GPT 6.1 Sol (#26187) 2026-10-27 18:56:46 -07:00
.repos refactor(source-control): forge definitions live in shared/, not client/ (#24181) 2026-10-24 04:24:37 -07:00
.vite-hooks Upgrade Vite Plus and enable bundled dev opt-in (#3679) 2026-07-03 11:21:47 -07:00
.vscode chore: upgrade to TypeScript 7.0.2 (#10663) 2026-09-07 21:00:10 -07:00
apps Fix lint errors in the sketch pad and run its dialog test in the browser 2026-11-03 10:34:15 +01:00
assets fix(mobile): fit the Android splash icon to its circular mask (#10620) 2026-09-07 18:20:46 -07:00
docs feat: pin favorite projects and archive old ones (#26154) 2026-10-31 02:37:18 -07:00
evals feat: pin favorite projects and archive old ones (#26154) 2026-10-31 02:37:18 -07:00
infra fix(relay): mark a tunnel released only after deletion succeeds (#22337) 2026-10-31 08:40:25 +00:00
native fix(desktop): keep Hyprland SnapShot metadata when a CLI title spinner ticks (#22116) 2026-10-31 08:46:42 +00:00
oxlint-plugin-t3code chore: delete 18k lines of code that nothing reaches (#26238) 2026-10-27 19:27:04 -07:00
packages feat: pin favorite projects and archive old ones (#26154) 2026-10-31 02:37:18 -07:00
packaging/aur fix(packaging): install AUR launcher icons where icon themes look (#7421) 2026-08-18 14:51:55 -04:00
patches fix(android): preserve styled text in incoming shares (#22359) 2026-10-31 08:31:16 +00:00
scripts fix(install): verify archives in homes with backslashes or newlines (#25240) 2026-10-31 08:45:55 +00:00
third-party-licenses/spdx/v3.28.0 fix(build): builds no longer fail when GitHub's CDN times out on license templates (#26440) 2026-10-28 04:53:29 -07:00
.coderabbit.config.ts docs(testing): new tests extend existing cases and stay at one layer (#26166) 2026-10-27 17:41:49 -07:00
.env.example docs: ship production T3 Connect public config in .env.example (#5573) 2026-08-06 23:53:19 -07:00
.gitattributes feat(server): Expo credentials, EAS Simulator API, and EAS project lookup (#21843) 2026-10-20 00:57:12 -07:00
.gitignore test(mobile): vp run mobile:behavior grades app behavior on pool devices 2026-10-27 21:31:30 -07:00
.pnpmfile.cjs refactor: halve code comments and cap comment blocks at four lines (#21514) 2026-10-24 23:19:17 -03:00
.task-cache.json feat(infra): share Vite task cache with Axiom savings telemetry (#24693) 2026-10-25 00:06:32 -07:00
.vercelignore fix(release): include pnpm hook in Vercel uploads (#22813) 2026-10-21 03:36:41 -07:00
AGENTS.md fix(server): dev database copies drop links to other environments (#27313) 2026-10-30 21:24:52 +00:00
CLAUDE.md docs: point CLAUDE.md at AGENTS.md with an @import instead of a symlink (#7171) 2026-08-16 10:48:38 +02:00
CONTRIBUTING.md docs: close PRs written by Gemini or Muse Wonder (#19286) 2026-10-14 00:27:30 -07:00
knip.jsonc fix(relay): deploys plan again after the Worker lost its default export (#26303) 2026-10-27 21:48:22 -07:00
LICENSE license 2026-03-05 22:58:18 -08:00
package.json feat(settings): point provider environment variables at a secret provider (#27115) 2026-10-29 23:51:36 -07:00
pnpm-lock.yaml fix(android): preserve styled text in incoming shares (#22359) 2026-10-31 08:31:16 +00:00
pnpm-workspace.yaml perf(web): chat Markdown parses about twice as fast with the same output (#27685) 2026-10-30 09:39:56 -07:00
README.md docs: add nixpkgs installation instructions (#26750) 2026-10-28 18:56:40 -07:00
t3.json fix(dev): one t3.json setup action that works on every OS (#13589) 2026-09-24 23:56:35 -07:00
third-party-licenses.config.json feat(web): preview opendocument, epub, rich text, and notebooks (#21469) 2026-10-26 02:17:46 +00:00
tsconfig.base.json chore(lint): enforce effectFnOpportunity (#25099) 2026-10-26 01:30:11 -07:00
vite.config.ts chore: make agent mistakes fail early (#26167) 2026-10-29 01:51:16 -07:00

T3 Code

T3 Code is an "agent harness control surface". It enables control of the agents on your machine with a best-in-class mobile app (iOS, Android), web app and Electron-based desktop app.

Works with your subscriptions on Claude Code, Codex, Cursor, Grok Build, OpenCode, and Google Antigravity. If they're set up on your computer, T3 Code can control them.

"Wait, what are you selling me?"

Nothing. We built T3 Code because we wanted the best possible development experience with agents. We were inspired by existing solutions like the Codex desktop app, Conductor, Claude Desktop and Cursor Glass, but none met our bar.

We wanted something performant, remote-ready, and truly open. If we ever go the wrong direction, we want you to have everything you need to fork and build the editor that you want.

Installation

Warning

T3 Code currently supports Codex, Claude, Cursor, Grok Build, OpenCode, and Antigravity. Install and authenticate at least one provider before use:

  • Codex: install Codex CLI and run codex login
  • Claude: install Claude Code and run claude auth login
  • Cursor: install Cursor CLI and run agent login
  • Grok Build: install Grok Build CLI and run grok login
  • OpenCode: install OpenCode and run opencode auth login
  • Antigravity: enable it in Settings, then use Install Antigravity and Sign in with Google. No CLI is required.

Command line

curl -fsSL https://t3.codes/install.sh | sh

On Windows, in PowerShell:

irm https://t3.codes/install.ps1 | iex

Then run t3 to start the server and open the local web app. t3 service install keeps it running in the background, t3 update moves to a newer release, and t3 --help has the full reference.

To try it once without installing, run npx t3@latest instead.

Desktop app

Install the latest version of the desktop app from GitHub Releases, or from your favorite package registry:

Windows (winget)

winget install T3Tools.T3Code

Windows (scoop)

scoop install extras/t3code

macOS (Homebrew)

brew install --cask t3-code

Debian, Ubuntu (.deb)

Download the .deb from GitHub Releases, then:

sudo apt install ./T3-Code-*.deb

Arch Linux (AUR)

Stable:

yay -S t3code-bin

Nightly:

yay -S t3code-nightly-bin

The AUR packaging is maintained in this repository under packaging/aur.

Nix (nixpkgs)

nix profile add github:NixOS/nixpkgs/nixos-unstable#t3code

The package is maintained in nixpkgs and includes the desktop app (t3code-desktop) and the t3 command. See Nix installation for NixOS configuration and updates.

Some notes

We are very very early in this project. Expect bugs.

We are (mostly) not accepting contributions yet. Small fixes may be considered. Big features will not be.

Documentation

Full docs live in docs/. There's no docs site yet.

Building from source? Start at docs/internals/overview.md.

If you REALLY want to contribute still.... read this first

Install vp

T3 Code uses Vite+ so you'll need to install the global vp command-line tool.

macOS / Linux

curl -fsSL https://vite.plus | bash

Windows

irm https://vite.plus/ps1 | iex

Checkout their getting started guide for more information: https://viteplus.dev/guide/

Install dependencies

vp i

Read CONTRIBUTING.md before reporting a bug or opening a PR.

Have a feature request? Start an Ideas discussion.

Need support? Join the Discord.