Token Deck

The AI Usage Management Console

Token Deck

Your coding agents, on six keys and three knobs.

Token Deck is the free app for the deck in your After Tokens box. It puts your Claude Code, Codex and OpenCode sessions on the keys, takes you to the one that needs you, and shows how much of your 5‑hour and weekly limits you’ve used.

Install Token Deck

Mac

macOS 12 or later · Apple silicon and Intel

/bin/bash -c "$(curl -fsSL https://usage.stigg.io/install.sh)"

Paste it into Terminal. It downloads the build for your Mac, verifies its SHA-256 checksum and puts Token Deck in Applications. Read the script before you run it.

Windows

Windows 10 or 11 · 64-bit

Download for Windows TokenDeck-win-x64.exe

If Windows says it protected your PC, choose More info, then Run anyway. The installer isn’t code-signed yet.

These are the app’s real key images. Pick a mode to switch them.

How it works

The metal buttons pick the mode. The mode sets what the keys show and what the knobs do.

01 Agents · Left button

Jump to any coding agent. Turn the dial to hop windows.

Each key is an agent: Claude Code, Cursor and Codex on top; OpenCode, Amp and Devin below. The knobs set the model and effort your next session starts with.

Keys
Press: bring that agent’s latest window to the front, or open it. A dim key means the agent isn’t installed.
Big knob
Turn: hop between open agent windows. Press: back to the previous window.
Left knob
Turn: the model your next session starts with. Press: back to the default.
Right knob
Turn: the effort your next session starts with. Press: back to the default.

02 Sessions · Middle button

Every session and its context. See which one needs you.

Each key is one recent session from Claude Code, Codex or OpenCode, newest first. The dot says what it’s doing, and the ring shows how full its context window is.

  • Working
  • Needs your approval
  • Waiting for your reply
  • Idle
  • Done
Keys
Press: jump to that session’s window.
Big knob
Turn: page through sessions, six at a time. Press: the next page with a session that needs you.
Left knob
Turn: filter by agent. Press: all agents.
Right knob
Turn: filter by status. Press: all statuses.

Only Claude Code reports context, so Codex and OpenCode sessions get a dashed ring. OpenCode sessions show up while opencode serve is running.

The deck never approves anything. It takes you to the window where you decide.

03 Models & Usage · Right button

Pick the next model. Live 5H and 7D limits.

This mode shows one agent at a time: Claude Code, Codex or OpenCode. The first key shows how much of that agent’s 5‑hour and weekly limits you’ve used, and the other keys are its models, with the current one in lime.

Keys
Press a model and your next session starts on it. Press the usage key for exact numbers and reset times.
Big knob
Turn: effort. Press: Ultracode.
Left knob
Turn: agent. Press: last agent, the one whose session you opened last.
Right knob
Turn: permission. Press: apply.
Metal buttons
Select the mode, one per button.

Turning the right knob only previews READ, ASK, AUTO or FULL; nothing changes until you press it, and FULL also asks you to confirm on the computer. Every change applies from your next session, and the deck confirms it, like SONNET NEXT SESSION. Sessions that are already running keep their settings.

Claude Code reports limits on Pro and Max plans, after a session’s first reply. Codex reports them when you sign in with ChatGPT. OpenCode doesn’t report limits, and on Windows Claude Code’s don’t show yet.

Program it yourself

Write your own modes for any screen, button or knob. Hold the middle button to open them.

A mode is a JSON file in ~/.tokendeck/modes: up to six keys and the three knobs, each tied to an action. The keys list your modes; press one to open it. The metal buttons still switch modes, and an edited file takes effect the next time you open it.

~/.tokendeck/modes/deploy.jsonJSON
{
  "name": "Deploy",
  "tiles": [
    { "label": "BUILD", "icon": "~/icons/hammer.svg",
      "action": { "type": "shell", "command": "npm run build",
                  "cwd": "~/dev/app" } },
    { "label": "LOGS",
      "action": { "type": "url",
                  "url": "https://grafana.example.com/d/abc" } },
    { "label": "EDITOR",
      "action": { "type": "open", "app": "Cursor" } },
    { "label": "PALETTE",
      "action": { "type": "keys", "keys": "cmd+shift+p" } },
    { "label": "AGENTS",
      "action": { "type": "mode", "mode": "agents" } },
    null
  ],
  "knobs": {
    "main": {
      "cw":    { "type": "keys", "keys": "cmd+=" },
      "ccw":   { "type": "keys", "keys": "cmd+-" },
      "click": { "type": "shell", "command": "say done" }
    },
    "left": null,
    "right": null
  }
}
Actions a key or knob can run
ActionWhat it does
shellRuns a command with zsh (cmd on Windows) for up to 10 seconds. The deck shows OK or FAILED.
openOpens an app, like Cursor.
urlOpens a link in your browser.
keysSends a shortcut, like cmd+shift+p, to the app in front.
modeFrom a key, switches the deck to agents, sessions or models.

