Agentsd banner
paultyng paultyng

Agentsd

Development community

Description

Stream Deck plugin for managing Claude Code sessions

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

agentsd

Stream Deck plugin for managing [Claude Code](https://claude.ai/code) sessions. Monitor session state, approve or deny permission requests, and control agents from hardware buttons.

agentsd buttons on a Stream Deck

Requirements

  • macOS 13+ (Windows support tracked separately; see issue for details)
  • Stream Deck app 6.6+ plus a Stream Deck device
  • Node.js 20+
  • Claude Code with HTTP hooks support

How it works

Claude Code HTTP hooks post events to a local server (`127.0.0.1:9200`). The plugin translates those events into session state on Stream Deck buttons and dials.

Claude Code hooks → HTTP server (:9200) → SessionManager → Stream Deck UI

`PermissionRequest` hooks hold the HTTP response open (up to 120 s) so you can approve or deny directly from a button press.

Install

git clone https://github.com/paultyng/agentsd.git && cd agentsd
npm install
npm install -g @elgato/cli   # one-time global; provides the `streamdeck` CLI used by `npm run link`/`dev`
npm run build
npm run link                 # register plugin with Stream Deck
npm run hooks:install        # add Claude Code HTTP hooks to ~/.claude/settings.json

After linking, restart the Stream Deck app. The actions appear under "Claude Code" in the action list.

Uninstall

npm run hooks:uninstall      # remove hooks from ~/.claude/settings.json
npm run unlink               # unregister plugin

Configuration

Env var Default Effect
AGENTSD_DEBUG unset When 1, the hook server exposes GET /debug/sessions returning a JSON snapshot of every tracked session. Used by the test suite; safe to enable locally for diagnostics.

Development

npm run watch        # rebuild on file changes
npm run dev          # Stream Deck dev mode (hot reload)
npm run de