Things I’ve built Deck for T3 Code
Deck for T3 Code
A Stream Deck plugin for macOS that puts every T3 Code thread on a key. It’s how I keep an eye on a dozen coding agents without staring at their windows. This is why I built it and how it works.
- Not affiliated with or endorsed by T3 Tools Inc. T3 Code is a trademark of its respective owner.
- Stream Deck is a trademark of its respective owner. Not affiliated with or endorsed by Elgato or Corsair.
Want to see it move? The project site has a one-minute demo on a Stream Deck XL, screenshots of every key and the install guide.
The itch
Why I built itI run a lot of coding agents at once in T3 Code. Most of the time they’re busy. Then one stops to ask me something, and it sits there until I notice.
So I kept checking. Switch to T3 Code, scan the sidebar, switch back. Over and over. And I still missed the one that was waiting on me.
I wanted to know where every thread stood without going to look. A Stream Deck is a grid of little screens that sits next to the keyboard. One thread per key seemed like the obvious fit, so that’s what I built.
One key for every state
Colour, glyph, motionEvery state gets its own colour, a glyph and a way of moving. You can read a key out of the corner of your eye, before you read its title. The glyph means colour is never the only clue.
Only two states blink: needs you and failed. Those are the two where nothing happens until I do something. Done is good news, but it can wait, so it stays solid green. Working just spins in the corner. If everything blinked, nothing would stand out.
Done and failed clear as soon as I open the thread, from the key or in T3 Code itself. With animation turned off, the blinking keys become a steady tint with a ring.
Local only
Privacy and securityDeck talks to one thing: the T3 Code server on the same Mac. It has no server of its own and no account. It doesn’t send anything anywhere, so there’s no analytics, crash reporting or telemetry to turn off.
There’s nothing to pair either. On first run the plugin asks your local t3 command-line tool for its own tokens, each scoped to what it needs. The two it always has are read-only, so they can’t change anything in T3 Code.
Actions like stopping a thread or sending it a message need a third token. It’s off until you turn it on, lasts a day, and is revoked when you turn actions off. The risky keys also need a 0.8 second hold, so a stray tap does nothing.
- T3 CodeYour threads
- Deck for T3 CodeLocal tokens
- Stream DeckOn your desk
| Token | Scope | Lifetime |
|---|---|---|
| ThreadsThe thread list | Read-only | 30 days, renewed once less than half is left |
| Live and usageLive status, context size, usage limits | Read-only | 30 days, renewed the same way |
| ActionsSend a message, snooze, settle, stop | Read and operate. Off by default | 24 hours. Revoked when you turn actions off |
- Tokens only go to a loopback address (
127.0.0.1,localhostor::1). Anything else is refused before a token is minted. - Requests that carry a token refuse redirects, so a local server can’t bounce one elsewhere.
- Before the
t3tool runs, it must be a regular file owned by you or root that nobody else can write to. - Token files are readable only by you, and log lines are scrubbed of anything that looks like a token.
- Uninstalling doesn’t revoke the tokens. Press Sign out in the settings first.
The full security policy is in SECURITY.md (opens in a new tab)
How it was made
ProcessAI coding agents did a lot of the typing. I decided what it should do, read every change, and ran each release on my own Stream Deck XL before it went out.
Code that touches tokens and files got an extra review before merging. Every release ships with SHA-256 checksums and a build provenance attestation, so you can check that a download came from the repo’s own release workflow.
Numbers
As of Nov 9, 2026- First public commit to v1.2.0
- 3 days
- Nov 3 to Nov 6, 2026
- Stable releases
- 3
- Plus a nightly, rebuilt when plugin code lands on main
- Latest release
- v1.2.0
- GPL-3.0-or-later
- Merged pull requests
- 19
- 16 mine, 3 from Dependabot
- Unit tests at v1.2.0
- 195
- Run in CI on every pull request
Stars, releases and the latest version come from the GitHub API, as of Nov 9, 2026. The other figures were counted on Nov 7, 2026. Days are counted from the first public commit; work before it isn’t in the public history.
Keep it going
Deck for T3 Code is free and will stay free. If it saves you a few window switches a day, you can sponsor it. It helps me keep fixing bugs and adding keys. A star or a good bug report helps too.
Let’s talk
Running a lot of agents at once, or putting them on hardware of your own? I’d like to hear how you do it. Write to me.