{"record":{"id":"daeb31f1b8ca697d","repo":"pulumi/pulumi","slug":"failed-to-load-language-plugin-s-w-daeb31","errorCode":null,"errorMessage":"failed to load language plugin %s: %w","messagePattern":"failed to load language plugin (.+?): %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/cmd/pulumi/project/newcmd/new.go","lineNumber":387,"sourceCode":"\t\tctx,\n\t\tprojinfo,\n\t\tpluginHost,\n\t\tcmdutil.Diag(),\n\t\tcmdutil.Diag(),\n\t\tfalse, /* disableProviderPreview */\n\t\tnil,   /* tracingSpan */\n\t\tnil,   /* config */\n\t)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer pluginCtx.Close()\n\n\t// If we're creating an empty project we won't have a runtime name\n\tif proj.Runtime.Name() != \"\" {\n\t\tlang, err := pluginCtx.Host.LanguageRuntime(pluginCtx, proj.Runtime.Name())\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to load language plugin %s: %w\", proj.Runtime.Name(), err)\n\t\t}\n\t\tdefer lang.Close()\n\n\t\tprogramInfo := plugin.NewProgramInfo(pluginCtx.Root, pluginCtx.Pwd, entryPoint, proj.Runtime.Options())\n\n\t\t// Query the language runtime for additional options.\n\t\tif args.promptRuntimeOptions != nil {\n\t\t\toptions, err := args.promptRuntimeOptions(pluginCtx, lang, &proj.Runtime, entryPoint, opts,\n\t\t\t\targs.yes, args.interactive, args.prompt)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif len(options) > 0 {\n\t\t\t\t// Save the new options\n\t\t\t\tfor k, v := range options {\n\t\t\t\t\tproj.Runtime.SetOption(k, v)\n\t\t\t\t}\n\t\t\t\tif err = pkgWorkspace.SaveProject(proj); err != nil {","sourceCodeStart":369,"sourceCodeEnd":405,"githubUrl":"https://github.com/pulumi/pulumi/blob/793f7b2e160db4321fb7fb6b0607461e01cb251e/pkg/cmd/pulumi/project/newcmd/new.go#L369-L405","documentation":"Thrown when `pulumi new` cannot load the language runtime plugin for the project's runtime (e.g. nodejs, python, go) via pluginCtx.Host.LanguageRuntime. The language host binary could not be found, installed, or started, so follow-up generation/restore steps cannot run.","triggerScenarios":"Project runtime set to a language whose plugin is missing/incompatible; plugin install blocked by network; LanguageRuntime call fails at plugin launch.","commonSituations":"Custom or typo'd runtime name in Pulumi.yaml; offline environment preventing plugin download; corrupted plugin cache; a version of the language plugin incompatible with the CLI.","solutions":["Verify the runtime name in Pulumi.yaml is a supported one (nodejs, python, go, dotnet, yaml, ...)","Ensure the language plugin is installed/available and the CLI can reach the plugin source (network/proxy)","Clear or repair the plugin cache and reinstall (delete ~/.pulumi/plugins entries for the language host)","Upgrade the Pulumi CLI so the bundled language host matches your version","Check the wrapped error for launch details (missing binary, exec format error, etc.)"],"exampleFix":"// before (Pulumi.yaml)\nruntime: nodejss\n// after\nruntime: nodejs","handlingStrategy":"retry","validationCode":"grep -E '^runtime:' Pulumi.yaml  # confirm the runtime is one of: nodejs python go dotnet yaml","typeGuard":null,"tryCatchPattern":"pulumi new my-template || pulumi new my-template  # retry once to rule out transient plugin fetch failure","preventionTips":["Use supported runtime names in Pulumi.yaml","Ensure network access for plugin downloads in CI","Keep the CLI and language plugins at compatible versions","Periodically clean corrupt entries in ~/.pulumi/plugins"],"tags":["cli","plugins","language-runtime","pulumi-new"],"backgroundTag":"language-plugin-load-failed","analyzedSha":"793f7b2e160db4321fb7fb6b0607461e01cb251e","analyzedAt":"2026-08-31T09:36:43.099Z","schemaVersion":2},"datasetVersion":"2026-08-31T14:17:45.589Z"}