jenkinsci/jenkins · warning · Error

Restart is not supported, please manually restart this insta

Error message

Restart is not supported, please manually restart this instance

What it means

Thrown by the Jenkins plugin install wizard after a plugin install that requested a restart. The wizard polls pluginManager.getRestartStatus(); when the controller reports restartRequired=true but restartSupported=false, it cannot trigger an automatic restart and aborts the wait loop. The message is the localized key installWizard_error_restartNotSupported.

Source

Thrown at src/main/js/pluginSetupWizardGui.js:1204

    installPlugins(selectedPluginNames);
  };

  // restart jenkins
  var restartJenkins = function () {
    pluginManager.restartJenkins(function () {
      setPanel(loadingPanel);

      console.log("-------------------");
      console.log("Waiting for Jenkins to come back online...");
      console.log("-------------------");
      var pingUntilRestarted = function () {
        pluginManager.getRestartStatus(function (restartStatus) {
          if (this.isError || restartStatus.restartRequired) {
            if (this.isError || restartStatus.restartSupported) {
              console.log("Waiting...");
              setTimeout(pingUntilRestarted, 1000);
            } else if (!restartStatus.restartSupported) {
              throw new Error(
                translations.installWizard_error_restartNotSupported,
              );
            }
          } else {
            jenkins.goTo("/");
          }
        });
      };

      pingUntilRestarted();
    });
  };

  // close the installer, mark not to show again
  var closeInstaller = function () {
    pluginManager.completeInstall(
      handleGenericError(function () {
        jenkins.goTo("/");

View on GitHub (pinned to 2e228ff40b)

Solutions

  1. Restart the Jenkins process manually through your deployment mechanism (docker restart, systemctl restart jenkins, pod rollout, etc.) and reload the page.
  2. If you control the controller, start it so restart is supported (run 'java -jar jenkins.war' directly, not embedded in another app) and ensure no startup flag or proxy strips the restart capability.
  3. Avoid relying on the wizard's restart step in containerized setups; install plugins via init.groovy / CasC (configuration-as-code) and restart the container as part of the image build instead.

Example fix

// before: wizard auto-restart path cannot work in a container
jenkins.restart();
// after: surface a manual-restart instruction to the operator
alert(translations.installWizard_error_restartNotSupported);
jenkins.goTo("/safeRestart");
Defensive patterns

Strategy: validation

Validate before calling

// Before relying on restart, query support once and branch
pluginManager.getRestartStatus(function (restartStatus) {
  if (!restartStatus.restartSupported) {
    // show manual-restart UI instead of entering the throwing wait loop
    showManualRestartNotice();
    return;
  }
  // safe to poll for auto-restart
  pingUntilRestarted();
});

Prevention

When it happens

Trigger: Plugin installation completes with a pending restart on a Jenkins controller launched in a way that does not advertise restart support (e.g. started via 'java -jar jenkins.war' inside a container without the /restart endpoint enabled, or managed by an external process/supervisor). The wizard's pingUntilRestarted loop reads restartStatus.restartSupported === false while restartStatus.restartRequired === true.

Common situations: Jenkins running inside Docker/Kubernetes without restart capability; Jenkins launched as a Windows service or systemd unit where the safe-restart endpoint is disabled; managed Jenkins (CloudBees CI, OpenShift) that deliberately hides restart support from the UI.

Related errors


AI-assisted analysis of jenkinsci/jenkins@2e228ff40b (2026-08-14). Data as JSON: /api/errors/a26425c6ac86fa92. Report an issue: GitHub.