wasmerio/wasmer · error · anyhow::Error
No backends support the required features for the Wasm…
Error message
No backends support the required features for the Wasm module. Feel free to open an issue at https://github.com/wasmerio/wasmer/issues
What it means
When filtering the available backends by the module's required features leaves an empty list, no compiler in this binary can run the module, so get_engine_for_features bails with this message. It points users to file an issue because it usually means a feature/backend support gap in Wasmer itself.
Solutions
- Install/use a Wasmer build with all backends (singlepass, cranelift, llvm features enabled)
- Downgrade the module's required features (recompile the wasm with fewer/older features)
- File an issue at https://github.com/wasmerio/wasmer/issues if a shipped backend should support the features
Example fix
// before cargo install wasmer --no-default-features --features singlepass // after cargo install wasmer --features singlepass,cranelift,llvm
Defensive patterns
Strategy: validation
Validate before calling
let required = module.features();
if BackendType::all().filter(|b| b.supports_features(&required)).count() == 0 {
return Err("no installed backend supports this module's features; rebuild wasmer with all compilers");
} Try / catch
match result {
Err(e) if e.to_string().contains("No backends support the required features") => {
eprintln!("rebuild wasmer with singlepass+cranelift+llvm");
Err(e)
}
other => other?,
} Prevention
- Ship full-featured Wasmer builds (all three compilers) for general-purpose use
- Pre-check module feature requirements against your binary's backends
- Keep Wasmer updated to gain backend support for new proposals
When it happens
Trigger: get_engine_for_module encounters a module whose required feature set (from its compile-time features) intersects with no installed backend, on a build where filter_backends_by_features returns [].
Common situations: Minimal/feature-restricted Wasmer builds (e.g. singlepass-only) running modules that need unsupported proposals; very new Wasm proposals before backend support; stripped custom binaries.
Related errors
- The backend does not support the required features for the…
- The ` ` compiler is not included in this binary.
- The headless engine can't be chosen
- Can't check permissions of
- Cannot create app from template in offline mode
AI-assisted analysis of wasmerio/wasmer@8c4b9ee9d3 (2026-09-01).
Data as JSON: /api/errors/347d09cc61b5bfbd.
Report an issue: GitHub.
Appendix: source
Thrown at lib/cli/src/backend.rs:328
if filtered_backends.is_empty() {
let enabled_backends = BackendType::enabled();
if backends.len() == 1 && enabled_backends.len() > 1 {
// If the user has chosen an specific backend, we can suggest to use another one
let filtered_backends =
Self::filter_backends_by_features(enabled_backends, required_features, target);
let extra_text: String = if !filtered_backends.is_empty() {
format!(". You can use --{} instead", filtered_backends[0])
} else {
"".to_string()
};
bail!(
"The {} backend does not support the required features for the Wasm module{}",
backends[0],
extra_text
);
} else {
bail!(
"No backends support the required features for the Wasm module. Feel free to open an issue at https://github.com/wasmerio/wasmer/issues"
);
}
}
filtered_backends.first().unwrap().get_engine(target, self)
}
#[cfg(feature = "compiler")]
/// Get the enabled Wasm features.
pub fn get_features(&self, default_features: &Features) -> Result<Features> {
if self.features.all {
return Ok(Features::all());
}
let mut result = default_features.clone();
if !self.features.disable_threads {
result.threads(true);
}View on GitHub (pinned to 8c4b9ee9d3)