New to Kestra?
Use blueprints to kickstart your first workflows.
Run Shell scripts as a subprocess on the Kestra host with the Process task runner. Execute system commands and CLI tools directly inside orchestrated workflows.
id: process-script-runner
namespace: company.team
tasks:
- id: shell
type: io.kestra.plugin.scripts.shell.Commands
taskRunner:
type: io.kestra.plugin.core.runner.Process
commands:
- echo "Hello World!"
Run arbitrary Shell commands as a child process on the Kestra host with the
io.kestra.plugin.scripts.shell.Commands task and the io.kestra.plugin.core.runner.Process
task runner. This blueprint solves the simplest possible script execution
problem: you have shell commands, CLI tools, or system utilities already
installed on the Kestra host and you want to run them inside an orchestrated
workflow without spinning up a container, a remote VM, or a Kubernetes pod.
The Process task runner executes the command in the same environment as the
Kestra worker, so it starts instantly and inherits the host PATH, binaries,
and environment variables.
shell task of type io.kestra.plugin.scripts.shell.Commands defines
the commands to run.taskRunner is set to io.kestra.plugin.core.runner.Process, which
launches the script as a subprocess of the Kestra worker rather than in an
isolated container.commands list holds the shell statements to execute (here a single
echo "Hello World!"), running sequentially in the host shell.A bare shell script run by cron gives you no visibility and no recovery. With Kestra you get event and schedule triggers, automatic retries, full execution logs, output capture, and lineage across tasks, all defined in declarative YAML. The Process runner keeps execution lightweight while you gain the scheduling, observability, and error handling that a plain shell prompt or a crontab entry simply cannot provide.
This blueprint references no secrets. To inject credentials, add them as
environment variables or reference them with {{ secret('NAME') }}.
echo "Hello World!" command with your own shell statements.commands to chain multiple shell steps.inputs and reference them via Pebble expressions.outputFiles to pass artifacts to downstream tasks.io.kestra.plugin.scripts.runner.docker.Docker
when you need dependency isolation.