Best coding assistant for UXP?

Hi,

Does anyone have any experience of using coding assistants to write UXP plugins? Which is currently the best option? Codex, Claude, Gemini Code Assist, Cursor, … ? Which solution is best suited to UXP? And can it be used with the UXP developer tool?

Thanx

Claude has some awareness of UXP. But don’t expect it to handle complex tasks well. It can be hard even for humans due to the current state of documentation and the lack of maintained samples. But will likely handle simple scripts fine.

UXP developer tool cannot be used with AI. But I created UXP Debugger for VSCode. Since it runs directly in VSCode… later this year, I think I should be able to connect it with the AI agent API UXP Debugger - Visual Studio Marketplace , and I believe it should be able to run the debugger and read values for you.

Also I noticed Claude in VSCode in agent mode do read reported issues in VS Code panel and is aware of unsupported CSS. But will use gap property anyway. I guess I should tell him explicitly to check for that :smiley: Validator for UXP - Visual Studio Marketplace
Or maybe I could try some AI Agent API as well, for it to check CSS before it even writes that code.

Please be aware that you could be left stranded by Adobe since UXP might not work as expected and can be subject to change. I had a working plugin but it stopped working after a Photoshop update. I eventually got it working again but no support from Adobe. Plugins eat memory and you can only release that memory by rebooting Photoshop.

It’s astonishing how quickly people can produce impressive results using vibe coding and coding assistants. But it all depends on how well models have been trained on specific technology, and it seems that most coding assistants face the same problem as people do when they want to get started with UXP. Due to insufficient public documentation and a lack of examples for each Adobe application, LLMs are inadequately trained and the results are poor. Hopefully this will be resolved soon …

I still don’t do much agentic coding, as a matter of personal preference. However, I’ve noticed that the models I’ve queried about UXP-related code and APIs will happily propose solutions that combine UXP and ExtendScript in ways that obviously don’t work. That’s just something to be aware of.

As with all agentic coding, your results will significantly improve when you give your agent access to correct types.d.ts files and force them to reference it or, better yet, have it built in as a linting step. Setting up automated verification loops so that it can check the results of its own work are also a must. UXP has many odd bugs that don’t show up in the types file but DO show up when you actually test the returns of the API. To the credit of the UXP team, these bugs are getting discovered and ironed out. UXP is significantly easier to develop now than it was in the previous years.

Codex has a lot of problems helping coding apps in UXP, but it seems like the main problem is that UXP isn’t that good and there’s poor documentation from Adobe. For example, I’ve had great results in Unity with Codex, but it struggles with UXP because basic functionality isn’t supported. I’ve been trying to get ChatGPT and Claude-powered extensions to read the internal transcript in CEP and UXP to make informed (AI-powered) editing choices, and it can’t do it. The extension has to export the transcript in .json then re-import it. It’s frustrating.

“It’s pathetic” is a pretty strong framing and I’m going to step in and defend the PPro UXP team here. PPro is over 20 years old which means it is a massive product with massive historical accumulated tech debt. Something that seems “basic” is only basic in a greenfield project, not an enterprise piece of software as massive as Premiere.

That being said, I run a plugin that uses the UXP transcript APIs to do exactly what you are trying to do and we have it set up and working perfectly well.

Sorry. I’ll edit my post. It’s just frustrating. Premiere is losing ground to CapCut because it has stronger AI integration and better caption features. I still use Premiere of course, because I’ve been using it for 30 years

LLM’s will be as good as the data trained on, so if there’s no complete data, the output will be incomplete or hallucinated. LLM’s are getting really good and fast, but personally I use them only to make me smarter not to solve the problems for me. I don’t like to use code that I don’t understand so I prefer to use the LLM’s to teach me tricks and foundation of computers to create at my own will and creativity, coding is fun, copying and pasting isn’t for me, but that’s another topic.

It took 80 days to build, but I just shipped a UXP plugin called VertForge that crops clips at the 50% mark of the sequence (regardless of size or position). It also saves motion settings to 1 of 6 tabs that can later be paste back. I’m about to release the update that includes cropping at 1/3.

VertForge VQF crop

I used chatGPT to get a panel loading in the dev app, and scripted some basic button functions. But quickly ran into many issues around documentation and API calls like everyone else is talking about… Sorry, the following is a brain dump.

You can set up a project and feed all the SDK headers as a foundation.

You can state the problem and ask it to create a probe button to search for undocumented calls. (know that you might build around something that breaks on the next update)

You can also tell it to ask GREG (grep in terminal, (a typo inside joke that stuck)) and it will give you places to poke on your machine.

To start, get a panel with one piece of functionality, add from there, LLMs aren’t very good at doing 20 features at once. They’re great at making a PRD, but not executing it all in one go, at least in my experience.

I had a working panel with ChatGPT and then moved to Claude… it has changed the game. I use the chat window to explain problems and think about solutions, and then co-worker has access to a folder on my desktop that has my manifest, js, html… once it confirms changes I reload the plugin and test.

Tell it to load up with console logs ahead of time, unless you’re confident. I don’t know code, so errors I just had to paste back to the LLM and ask what it meant.

About a dozen times I was told by both models that what I was doing wasn’t possible, particularly around multicam and changing angles automatically. I pushed back, or thought of a new way to execute the same thing, and it always turned out that it WAS possible.

If you get stuck, ask it to summarize the issue and then take that to a new chat window or new model completely… I noticed it would get stuck in a loop and switching to a new AI made it more enthusiastic about solving the problem. Problems it couldn’t solve earlier.

One last (shameless) plug… for my plugin. Video Quick Fix is the service business I’ve built over the last decade, and we’re just getting into software, because I’m a new dad want to stop selling my time so I have more time with my kids… If you try the plugin and have feedback, you can send me a message and I’ll gladly give you an extended license key.

Good luck out there! And may your auto save always bring your life stability.

VertForge VQF