Skip to content
System nominalUTC --:--:--Articles 085

Claude Code, Codex or OpenCode for WordPress?

No AI vendor documents PHP or WordPress. Compare what Claude Code, Codex and OpenCode actually do against a theme or plugin codebase.

Devon Parker · @dparker

APIs and integrations

Topic
TOOL
Section
Tooling & Workflow
Published
16 OCT 2026
Reading time
9 MIN
Words
2066W
Technical cover graphic for Claude Code, Codex or OpenCode for WordPress?
Generated schematic — TOOL series, REV 2.6.

There is no benchmark for this question, and that is not a gap in my research. It is the state of the field. The one widely quoted agent benchmark, Aider's polyglot set, covers C++, Go, Java, JavaScript, Python and Rust. PHP is not in it. No vendor publishes a defensible SWE-bench-style figure at all, and the vendors' own documentation contains no mention of WordPress, WooCommerce, WP-CLI or PHP anywhere I or the researcher could find.

So a comparison has to be built from something else: what each tool can do to a real WordPress install, how it treats a theme or plugin codebase, what it costs, and where it stops. This is that comparison, and it starts by removing two names from the shortlist that are still in most recent lists.

Windsurf is gone, and Gemini CLI was replaced

Windsurf is gone. windsurf.com returns a 308 redirect to devin.ai/desktop, and the documentation domain redirects to Devin's docs. The product was absorbed by Cognition and its pricing is now Devin's: Pro at $20 a month, Max at $200, and a teams plan at $80 a month plus $40 per full developer seat. If you are reading an article that quotes Windsurf at $15 a month, that article predates the absorption and you should close the tab.

Gemini CLI was replaced. Google's own repository states that Gemini CLI stopped serving requests for Google AI Pro and Ultra subscribers and for the free individual tier on 18 June 2026, and directs users to Antigravity CLI (agy), which was rewritten in Go. The enterprise carve-out is real: organisations on Gemini Code Assist Standard or Enterprise, or reaching Code Assist through Google Cloud, kept access, and Gemini CLI still works with paid API keys. For an individual WordPress developer deciding what to install this week, that distinction does not help. Antigravity is the successor, its Pro and Ultra prices are not published on its pricing page, and whether it honours AGENTS.md is not documented either way.

Devin still exists and is a legitimate product with cloud agents, but the thing that used to be Windsurf does not. Aider is a third case worth knowing about: it remains installable and its repo-map idea was good, but the last release was August 2025 and its README still leads with Claude 3.7 Sonnet. I would not start a WordPress project on it, and I would not describe it as maintained.

What actually separates the three that remain

Claude Code, Codex and OpenCode all read and edit files, all run shell commands, and all reach the same class of model. On the narrow question of writing PHP, the difference is mostly the model behind the harness, and you can change that in OpenCode and partly in the others. The differences that matter to WordPress work are elsewhere.

Claude CodeCodexOpenCode
Entry costPro $17/mo annual, $20 monthly. Not in Free.Plus $20/mo. Go at $8 with limits.Free and open source, plus your tokens
ModelsAnthropic aliases; Bedrock, Vertex, FoundryGPT-6.1 Sol on paid, GPT-6 Luna on Free/GoAny provider you configure
Reads AGENTS.mdOnly when no CLAUDE.md or CLAUDE.local.md existsYes, co-author of the standardYes, primary convention
Runs commandsSandboxed Bash tool, permission modes, hooksSandbox with writable roots, codex exec for CIPlan and Build modes, per-tool permissions, LSP
WordPress evidenceWordPress.org MCP lists it as a supported clientGutenberg's docs name it for skill discoveryOne published run against WordPress 7.1.3
Where it stopsUsage pool shared with chat; instruction-file precedenceModel churn; retired models appear in older guidesv1 and v2 cannot coexist; you build everything

Read that table for what it does not say. None of the three has a WordPress-aware linter, a PHP-specific benchmark, or any vendor guidance about hooks, escaping or theme.json. What each one has is a way to run commands, and the gap between them is how much work you have to do to point those commands at a real site.

OpenCode is the only one of the three with a full WordPress run behind it

The one piece of hard evidence in this comparison is a published run of OpenCode v1.18.30 driving DeepSeek's deepseek-flash model. One prompt, no corrections, a Gutenberg block plugin called Acme Notice. It produced 14 files. The plugin activated in real WordPress 7.1.3, the block registered, the agent's own WP-CLI command returned the right database row, and the front end rendered over HTTP. Escaping held: a CSS injection attempt was rejected and a <script> tag was stripped while <strong> survived.

The caveats belong next to the result rather than in a footnote. It was one run, one model, one task type, and the task was a Gutenberg block with a dynamic render callback, which is about the most common WordPress pattern in public code. The editor was never opened in a browser and WordPress Coding Standards were never run. What that run proves is narrower than "OpenCode is best". It proves that a model-agnostic terminal agent with a cheap model can produce a working WordPress plugin when someone gives it a real install to test against. That is a meaningful thing to prove, and no equivalent published run exists for Claude Code or Codex.

Two further OpenCode facts decide whether it suits you. It is genuinely model-agnostic: any provider, including local models through Ollama or LM Studio, plus LSP integration. And it is mid-migration. OpenCode v2 is out, v1 and v2 share the opencode command, and they cannot be installed side by side. If you have scripts or muscle memory around a version, budget an afternoon for the move. OpenCode Enterprise is per-seat with no published price.

Claude Code and Codex each trade money for less setup

