Getting Started

Getting started with Stream Deck.

The fastest way to get started with Stream Deck is using the plugin template.

1. Stream Deck Plugin Template

Checkout the plugin template from

git clone

2. Refactor the Unique Identifier

Rename the folder com.elgato.template.sdPlugin using revers-DNS, i.e. com.example-url.plugin-name.sdPlugin. Replace any reference to com.elgato.template in the manifest.json and app.js.

3. Javascript Libraries

The Javascript SDK communicates with the Stream Deck websocket and listens for events. Clone this library into the plugin folder or add it as a git submodule.


git clone src/my.domain.plugin-name/libs

Add Submodule

git submodule add src/my.domain.plugin-name/libs

4. Add the Plugin to Stream Deck

Create a symbolic link of the plugin's folder inside of the Stream Decks Plugins folder.

# Note: this works inside the cmd, not on PowerShell
# %cd% gets the full absolute path to the plugin folder
mklink /D C:\Users\%USERNAME%\AppData\Roaming\Elgato\StreamDeck\Plugins\ %cd%\src\
# Using $(pwd) to get the full absolute path to the plugin folder
ln -s $(pwd)/src/ ~/Library/Application\ Support/com.elgato.StreamDeck/Plugins/

5. Debugging

Set the html_remote_debugging_enabled flag and restart Stream Deck. A list of plugins available for debugging are now available from a browser at http://localhost:23654/. Refresh the plugin or property inspector at any time by reloading it's page (Changes to the manifest.json will still require restarting Stream Deck).

With debugging enable, you can also debug the property inspector (user interface) of your plugins. Read more about debugging property inspectors.

macOS Debugging

defaults write com.elgato.StreamDeck html_remote_debugging_enabled -bool YES

Windows Debugging

On Windows, add a DWORD html_remote_debugging_enabled with value 1 in the registry @HKEY_CURRENT_USER\Software\Elgato Systems GmbH\StreamDeck.

6. Build the Plugin

Everything is now configured to build a Stream Deck plugin!

Last updated