The wp-env Playground runtime: WordPress without Docker

WordPress Core has an experimental feature that may end the local development ritual of debugging “Docker networking issue” errors. With the wp-env Playground runtime, you can start a full WordPress environment on a machine that has never had Docker installed.

I have used wp-env since it first shipped. It is good for consistency, but Docker is heavy. On a machine short on RAM, or for a refactor session that lasts twenty minutes, it is a sledgehammer aimed at a nut. The new runtime is a lot lighter.

Running WordPress with one npx command

Trying it does not mean refactoring your setup. You need Node.js and one command. An existing .wp-env.json will probably work as it is once you add the new flag.

npx @wordpress/env start --runtime=playground

That command runs PHP and SQLite inside your Node environment through WordPress Playground, which compiles them to WebAssembly. Startup drops from minutes to seconds.

What the wp-env Playground runtime is good for

The slow part of local development is usually the environment rather than the code. This runtime helps in a few concrete ways:

  • There is nothing to install beyond Node.js, so no Docker Desktop and no WSL2 configuration.
  • It runs lean, which matters in CI/CD pipelines where container overhead costs real money.
  • It works anywhere Node.js runs, so Linux, macOS and Windows all behave the same.

There is one real gotcha. Playground swaps MySQL for SQLite. Core handles that fine these days, but legacy plugins writing direct SQL can break on it. Treat the runtime as a testing tool instead of a mirror of staging.

Current limitations

It is still experimental, and a few constraints will keep me on Docker for the complicated projects. Zip archive themes are not supported yet, so a theme has to come from a local directory or a Git repository.

If you benchmark heavy integrations, as we do with the WP-Bench AI Benchmark, the ephemeral setup can skew your numbers against a real server stack. The runtime has also dropped PHP 7.2 and 7.3 completely.

Configuring your environment

Your usual configuration file still applies, since the runtime is only a flag on the start command. A .wp-env.json like this one works under Docker and under the Playground runtime:

{
  "core": "WordPress/WordPress#6.8",
  "plugins": ["./my-custom-plugin"],
  "themes": ["./my-custom-theme"],
  "phpVersion": "8.2"
}

If wrangling local environments is eating your dev hours, hand it to me. I have been wrestling with WordPress since the 4.x days.

Where it fits today

The Playground runtime does not replace Docker yet. For prototyping, short refactoring sessions and automated tests it is already the faster option, and that covers a good chunk of an average week. The wp-env documentation and the WordPress Playground resources have the rest of the details.

author avatar
Ahmad Wael
I'm a WordPress and WooCommerce developer with 15+ years of experience building custom e-commerce solutions and plugins. I specialize in PHP development, following WordPress coding standards to deliver clean, maintainable code. Currently, I'm exploring AI and e-commerce by building multi-agent systems and SaaS products that integrate technologies like Google Gemini API with WordPress platforms, approaching every project with a commitment to performance, security, and exceptional user experience.