Kestra Keyboard Shortcuts

30 commands in 4 groups, from Kestra’s official documentation (Server CLI + kestractl).

Server CLI (kestra) (5)

CommandActionWhat it does
kestra server standaloneStart All-in-One ServerRuns every Kestra component (webserver, scheduler, executor, worker) in a single process — the standard single-node deployment.
kestra server localStart Local Dev ServerDevelopment mode with an embedded H2 file database; no external backend needed.
kestra plugins install <plugin>Install PluginsStandalone JARs ship without plugins; install what your tasks need before starting the server.
kestra flow validate <file>Validate a FlowChecks a YAML flow definition against a running server; the CI/CD workhorse.
kestra flow namespace update <ns> <dir>Deploy Flows to NamespaceUploads a directory of flows into a namespace; add --no-delete to keep flows not present in the directory.

kestractl — Setup & Flows (10)

CommandActionWhat it does
kestractl config addAdd Auth ContextStores a server, tenant, and credentials in ~/.kestractl/config.yaml; basic auth for OSS, API token for Enterprise.
kestractl flows listList FlowsLists flows across all namespaces, or one namespace; add --output json for scripting.
kestractl flows deploy <dir>Deploy FlowsDeploys a directory with --namespace, --override, and --fail-fast flags for release pipelines.
kestractl flows validate <path>Validate Flow or DirectoryValidates a single YAML file or a whole directory before deployment.
kestractl flows exportExport Flows to ZIPExports a namespace's flows with --namespace and --output-file; export-by-ids and export-by-query narrow the set.
kestractl flows import <zip>Import Flows from ZIPRestores flows from an exported archive.
kestractl flows enable <ns> <flow>Enable a FlowTurns a disabled flow back on; disable-by-query and enable-by-query handle bulk changes.
kestractl flows disable <ns> <flow>Disable a FlowStops a flow from triggering without deleting it.
kestractl flows delete <ns> <flow>Delete a FlowRemoves a flow; delete-by-query bulk-deletes by filter.
kestractl flows graph <ns> <flow>Show Flow TopologyPrints the task graph of a deployed flow; --revision inspects older versions.

kestractl — Executions (8)

CommandActionWhat it does
kestractl executions run <ns> <flow>Run a FlowStarts an execution; --wait blocks until completion and --output json returns the result for scripts.
kestractl executions listList ExecutionsFilters by --namespace and --flow.
kestractl executions get <id>Execution DetailsShows one execution; aliases show and describe.
kestractl executions watch <id>Watch in Real TimeFollows an execution live and exits non-zero on FAILED, KILLED, or CANCELLED — ideal as a CI gate.
kestractl executions kill <id>Kill ExecutionStops a running execution.
kestractl executions pause <id>Pause ExecutionSuspends a running execution.
kestractl executions resume <id>Resume ExecutionContinues a paused execution.
kestractl executions restart <id>Restart ExecutionRe-runs a finished or failed execution.

kestractl — Namespaces, KV & Plugins (7)

CommandActionWhat it does
kestractl namespaces updateUpdate a NamespaceManages namespace settings and plugin defaults; list, get, create, and delete complete the set.
kestractl nsfiles upload <ns> <dir>Upload Namespace FilesSyncs local files into namespace storage with --path, --override, and --fail-fast.
kestractl kv setSet Key-Value PairStores a value with an optional TTL; update, get, and delete manage existing keys.
kestractl kv getGet Key-Value PairReads a stored value; note that kv list requires token auth.
kestractl logs listList Execution LogsLists logs; search, download, and delete complete the log commands.
kestractl plugins listList Compatible PluginsShows plugins compatible with a given Kestra version.
kestractl plugins downloadDownload PluginsFetches plugin JARs to a local directory for offline installs.
📜 Source: Kestra Docs — kestractl CLI reference. Commands come from three official Kestra docs pages: the kestractl CLI reference, the CI/CD guide (Server CLI flow validate and flow namespace update), and the standalone-server installation guide (server standalone, server local, plugins install). Three unattested legacy rows from an earlier version of this page (kestra flow list, kestra execution create, kestra plugins list) were removed. Checked 2026-08-02.
📄 View Printable Cheat Sheet — Download as PDF or print · 🧩 Combine with other tools

