Skip to content
D3SOXPublic
forked from pingdotgg/t3code

About

My T3 Code fork to fix stuff that annoys me

Resources

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

9,704 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

D3SOX's T3 Code fork

This fork tracks upstream T3 Code with these changes:

Messaging

  • Follow-up messages wait until the next tool call finishes by default. You can also queue them after the current turn or steer the agent immediately. All clients offer these choices. The server saves queued messages, which you can edit, reorder, or send immediately. On web and desktop, Up Arrow in an empty composer edits the last queued message. Completion notifications wait until all queued turns finish.
  • Editing a queued message pauses the queue until you save or cancel. Saving updates the message in place and keeps its delivery timing. Removing a queued message returns its text and attachments to the composer alongside any existing draft.
  • You can send or queue messages before attachments finish uploading or an earlier send finishes. They wait locally and send in order. You can keep composing while they wait. Keep web and desktop open until the messages send. Mobile saves its local queue across restarts.
  • On web and desktop, Enter or the send button starts a new thread in the background and opens a fresh draft. Ctrl+Enter or Command+Enter opens the submitted thread. Turn off Start threads in background under General in Settings to reverse these actions. You can customize the shortcuts.
  • Send and interrupt buttons show a loading indicator while requests are pending. You can submit another message while an earlier send is pending.
  • Images the agent opens have their own timeline rows, even when the turn is collapsed. Open a row to see its preview, then click the preview to see the full image.
  • Images and videos the agent cites have previews below its message on all clients. Videos have playback controls and do not autoplay.
  • Local image previews refresh when an agent updates the file and shows it again, or when you reopen its preview. Thread previews keep saved copies so older images remain available after their source files are removed.

PRs and notifications

  • Empty or whitespace-only final replies do not mark the thread Done or trigger completion notifications or sounds. Image-only replies and errors still alert normally.
  • Short PR-monitoring updates and intermediate background-job completions do not send completion alerts, play sounds, or mark the thread Done while work continues.
  • Awaited background tasks resume the agent even if another notification arrives first. Automatic settlement waits until pending background work finishes, and task completion can wake a settled thread.
  • Missing required checks stay pending, including checks that appear later. When the remaining CI checks finish, PR monitoring wakes the agent even if it already reported that the required checks passed. Overlapping CI runs remain pending until they finish, and CI notifications for outdated commits are ignored.
  • On web and desktop, the same provider usage limit alerts once per environment instead of once per affected thread.
  • Agent instructions limit PR links to the task's pull requests. Incidental release-note edits, labels, and coordination updates do not qualify.
  • PR links open in your system browser by default. On desktop, right-click a link to open it in T3 Code instead. If a repository has both origin and upstream, T3 Code uses origin for the fork's pull requests.
  • Returning to the desktop app clears the viewed thread's system notification and resets the app's unread badge. Other threads' notifications stay in your system history until you open those threads.
  • Clicking a desktop notification brings T3 Code to the foreground and opens its thread, even if the window is minimized or hidden.
  • In-app notifications disappear when you open their thread, including through the Open action on a background-thread notification. They stay hidden while you view it.

Navigation and terminals

  • You can collapse the Pinned and Active sections of the thread list. Each client remembers your choice. Both sections start expanded. Done threads, Input threads, and the thread you are viewing stay visible in collapsed sections.
  • You can rearrange Active threads with the Working section enabled, and your order stays saved.
  • The sidebar distinguishes background work from active agent turns and shows pending input while the agent is still running. Working threads stay in their section during synchronization.
  • The new-thread button remembers the project last selected for a new thread. Opening another chat does not change that choice. On web and desktop, right-click or Shift-click the sidebar button to choose another project. All clients show the selected project's icon beside its name in the composer.
  • On web and desktop, when a sidebar action takes you out of the current thread, you return to a new-thread draft in the same project instead of opening another thread.
  • On web and desktop, right-click the Settled section to archive all settled threads, including older threads that are not currently loaded. Several threads archive at once, with one undo action for the batch. This always asks for confirmation, even when individual archive confirmations are turned off.
  • Search archived threads under Settings by thread title, branch, project name or path, or environment name.
  • In Source Control settings, you can turn off automatic thread titles and worktree branch names for an environment or a project. New worktree branches have no prefix by default. You can set a prefix in the same settings.
  • Click a terminal path to open a file in T3 Code or a workspace folder in its file explorer. This also works on remote machines. Hold Ctrl or Shift to select path text without opening it. Right-click a URL or path for Copy link or Copy path.
  • Ctrl+Shift+W closes the focused terminal. Terminal close confirmation is off by default. You can enable it under General, Confirmations in Settings. Ctrl+W and Ctrl+D still go to the terminal.

