Kestra Workbench
Kestra Workbench brings Kestra flow and execution work into Visual Studio Code. It helps you manage Kestra connections, browse namespaces and flows, edit Flow YAML, run flows, inspect executions, follow running executions, and open the Workbench in a local browser when you want more space.
Independent Project
Kestra Workbench is an independent extension and is not affiliated with, endorsed by, sponsored by, or officially connected to Kestra Technologies.
I first came across Kestra through a project, quickly became a fan of the tool, and now use it in my homelab. This extension grew out of a practical itch: I wanted to stay in my editor while building and debugging flows instead of constantly switching back to the web UI. The official UI is still the right place for many tasks, but this extension is designed for the moments when you want to stay close to the Flow YAML, execution details, logs, and debugging context inside VS Code.
Project Scope
This is a small hobby side project that exists because it makes my own day-to-day work with Kestra easier and because I enjoy building side projects. It is a one-person project, so please expect rough edges, slower fixes, and the occasional bug. Reports and ideas are welcome, but this extension should not be treated like a commercial product with guaranteed support.
Use At Your Own Risk
This extension talks directly to your configured Kestra instances and includes write-capable actions. Creating, saving, running, deleting, or rolling back flows can change data or start real workloads in Kestra. Review the selected connection, tenant, namespace, and flow before using these actions.
Features
- Manage multiple Kestra connections from VS Code.
- Browse connections, tenants, namespaces, and flows in the Activity Bar.
- Search flows across configured Kestra instances.
- Optionally check out complete tenants as local, searchable projects (beta).
- Open and edit Flow YAML directly in VS Code.
- Create namespaces and flows.
- Save Flow changes back to Kestra.
- Run flows and provide required inputs before execution.
- Review flow revisions, compare changes, and roll back to a previous revision.
- Get Kestra-aware suggestions while editing Flow YAML.
- Open flows and namespaces in the Kestra web UI.
- Browse executions by namespace, flow, status, labels, time range, and text search.
- Inspect execution details, task runs, logs, inputs, outputs, variables, triggers, and subflows.
- Follow running executions with reliable polling-based live refresh.
- Search within the visible detail view and highlight matching text.
- Jump to parent executions and the outermost known execution in a subflow chain.
- Open the Workbench in a local browser view served by the extension on
127.0.0.1.
Commands
- Kestra Workbench: Verbindungen verwalten opens the connection manager.
- Kestra Workbench: Flows aktualisieren refreshes the Flow tree.
- Kestra Workbench: Flows suchen searches and opens flows.
- Kestra Workbench: Flow schnell öffnen opens a flow from a Quick Pick.
- Kestra Workbench: Namespace anlegen creates a namespace.
- Kestra Workbench: Flow anlegen creates a new flow.
- Kestra Workbench: Flow ausführen runs a flow.
- Kestra Workbench: Flow-Revision öffnen opens a historical flow revision read-only.
- Kestra Workbench: Flow-Revision vergleichen compares the current flow with a selected revision.
- Kestra Workbench: Geöffnete Flow-Revision zurückrollen rolls an opened historical revision back to Kestra.
- Kestra Workbench: In Kestra Editor öffnen opens the selected flow in Kestra.
- Kestra Workbench: Namespace in Kestra öffnen opens the selected namespace in Kestra.
- Kestra Workbench: Browser starten starts the local browser view.
- Kestra Workbench: Im Browser öffnen opens the local browser view, starting it first when needed.
- Kestra Workbench: Browser ausschalten stops the local browser view.
The Activity Bar view Kestra Workbench: Flows contains the Flow explorer and connection actions. The optional local-project beta checks a tenant out into real Flow YAML and namespace files, which makes them available to Quick Open (Ctrl/Cmd+P) and VS Code's global Search. Projects are opened explicitly and never added to the current workspace automatically. The status bar item Kestra Workbench opens a small menu to start, stop, or open the local browser view.
Settings
Kestra Workbench can be adjusted through the normal VS Code settings UI. Search for Kestra Workbench in Settings, or edit the matching keys in your user or workspace settings.
kestraWorkbench.runOpenMode: controls what happens after a flow was started from VS Code. The default direct opens the new execution immediately in the Workbench view. Use prompt if you prefer a small confirmation message with a link instead.
kestraWorkbench.executionOpenTarget: controls where executions are opened after a flow run. The default panel opens the execution in the lower VS Code panel. Use browser if you prefer the local browser Workbench.
kestraWorkbench.executionSearchOpenTarget: controls where Executions durchsuchen opens from the Flow tree. The default browser opens the search in the local browser Workbench. Use tab for a VS Code editor tab or panel for the lower VS Code panel.
kestraWorkbench.projects.enabled: enables local Kestra projects. This beta feature is disabled by default.
kestraWorkbench.projects.directory: sets the absolute base directory for local project checkouts. Use the Select folder… link in Settings or run Kestra Workbench: Select Local Projects Directory (Beta) to choose it in the system file manager.
kestraWorkbench.defaultPageSize: sets how many executions are loaded per page in execution lists. Supported values are 10, 20, 50, and 100.
kestraWorkbench.executionListAutoRefreshIntervalSeconds: sets the automatic refresh interval for execution lists. Lower values feel more live; higher values reduce background requests to Kestra.
kestraWorkbench.defaultLogLevel: sets the initial log level in execution detail views. Available values are TRACE, DEBUG, INFO, WARN, and ERROR.
kestraWorkbench.browserPort: sets the preferred local port for the browser Workbench. The default is 1337. If the port is already in use, the extension tries the next available port.
kestraWorkbench.browserAutostart: starts the local browser server automatically when the extension activates. It is disabled by default.
Connection details such as Kestra URL, tenants, authentication type, API token, username, password, and TLS behavior are managed through Kestra Workbench: Verbindungen verwalten instead of the settings file.
Privacy
Privacy is important for this extension. Kestra Workbench does not include telemetry, usage analytics, crash reporting, advertising, or data tracking.
The extension does not send your Kestra data, flow definitions, executions, logs, credentials, connection metadata, or usage behavior to any third-party service. It only communicates with the Kestra instances that you configure and, when the browser view is enabled, with its own local server on 127.0.0.1.
Marketplace downloads and VS Code itself may involve Microsoft's normal infrastructure, but the extension code does not add its own external reporting or analytics.
Security
Security matters here as much as convenience. API tokens and passwords are stored with VS Code SecretStorage. Non-secret connection metadata such as name, URL, edition, version, tenants, and authentication type is stored in the extension's VS Code state.
The extension webviews receive connection metadata, but they do not receive stored passwords or API tokens. The local browser Workbench binds exclusively to 127.0.0.1; because it is only reachable from the local machine, it does not require a separate Workbench login or expiring session token.
Only add Kestra connections that you trust. HTTP connections transmit credentials without TLS and should only be used on protected internal networks. If insecure TLS is enabled for a connection, certificate validation is disabled for that connection.