Skip to content
Octo × Scripts and UXP PT Request an assessment

Octo for scripts and UXP in Photoshop

One hundred forty JSX scripts, one inventory, one migration order. The one who approves the switch is you.

Photoshop runs ExtendScript and, since version 23.5, UXP scripts (.psjs); UXP plugins have a panel, a manifest and permissions. Octo inventories what the team has, rewrites in UXP what is used, with executeAsModal, a file picker and a log, and compares the outputs side by side with the old JSX. The image, the permissions and the switch stay with people.

UXP scripts since23.5.psjs file, according to Adobe
CEP off by defaultDec. 2027in Photoshop, according to Adobe's roadmap
ExtendScript end datenonepublished in the roadmap read
Sources13listed at the end of the page
01

What Octo does with your scripts.

Six possible deliverables, drawn from the research. None of them switches a production script without a comparison, all of them check the output by content, and all of them go to review by whoever answers for the workflow.

JSX inventory

Each script with what weighs on the migration: DOM, ScriptListener descriptors, ScriptUI, BridgeTalk, absolute paths, plain-text secrets.

Deliverable: inventario.csv with a class per script

UXP batch scripts

Folder picker, executeAsModal with progress and cancellation, a copy with a standard name, the original closed without saving.

Deliverable: .psjs and a log of each file

Plugin with a panel

A manifest with minimal permissions: files through the picker, network closed, no external process without justification.

Deliverable: reviewed manifest.json and plugin loaded in UDT

Reviewed action in code

"Copy As JavaScript" from a reviewed action becomes clean batchPlay descriptors; what the DOM covers goes to the DOM.

Deliverable: descriptors with review notes

Side-by-side comparison

The JSX and the .psjs on the same folder of difficult cases; names, dimensions and profile compared before the switch.

Deliverable: comparison approved by the person in charge

Check before the workstations

Syntax, manifest, permissions, absolute paths and secrets checked without Photoshop, before any installation.

Deliverable: checagem.txt per plugin version
02

Eight arms, a compared migration.

The same Octo cycle, applied to scripts and plugins. Each arm has a narrow role; the ones who approve the image, the permissions and the switch are people.

  1. Discovery

    Surveys what exists

    Scripts, CEP panels and plugins, which ones run, on which Photoshop version and on how many workstations.

  2. Data

    Writes the inventory and cases

    Inventory, a JSX to UXP equivalence table and a versioned folder of test cases.

  3. Security

    Protects secrets and permissions

    Plain-text secrets, absolute paths, manifest permissions and third-party code.

  4. Architecture

    Chooses the path

    .psjs script, plugin, hybrid plugin or cloud, depending on the task and what UXP can reach.

  5. Development

    Rewrites in UXP

    With executeAsModal, a file picker, a log and the DOM before batchPlay.

  6. Review

    Compares by content

    JSX and .psjs side by side on the difficult cases. "It ran without errors" is not a comparison.

  7. Release

    Prepares the package

    A checked plugin and installation instructions. Installation on the workstations is approved by the client.

  8. Documentation

    Records what was migrated

    What was migrated, what stayed and why, and the Adobe roadmap dates read at each review.

Octo does not switch a production script without a comparison and does not request permissions the plugin doesn't use. It does not approve images, does not install anything on the workstations and does not keep anyone's license.

03

Every task, its own path.

The criteria Octo uses to choose, with the documented limit of each path.

TaskPathNotes
One-off task, no panelUXP script (.psjs)Photoshop 23.5 or newer; no persistent data
Buttons and a panel for the teamUXP pluginManifest with permissions; loaded through UDT
A step the DOM doesn't coverbatchPlayAdobe recommends trying the DOM first
Change a documentexecuteAsModalRequired; progress, cancellation and history
Native code or an external processHybrid pluginLast resort; a heavier security review
Legacy script that still runsExtendScript, until migratedNo published end date; CEP panels have a date
Script with no workstationPhotoshop APIUXP scripts in limited availability, tight sandbox
04

From piled-up JSX to compared UXP.

Three steps. Each one only makes sense after the previous one has shown results on your team.

A proposal, not a promise

1 Today

Inventory

Octo reads the scripts folder and the installed panels, without changing anything on the workstations.

  • Class per script
  • Secrets and absolute paths
  • What actually runs
Gain: knowing the size of the migration
2 Next

Most-used scripts in UXP

The most-used straightforward scripts rewritten in .psjs and compared side by side with the JSX.

  • Progress and cancellation
  • Original closed without saving
  • Switch approved by the retoucher
Gain: day-to-day work already off the legacy
3 Later

Team plugin

Reviewed actions and scripts gathered in a panel with minimal permissions.

  • Clean descriptors
  • Check before the workstations
  • Installation approved by the client
Gain: before December 2027, without a rush
05

Confirmed by a source.

Every point below has a source published by the vendor, by the project or by the responsible agency. The sources are in the next section.

3

points with a published source, each with its reference shown alongside.

ConfirmedUXP scripts since 23.5
A .psjs file, run through File > Scripts > Browse, by dragging or by an action; no panel, no manifest, unloaded when finished.Source: developer.adobe.com, UXP Scripting in Photoshop and Scripting
ConfirmedEvery change in executeAsModal
Modal state required to change Photoshop; progress, cancellation with Esc and grouped history.Source: developer.adobe.com, executeAsModal
ConfirmedCEP off by default in December 2027
In Photoshop: UXP generally available by MAX 2026, Marketplace with no new CEP in Q2 2027; full CEP removal planned for December 2029.Source: developer.adobe.com, UXP Migration Center
06

What Octo does, and what stays with you.

Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

Surveys, calculates, organizes and produces the documents: processed files, proofs, reports and spreadsheets.

Deliverable: material ready to check

Your team checks

The client or the art director checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.

Step: checked by the person who approves

Who approves

Octo does not approve the artwork. Artwork carries no legal signature: approval of the artwork and the proof stays with the client or the art director.

Approval: client or art director
07

Sources.

Adobe developer pages (scripting, UXP, executeAsModal, batchPlay, Document class, manifest, Migration Center, Photoshop API) and Photoshop help pages (scripting, what's new, requirements), consulted on Oct 31, 2026.

Your Photoshop scripts, inventoried and migrated with a comparison.

The assessment starts with an inventory of the scripts folder the team already has. You get each script's class, the secrets and paths to remove, the proposed order and the questions only your team can answer, and you decide with that in hand.