Skip to main content

Windmill CLI

A simple CLI allowing interactions with windmill from the command line.

You can find more information in Windmill Docs


Install the wmill CLI tool using deno install --unstable -A

Update to the latest version using wmill upgrade.


To get started run wmill workspace add or use the instructions from the workspace settings.

Running Flows & Scripts

Run a script or flow using wmill flow/script run u/username/path/to/script and pass any inputs using --data + Inputs specified as a JSON string or a file using @ <filename> or stdin using @-.

Curl-style syntax using -d @- for stdin or -d @<filename> is also supported.

Flow Steps and Logs will be streamed during execution automatically.

CLI input example

Pushing Resources, Scripts & More

The CLI can push specifications to a windmill instance. See the examples/ folder for formats.

Switch to a different workspace

wmill workspace switch <workspace_name>

Sync a workspace


wmill sync pull


wmill sync push

We recommend using the –yaml option to use yaml instead of json as the encoding format. Yaml will be made the default soon.

Pushing individual files

You can push individual resources using wmill <type> push <file_name> \<remote_name\>. This does not require a special folder layout or file name, as this is given at runtime.


All commands support listing by just not providing a subcommand, ie wmill script will result in a list of scripts. Some allow additional options, learn about this by specifying --help.

User Management

You can add & remove users via wmill user add/remove, and list them using wmill user


You can pull the entire workspace using wmill pull


The CLI comes with completions out of the box via wmill completions <shell>. (Via cliffy)


To enable bash completions add the following line to your ~/.bashrc:

source <(wmill completions bash)


To enable fish completions add the following line to your ~/.config/fish/

source (wmill completions fish | psub)


To enable zsh completions add the following line to your ~/.zshrc:

source <(wmill completions zsh)