Claude Code is the most polished of the three and the one with the most WordPress-adjacent recognition: WordPress.org's official MCP server lists Claude Desktop, Claude Code, Cursor and VS Code as the clients it configures automatically. Anthropic also lists a PHP language-server plugin in its plugin directory, which is the mechanism by which an agent can see PHP type errors after an edit and navigate code by symbol rather than by grep. The researcher confirmed the plugin exists on Anthropic's plugin page but did not install or test it, so treat it as a documented option rather than a known quantity.

Two Claude Code behaviours catch people. It reads AGENTS.md only when no CLAUDE.md or CLAUDE.local.md exists above the working directory, unless you change the project instructions setting to read both, and direct AGENTS.md reading needs version 2.1.277 or newer. WordPress's own pattern, a one-line CLAUDE.md containing @AGENTS.md, therefore breaks the moment someone adds a CLAUDE.local.md. The second is billing: Claude Code is included in every paid plan, but your coding sessions and your chat share one usage pool with a rolling five-hour window and weekly limits on top. A long agent run costs you conversation.

Codex is the direct alternative at a similar price, and it is the agent that helped define the AGENTS.md convention, which it reads natively. Gutenberg's agent documentation notes that Codex discovers the repository skill catalog without extra configuration, where Claude Code needs a generated compatibility view. Beyond that, the WordPress case for Codex is the same as for Claude Code: it will run commands in your repository, and the work of pointing those commands at WordPress is yours. Its practical hazard is model churn. GPT-5.5 was retired from Codex for signed-in ChatGPT users on 14 October 2026, two days before this was written, with GPT-6.1 Sol and GPT-6 Luna as the migrations. Any walkthrough naming GPT-5.5 as the current default is already wrong.

Cursor and Copilot are worth knowing, for narrower reasons

Cursor is no longer sold on its own. It is part of "The X Subscription", one subscription covering Grok, Cursor and X, and the pricing page reads like a social media plan with a code editor attached. The $8 Plus tier includes only Cursor's own models at fixed settings, with third-party models, cloud agents and your own API keys all excluded. Frontier third-party models need Premium at $30 a month or above and are billed at API list price from prepaid credit. It is a defensible product and WordPress.org's MCP server supports it. The pricing is the problem, not the editor.

GitHub Copilot is the cheapest paid entry at $10 a month for Pro, and it reads AGENTS.md, CLAUDE.md and GEMINI.md as agent instructions, with the documentation's own caveat that these are not supported by every Copilot feature. Free covers 2,000 inline completions a month with automatic model selection only. If you already pay for GitHub and want a low-commitment first step, Copilot Pro is a reasonable one. It is not where I would build a WordPress plugin workflow.

Cursor's affiliate link is a soft 404

Cursor is the one tool in this set that looks like it has an affiliate programme. cursor.com/affiliate returns HTTP 200, and so does a path that does not exist, because the site serves a 200 shell for everything. Any commission rate you have seen quoted for Cursor came from that shell. None of these tools has a programme, so nothing in this article earns anything, and any page that tells you otherwise is guessing.

Judge an agent by the loop you can build around it

Here is the test I would apply instead of a feature table. Take a small plugin from your own site. Ask each candidate to add one setting to an existing admin screen. Then watch what it does when it needs to know whether the change works.

An agent with no route to a running WordPress will write a test harness with hand-rolled stubs of WordPress functions. That is what happened in the OpenCode run before the researcher tested it properly: the agent stubbed wp_kses_post() and get_block_wrapper_attributes(), reported green, and admitted it could not run its own CLI command because no WordPress was present. An agent with Playground, wp-env or a local install will run the command and read the output. Everything else about the tool is secondary to that difference. If you want the setup that closes the loop, including mounting a site the agent can reach and giving it error output worth reading, that is what the course on WordPress development with AI agents covers in its second module.

The second thing to watch is what the agent does with your AGENTS.md. Start from wp-cli/wp-cli's file, which is 140 lines and prescribes WPCS through composer phpcs, PHPStan, PHPUnit with filters and Behat, and warns that the full suite takes tens of minutes. An agent that reads that file and runs the cheap command for the file it changed is doing more for your codebase than a better model would. An agent that ignores it will happily report success on a build that never checked anything.

What it costs, and what nobody has measured

Monthly subscription is the smaller number. Claude Code Pro is $17 a month billed annually or $20 monthly, and coding draws on the same pool as chat. Codex Plus is $20, with Go at $8 and Pro tiers at $100, $200 or $500 depending on how much you want. Copilot Pro is $10, Pro+ $39, Max $100. Cursor Plus is $8 for Cursor's own models only, and Premium is $30 before any third-party model usage.

OpenCode is free and you pay for tokens, which is where the comparison gets strange. DeepSeek charges $0.15 per million input tokens and $0.60 per million output tokens at peak for the Flash model, and half that off-peak, with cache hits at a fraction of a cent. A day of heavy agent work on a small plugin costs less than a coffee. The trade is configuration time and the absence of a support contract.

What nobody has measured is which agent writes better WordPress code. There is no PHP benchmark, no vendor figure worth quoting, and no published comparison beyond a single run. I would rather say that plainly than invent a ranking. The three tools here are all capable of the work, none of them knows anything about WordPress by default, and the deciding factor is almost always whether you built the feedback loop. Pick the one whose instruction-file behaviour and billing you can live with, then spend the real effort on the WordPress side of the fence, where the tooling actually exists.

Devon Parker · @dparker

APIs and integrations

Works through REST contract design, webhook reliability, idempotency keys, retry policy and the unglamorous edge cases that appear when two systems disagree about what happened.

Continue

Related in Tooling & Workflow