Command-line interface (CLI)
The Windmill CLI, wmill allows you to interact with Windmill instances right from your
terminal.
You can also use it for various automation tasks, including syncing folders & GitHub repositories, or just running all you scripts and flows.
See Installation for getting started.
Unified list / get / new subcommands
Every item type supports the same set of subcommands so the CLI can be used as a full API client in shell scripts — piping JSON output to jq, etc.
| Subcommand | Behavior |
|---|---|
<type> list [--json] | Lists items. With --json, outputs machine-readable JSON. |
<type> get <path> [--json] | Pretty-prints an item. With --json, outputs the full API response. |
<type> new <path> [...] | Bootstraps a local template file for the item. bootstrap remains as an alias for script/flow. |
The supported types are: script, flow, app, resource, resource-type, variable, schedule, folder, and trigger. For trigger, pass --kind <type> (e.g. http, websocket, kafka, ...) to new and to get when multiple trigger kinds share a path.
wmill script list --json | jq '.[].path'
wmill trigger new f/http/webhook --kind http
wmill resource get f/db/prod --json | jq .value.host
wmill docs
The wmill docs command searches the Windmill documentation from your terminal. It calls the backend search endpoint and prints formatted results.
wmill docs <query> [--json]
Example
wmill docs "how do I create a flow?"
wmill docs "what are resources?" --json | jq .answer
Documentation search is an Enterprise Edition feature — on a Community Edition instance, the command prints a message indicating EE is required.