Skip to main content
Back to docs
Task guide

Run shell commands from a workflow

Run a command on the computer where the Stream Deck plugin is installed, capture its output, and route failures to the rest of your workflow.

What the Shell action does

The Shell action runs a command on the computer where the Stream Deck plugin is installed — not on Conductor Deck's servers — then reports what happened back to the workflow. Use it for anything a terminal can do: build scripts, deploy commands, or a one-line AppleScript or PowerShell snippet.

The provider groups four actions together. Execute Command and Run Command do the same thing (Run Command is kept as an alias for older workflows). Open URL opens a link in the default browser on that computer, and Press Keyboard Shortcut simulates a shortcut the same way the standalone Keyboard action does — pick whichever one matches the task instead of adding a separate step just to send a shortcut.

  • Standard Output, Standard Error, and Exit Code come back as output fields the next step can use.
  • No Stream Deck plugin connected yet? Test run simulates this action so you can check the rest of the workflow first.

How commands run

Type the command into the Command field the same way you would in a terminal. Multi-line scripts, &&, pipes, and environment variables all work, because by default the command runs through the system shell: /bin/sh on macOS and Linux, PowerShell on Windows.

Under Advanced, Arguments (JSON) switches the action to run Command as a direct executable with the arguments you list there, bypassing the shell entirely — for example Command git with Arguments ["pull"]. Once Arguments is set, Command must be a plain path or executable name with no shell characters in it.

Platform differences, timeouts, and safety

The default Command-only form follows the host OS's shell syntax: POSIX syntax (&&, pipes, $VAR) on a Mac or Linux plugin host, PowerShell syntax (semicolons, $env:VAR, cmdlets) on a Windows host. Working Directory sets where the command runs — give it a full path, or leave it blank to use the plugin's own default location. Keep commands short: a workflow step waits about 10 seconds for the command to finish before reporting a failure, and Timeout (ms) (default 30 seconds) is when the plugin stops the command process itself.

A non-zero exit code marks the step failed and hands off to whatever error handling that step has, so add a retry, fallback, or alert step after a Shell step that might fail. Commands run with the same permissions as the Stream Deck desktop app on that computer — review a workflow you did not build yourself before assigning it to a button, and avoid destructive commands, since a button press has no confirmation dialog to cancel out of.

  • macOS and Linux use POSIX shell syntax; Windows uses PowerShell syntax.
  • A command that runs past its timeout is stopped and reported as a failure, not left running.