AgentDeck turns Stream Deck+ into a physical Claude Code control panel

AgentDeck hooks Claude Code's event stream into Elgato Stream Deck+ buttons and dials. See session status, approve permissions, and monitor token spend without tab-switching. Open source with a Marketplace plugin for macOS and Windows 11.

SaifullahSaifullah
3 min read
AgentDeck turns Stream Deck+ into a physical Claude Code control panel

Claude Code permission prompts are a context switch tax. You alt-tab, read the dialog, click Allow, alt-tab back, lose the thread.

AgentDeck solves that with hardware: a Stream Deck+ (or other supported surfaces) becomes a live dashboard for agent sessions. AlphaSignal's June digest highlighted it after thousands of developers liked the demo. I tried the architecture story because I run multiple Claude Code sessions daily for client repos.

What you can do on the desk

The Elgato Marketplace plugin (v1.0.2 live, 1.0.3 prepared) pairs with a local AgentDeck daemon:

ControlAction
Session buttonsSee running, waiting, idle, or errored sessions
Permission promptsApprove or deny without keyboard
Token dialMonitor usage and session cost per button
Multi-sessionManage several Claude Code sessions from one surface

Claude Code fires events when sessions change state. AgentDeck listens and maps those events to Stream Deck keys and encoder dials.

Stream Deck Plus buttons labeled with Claude Code session states: running, waiting, idle, and error

Supported agents

AgentDeck is agent-native, not Claude-only:

AgentStatus
Claude CodePrimary, full lifecycle
Codex CLISupported
OpenCodeSupported
OpenClawExperimental

If you already standardize on one harness, AgentDeck still helps. If you run a fleet across tools, one physical surface beats five terminal tabs.

Install path (Stream Deck)

Requirements from the project docs:

  • macOS 15+ or Windows 11 for the bridge daemon
  • Stream Deck app 6.7+ (6.9+ for latest plugin builds)
  • iTerm2 for PTY session management on macOS
  • Claude Code CLI installed

Marketplace install (recommended):

  1. Install AgentDeck from Elgato Marketplace.
  2. Start the AgentDeck daemon (npx @agentdeck/setup or the Mac App Store app).
  3. Launch Claude Code sessions. They appear on the deck automatically.

Development checkout users can streamdeck link the plugin from the repo, but unlink before installing the Marketplace build (duplicate UUIDs conflict).

Architecture diagram: AgentDeck daemon bridging Claude Code events to Stream Deck plugin

Not the same as agent-deck TUI

AlphaSignal linked github.com/asheshgoplani/agent-deck, which is a terminal session manager (TUI mission control for many agents). Useful, but a different product.

ProjectProblem
puritysb/AgentDeckPhysical and multi-surface control (Stream Deck, tablets, ESP32)
asheshgoplani/agent-deckTerminal UI for organizing Claude, Codex, OpenCode sessions

Pick hardware control when permission latency and session visibility are your bottleneck. Pick the TUI when you need fork, search, and cost tracking inside one terminal window.

When this is worth the setup

Worth it:

  • You run 3+ concurrent agent sessions
  • Permission prompts interrupt deep work
  • You demo agent workflows live and want a tactile story

Skip it:

  • Single-session, low-permission workflows
  • Linux-only dev environments (bridge is macOS / Windows 11 today)
  • Teams without Stream Deck hardware (cost of knobs versus software shortcuts)

Security note

A daemon that can approve agent permissions is powerful. Run it only on machines you trust, keep the bridge local, and treat physical approve buttons like clicking Allow in the UI. Do not expose the daemon to your network without authentication.

Physical controls do not replace policy. They reduce friction for humans who already know what should be allowed.

If you want agent fleet UX across Claude Code, Codex, and custom MCP tools (with sane permission boundaries), book a free discovery call.

Share this post

Related posts