AGENT DECK
A Stream Deck plugin: six keys show which agent tasks are working, waiting for you, or done.
Install the pluginHow I work with agentsPress a key, as on a Stream Deck.
While the agent thinks
One key, one task. No more checking every window to see which agent is waiting for you.
- workingCodex, context 12%
You give Codex a task and switch to another window.
- needs youCodex, context 38%
The agent needs your approval. The key stays yellow until you answer.
- workingCodex, context 41%
Pressing the key opens that exact task. You answer, and the agent is back at work.
- doneCodex, context 63%
The task is finished. The check mark stays lit until you open the result.
Where it works
| Source | macOS | Windows | What a key press does |
|---|---|---|---|
| Codex | yes | yes | Opens the selected task. Micro buttons, joystick, encoder, reasoning effort and new task are Codex-only too. |
| OpenCode | yes | no | Brings OpenCode Desktop to the front and does not select the task. |
| T3 Code | yes | no | Brings T3 Code to the front and does not select the task. |
Windows supports local Codex only. On macOS, OpenCode and T3 Code also connect to remote Linux machines over saved SSH connections.
Requires Stream Deck 7.1 or newer and macOS 13+ or Windows 10+. The device and layout are up to you; the plugin was tested on the 15-key Stream Deck MK.2.
Install
Hand it to your agent
Copy the prompt and give it to your agent: Codex, Claude Code, OpenCode, or another. It checks your system, asks what to connect, installs the plugin, and tells you what is left to do by hand.
Install the Agent Deck plugin for Elgato Stream Deck on this computer. Goal: the plugin is installed, the task sources I choose are connected, and I know what is left for me to do by hand and how to check that it works.
## What is known about the plugin
- Repository: https://github.com/xonika9/agent-stream-deck. Take files from the latest release (https://github.com/xonika9/agent-stream-deck/releases/latest) and verify them against its `SHA256SUMS.txt`.
- Detailed instructions are `docs/MACOS.md`, `docs/WINDOWS.md`, `docs/OPENCODE_COMPATIBILITY.md`, and `docs/T3CODE_COMPATIBILITY.md` in the repository. Where they differ from this text, they win.
- It needs the Stream Deck app 7.1 or newer and macOS 13+ or Windows 10+. Other systems are not supported.
- Task sources: Codex, OpenCode, and T3 Code on macOS; local Codex only on Windows.
- The plugin is the file `com.xonika9.codex-deck.streamDeckPlugin`: opening it makes Stream Deck offer the install. In Stream Deck the plugin is called Codex Deck.
- Codex needs the Codex desktop app, Node.js 24 or newer, and the launcher `codex-deck-launcher-<macos|windows>-<version>.zip` from the release.
- macOS: in the unzipped folder, `./start-codex-deck.sh dry-run`, `./start-codex-deck.sh self-test`, `./start-codex-deck.sh start`. Start at sign-in: `./start-codex-deck.sh install`.
- Windows: `.\Start-CodexDeck.ps1 -DryRun`, then “Start Codex Deck.cmd”. Start at sign-in: `.\Start-CodexDeck.ps1 -InstallStartup`.
- If Codex is already open, the launcher restarts it.
- OpenCode (macOS only) needs OpenCode Desktop with its local service running. No launcher; the plugin does not start a stopped service.
- T3 Code (macOS only) connects from the source code: clone the repository, run `npm ci`, and with T3 Code running, run `t3 auth pairing create --label CodexDeck --json | npm run connect:t3`. This creates a separate read-only session.
## What to do
Find out yourself: the system and its version, whether the Stream Deck app is installed and which version, which of Codex, OpenCode, and T3 Code are installed, and whether Node.js 24+ and Git are present (Git is needed only for T3 Code). Ask me for whatever you cannot find out. Then ask me which of the found sources to connect and whether to start at sign-in, and install only that.
## Boundaries
- Ask me before restarting Codex (it interrupts its running tasks), installing Node.js or other software, using sudo or administrator rights, and cloning the repository for T3 Code.
- Do not change Codex, Stream Deck, or other app settings beyond installing the plugin, and send none of my data anywhere.
- If a step fails, stop there, show the error, and offer options; do not get around it by turning checks off.
## What is left for me
You cannot do these; tell me at the end:
- confirm the plugin installation in the Stream Deck window, if one appears;
- in Codex: Settings → Codex Micro, set up the slots (if Codex is connected);
- in Stream Deck: drag the Codex Deck actions onto keys, and in the Agent action settings choose the source: `Codex`, `OpenCode`, `T3 Code`, or `All`.
## Report
A short summary: what you found (system, Stream Deck, sources, Node.js), what you installed and connected, with versions, what confirms each connection (for Codex the launcher check results, for T3 Code the output of the connect command, for OpenCode whether the local service is running), what is left for me, step by step, and how to check the result. Signs of success: the Agent keys show tasks from the connected sources, and if Codex is connected, the Local Codex Connection key shows `READY`; a dark row is normal while no task is active; if the plugin does not appear, restart Stream Deck.There is more — scroll. The button copies all of it.
Or step by step
You need: The Codex desktop app and Node.js 24 or newer.
Download
Steps
Open
com.xonika9.codex-deck.streamDeckPluginand Stream Deck installs the plugin. Its actions are listed as Codex Deck.Unzip the launcher. If
node --versionprints nothing in Terminal, install Node.js 24 from nodejs.org.Open Terminal in the
codex-deck-launcher-macosfolder and run the three commands. If Codex is already open, the launcher asks before restarting it; answeryes../start-codex-deck.sh dry-run ./start-codex-deck.sh self-test ./start-codex-deck.sh startIn Codex, open Settings → Codex Micro and set up the slots. In Stream Deck, drag the Codex Deck actions onto keys.
In the Agent action settings, choose the
Codexsource.
Optional
To start the launcher on its own when you sign in:
./start-codex-deck.sh installHow to tell it works
The Local Codex Connection key shows READY and the Agent keys show your Codex tasks. A dark row is normal while no task is active. If the plugin does not appear, restart Stream Deck.