ClaudeButtons

Claude Code on your Elgato Stream Deck. Approve permission prompts, see what Claude is doing, and drive your workflow — from physical keys.

↓ Download the plugin macOS · Stream Deck 7.1+

Works with the Claude desktop app and the terminal CLI. Free & open.

Demo video

A 30-second look at approving Claude from the deck.

▶ Replace with the demo video (drop demo.mp4 in this folder).

Stop reaching for the keyboard to say “yes”

When Claude Code needs permission to run a command, edit a file, or fetch a URL, ClaudeButtons lights up a key on your Stream Deck. Tap Allow, Deny, or Always — and glance at a live Status key to see whether Claude is working, waiting on you, or done.

Status key showing what Claude is doing

The Status key reads out what Claude’s doing — Editing, Running, Waiting…, Your turn.

Workflow keys

Workflow keys: Commit & Push, Update Docs, Screenshot, Fix Last Error.

📷 Swap these for real photos of your Stream Deck.

What’s on the deck

Fifteen keys. Drop on the ones you want.

Allow / Deny — answer the pending permission request
Always — approve + auto-approve for the session
Status — Editing / Running / Waiting… / Your turn / Idle
Activity — animates while Claude is working
Question — lights when Claude asks you something
Focus Claude — bring Claude (or your terminal) to front
Terminal / New Terminal — open a shell
Commit & Push — drafts the prompt for you
Update Docs — drafts a docs-update prompt
Screenshot — capture & attach to the chat
Fix Last Error — hand your terminal’s last error to Claude
Install / Repair — optional; it auto-installs

Install in three steps

Download & double-click

Grab ClaudeButtons.streamDeckPlugin and double-click it. Stream Deck installs it and a ClaudeButtons category appears.

Drag the keys you want

The approval & status keys work immediately — the plugin wires its Claude Code hooks in for you. There’s no “setup” button to press.

Restart Claude Code

Start a fresh Claude Code session so it picks up the hooks. That’s it.

Permissions: the approval & status keys need nothing. The keys that type into Claude or capture the screen will trigger a macOS permission prompt the first time you press them — approve under System Settings › Privacy & Security.

Using it with…

Claude desktop app
Claude terminal (CLI)
  1. Install the plugin and restart the Claude app.
  2. Drag on Allow, Deny, Status (and whatever else you like).
  3. When Claude asks permission, the keys light up — tap to answer.
  4. For Commit & Push / Screenshot / Fix Last Error, approve the one-time macOS permission prompt on first use.
  1. Install the plugin — the same hooks drive the claude CLI, so Allow / Deny / Status work with no changes.
  2. Start a new claude session after installing.
  3. For the keys that send text (Commit & Push, Update Docs, Fix Last Error), open each key’s settings and set App to your terminal — Terminal, iTerm2, Ghostty, …
  4. For Screenshot, set Attach as → “Saved file + typed path” so the CLI can read the image.

The deck lights up only when Claude actually stops to ask — anything already on your allow-list is auto-approved and never reaches the deck.