Critical – Premiere scripting engine does not respond to CEP evalScript calls
Product: Adobe Premiere Pro
Version: 25.6.2
Operating System: Windows 11
Issue Type: Critical – Premiere scripting engine does not respond to CEP evalScript calls
Reproducible: Yes, on every clean install
Summary:
After performing a clean installation of Premiere Pro 25.6.2, the ExtendScript engine does not respond at all to CEP evalScript() calls. Even the simplest test such as evalScript("42") hangs and never returns. The same version works normally when installed by upgrading from Premiere Pro 25.5. This indicates that the clean installer for 25.6.2 is missing or failing to initialize the scripting runtime.
Expected Behavior:
evalScript() should execute ExtendScript code inside Premiere and return the result. A simple script like "42" should immediately return "42".
Actual Behavior (clean install machines):
CSInterface initializes correctly and can read host info, but all evalScript() calls hang indefinitely. Even evalScript("42") never calls its callback. No errors are returned. Premiere does not execute any ExtendScript code.
Behavior on upgraded machines:
If Premiere 25.5 is installed first and then updated to 25.6.2, scripting works normally. evalScript("42") returns 42, typeof app works, and app.project.name is accessible. This proves the problem is specific to clean installations of 25.6.2.
Steps to Reproduce:
Working machine:
- Install Premiere Pro 25.5.
- Update to Premiere Pro 25.6.2.
- Run a CEP extension and call cs.evalScript("42", callback).
- The callback returns "42" as expected.
Broken machine:
- Perform a clean install of Premiere Pro 25.6.2 (no previous version installed).
- Install the same simple CEP extension.
- Call cs.evalScript("42", callback).
- Callback never fires. No result is returned.
Diagnostic Test Results:
Working machine:
Test 1: "42" → result: 42
Test 2: typeof app → result: typeof app: object
Test 3: app.project.name → result: Project name: Untitled.prproj
Broken machine:
Test 1: "42" → TIMEOUT (no response)
Tests 2 and 3 never run because Test 1 already hangs.
Impact:
All CEP extensions that rely on Premiere scripting fail completely on affected machines, including automation tools, ingest/export helpers, production panels, AI workflow tools, pipeline integrations, QC tools, and any extension using evalScript(). This blocks workflows in our environment because scripting is essential.
Hypothesis:
The clean installer for Premiere Pro 25.6.2 appears to be missing or failing to register/initialize the ExtendScript engine or the JS-to-ExtendScript bridge. The fact that upgrades work but clean installs do not strongly suggests a missing runtime component or an initialization step that only happens during upgrades.
Request:
Please investigate why Premiere Pro 25.6.2 clean installs do not initialize the scripting engine. Specifically:
Is a scripting runtime file missing from the clean installer?
Is the ExtendScript host not being registered?
Why does upgrading from 25.5 → 25.6.2 fix the issue?
Can Adobe provide a workaround or patch for clean-install systems?
I can provide the test extension, debug logs, screenshots, and differences between the working and failing installations if needed.
Code Used For Testing (CEP Panel JavaScript)
document.addEventListener('DOMContentLoaded', function () {
var statusEl = document.getElementById('status');
if (!statusEl) {
statusEl = document.createElement('pre');
statusEl.id = 'status';
document.body.appendChild(statusEl);
}
function log(msg) {
console.log('[API TEST]', msg);
statusEl.textContent += (statusEl.textContent ? '\n' : '') + msg;
}
statusEl.textContent = 'Starting Premiere API test…';
try {
var cs = new CSInterface();
log('\nCSInterface created.');
var hostEnv = cs.getHostEnvironment();
log('Host appName: ' + hostEnv.appName + ', version: ' + hostEnv.appVersion);
function runEvalTest(label, script, timeoutMs, next) {
log('\n--- ' + label + ' ---');
log('Sending script: ' + script.replace(/\\s+/g, ' ').slice(0, 200));
var gotCallback = false;
cs.evalScript(script, function (result) {
gotCallback = true;
log(label + ' → result: ' + String(result));
if (typeof next === 'function') {
next();
}
});
setTimeout(function () {
if (!gotCallback) {
log(label + ' → TIMEOUT: no response from Premiere after ' + timeoutMs + ' ms');
}
}, timeoutMs);
}
var scriptLiteral42 = '"42"';
var scriptTypeOfApp = "(" + String(function () {
try {
return "typeof app: " + (typeof app);
} catch (e) {
return "ERROR (typeof app): " + e.toString();
}
}) + ")();";
var scriptProjectName = "(" + String(function () {
try {
if (!app) return "app is null/undefined";
if (!app.project) return "app.project is null/undefined";
return "Project name: " + (app.project.name || "[no name]");
} catch (e) {
return "ERROR (project name): " + e.toString();
}
}) + ")();";
runEvalTest('Test 1: literal "42"', scriptLiteral42, 5000, function () {
runEvalTest('Test 2: typeof app', scriptTypeOfApp, 5000, function () {
runEvalTest('Test 3: app.project.name', scriptProjectName, 5000, function () {
log('\nAll tests finished.');
});
});
});
} catch (e) {
log('ERROR creating CSInterface or calling Premiere: ' + e.toString());
}
