windmill-labs/windmill · error

Invalid language: + language

Error message

Invalid language: + language

What it means

Guard converting a script language name to a file extension: the given language string is not one of the supported Windmill script languages (python, typescript, go, bash, etc.), so no canonical extension exists for it.

Source

Thrown at cli/src/commands/script/script.ts:1275

  } else if (language === "ansible") {
    return ".playbook.yml";
  } else if (language === "csharp") {
    return ".cs";
  } else if (language === "nu") {
    return ".nu";
  } else if (language === "java") {
    return ".java";
  } else if (language === "ruby") {
    return ".rb";
  } else if (language === "rlang") {
    return ".r";
  } else if (language === "dbt") {
    // Not an extension but a path suffix: a dbt script's content file lives
    // inside the project folder, so `<base> + this` is where it belongs.
    return "__dbt/" + DBT_DESCRIPTOR_NAME;
    // for related places search: ADD_NEW_LANG
  } else {
    throw new Error("Invalid language: " + language);
  }
}

export const exts = [
  ".fetch.ts",
  ".deno.ts",
  ".bun.ts",
  ".ts",
  ".py",
  ".go",
  ".sh",
  ".pg.sql",
  ".my.sql",
  ".bq.sql",
  ".odb.sql",
  ".sf.sql",
  ".ms.sql",
  ".duckdb.sql",

View on GitHub (pinned to e474e8803c)

Solutions

  1. Use a supported language value (python, typescript, go, bash, powershell, ansible, csharp, nu, java, ruby, rlang, dbt).
  2. Check the metadata's language field for typos.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cli/src/commands/script/script.ts:1275 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/de0d7ff5513bd179. Report an issue: GitHub.