windmill-labs/windmill · error
Nu is not available because the feature is not enabled
Error message
Nu is not available because the feature is not enabled
What it means
Windmill compiles Nu script execution behind the optional `nu` cargo feature. When a job for a Nu script is dispatched to a worker binary built without that feature, the executor immediately fails with this message. The binary literally has no Nu runtime linked, so the job can never run on it.
Source
Thrown at backend/windmill-worker/src/worker.rs:6727
conn,
client,
parent_runnable_path,
&code,
job_dir,
lock.as_ref(),
&shared_mount,
base_internal_url,
worker_name,
envs,
occupancy_metrics,
modules.as_ref(),
))
.await
}
ScriptLang::Nu => {
#[cfg(not(feature = "nu"))]
return Err(
anyhow::anyhow!("Nu is not available because the feature is not enabled").into(),
);
#[cfg(feature = "nu")]
{
if run_inline {
return Err(Error::internal_err(
"Inline execution is not yet supported for this language".to_string(),
));
}
Box::pin(handle_nu_job(JobHandlerInputNu {
mem_peak,
canceled_by,
job,
conn,
client,
parent_runnable_path,
inner_content: &code,
job_dir,View on GitHub (pinned to e474e8803c)
Solutions
- Rebuild the backend/worker with `--features nu` (plus your other features)
- Route nu-tagged jobs to a worker/image that includes the nu feature
- Change the script's language if Nu is not actually needed
Example fix
// before cargo run --features quickjs // after cargo run --features quickjs,nu
Defensive patterns
Strategy: fallback
Validate before calling
// check which features your worker exposes before running nu jobs curl -s $WORKER_URL/api/workers/list | jq '.[].tags'
Try / catch
try {
await runScript("nu", code);
} catch (e) {
if (String(e).includes("Nu is not available")) {
// rebuild worker with --features nu or route to a nu-capable worker
}
} Prevention
- Match your worker's cargo features to every script language used in the workspace
- Document the feature set used to build production workers
- Verify the worker binary's feature list before enabling new language scripts in the UI
When it happens
Trigger: Running a script with language `nu` on a worker built without `--features nu` (e.g. default `cargo run` with only `quickjs`, or an official image variant that excludes Nu).
Common situations: Self-hosted builds using minimal feature sets, dev backends started with the default fast-build features, switching the script language to nu in a workspace served by a feature-restricted worker.
Related errors
- JavaScript expression evaluation requires the `quickjs` feat
- Java is not available because the feature is not enabled
- Ruby is not available because the feature is not enabled
- R is not available because the feature is not enabled
- Indexer mode requires compiling with the tantivy feature fla
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/0ea985439233b9e1.
Report an issue: GitHub.