windmill-labs/windmill · error
Runnable ${runnableId} not found in backend folder or raw_ap
Error message
Runnable ${runnableId} not found in backend folder or raw_app.yaml What it means
Lookup miss in inferRunnableSchemaFromFile: the runnable id resolves to neither a standalone <id>.yaml under the app's backend folder (new format) nor an entry in raw_app.yaml's runnables map (old format). The code logs this warning and returns undefined, excluding the runnable from schema inference.
Source
Thrown at cli/src/commands/app/app_metadata.ts:895
}
// Read the runnable from its separate YAML file (new format)
const runnableFilePath2 = path.join(
appFolder,
APP_BACKEND_FOLDER,
`${runnableId}.yaml`
);
let runnable: any;
try {
runnable = await yamlParseFile(runnableFilePath2);
} catch {
// Fall back to reading from raw_app.yaml (old format)
try {
const appFilePath = path.join(appFolder, "raw_app.yaml");
const appFile = (await yamlParseFile(appFilePath)) as RawAppFile;
if (!appFile.runnables?.[runnableId]) {
log.warn(
colors.yellow(`Runnable ${runnableId} not found in backend folder or raw_app.yaml`)
);
return undefined;
}
runnable = appFile.runnables[runnableId];
} catch {
// No YAML at all - in the new backend-folder format a code-only runnable
// (no .yaml sibling) is treated as inline. We can still infer its schema.
runnable = { type: "inline" };
}
}
// Determine language and current schema. Two cases:
// - Old format: the YAML carries an `inlineScript` block with language + schema
// - New format: the YAML only declares `type: inline` and the language is
// derived from the code file's extension (the inlineScript is reconstructed
// from sibling files at load time).
let language: SupportedLanguage | undefined;View on GitHub (pinned to e474e8803c)
Solutions
- Check the runnable id spelling in the app YAML against the actual file name in the backend folder
- Ensure the runnable's YAML file exists in APP_BACKEND_FOLDER or is listed in raw_app.yaml
- Re-sync or re-create the app so backend files are materialized
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at cli/src/commands/app/app_metadata.ts:895 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/4c4a98ee94a7a730.
Report an issue: GitHub.