Claude Code · Claude.app · Stream Deck Integration

Claude Code and Claude.app, on your Stream Deck.

Respond to permission requests, watch live token and context usage, and control voice input and spoken replies — all from a key press, without reaching for the keyboard or mouse.

No window switching Stream Deck plugin Claude Code Claude.app
ClaudeDeck — 13-key Stream Deck profile for Claude Code and Claude.app
How it works

Built for two different surfaces.

Claude Code and the Claude desktop app work differently, so ClaudeDeck connects to each one differently.

Claude Code — Hooks

A small hook set, installed in one press

ClaudeDeck installs a set of hooks into your Claude settings file — one press of the Setup Hooks key adds or removes them. The hooks notify a local plugin server the moment Claude Code asks a question, requests a tool permission, or finishes a response, so the right key lights up instantly.

Claude Desktop App — Direct Control

Drives the app’s own controls directly

The Claude desktop app has no hook system, so ClaudeDeck drives its on-screen controls directly — clicking its Allow / Deny and folder-access dialogs, its dictation toggle, and its Read Aloud button — the same way a person would, just from a key press. This part is macOS-only for now.

Privacy

Nothing leaves your machine

All communication happens over localhost, between Claude Code, the Claude desktop app, and the Elgato Stream Deck software. No command text, approval, denial, or usage data is ever sent to an external server.

Features

Thirteen keys. Two surfaces.

Ten keys for Claude Code, three for the Claude desktop app — permission handling, live usage monitoring, and hands-free voice control, all from your deck.

Allow

The key face shows the exact command or file being requested. Short press to approve once. Long press (500ms+) to approve and tell Claude Code not to ask again for that item this session — the key flashes yellow to confirm before you release.

Deny

Denies the pending permission request and sends a reason back to Claude Code.

Open Terminal

Flashes the moment Claude Code asks a question in the terminal. Press to bring that terminal window forward — no hunting through your taskbar.

Context Gauge

A live ring on your deck showing the current session’s context-window usage as a percentage. Know at a glance how close Claude is to its limit.

Usage Meter

A token-usage sparkline for the current session, updating live on the key face.

Plan Usage

Live 5-hour and weekly usage bars, read from your account. Press to open your Claude usage settings in the browser.

Setup Hooks

One press installs the required hook configuration into your Claude settings file; press again to remove it. The key face shows LINKED or UNLINKED status.

Send

Sends Return to submit a dictated prompt or run a typed command — the natural endpoint of a hands-free prompting flow.

Dictate Claude Code

Toggles Claude Code’s own tap-to-talk voice input on and off. Hands-free prompting without touching the keyboard.

Read Aloud — Claude Code

Speaks an alert out loud when Claude Code needs your attention, using a configurable phrase, voice, and rate. Step away from your desk without missing a response.

Open Claude.app

Brings the Claude desktop app window forward on demand. One press, no mousing to the dock.

Dictate Claude.app

Toggles the Claude desktop app’s built-in dictation on and off — the same as clicking its mic button, from a key press.

Read Aloud — Claude.app

Clicks the Claude desktop app’s own Read Aloud button to have it speak the latest reply. Press again to stop.

In action

See it on the deck.

Permission keys
Monitoring keys
Voice keys
Privacy

Nothing leaves your machine.

ClaudeDeck communicates entirely over localhost, between Claude Code, the Claude desktop app, and the Elgato Stream Deck software. No command text, approval, denial, or usage data is ever sent to an external server.

Requirements

What you need.

Stream Deck

Stream Deck software 6.9+

Any Stream Deck model with LCD keys. The plugin installs directly from within the Stream Deck app.

OS

macOS 12+ or Windows 10+

Claude Code features work on both platforms. The Claude desktop app keys require macOS.

Runtime

Node.js 20+

Required to run the plugin backend for Claude Code features. Install via nodejs.org if needed.

Claude

Claude Code CLI & Claude.app

Claude Code must be installed and authenticated for its keys. The Claude desktop app must be installed for its three keys.

FAQ

Common questions.

Everything you need to know to get up and running with ClaudeDeck.

What hardware do I need? +
Any Stream Deck with LCD keys works — the original Stream Deck, MK.2, XL, Stream Deck+, or Mini. Non-LCD and pedal models aren't supported because the key display is how ClaudeDeck communicates the command to you.
Which operating systems are supported? +
ClaudeDeck runs anywhere Claude Code and the Elgato Stream Deck software are available: macOS and Windows. Linux support is on the roadmap once Elgato's SDK stabilizes on that platform.
How does ClaudeDeck connect to Claude Code? +
ClaudeDeck hooks into Claude Code's local permission listener and Claude.app's permission system — the same channels their own UIs use. It requires no cloud connection and no modifications to either app. Setup takes about two minutes: install the plugin, configure the action settings, and you're live.
Can I see the full command before approving? +
Yes. The Stream Deck key displays the command as sent — truncated to fit the key face when needed. A configurable "detail" key can show the full string before you commit. You always know exactly what you're approving.
What happens if I don't press anything? +
Claude Code's own timeout behaviour takes over — the session waits until you respond. ClaudeDeck never auto-approves or auto-denies on your behalf. You can configure an optional timeout reminder that pulses the key after a set number of seconds to nudge you.
Can I run multiple Claude Code sessions at once? +
Yes. ClaudeDeck supports multiple concurrent sessions. Incoming requests are queued and displayed one at a time, and a small counter badge on the key shows how many are pending while you resolve the current one.
Is my command data sent anywhere? +
No. ClaudeDeck communicates entirely over localhost — between the Claude Code process and the Elgato Stream Deck software on your machine. No command text, approval, or denial is ever transmitted to an external server.
How do I install ClaudeDeck? +
Download the .streamDeckPlugin file from the releases page and double-click it — the Elgato software installs it automatically. Then drag the ClaudeDeck action onto a key, configure the Claude Code path in the action settings panel, and you're done.