Files

1.4 KiB

Stable Extension ID

Chrome and Brave derive an extension ID from the extension public key. If the key changes, the extension ID changes too.

Why this matters for rclone-jav:

  • chrome.storage.sync settings are scoped to the extension ID.
  • The native messaging host manifest authorizes specific extension IDs in allowed_origins.
  • Moving or reloading an unpacked extension without a fixed key can make settings appear to vanish and can break native messaging.
  1. Export settings from Options -> Backup before changing install paths.
  2. Keep Production loaded from a stable folder path.
  3. For a permanently stable unpacked ID, add a fixed Chrome extension public key to manifest.json under the key field.
  4. After the ID changes intentionally, update the native host manifest allowed_origins and re-register the host.
  5. Import the settings backup.

Packed extension workflow

If you pack the extension as a .crx, save the generated .pem private key. Packing future versions with the same .pem produces the same extension ID.

Do not lose or share the .pem; it controls the extension identity.

Unpacked extension workflow

For unpacked installs, use the public key derived from the .pem as manifest.json's key value. The value must be the Chrome extension public key format, not an arbitrary string.

Same manifest key = same extension ID.