{"record":{"id":"c849d919aa82541f","repo":"windmill-labs/windmill","slug":"is-currently-not-supported","errorCode":null,"errorMessage":"{} is currently not supported","messagePattern":"(.+?) is currently not supported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"backend/windmill-types/src/scripts.rs","lineNumber":177,"sourceCode":"            \"powershell\" => ScriptLang::Powershell,\n            \"postgresql\" => ScriptLang::Postgresql,\n            \"mysql\" => ScriptLang::Mysql,\n            \"bigquery\" => ScriptLang::Bigquery,\n            \"snowflake\" => ScriptLang::Snowflake,\n            \"mssql\" => ScriptLang::Mssql,\n            \"graphql\" => ScriptLang::Graphql,\n            \"oracledb\" => ScriptLang::OracleDB,\n            \"php\" => ScriptLang::Php,\n            \"rust\" => ScriptLang::Rust,\n            \"ansible\" => ScriptLang::Ansible,\n            \"csharp\" => ScriptLang::CSharp,\n            \"nu\" => ScriptLang::Nu,\n            \"java\" => ScriptLang::Java,\n            \"ruby\" => ScriptLang::Ruby,\n            \"rlang\" => ScriptLang::Rlang,\n            \"dbt\" => ScriptLang::Dbt,\n            // for related places search: ADD_NEW_LANG\n            language => return Err(anyhow::anyhow!(\"{} is currently not supported\", language)),\n        };\n\n        Ok(language)\n    }\n}\n\n#[derive(Eq, PartialEq, Debug, Hash, Clone, Copy, sqlx::Type)]\n#[sqlx(transparent)]\npub struct ScriptHash(pub i64);\n\nimpl Deref for ScriptHash {\n    type Target = i64;\n    fn deref(&self) -> &Self::Target {\n        &self.0\n    }\n}\n\nimpl Into<u64> for ScriptHash {","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/backend/windmill-types/src/scripts.rs#L159-L195","documentation":"ScriptLang::from_str rejects any language string that is not one of the known script languages (python, bash, go, javascript, etc.). Windmill added languages over time, so unknown strings fail with this message.","triggerScenarios":"Creating/updating a script (or importing one) whose `language` field is an unsupported or misspelled value, e.g. `perl`, `Python` (wrong case), or a newer language read by an older server.","commonSituations":"Hand-edited script metadata; deploying scripts exported from a newer windmill into an older instance; typos or wrong casing in the language field.","solutions":["Use a supported language string exactly as listed (lowercase: python, bash, go, javascript, typescript, php, nu, java, ruby, rlang, dbt, ...)","If the script is from a newer windmill, upgrade the instance","Check for casing/whitespace issues in the language field"],"exampleFix":"// before\n{\"language\": \"Python\"}\n// after\n{\"language\": \"python\"}","handlingStrategy":"validation","validationCode":"SUPPORTED_LANGS = {\"python\",\"bash\",\"go\",\"javascript\",\"typescript\",\"php\",\"nu\",\"java\",\"ruby\",\"rlang\",\"dbt\",\"deno\",\"ansible\"}\nif script[\"language\"] not in SUPPORTED_LANGS:\n    raise ValueError(f\"unsupported language: {script['language']}\")","typeGuard":"function isScriptLang(s: string): s is ScriptLang {\n  return [\"python\",\"bash\",\"go\",\"javascript\",\"typescript\",\"php\",\"nu\",\"java\",\"ruby\",\"rlang\",\"dbt\"].includes(s);\n}","tryCatchPattern":"match script_lang_str.parse::<ScriptLang>() {\n    Err(e) if e.to_string().ends_with(\"is currently not supported\") => {\n        eprintln!(\"use a supported language string (lowercase): {e}\");\n    }\n    other => other?,\n}","preventionTips":["Always lowercase the language field","Check the server's supported-language list before deploying","Upgrade windmill if a script uses a newer language"],"tags":["rust","scripts","validation"],"backgroundTag":"unsupported-language-value","analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}