Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

Bumps [warp]( from 0.3.5 to 0.3.6.
- [Release notes](
- [Changelog](
- [Commits](seanmonstar/warp@v0.3.5...v0.3.6)

- dependency-name: warp
  dependency-type: direct:production
  update-type: version-update:semver-patch

Signed-off-by: dependabot[bot] <>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
September 26, 2023 14:38
September 12, 2022 10:07
September 14, 2023 12:55
October 5, 2020 14:00
September 26, 2023 19:08

Latest Release Rust Build Rust Version Contributors Good first issues wash-cli

                                     _                 _    _____ _          _ _
                                ____| |               | |  / ____| |        | | |
 __      ____ _ ___ _ __ ___  / ____| | ___  _   _  __| | | (___ | |__   ___| | |
 \ \ /\ / / _` / __| '_ ` _ \| |    | |/ _ \| | | |/ _` |  \___ \| '_ \ / _ \ | |
  \ V  V / (_| \__ \ | | | | | |____| | (_) | |_| | (_| |  ____) | | | |  __/ | |
   \_/\_/ \__,_|___/_| |_| |_|\_____|_|\___/ \__,_|\__,_| |_____/|_| |_|\___|_|_|

Why wash

wash is a bundle of command line tools that, together, form a comprehensive CLI for wasmCloud development. Everything from generating new wasmCloud projects, managing cryptographic signing keys, and interacting with OCI compliant registries is contained within the subcommands of wash. Our goal with wash is to encapsulate our tools into a single binary to make developing WebAssembly with wasmCloud painless and simple.

Installing wash


cargo install wash-cli

Linux (deb/rpm + apt)

# Debian / Ubuntu (deb)
curl -s | sudo bash
# Fedora (rpm)
curl -s | sudo bash

sudo apt install wash

Linux (snap)

sudo snap install wash --edge --devmode

MacOS (brew)

brew tap wasmcloud/wasmcloud
brew install wash

Windows (choco)

choco install wash


nix run github:wasmCloud/wash

Using wash

wash has multiple subcommands, each specializing in one specific area of the wasmCloud development process.


Builds and signs the actor, provider, or interface as defined in a wasmcloud.toml file. Will look for configuration file in directory where command is being run.
There are three main sections of a wasmcloud.toml file: common config, language config, and type config.

Common Config

Setting Type Default Description
name string Name of the project
version string Semantic version of the project
path string {pwd} Path to the project directory to determine where built and signed artifacts are output
wasm_bin_name string "name" setting Expected name of the wasm module binary that will be generated
language enum [rust, tinygo] Language that actor or provider is written in
type enum [actor, provider, interface ] Type of wasmcloud artifact that is being generated

Language Config - [tinygo]

Setting Type Default Description
tinygo_path string which tinygo The path to the tinygo binary

Language Config - [rust]

Setting Type Default Description
cargo_path string which cargo The path to the cargo binary
target_path string ./target Path to cargo/rust's target directory

Type Config - [actor]

Setting Type Default Description
claims list [] The list of provider claims that this actor requires. eg. ["wasmcloud:httpserver", "wasmcloud:blobstore"]
registry string localhost:8080 The registry to push to. eg. "localhost:8080"
push_insecure boolean false Whether to push to the registry insecurely
key_directory string ~/.wash/keys The directory to store the private signing keys in
filename string <build_output>_s.wasm The filename of the signed wasm actor
wasm_target string wasm32-unknown-unknown Compile target
call_alias string The call alias of the actor

Type Config - [provider]

Setting Type Default Description
capability_id string The capability ID of the provider
vendor string The vendor name of the provider

Type Config - [interface]

Setting Type Default Description
html_target string ./html Directory to output HTML
codegen_config string . Path to codegen.toml file


name = "echo"
language = "rust"
type = "actor"
version = "0.1.0"

claims = ["wasmcloud:httpserver"]

cargo_path = "/tmp/cargo"


Invoke a wasmCloud actor directly with a specified payload. This allows you to test actor handlers without the need to manage capabilities and link definitions for a rapid development feedback loop.


Generate JWTs for actors, capability providers, accounts and operators. Sign actor modules with claims including capability IDs, expiration, and keys to verify identity. Inspect actor modules to view their claims.


Generate shell completion files for Zsh, Bash, Fish, or PowerShell.


Interact directly with a wasmCloud control-interface, allowing you to imperatively schedule actors, providers and modify configurations of a wasmCloud host. Can be used to interact with local and remote control-interfaces.


Automatically connect to your previously launched wasmCloud lattice with a managed context or use contexts to administer remote wasmCloud lattices.


Manage contents of the local wasmCloud cache. wasmCloud manages a local cache that will avoid redundant fetching of content when possible. drain allows you to manually clear that cache to ensure you're always pulling the latest versions of actors and providers that are hosted in remote OCI registries.


Generate code from smithy files using weld codegen. This is the primary method of generating actor and capability provider code from .smithy interfaces. Currently has first class support for Rust actors and providers, along with autogenerated HTML documentation.


Generate ed25519 keys for securely signing and identifying wasmCloud entities (actors, providers, hosts). Read more about our decision to use ed25519 keys in our ADR.


Perform lint checks on .smithy models, outputting warnings for best practices with interfaces.


Create new wasmCloud projects from predefined templates. This command is a one-stop-shop for creating new actors, providers, and interfaces for all aspects of your application.


Create, modify and inspect provider archives, a TAR format that contains a signed JWT and OS/Architecture specific binaries for native capability providers.


Push and Pull actors and capability providers to/from OCI compliant registries. Used extensively in our own CI/CD and in local development, where a local registry is used to store your development artifacts.


Bootstrap a wasmCloud environment in one easy command, supporting both launching NATS and wasmCloud in the background as well as an "interactive" mode for shorter lived hosts.


Perform validation checks on .smithy models, ensuring that your interfaces are valid and usable for codegen and development.

Shell auto-complete

wash has support for autocomplete for Zsh, Bash, Fish, and PowerShell. See Completions for instructions for installing autocomplete for your shell.

Contributing to wash

Visit for more information on how to contribute to wash project.