windmill-labs/windmill · error
Could not extract raw app name from path: ${p}
Error message
Could not extract raw app name from path: ${p} What it means
Thrown by pushObj when the sync path is recognized as a raw app (typeEnding raw_app) but extractResourceName cannot recover the raw app's name from the file path. This is a generic guard against malformed sync paths: the input at fault is the local path `p`, which despite ending in raw_app does not contain a parseable resource name segment, so the push cannot determine which remote raw app to target.
Source
Thrown at cli/src/types.ts:235
originalLocalPath,
permissionedAsContext,
wsSpecific,
keyPushOpts,
defaultTs,
enabledOwnedByParent,
} = opts;
const typeEnding = getTypeStrFromPath(p);
if (typeEnding === "app") {
const appName = extractResourceName(p, "app");
if (!appName) {
throw new Error(`Could not extract app name from path: ${p}`);
}
await pushApp(workspace, appName, buildFolderPath(appName, "app"), message, permissionedAsContext);
} else if (typeEnding === "raw_app") {
const rawAppName = extractResourceName(p, "raw_app");
if (!rawAppName) {
throw new Error(`Could not extract raw app name from path: ${p}`);
}
await pushRawApp(workspace, rawAppName, buildFolderPath(rawAppName, "raw_app"), message, defaultTs);
} else if (typeEnding === "folder") {
await pushFolder(workspace, p, befObj, newObj);
} else if (typeEnding === "variable") {
await pushVariable(workspace, p, befObj, newObj, plainSecrets, wsSpecific);
} else if (typeEnding === "flow") {
const flowName = extractResourceName(p, "flow");
if (!flowName) {
throw new Error(`Could not extract flow name from path: ${p}`);
}
await pushFlow(workspace, flowName, buildFolderPath(flowName, "flow"), message, permissionedAsContext);
} else if (typeEnding === "resource") {
if (!alreadySynced.includes(p)) {
alreadySynced.push(p);
await pushResource(workspace, p, befObj, newObj, originalLocalPath || p, wsSpecific, true);
}
} else if (typeEnding === "resource-type") {View on GitHub (pinned to e474e8803c)
Solutions
- Ensure the file/folder path follows the <name>.raw_app(.yaml) convention.
- Fix the type suffix in the path.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at cli/src/types.ts:235 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/289d840f5e78d3f0.
Report an issue: GitHub.