windmill-labs/windmill · error

Could not extract app name from path: ${p}

Error message

Could not extract app name from path: ${p}

What it means

pushObj routes a sync item by its path suffix; for an app item the extractResourceName call returned nothing, meaning the path does not contain a usable <name>.app segment, so the app cannot be addressed on the remote.

Source

Thrown at cli/src/types.ts:229

  plainSecrets: boolean,
  alreadySynced: string[],
  opts: PushObjOptions = {},
) {
  const {
    message,
    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);

View on GitHub (pinned to e474e8803c)

Solutions

  1. Rename the file so the path ends with <appname>.app.yaml (or the folder form <appname>/app).
  2. Check for missing or malformed type suffixes in the path.
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at cli/src/types.ts:229 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/22fbc9fce30a36b8. Report an issue: GitHub.