{"record":{"id":"cbee99e2260147c9","repo":"windmill-labs/windmill","slug":"no-defaultts-defined-in-your-wmill-yaml-using-bu","errorCode":null,"errorMessage":"No defaultTs defined in your wmill.yaml. Using 'bun' as default.","messagePattern":"No defaultTs defined in your wmill\\.yaml\\. Using 'bun' as default\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/core/conf.ts","lineNumber":282,"sourceCode":"        }\n      }\n    } else if (conf?.workspaces) {\n      // If both workspaces and any legacy key exist, warn and use workspaces\n      for (const legacyKey of [\"gitBranches\", \"environments\", \"git_branches\"] as const) {\n        if ((conf as any)[legacyKey]) {\n          log.warn(\n            `⚠️  Both 'workspaces' and '${legacyKey}' found in wmill.yaml. Using 'workspaces' and ignoring '${legacyKey}'.`\n          );\n        }\n      }\n    }\n    // Clean legacy keys from in-memory config\n    delete conf?.gitBranches;\n    delete (conf as any)?.environments;\n    delete conf?.git_branches;\n\n    if (conf?.defaultTs == undefined) {\n      log.warn(\n        \"No defaultTs defined in your wmill.yaml. Using 'bun' as default.\"\n      );\n    }\n\n    // Initialize global nonDottedPaths setting from config\n    setNonDottedPaths(conf?.nonDottedPaths ?? false);\n\n    const syncBehaviorVersion = parseSyncBehavior(conf?.syncBehavior);\n    if (syncBehaviorVersion > SUPPORTED_SYNC_BEHAVIOR_VERSION) {\n      log.error(\n        `Your wmill.yaml specifies syncBehavior: ${conf!.syncBehavior}, but this CLI only supports up to v${SUPPORTED_SYNC_BEHAVIOR_VERSION}. Run 'wmill upgrade' to update.`\n      );\n      process.exit(1);\n    }\n\n    return typeof conf == \"object\" ? conf : ({} as SyncOptions);\n  } catch (e) {\n    if (","sourceCodeStart":264,"sourceCodeEnd":300,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/core/conf.ts#L264-L300","documentation":"Defaulting notice from readConfigFile: wmill.yaml has no defaultTs entry, so the CLI falls back to 'bun' as the default TypeScript runtime for new scripts and language inference. Purely informational; behavior is well-defined with the fallback.","triggerScenarios":"Thrown at cli/src/core/conf.ts:282 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add 'defaultTs: <bun|nativets|deno>' to wmill.yaml to make it explicit","No action needed if 'bun' is the intended default"],"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"}