Lately I’ve been trying out Studio, WordPress’s own local development app. Initially, just as an alternative to Local to see what it could do. I’ve found that Studio Code, the agentic AI built into it, has been surprisingly nice to use. Connected to WordPress-specific documentation, it feels more powerful and reliable than my trial run of that other WordPress experiment, Telex, which tends to unravel with successive requests (in my experience).
Using Studio Code on a few real-life client tasks this past week, my overall impression is positive: it’s intuitive and I really like being able to connect my IDE to this setup. However, while it’s good at creating a solution it is less good at choosing how a solution should be built in WordPress.
This is a BETA version, I’m sure the experience will become refined over time and with more usage.
Make me a theme!

Diving right into Studio Code on the heels of it’s launch (and with 100,000 free AI credits to start), I asked it to build me a new block theme based on an existing classic site, and gave it a full-page screenshot to work from.
In just a few minutes it had spun up a new site and a custom block theme. “Wow!,” I thought with just a twinge of existential dread, “This is going to save me so much time!”
But then I looked at how it decided to build. Behind the pretty design curtain was a hardcoded stylesheet of colors, font sizes, spacing values, and core block tweaks that had no global definitions. Rather than using theme.json, or executing designs in core blocks on the page, Studio Code had created something with a classic junior-developer mindset – built literally to the spec but without any consideration for long-term maintainability or natural changes in content over time.
Taking apart what AI built and putting it back together the “right” way, I wondered if being more specific in my prompts about how to build this theme would improve the result. But also, shouldn’t it already sort of know that hardcoding everything is “wrong”? Or, at least, that it shouldn’t be the default?
Status:
- Cost: 100,000 AI credits (0 credits remaining)
- Level of completion: Incomplete
- Production-readiness: Not ready*
Debugging request
As I rejiggered the theme, I gave Studio Code a short, specific task to explain why a style wasn’t appearing, using CSS I’d already written and tested elsewhere. I shared the code snippet (add a border-bottom on the current page’s link in the main navigation).
Studio Code found the relevant code in my theme, checked the frontend and reported that the class it needed — .current-menu-item — wasn’t being applied. Which it then decided to interpret as an error. It called the missing class the “real bug” and promptly dove into architecting a solution.
As it iterated, showing me a log that proved it was working very hard, it found the reason why the class didn’t exist on the front-end: the nav links weren’t wired to real WordPress Page objects. WordPress only auto-adds .current-menu-item when a nav link references a real post ID. The menu links were hardcoded URLs because Studio Code had created a visual match to my initial design, but not the actual pages indicated.
But, again, this was a choice made by Studio Code to put placeholder links in the menu rather than create a menu of pages. That’s not something I would do when building a site out and it didn’t occur to me that anyone else (or any agentic presence) would create a menu this way either.
From this “bug”, it determined that the next step was to create a new PHP function: a filter that manually compared each link’s URL to the current request and tags it as “current” allowing my class to work.
But that solve was also a totally unnecessary fix (that cost me whole $1.97 in AI credits). The better answer would have been going into the editor and reconnecting each nav item to its actual Page. The new function solved a perceived failure that was actually just WordPress working as intended. If I was using Studio Code as a non-developer, I wouldn’t have known the difference.
Studio Code didn’t tell me it was about to add a custom function, and it never surfaced that an alternative fix was rebuilding the nav links, not working around their absence. Solving-the-symptom and solving-the-cause looked identical to the tool (because it’s predictive, not consciously trouble-shooting).
I expected that Studio Code would have the context around how WordPress works to approach the initial request differently. But, that just reinforces the value of my own experience with WordPress over 20 years. I know where to look when funky issues occur. To Studio Code (aka. The Hammer), everything is a nail.
Status:
- Investment: 100,000 AI credits
- Used: 19,727 credits
- Level of completion: Complete but also wrong
- Production-readiness: Not ready
Probabilistic decision-making

“Combobulating…”
Part of why I didn’t catch these misdirected efforts in the moment: Studio Code (and other AI pals) display a running log while they work. They are disarmingly busy with file searches, checks, little status lines, and occasional bits of personality. To a human, that reads like someone narrating their process, and we extend that the same trust we’d extend a colleague who’s talking through their steps out loud. A person doing that is usually also self-correcting as they go, so hearing the narration is itself a signal that the work is on track.
Alas, ’tis but an illusion. The log is a UX pattern, not a transparency window. It tells you the tool is doing something, even when that’s just diving down another rabbit-hole.
Web designers aren’t out of a job (yet)
What Studio Code produced worked but it didn’t reliably reach for the WordPress mechanism that would allow for a more functional, thoughtful structure. Like the Mechanical Turk that appeared to play chess autonomously, it’s a fun rush to the finish line but unless you can run through multiple passes and specifically steer it (ouch, the AI credits!), it’s not quite a replacement for the knowledgable human within.
I can review what Studio Code and AI tools produce and decide whether to accept it or push back on the process. For the parts I need technical help with – building utility plugins and custom blocks – Studio Code is still a genuinely handy tool. I fix what I think it should have done differently, or, as I like to say, make it more better.
For people who don’t have a background in building websites, or knowledge of what to ask for, what gets produced is likely to create issues: accessibility failures, a plugin or theme that’s hard to maintain over time, and usability problems for anyone else who has to work with what they made.
In some ways, this reminds me of the evolution of desktop publishing. Once people could create in Microsoft Word, design opened up to everyone. There were fewer barriers to entry – which in my opinion is always good. It also introduced a lot of “bad” design, simply because people weren’t trained in the field. Comic Sans, all caps, off-brand colors, whimsical clip art, centered or fully justified text – these are the classic faux pas that make professional designers cringe. But ugly can be beautiful too. Look at thrift store paintings and found art, both of which have their own dedicated connoisseurs. What’s beautiful is that people want to express themselves, in all kinds of ways. When you don’t know the rules, there are no rules (which is something you also have to discover on your own after you learn all of the rules)!
So if people want to prompt their way through a website design, that’s not a bad thing. Maybe it becomes a kind of web design renaissance – people generating on the fly and just having fun with it.
But… as a web developer, there is a place where those rules do matter, when you are making something for public use and not just for your own amusement. So, don’t forget to review the code and push back on those assumptions.
Resources:
- Nick Diego, “Getting started with WordPress Studio“
- Ryan Welcher’s, “My New Favorite Way to Vibe Code with WordPress” – helpful slash commands explored here.
- Jonathan Bossenger is doing a lot of AI exploration with WordPress in live streams and videos.

































