For those building Single Page Applications (SPAs) on Workers, you can now explicitly define which routes invoke your Worker script in Wrangler configuration. The run_worker_first config option has now been expanded to accept an array of route patterns, allowing you to more granularly specify when your Worker script runs.

Configuration example:

JSONC

{

"name": "my-spa-worker",

// Set this to today's date

"compatibility_date": "2026-04-15",

"main": "./src/index.ts",

"assets": {

"directory": "./dist/",

"not_found_handling": "single-page-application",

"binding": "ASSETS",

"run_worker_first": ["/api/*", "!/api/docs/*"]

}

}

This new routing control was done in partnership with our community and customers who provided great feedback on our public proposal. Thank you to everyone who brought forward use-cases and feedback on the design!

To use advanced routing control with run_worker_first, you'll need: