Kestra Scripts Guide – Multi-Language Tasks and Runners​Kestra ​Scripts ​Guide – ​Multi-​Language ​Tasks and ​Runners

Kestra is language agnostic. Write your business logic in any language.

Run scripts in any language with Kestra

You can orchestrate custom business logic written in any language, and you can also build custom plugins in Java.


There are dedicated plugins for Python, R, Julia, Ruby, Node.js, Powershell and Shell. You can also run any language using the Shell plugin too.

By default, these tasks run in individual Docker containers (taskRunner type: io.kestra.plugin.scripts.runner.docker.Docker). You can overwrite that default behavior if you prefer that your scripts run in a local process (taskRunner type: io.kestra.plugin.core.runner.Process) instead.

If you use the Enterprise Edition, you can also run your scripts on dedicated remote workers by specifying a workerGroup property or using other Task Runner types for AWS, GCP, Azure, and Kubernetes.

The following pages dive into details of each task runner, supported programming languages, and how to manage dependencies.

Was this page helpful?