windmill-labs/windmill · error · Error
Bounded run failed at ${nodePath} (job ${id}). + (detail ? \
Error message
Bounded run failed at ${nodePath} (job ${id}). + (detail ? \n${detail} : ) + \nFull logs: ${runUrl} What it means
Failure stop in the pipeline run command: a node's job completed unsuccessfully during a bounded run, so the CLI halts the topological cascade at that node. The message names the failing node path and job id, appends the formatted job failure detail (error message/result) when available, and links the run URL for full logs. This is the CLI surfacing a remote job failure — the actual exception happened inside the job, not in the CLI.
Source
Thrown at cli/src/commands/pipeline/pipeline.ts:1023
path: nodePath,
args: nodeArgs,
temp_script_refs: tempScriptRefs,
// `// tag` routes to the same worker the deployed pipeline would.
...(ls.tag ? { tag: ls.tag } : {}),
} as any,
});
} else {
id = await wmill.runScriptByPath({
workspace: workspace.workspaceId,
path: nodePath,
requestBody: nodeArgs,
});
}
const { ok, result } = await waitJob(workspace.workspaceId, id);
if (!ok) {
const detail = formatJobFailure(result);
const runUrl = `${workspace.remote}run/${id}?workspace=${workspace.workspaceId}`;
throw new Error(
`Bounded run failed at ${nodePath} (job ${id}).` +
(detail ? `\n${detail}` : "") +
`\nFull logs: ${runUrl}`,
);
}
if (!opts.json) log.info(colors.green(` ✓ ${nodePath}`));
}
if (!opts.json) {
log.info(colors.green.bold(`Bounded run complete — ${order.length} script(s) succeeded.`));
}
}
const command = new Command()
.description(
"inspect asset-driven pipelines (scripts marked `// pipeline`, wired by `// on <spec>` annotations)",
)
.command("list", "list pipeline folders in the workspace")
.option("--json", "Output as JSON (for piping to jq)")View on GitHub (pinned to e474e8803c)
Solutions
- Open the run URL in the message to read the job's full logs and error
- Fix the failing script (its inputs, code, or resources) and re-run the bounded range
- If the failure was caused by an upstream arg, adjust the --upload/--arg bindings and retry
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at cli/src/commands/pipeline/pipeline.ts:1023 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/1e3155fb2890f4f6.
Report an issue: GitHub.