Wasm Shell CLI Command Reference
wash build↴wash config↴wash completion↴wash dev↴wash doctor↴wash inspect↴wash new↴wash oci↴wash plugin↴wash update↴
wash build
Compile a project to a WebAssembly component artifact—i.e., a WebAssembly (.wasm) binary that conforms to the WebAssembly Component Model.
Usage: wash build [OPTIONS]
Options:
--artifact-path <ARTIFACT_PATH>— The expected path to the built Wasm component artifact--config <CONFIG_PATH>— Path to a configuration file in a location other thanPROJECT_DIR/.wash/config.json-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (text or json) [default: text]--skip-fetch- Skip fetching WIT dependencies, useful for offline builds--verbose- Enable verbose output-h,--help- Print help
wash config
View configuration for wash.
Usage: wash config [OPTIONS] <COMMAND>
Subcommands:
init- Initialize a new configuration file for washinfo- Print the current version and local directories used by washshow- Print the current configuration file for wash
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default: text]--verbose- Enable verbose output-h,--help- Print help
wash config init
Initialize a new configuration file for wash.
Usage: wash config init [OPTIONS]
Options:
--force- Overwrite existing configuration--global- Overwrite global configuration instead of project-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash config info
Print the current version and local directories used by wash.
Usage: wash config info [OPTIONS]
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash config show
Print the current configuration file for wash.
Usage: wash config show [OPTIONS]
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash completion
Generate shell completions.
Usage: wash completion [OPTIONS] <SHELL>
<SHELL>- The shell to generate completions for [possible values:bash,elvish,fish,powershell,zsh]
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (text or json) [default: text]--verbose- Enable verbose output-h,--help- Print help
wash dev
Start a development server for a Wasm component.
Usage: wash dev [OPTIONS] <PROJECT_DIR>
<PROJECT_DIR>- The path to the project directory [default:.]
Options:
--address <ADDRESS>- The address on which the HTTP server will listen [default:0.0.0.0:8000]--artifact-path <ARTIFACT_PATH>— The expected path to the built Wasm component artifact--blobstore-root <BLOBSTORE_ROOT>- The root directory for the blobstore to use forwasi:blobstore/blobstore. Defaults to a subfolder in the wash data directory-l,--log-level <LOG_LEVEL>— Set the log level (trace, debug, info, warn, error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (text or json) [default:text]--runtime-config <RUNTIME_CONFIG>- Configuration values to use forwasi:config/runtimein the form ofkey=valuepairs--tls-cert <TLS_CERT>- Path to TLS certificate file (PEM format) for HTTPS support--tls-key <TLS_KEY>- Path to TLS private key file (PEM format) for HTTPS support--tls-ca <TLS_CA>- Path to CA certificate bundle (PEM format) for client certificate verification (optional)--verbose- Enable verbose output-h,--help- Print help
wash doctor
Check the health of your wash installation and environment.
Usage: wash doctor [OPTIONS] <PROJECT_PATH>
<PROJECT_PATH>- The path to the project directory [default:.]
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash inspect
Inspect a Wasm component's embedded WIT.
Usage: wash inspect [OPTIONS] <COMPONENT_REFERENCE>
<COMPONENT_REFERENCE>- Inspect a component by its reference, which can be a local file path, project directory, or remote OCI reference. If omitted or pointing to a directory, attempts to build and inspect a component from that directory.
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash new
Create a new project from a template or git repository.
Usage: wash new [OPTIONS] <NAME>
<NAME>- Project name and local directory to create, defaults to repository/subfolder name.
Options:
--git <GIT>- Git repository URL to use as template--local <LOCAL>- Local filesystem path to use as template-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--subfolder <SUBFOLDER>- Subdirectory within the git repository to use (only valid with--git)--template-name <TEMPLATE_NAME>- Named template from configuration file--verbose- Enable verbose output-h,--help- Print help
wash oci
Push or pull Wasm components to or from an OCI registry.
Usage:: wash oci [OPTIONS] <COMMAND>
Subcommands:
pull- Pull a component artifact from an OCI registry.push- Push a component artifact to an OCI registry.
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash oci pull
Pull a component artifact from an OCI registry.
Usage: wash oci pull [OPTIONS] <REFERENCE> <COMPONENT_PATH>
<REFERENCE>- The OCI reference to pull.<COMPONENT_PATH>- The path to write the pulled component to [default:component.wasm]
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash oci push
Push a component artifact to an OCI registry.
Usage: wash oci push [OPTIONS] <REFERENCE> <COMPONENT_PATH>
<REFERENCE>- The OCI reference to push.<COMPONENT_PATH>- The path to the component to push.
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash plugin
Manage wash plugins.
Usage: wash plugin [OPTIONS] <COMMAND>
Subcommands:
install- Install a plugin.uninstall- Uninstall a plugin.list- List installed plugin.test- Test a plugin.
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash plugin install
Install a plugin from an OCI reference or file.
Usage: wash plugin install [OPTIONS] <SOURCE>
<SOURCE>- The source to install from (OCI reference or file path)
Options:
-f,--force- Force overwrite if plugin already exists-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash plugin uninstall
Uninstall a plugin.
Usage: wash plugin uninstall [OPTIONS] <NAME>
<NAME>- The name of the plugin to uninstall.
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash plugin list
List installed plugins.
Usage: wash plugin list [OPTIONS]
Options:
-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash plugin test
Test a plugin.
Usage: wash plugin test [OPTIONS] <PLUGIN> <ARG>...
<PLUGIN>- Path to the component or component project to test<ARG>...- The arguments to pass to the plugin command
Options:
--hook <TYPE>- The hook types to test-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--verbose- Enable verbose output-h,--help- Print help
wash update
Update wash to the latest version.
Usage: wash update [OPTIONS]
Options:
-d,--dry-run- Check for updates without applying them-f,--force- Force update even if already on the latest version--git <GIT>- Point at a different repository for updates [default:wasmcloud/wash]-l,--log-level <LOG_LEVEL>— Set the log level (trace,debug,info,warn,error) [default:info]--major- Allow major version updates (breaking changes)--minor- Allow minor version updates (new features, no breaking changes)--patch- Allow only patch updates (bug fixes only)-o,--output <OUTPUT_FORMAT>— Specify output format (textorjson) [default:text]--token <TOKEN>- GitHub token for private repository access. Can also be set viaGITHUB_TOKEN,GH_TOKEN, orGITHUB_ACCESS_TOKENenvironment variables [env:WASH_GITHUB_TOKEN=].--verbose- Enable verbose output-h,--help- Print help