A key can also show an icon: a PNG or SVG file, drawn at 28 pixels.

On your computer

No account, no telemetry. Here’s what Token Deck reads and changes.

Claude Code

With your OK, Token Deck writes its hooks and status line into ~/.claude/settings.json, so the deck sees a session change the moment it does. Your own hooks and status line stay as they are, and it keeps a backup of the file. Stop watching, on the app’s This Mac page, takes Token Deck’s hooks out and puts your status line back.

Codex and OpenCode

Token Deck runs codex app-server to read your Codex sessions and limits, and asks OpenCode’s local server for its sessions. It never answers an approval request.

Defaults

Turning a knob writes your default model, effort or permission to the agent’s own config file. Nothing is typed into a running session.

Credentials

Token Deck never reads your Claude Code or Codex sign-in. The limits come from what those tools already report.

Network

Hooks reach the app on 127.0.0.1 only. Token Deck goes online only to check for and download new versions.

Open source

MIT licensed. Read the code and the install script.

Help

Questions and fixes. Setup, updates and removal.

Something else? Open an issue on GitHub.

Which coding agents does it work with?
AgentWhat the deck does
Claude CodeSessions, context and usage limits (macOS), model, effort, permission, Ultracode
CodexSessions, usage limits, model, effort, permission
OpenCodeSessions while opencode serve runs, model, permission
Cursor, Amp, DevinA key that opens or focuses the app

Amp’s key opens VS Code. Devin’s opens app.devin.ai in your browser.

The deck still shows the welcome screen.

Check that Token Deck is running: it lives in the menu bar on a Mac and in the system tray on Windows. If the deck maker’s StreamDock or VSD Craft app is running, quit it, because only one program can use the deck at a time. Then unplug the deck and plug it back in.

macOS says Token Deck is damaged, or won’t open it.

That happens with the disk images, because Token Deck isn’t notarized by Apple yet. The install command doesn’t have this problem. If you used a disk image, run this in Terminal and open the app again:

xattr -d com.apple.quarantine "/Applications/Token Deck.app"

If System Settings → Privacy & Security shows Open Anyway for Token Deck, that works too.

Windows says it protected my PC.

The installer isn’t code-signed yet. Choose More info, then Run anyway.

Why does macOS ask for Automation and Accessibility?

So a key can bring the right window to the front. macOS asks once for each app Token Deck switches to, like Terminal, iTerm2 or Cursor, and once for Accessibility under System Settings → Privacy & Security.

How do I update?

Token Deck checks GitHub for a new version when it starts. On a Mac, click Update now on the app’s About page, which runs the install command for you, or run it yourself. On Windows, the app downloads the update in the background and asks before it installs.

Can I try it without the deck?

Yes. Open Token Deck’s window from its menu bar or tray icon: the deck drawn at the bottom is a simulator that shows the same key images. Click the drawing, or use your keyboard: 1 to 6 for the screen keys, Q, W and E for the metal buttons, the arrow keys for the big and left knobs, and comma and period for the right knob.

How do I remove it?

Open Token Deck’s window from its menu bar or tray icon, go to This Mac and click Stop watching. That takes Token Deck’s hooks out of your Claude Code settings and puts your status line back. Then quit Token Deck and delete it: drag it out of Applications on a Mac, or use Settings → Apps on Windows.

To remove its settings and log, delete ~/.tokendeck. If you changed Codex or OpenCode defaults from the deck, the original files are saved next to them with .tokendeck-backup at the end.

What does the deck show when the app isn’t running?

The welcome screen, with the Stigg logo and io.stigg.io/usage. The deck stores it in its own memory, so it shows on any computer, with or without the app. Decks from the After Tokens box already have it, and Token Deck writes it once to any deck it hasn’t seen before.