Manifest Reference
FreshOverview
The manifest.json is the required configuration that defines your Stream Deck plugin. It specifies the entry point, actions, metadata, and system requirements.
Required Properties
| Property | Type | Description |
|---|---|---|
Author | string | Plugin creator's name |
CodePath | string | Entry point (e.g., "bin/plugin.js") |
Description | string | Plugin functionality overview |
Icon | string | Plugin icon path (256x256 and 512x512 px) |
Name | string | Plugin display name |
SDKVersion | number | 2 or 3 (3 recommended) |
Software.MinimumVersion | string | Min Stream Deck version |
UUID | string | Reverse-DNS unique identifier |
Version | string | Format: {major}.{minor}.{patch}.{build} |
OS | array | Supported operating systems |
Actions | array | Collection of plugin actions |
Action Properties
| Property | Type | Description |
|---|---|---|
Name | string | Action display name |
UUID | string | Reverse-DNS action identifier |
Icon | string | Action icon (20x20 and 40x40 px, monochromatic PNG/SVG) |
States | array | Visual state representations (72x72 and 144x144 px) |
Controllers | array | Target types: "Keypad", "Encoder", or both |
Encoder | object | Dial/touch strip settings (layout, background, triggers) |
PropertyInspectorPath | string | HTML file for action config UI |
UserTitleEnabled | boolean | Allow/prevent user title customization |
VisibleInActionsList | boolean | Show/hide in action browser |
Tooltip | string | Hover description |
OS Configuration
json
{
"OS": [
{ "Platform": "mac", "MinimumVersion": "10.15" },
{ "Platform": "windows", "MinimumVersion": "10" }
]
}Node.js Configuration
| Property | Values | Description |
|---|---|---|
Version | "20" or "24" | Node.js runtime version |
Debug | "enabled", "break", or custom port | Debugger configuration |
GenerateProfilerOutput | boolean | Performance profiling |
Profile Configuration
json
{
"Profiles": [{
"Name": "profiles/my-layout",
"DeviceType": 0,
"Readonly": false,
"DontAutoSwitchWhenInstalled": false,
"AutoInstall": true
}]
}Application Monitoring
json
{
"ApplicationsToMonitor": {
"windows": ["application.exe"],
"mac": ["com.company.application"]
}
}JSON Schema
Enable IDE intellisense and validation:
json
{
"$schema": "https://schemas.elgato.com/streamdeck/plugins/manifest.json"
}