Skip to content

Inspect and validate

A Wasm module has no ambient access to files, clocks, or a network. Those capabilities arrive through imports supplied by the host or a plugin.

List imports

sh
wago module imports app.wasm

The output shows each exact import and whether the selected plugin scope resolves it. Add --json for a script or CI check:

sh
wago module imports app.wasm --json

List required capabilities

sh
wago module capabilities app.wasm

This turns low-level imports into higher-level authority such as filesystem or network access. Review those requirements before adding a plugin.

Every import is unresolved#

The module probably needs a plugin or application-supplied host functions. A WASI command module commonly starts with:

sh
wago init --run
wago add wago-org/wasi

Read Use plugins before granting access to host resources.

The plugin is installed but imports stay unresolved#

Check the selected scope:

sh
wago plugin list --local
wago plugin list --global
wago status

Then run with --local, --global, or an explicit --plugin selection.

Validate without running

sh
wago validate app.wasm

A successful validation is quiet. Validation does not instantiate the module, call its start function, or exercise host imports.

For a large module, opt into parallel validation:

sh
wago validate --parallel app.wasm
wago validate --parallel=4 app.wasm

With no worker count, Wago chooses adaptively. A number sets the worker maximum.

Next

Released under the Apache 2.0 License.