Hybrid UXP plugin not loaded on macOS: premierepro.json registers $systemPlugins/root/External, but the files are installed under Plugins/<username>/External

Environment

  • macOS 27.0.1 (Apple Silicon)
  • Premiere Pro 26.3.2
  • Creative Cloud desktop 6.11.0.479, UnifiedPluginInstallerAgent 8.6.0.49
  • Same result with the ZXP/UXP Installer 1.8.801 (which uses UPIA)

Plugin
A Premiere Pro UXP plugin with a native add-on: manifestVersion 6, addon in the manifest, requiredPermissions.enableAddon: true, add-on binaries in mac/arm64, mac/x64 and win/x64. The same plugin without the add-on installs to $localPlugins and loads normally.

What happens on macOS

  1. Installing the .ccx (double-click, UnifiedPluginInstallerAgent --install, or the ZXP/UXP Installer) reports success.

  2. UPIA escalates the install to AdobeExtensionsService (ACC.log):

escalateInsufficientPrivilegeInstall: install needs elevation, escalating to AES for .../com.cutsync.panel_premierepro.ccx
CEPTaskManager::waitForAesEscalationResult: AES reported status 0
  1. The files are installed to:
/Library/Application Support/Adobe/UXP/Plugins/<username>/External/com.cutsync.panel_1.3.1/
  1. But ~/Library/Application Support/Adobe/UXP/PluginsInfo/v1/premierepro.json records the path as:
$systemPlugins/root/External/com.cutsync.panel_1.3.1
  1. Premiere Pro doesn’t load the plugin. From the UXP log:
[Error] [general] Failed to open the manifest.json file.Failed to invoke the stat. File Path: /Library/Application Support/Adobe/UXP/Plugins/root/External/com.cutsync.panel_1.3.1/manifest.json

The AES log (/Library/Application Support/Adobe/UPI/Log/EMCL.log) also refers to root’s home folder:

File not found: /var/root/Library/Application Support/Adobe/UXP/PluginsStorage/PPRO

So it looks like AES, running as root, writes its own user name into the registry entry, while the files are placed under the logged-in user’s folder.

Workaround (testing only)
Changing that entry in premierepro.json from “root” to the user name makes Premiere Pro load the plugin, and everything works, including the add-on. Of course we can’t ask customers to do this.

Windows is fine
On Windows 11 (Premiere Pro 26.5.2, same .ccx) the files go to C:\Program Files\Common Files\Adobe\UXP\Plugins\<username>\External\... and premierepro.json records $systemPlugins\<username>\External\..., so the names match and the plugin loads.

Possibly related: UXP Workspace not persistent (hybrid plugins under $systemPlugins/<username>/External; there the path matches and only the workspace restore fails).

Is this a known issue with UPIA/AES on macOS? And is there a supported way to install a hybrid Premiere Pro plugin on Mac until it’s fixed? I can share a test build and the full logs privately if that helps.

Thanks!

@yas-tools Thanks for reporting this issue.
Can you please share the logs from your machine using the CC log collector tool to investigate the issue?
https://helpx.adobe.com/creative-cloud/apps/troubleshoot/diagnostics-repair-tools/run-log-collector-tool.html

Also, can you try disable/enable of that plugin in CCD and see if the plugin work in host app?
Thanks!

@gbajaj Thanks for looking into this!

I tried disabling and re-enabling the plugin in the Creative Cloud desktop app (Stock & Marketplace > Plugins > Manage plugins), and it does make the plugin load.

Steps (macOS 27.0.1, Premiere Pro 26.5.2, Creative Cloud desktop 6.11.0.479):

  1. Reinstalled the .ccx with UnifiedPluginInstallerAgent --install. Same as before: ACC.log shows “escalating to AES” → “AES reported status 0”, the files go to /Library/Application Support/Adobe/UXP/Plugins/<username>/External/com.cutsync.panel_1.3.1, and premierepro.json records $systemPlugins/root/External/com.cutsync.panel_1.3.1.
  2. In CCD, Disable → premierepro.json now records $systemPlugins/<username>/External/com.cutsync.panel_1.3.1 (status disabled). So the disable step rewrites the entry with the correct user name.
  3. Enable → still $systemPlugins/<username>/External/... (status enabled).
  4. Launched Premiere Pro → the plugin loads (“com.cutsync.panel is added in uxp plugin manager with status as enabled”), no “Failed to open the manifest.json” error, and the panel opens from Window > UXP Plugins.

So disable/enable works as a workaround, but every fresh install still writes “root” into premierepro.json, so customers would have to do this extra step after installing.

This looks like the same issue as Since Creative Cloud 6.11 the UPIA installs hybrid UXP plugins as root on macOS — two failure modes (EXCH-4214692). In case it helps that investigation: on my Mac, the Disable step in CCD is what rewrites the premierepro.json entry from “root” to the user name.

Logs: my forum account is new and can’t send private messages yet, and the logs contain my local user name, so I’d rather not attach them here. Is it OK to email them to neearora, as in the related thread? I’ll include the Log Collector output plus the ACC.log excerpt for the install and the disable/enable, the UXP log after re-enabling, and premierepro.json.

Thanks!

@gbajaj I’ve emailed the logs to neearora (subject: “Logs for EXCH-4214692 – hybrid UXP plugin registered under $systemPlugins/root on macOS (forum topic 12339)”): the Log Collector output via a Google Drive folder shared with that address, plus a small zip with the ACC.log / UXP log excerpts from the disable/enable test. Happy to reproduce it in a session if useful. Thanks!