Related Shortcut Pages

n8n Power Automate Ansible Cron / Crontab Make (Integromat) Retool

Search 13,500+ shortcuts across 269 platforms

Explore All Platforms Practice Shortcuts
🔧 Spotted an error or a missing shortcut? Suggest an edit on GitHub — every accepted fix goes live on this page, the API and the CLI.

Two CLIs, one platform

Kestra ships two distinct command-line tools, and knowing which is which saves real confusion. The classic kestra binary is the server CLI: it starts components (kestra server standalone runs everything in one process, kestra server local adds an embedded H2 database for development), installs plugins into the runtime, and carries the two deployment commands CI/CD pipelines have used for years. kestractl is the newer Go-based client: it talks to a running server’s API and manages flows, executions, namespaces, key-value pairs and more from anywhere. In short — server and runtime operations go to kestra, day-to-day resource management goes to kestractl.

The deployment loop

A typical release runs four commands. kestractl flows validate ./flows/ checks every YAML file; kestractl flows deploy ./flows --namespace prod pushes them (with --override and --fail-fast for strictness); kestractl executions run with --wait fires a smoke-test flow and blocks until it finishes; and kestractl executions watch follows it live, exiting non-zero on FAILED, KILLED, or CANCELLED — which makes it a natural CI gate with no extra scripting. Teams on the classic toolchain can do the first two steps with kestra flow validate and kestra flow namespace update instead; note that namespace update deletes flows missing from the directory unless you pass --no-delete.

Everything is scriptable

Almost every kestractl command accepts --output json, which turns the CLI into a query tool: list flows, pull an execution’s state, or read a KV pair straight into jq. Execution control is unusually complete for a CLI — kestractl executions pause, resume, restart and kill cover the whole lifecycle without touching the UI. Authentication lives in named contexts created by kestractl config add (basic auth for open source, API tokens for Enterprise), so switching between a local instance and production is one flag, not an environment surgery.

Frequently asked questions

What is the difference between kestra and kestractl?

kestra is the server CLI: it starts components (server standalone, server local), installs plugins, and handles runtime operations. kestractl is the API client for daily work — flows, executions, namespaces, KV pairs. Use kestra for the machine, kestractl for the resources.

How do I start Kestra in one process?

kestra server standalone runs the webserver, scheduler, executor and worker together — the standard single-node setup. For development, kestra server local uses an embedded H2 file database so nothing else needs installing.

How do I deploy Kestra flows from CI/CD?

Validate with kestractl flows validate ./flows/, then deploy with kestractl flows deploy ./flows --namespace prod. The classic equivalents are kestra flow validate and kestra flow namespace update — with the caveat that namespace update deletes flows absent from the directory unless --no-delete is passed.

Can the Kestra CLI wait for a flow to finish?

Yes, two ways: kestractl executions run with --wait blocks until completion, and kestractl executions watch follows an execution live and exits non-zero on FAILED, KILLED, or CANCELLED — handy as a CI gate.

Why does my standalone Kestra JAR fail on tasks?

The standalone JAR ships without plugins. Install them first with kestra plugins install (for example the script plugins), then start the server.

How does kestractl authenticate?

Through named contexts: kestractl config add stores the host, tenant and credentials in ~/.kestractl/config.yaml. Open source uses --username/--password, Enterprise uses an API --token; the default context applies automatically.

🤖 Ask AI about Kestra shortcuts

Open your assistant with this page preloaded as the source — great for follow-up questions like "which of these work in other apps?"

ChatGPT Claude Perplexity Gemini Grok