A phone-first fork of T3 Code.
Dictate to your agents instead of typing, annotate their answers, listen to replies with text-to-speech and steer a session from a game controller. The Mac app follows upstream's nightly builds.
Download for Mac See what's different
Pull far enough and the cue turns green to send. A note pinned to one word of an answer.
Everything upstream T3 Code does, plus:
| Feature | What it does | Where |
|---|---|---|
| Swipe to dictate | Swipe left to dictate, pull until it's green to send | iPhone |
| Enhanced annotations | Pin comments to passages and send them with a reply | Everywhere |
| TTS responses | Hear any finished reply in one of five voices | Everywhere |
| Game controller | Run sessions from a gamepad, dictation included | iPhone |
| Model controls | Favorites-first picker, one-glyph badges, cycle keys | iPhone, Mac |
| Finding threads | Group by status or project, open details from a title | iPhone |
| Extra folders | Find files from additional folders in composer search | Everywhere |
| Provider fixes | Codex tiers with managed sign-in, Opus at Extra High | Server |
| Nightly Mac builds | Signed, notarized, rebuilt on upstream nightlies | Mac |
Run a session with the keyboard down: dictate, annotate, listen, or pick up a controller.
Swipe left across a thread to start dictating into the draft, and swipe again to stop. A disc under the Git button shows what letting go will do: blue starts dictation, red stops one that's recording, and green sends. Pull until it turns green, marked by a firm tap, and letting go sends the message as soon as the transcript is ready. Ease back and it only dictates.
- Turn it on in Settings → Microphone; it's off by default. Once you're used to it, you can hide the microphone button.
- Pull to send sets how far that is: Short, Medium (the default), Long, or Off for a swipe that only dictates.
- While you're writing a note, the swipe dictates into the note. The message box shows its recording bar, labelled Dictating into note, and the cursor waits after the new text.
- Choose Apple dictation or Parakeet on device. Parakeet is a one-time download of about 632 MB, and audio never leaves the phone.
- Code blocks and tables that can still scroll keep scrolling, so a swipe across them doesn't start dictation.
Select a passage in a reply and choose Annotate. Your comment is pinned to that passage, and your notes go out with the next message, quotes included.
- Tap a highlighted passage to reopen its note.
- A notes pill in the floating row above the composer, beside the working status, opens a sheet where you can edit or remove each note, or jump back to its passage.
- Notes can go out on their own, without a message. The reply itself is never changed.
Every finished reply has Play and Stop at the end of its action row. The text goes straight to xAI speech, with no rewrite and no extra agent turn, and starts playing while it's still being generated.
- Five voices (Eve, Ara, Leo, Rex and Sal) and speeds from 0.7× to 1.5×, saved per server.
- Needs an xAI API key on the server. Add it in Settings → Threads on the phone or Settings → General on the Mac, or export
XAI_API_KEY. The key never leaves the server. - The same controls appear on Mac and web, where Cmd+Option+P pauses and resumes and adding Shift stops.
- Playback runs in the foreground, one reply at a time.
Pair a gamepad and the phone becomes a remote for your agents. The shoulder buttons switch sessions, the D-pad moves focus and Options sends. Hold the right trigger to dictate into the composer, a note or an answer to an agent's question; letting go transcribes but never sends.
- Presets for the ohsnap! MCON and generic gamepads. Remap any button, or add shoulder chords, in Settings → Game controller.
- Rotate the phone for a landscape workspace with a session sidebar and a Terminal, Files and Git rail. Or lock the phone to portrait.
- Approval and question cards work from the controller. Send and Stop need a fresh press and never repeat.
- Test inputs shows what each button does without sending, approving or running anything.
The model sheet opens on your favorites, with provider, effort and speed controls pinned beneath the list; the yellow star shows everything else. In the composer, the model is a single badge: a sun for Sol, a moon for Luna, a music note for Opus, a closed book for Fable.
- Effort reads as four rising bars, then one flame for Max and two for Ultra. A bolt appears only for Fast or Ultrafast.
- A thin ring around the send button shows how full the context window is.
Group the thread list by status or by project. Fold the projects you're not working in and drag the rest into your own order.
- The environment, project and grouping filters stay hidden until you pull down past the top.
- Tap a thread's title for a compact panel with its project, environment, workspace and branch, and shortcuts to files, terminal, Git, agents and settings.
- On a hardware keyboard, Cmd+Shift+[ and ] switch sessions, and Ctrl+Tab returns to the last one.
Faster ways to answer an agent from the keyboard.
Select text in a reply and press R to annotate it, or choose Agree or Disagree to add the quote with that comment already written. Nothing is sent until you send it.
- Enter saves a note; Cmd/Ctrl+Enter saves it and sends the message. Drag the editor by its grab bar to move it out of the way.
- Quotes stay highlighted: bright yellow in your draft, lighter once sent. Click one to read what you wrote.
- The thread details card lists your current drafts and, folded beneath them, everything already sent.
- Rebind Annotate, Agree and Disagree in Settings → Keybindings.
Add up to eight folders in Settings → Projects → a project → Extra folders on Mac or web. Their files then appear in the composer’s @ search on Mac, web and iPhone, including threads running in worktrees.
This expands file search and mentions. Changed files, diffs and rewind still apply to the thread’s workspace.
| Keys | Does |
|---|---|
| Hyper+, | Next favorite model |
| Hyper+/ | Next speed tier |
| Cmd+Option+E | Raise reasoning effort |
| Cmd+Option+P | Pause or resume speech |
| Cmd+Option+Shift+P | Stop speech |
| R with text selected | Annotate the selection |
Hyper is Cmd+Ctrl+Option+Shift. Off the Mac, read Cmd as Ctrl. Holding a combination doesn't repeat it. Change any of these in Settings → Keybindings.
Changes on the server, so every client gets them.
- Codex speed tiers with T3-managed ChatGPT sign-in. The picker shows the tiers your account offers, such as Fast, and uses the chosen one for turns and text generation.
- Opus 5.5 starts at Extra High effort unless you choose another level.
- Quotes survive a provider switch. Quoted passages and their comments carry over in full when a thread changes provider.
- Remote servers stay on upstream. The fork publishes no server builds, so remote and SSH servers update to the upstream nightly your Mac build is based on, and count as current there.
- Download the newest arm64
.dmgfrom Releases. Builds are for Apple Silicon, signed and notarized. - Drag the app to Applications. It installs as T3 Code (Nightly).
- Connect your providers as you would in T3 Code. Later builds arrive through the app's own update control, from the fork's release feed instead of official T3 releases. Its popover lists each release's fixes, not just its highlights.
A fork version is the upstream build number × 1000 + n, so 0.1.7-nightly.20261102.4080002 is the second fork build on upstream nightly 4080. Native passkeys are off in these builds; browser sign-in works.
The iPhone app is in a small, invited TestFlight beta and updates over the air between builds. There is no public iPhone download or App Store release yet.
- Settings → About → Version shows which update is running.
- Pair it with the server in the Mac app above. Upstream servers also work, but without server-side fork features such as TTS responses.
Releases are cut by hand when upstream publishes a new nightly. The nightly is merged into the fork, the fork's checks and its own tests run against it, and the Mac app is then built, signed, notarized and published here. A failed check stops the release before anything is published.
- Release notes keep upstream's highlights and fixes, and link back to this page.
- This repository holds only Mac installers, update metadata and checksums. The fork's source and the iPhone builds are maintained privately.
T9 Code is built on T3 Code by T3 Tools Inc., and nearly all of it is their work. This is an unofficial personal fork, not affiliated with or supported by T3 Tools. For upstream's install guide and documentation, see the T3 Code repository.
T3 Code is MIT-licensed. Its license is in LICENSE, and the app includes its license and dependency notices.












