{"record":{"id":"1ba2f99e88d59c3f","repo":"GoogleContainerTools/jib","slug":"helpfulsuggestions-forinsecureregistry","errorCode":null,"errorMessage":"${helpfulSuggestions.forInsecureRegistry()}","messagePattern":"\\$\\{helpfulSuggestions\\.forInsecureRegistry\\(\\)\\}","errorType":"exception","errorClass":"BuildStepsExecutionException","httpStatus":null,"severity":"error","filePath":"jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java","lineNumber":276,"sourceCode":"    } catch (RegistryCredentialsNotSentException ex) {\n      throw new BuildStepsExecutionException(helpfulSuggestions.forCredentialsNotSent(), ex);\n\n    } catch (RegistryAuthenticationFailedException ex) {\n      if (ex.getCause() instanceof ResponseException) {\n        handleRegistryUnauthorizedException(\n            new RegistryUnauthorizedException(\n                ex.getServerUrl(), ex.getImageName(), (ResponseException) ex.getCause()),\n            helpfulSuggestions);\n      } else {\n        // Unknown cause\n        throw new BuildStepsExecutionException(helpfulSuggestions.none(), ex);\n      }\n\n    } catch (UnknownHostException ex) {\n      throw new BuildStepsExecutionException(helpfulSuggestions.forUnknownHost(), ex);\n\n    } catch (InsecureRegistryException ex) {\n      throw new BuildStepsExecutionException(helpfulSuggestions.forInsecureRegistry(), ex);\n\n    } catch (RegistryException ex) {\n      String message = Verify.verifyNotNull(ex.getMessage()); // keep null-away happy\n      throw new BuildStepsExecutionException(message, ex);\n\n    } catch (ExecutionException ex) {\n      String message = ex.getCause().getMessage();\n      throw new BuildStepsExecutionException(\n          message == null ? \"(null exception message)\" : message, ex.getCause());\n\n    } catch (InterruptedException ex) {\n      Thread.currentThread().interrupt();\n      throw new BuildStepsExecutionException(helpfulSuggestions.none(), ex);\n    }\n\n    throw new IllegalStateException(\"unreachable\");\n  }\n","sourceCodeStart":258,"sourceCodeEnd":294,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java#L258-L294","documentation":"BuildStepsExecutionException wrapping a RegistryAuthenticationFailedException thrown in JibBuildRunner.runBuild() when Jib cannot authenticate against the target registry at all (token endpoint failure, unreachable auth server, malformed credentials), i.e. the request never got far enough to be a per-repository 401. The forInsecureRegistry()/none() suggestion path is used when the cause is not an HTTP ResponseException, indicating a connection- or configuration-level authentication failure.","triggerScenarios":"Thrown at jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/JibBuildRunner.java:276 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check network connectivity and any proxy settings between the build machine and the registry's auth endpoint","Confirm registry URL/protocol is correct; if the registry only serves plain HTTP, configure Jib's allowInsecureRegistries option for that registry","Verify supplied credentials are well-formed and that the registry's auth service is operational"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fb949e2676afbbd7dd7a1ef61e20251931325654","analyzedAt":"2026-09-06T14:04:09.491Z","contentChangedAt":"2026-09-06T14:04:09.491Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}