{"record":{"id":"287e801d5f1892b4","repo":"GoogleContainerTools/skaffold","slug":"unable-to-determine-runtime-for-q","errorCode":null,"errorMessage":"unable to determine runtime for %q","messagePattern":"unable to determine runtime for %q","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/debug/container.go","lineNumber":170,"sourceCode":"}\n\nfunc performContainerTransform(adapter types.ContainerAdapter, config ImageConfiguration, portAlloc PortAllocator) (types.ContainerDebugConfiguration, string, error) {\n\tlog.Entry(context.TODO()).Tracef(\"Examining container %q with config %v\", adapter.GetContainer().Name, config)\n\t// This approach prioritizes the user-defined runtime specified in the configuration. If the user explicitly defines the runtime, we assume they have a\n\t// specific intention and want to use that specific transform. If no explicit runtime is specified, the code tries to infer the appropriate transform\n\t//  based on other indicators in the configuration.\n\tfor transform := range containerTransforms {\n\t\tif transform.MatchRuntime(config) {\n\t\t\treturn transform.Apply(adapter, config, portAlloc, Protocols)\n\t\t}\n\t}\n\n\tfor transform := range containerTransforms {\n\t\tif transform.IsApplicable(config) {\n\t\t\treturn transform.Apply(adapter, config, portAlloc, Protocols)\n\t\t}\n\t}\n\treturn types.ContainerDebugConfiguration{}, \"\", fmt.Errorf(\"unable to determine runtime for %q\", adapter.GetContainer().Name)\n}\n","sourceCodeStart":152,"sourceCodeEnd":172,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/debug/container.go#L152-L172","documentation":"Fires in performContainerTransform when neither a user-specified runtime nor inference from the container/image configuration (entrypoint, env, buildpacks metadata) identifies a known language runtime for the container, so no debug transformer (Go/Delve, Java, Node, Python) can be selected.","triggerScenarios":"Thrown at pkg/skaffold/debug/container.go:170 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the runtime explicitly for the artifact in skaffold.yaml (e.g. buildpacks runtime or debug runtime override) so inference is unnecessary","Ensure the image carries recognizable metadata (entrypoint, buildpack labels) for runtime detection","Rebuild the image with a builder (buildpacks) that embeds runtime information"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}