Appearance

  • Choose T3 Code Dim under Appearance in Settings for the previous gray dark-theme colors on every client.
  • Turn off Show thread branches under Appearance in Settings for more compact thread rows and more room for thread titles.
  • Mobile shows Nightly sky or Dev blueprint artwork across the app header by default. Under Appearance, Environment identification in Settings, choose Artwork, Pill, or None. Your device saves the choice.

Mobile and accounts

  • Android offers local notifications without Google services. Enable Background connection under Notifications in Settings to keep alerts and live agent updates working after switching apps. It shows an ongoing notification and stops when you remove T3 from recents.
  • Optional UnifiedPush delivers encrypted notifications through a compatible distributor without Google services or a T3 Connect account. Paired hosts must support UnifiedPush.
  • Usage shows remaining Codex credits as whole numbers with thousands separators on every client when the provider reports a balance.
  • The Android usage widget shows each Codex or Claude subscription separately. It does not average accounts into one bar or show account emails on the home screen. Tap its refresh prompt to open Usage in the app.
  • Mobile project filters and the Settings scope picker show project icons.
  • The Android composer keeps the cursor visible as long messages wrap onto new lines.
  • Mobile marks threads with unsent drafts with a yellow pen and a subtle highlight, as upstream does on web and desktop. Send or remove the draft to clear the indicator.
  • Switching Codex accounts in a thread keeps its agent-session context.
  • If Codex archives an idle session, your next follow-up unarchives it and retries once with the same conversation and context. You do not need to run codex unarchive. Update the host server to use this fix.
  • Codex model-capacity failures retry after 10 seconds, then 20, 40, and so on. All clients show a countdown and a Cancel retry button. Retries keep your context and count as one T3 turn for checkpoint restore. Update the client and host server to use this feature.

Connections and recovery

  • Background services installed through the desktop CLI use the installed fork runtime and follow desktop updates.
  • After host updates or service restarts, clients retry temporary tunnel errors instead of staying offline until refreshed.
  • After a Codex process exits unexpectedly, you can send another turn without restarting the host.

Privacy

  • Product usage collection is off unless you set T3CODE_TELEMETRY_ENABLED=true on the server.
  • The app no longer asks you to star its GitHub repository.

Android nightly

Get it on Obtainium

The nightly releases include a signed Android APK. It installs as T3 Code D3SOX (com.t3tools.t3code.preview) alongside the upstream production app and updates through Obtainium. This build does not use upstream Expo over-the-air updates or export app telemetry. The Obtainium badge is from the Obtainium project (GPL-3.0).

Arch Linux nightly

The same releases contain a signed t3code-d3sox-git package. For automatic updates through pacman, import the repository signing key and verify its fingerprint is 5A4D 66D6 9437 77AD 48A5 F169 9728 12D8 A4CF BA4D:

curl -fsSL -o t3code-d3sox.asc https://raw.githubusercontent.com/D3SOX/t3code/main/packaging/aur/t3code-d3sox-git/signing-key.asc
gpg --show-keys --fingerprint t3code-d3sox.asc

Only after the fingerprint matches, trust the key for packages from this repository:

sudo pacman-key --add t3code-d3sox.asc
sudo pacman-key --lsign-key 5A4D66D6943777AD48A5F169972812D8A4CFBA4D

Configure the repository and install the package:

sudo pacman-conf --repo-list | grep -qxF 't3code-d3sox' ||
  printf '%s\n' '' '[t3code-d3sox]' 'SigLevel = Required' \
    'Server = https://t3code.d3sox.me/arch/$arch' |
  sudo tee -a /etc/pacman.conf >/dev/null
sudo pacman -Syu t3code-d3sox-git

The command adds the repository only if it is missing. Keep the single quotes so $arch reaches pacman literally. It works in bash, zsh, and fish. Future nightly updates arrive with your normal pacman updates. The repository keeps the newest x86_64 package; older builds remain in GitHub Releases. The package conflicts with t3code-bin, so pacman will ask to replace it.

To build the rolling t3code-d3sox-git package yourself instead, use this checkout:

cd packaging/aur/t3code-d3sox-git
makepkg -si

The package uses nightly branding and includes T3 Connect and SSH support. To rebuild later, run git pull --ff-only in this checkout and repeat makepkg -si.

Other platforms

Interested in this fork but need releases for another platform? Open an issue and let me know which platform you'd like supported.


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, Google Antigravity, and fx. 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, Antigravity, and fx. 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.
  • fx: install fx and run fx login on the machine running the T3 Code server (setup guide)

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.

About

My T3 Code fork to fix stuff that annoys me

Resources

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages