{"record":{"id":"066d4bc2da7e55d9","repo":"windmill-labs/windmill","slug":"from-opts-from-matched-no-script-in-f-f","errorCode":null,"errorMessage":"--from '${opts.from}' matched no script in f/${f}.","messagePattern":"--from '(.+?)' matched no script in f/(.+?)\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cli/src/commands/pipeline/pipeline.ts","lineNumber":740,"sourceCode":"  // pipeline in topological order rather than forcing a single start, the way\n  // `dbt run` (no `--select`) runs the entire project. `--to` still needs an\n  // explicit `--from` since bounding is relative to one start.\n  let runAll = false;\n  let start: string | undefined;\n  if (opts.from) {\n    const resolved = resolveToken(graph, opts.from);\n    if (!resolved) {\n      // Distinguish \"no match\" from \"ambiguous short name\" (resolveToken\n      // returns undefined for both) so the hint is actionable.\n      const matches = graph.runnables.filter(\n        (r) => r.usage_kind === \"script\" && (r.path.split(\"/\").pop() ?? r.path) === opts.from,\n      );\n      if (matches.length > 1) {\n        throw new Error(\n          `--from '${opts.from}' matches multiple scripts (${matches.map((r) => r.path).sort().join(\", \")}) — pass the full path.`,\n        );\n      }\n      throw new Error(`--from '${opts.from}' matched no script in f/${f}.`);\n    }\n    if (macroLibPaths.has(scriptPathOf(resolved))) {\n      throw new Error(\n        `--from '${opts.from}' is a \\`// macros\\` library — definition-only, injected into consuming scripts at run time, never a runnable step.`,\n      );\n    }\n    // A `--local` display-only node (a non-`// pipeline` DuckDB script surfaced\n    // only because it calls a macro) has no previewable content — reject it\n    // clearly rather than admitting it and silently producing an empty plan.\n    if (notRunnablePaths.has(scriptPathOf(resolved))) {\n      throw new Error(\n        `--from '${opts.from}' isn't a \\`// pipeline\\` script — it appears in the local graph only as a macro consumer (lineage). Mark it \\`// pipeline\\` to run it.`,\n      );\n    }\n    if (!resolved.startsWith(\"script:\")) {\n      throw new Error(\n        `--from '${opts.from}' is an asset, not a runnable — start a run from a script (assets are produced, not run).`,\n      );","sourceCodeStart":722,"sourceCodeEnd":758,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/pipeline/pipeline.ts#L722-L758","documentation":"No-match guard for --from in the pipeline run command: the token resolved to nothing and the fallback basename scan across script runnables in folder f found zero matches. The input at fault is the --from value — mistyped name, wrong folder scope, or a script that isn't in the loaded pipeline graph at all.","triggerScenarios":"Thrown at cli/src/commands/pipeline/pipeline.ts:740 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the script path (wmill flow ls or the UI) and pass the full path to --from","Check you're running against the intended folder — the graph is scoped to f/{f}","If the script should be runnable, mark it // pipeline so it enters the graph as a runnable"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}