Introducing Worker Previews: isolated preview environments for every change your agent makes
- Source
- blog.cloudflare.com
- Date

Context
Cloudflare's Worker Previews give each code branch a running test environment with its own URL, configuration and logs. Developers or coding agents can send requests to that environment, inspect failures and test a repair before merging the change. For supported stateful components, Cloudflare creates separate Durable Object namespaces and Container applications, keeping their state scoped to the preview.
That isolation has a consequential boundary: the announcement says service bindings from a preview still call the destination Worker's production deployment. Previewing an entire application therefore requires checking its connections, not merely opening the branch URL. The release isolates important parts of branch testing while broader isolation across multiple Workers remains planned.
- Durable Objects and Containers get a fresh namespace per Preview automatically, since DOs are singleton-owned; without this isolation a Preview could read or modify the live instance serving production traffic.
- Preview configuration inherits from a 'base configuration' set once in the previews block of the Wrangler config; any single Preview can then override just its own database or API key without touching production or the base.
- Current limitation: a service binding called from a Preview still routes to the bound Worker's production deployment rather than a matching Preview, and Previews can publish to Queues but not yet consume from them.
- Preview URLs can be served on your own custom domain (e.g. feature-login.previews.example.com) and locked down with Cloudflare Access, so OAuth callbacks, cookies, and CORS behave the same as in production.
- IKEA's engineering team credits Previews' custom-domain support with avoiding Content Security Policy and cookie issues, and is waiting on upcoming Service Binding support for cross-Preview end-to-end testing.
- AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.
Checking sign-in…
Loading comments…


