Skip to content

Instantly share code, notes, and snippets.

@kenrmayfield
Last active July 23, 2025 23:43
Show Gist options
  • Select an option

  • Save kenrmayfield/f1bb708e1516eb740b8613f27a94b7cd to your computer and use it in GitHub Desktop.

Select an option

Save kenrmayfield/f1bb708e1516eb740b8613f27a94b7cd to your computer and use it in GitHub Desktop.

Proxmox VE nag removal, manually - Proxmox PVE 8.4.2+, PBS 3.4.3+

TL;DR Brief look at what exactly brings up the dreaded notice regarding no valid subscription. Eliminate bad UX that no user of free software should need to endure.


ORIGINAL POST Proxmox VE nag removal, manually


This is a rudimentary description of a manual popup removal method which Proxmox stubbornly keep censoring. ^

TIP You might instead prefer a reliable and safe scripted method of the “nag” removal.

Fresh install

First, make sure you have set up the correct repositories for upgrades.

IMPORTANT All actions below preferably performed over direct SSH connection or console, NOT via Web GUI.

Upgrade (if you wish so) before the removal:

apt update && apt -y full-upgrade
CAUTION Upgrade after removal may overwrite your modification.

Removal

Make a copy of the offending JavaScript piece:

cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js{,.bak}

Edit in place around above line 600 and remove the marked lines:

--- proxmoxlib.js.bak
+++ proxmoxlib.js

     checked_command: function(orig_cmd) {
    Proxmox.Utils.API2Request(
        {
        url: '/nodes/localhost/subscription',
        method: 'GET',
        failure: function(response, opts) {
            Ext.Msg.alert(gettext('Error'), response.htmlStatus);
        },
        success: function(response, opts) {
-           let res = response.result;
-           if (res === null || res === undefined || !res || res
-           .data.status.toLowerCase() !== 'active') {
-           Ext.Msg.show({
-               title: gettext('No valid subscription'),
-               icon: Ext.Msg.WARNING,
-               message: Proxmox.Utils.getNoSubKeyHtml(res.data.url),
-               buttons: Ext.Msg.OK,
-               callback: function(btn) {
-               if (btn !== 'ok') {
-                   return;
-               }
-               orig_cmd();
-               },
-           });
-           } else {
            orig_cmd();
-           }
        },
        },
    );
     },

Restore default component

Should anything go wrong, revert back:

apt reinstall proxmox-widget-toolkit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment