windmill-labs/windmill · error

Could not determine language for ${runnableId} (ext: ${ext})

Error message

Could not determine language for ${runnableId} (ext: ${ext})

What it means

Guard in inferRunnableSchemaFromFile: the runnable has no inlineScript.language and its type is neither 'inline' nor 'runnableByName', so getLanguageFromExtension could not map the code file's extension to a supported language (unknown extension or defaultTs fallback exhausted). Schema inference for this runnable is abandoned.

Source

Thrown at cli/src/commands/app/app_metadata.ts:929

  //   derived from the code file's extension (the inlineScript is reconstructed
  //   from sibling files at load time).
  let language: SupportedLanguage | undefined;
  let currentSchema: any;
  if (runnable?.inlineScript) {
    language = runnable.inlineScript.language as SupportedLanguage;
    currentSchema = runnable.inlineScript.schema;
  } else if (
    runnable?.type === "inline" ||
    runnable?.type === "runnableByName"
  ) {
    language = getLanguageFromExtension(ext, defaultTs);
  } else {
    // Path-based runnable or unknown type - schema lives at the script/flow path
    return undefined;
  }

  if (!language) {
    log.warn(
      colors.yellow(
        `Could not determine language for ${runnableId} (ext: ${ext})`
      )
    );
    return undefined;
  }

  // Read the actual content from the file
  const fullFilePath = path.join(
    appFolder,
    APP_BACKEND_FOLDER,
    runnableFilePath
  );
  let content: string;
  try {
    content = await readTextFile(fullFilePath);
  } catch {
    log.warn(colors.yellow(`Could not read file: ${fullFilePath}`));

View on GitHub (pinned to e474e8803c)

Solutions

  1. Rename the runnable's code file to an extension matching a supported language
  2. Set the language explicitly via inlineScript.language in the runnable YAML
  3. Set defaultTs / check the runnable's declared type so the extension mapping applies
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at cli/src/commands/app/app_metadata.ts:929 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/8d79b2da6ad60604. Report an issue: GitHub.