{"record":{"id":"8d79b2da6ad60604","repo":"windmill-labs/windmill","slug":"could-not-determine-language-for-runnableid-ex","errorCode":null,"errorMessage":"Could not determine language for ${runnableId} (ext: ${ext})","messagePattern":"Could not determine language for (.+?) \\(ext: (.+?)\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/app/app_metadata.ts","lineNumber":929,"sourceCode":"  //   derived from the code file's extension (the inlineScript is reconstructed\n  //   from sibling files at load time).\n  let language: SupportedLanguage | undefined;\n  let currentSchema: any;\n  if (runnable?.inlineScript) {\n    language = runnable.inlineScript.language as SupportedLanguage;\n    currentSchema = runnable.inlineScript.schema;\n  } else if (\n    runnable?.type === \"inline\" ||\n    runnable?.type === \"runnableByName\"\n  ) {\n    language = getLanguageFromExtension(ext, defaultTs);\n  } else {\n    // Path-based runnable or unknown type - schema lives at the script/flow path\n    return undefined;\n  }\n\n  if (!language) {\n    log.warn(\n      colors.yellow(\n        `Could not determine language for ${runnableId} (ext: ${ext})`\n      )\n    );\n    return undefined;\n  }\n\n  // Read the actual content from the file\n  const fullFilePath = path.join(\n    appFolder,\n    APP_BACKEND_FOLDER,\n    runnableFilePath\n  );\n  let content: string;\n  try {\n    content = await readTextFile(fullFilePath);\n  } catch {\n    log.warn(colors.yellow(`Could not read file: ${fullFilePath}`));","sourceCodeStart":911,"sourceCodeEnd":947,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/app/app_metadata.ts#L911-L947","documentation":"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.","triggerScenarios":"Thrown at cli/src/commands/app/app_metadata.ts:929 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Rename the runnable's code file to an extension matching a supported language","Set the language explicitly via inlineScript.language in the runnable YAML","Set defaultTs / check the runnable's declared type so the extension mapping applies"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}