Skip to content
Cloudflare Docs

Changelog

New updates and improvements at Cloudflare.

Subscribe to RSS
View all RSS feeds

hero image

Improved support for running multiple Workers with `wrangler dev`

You can run multiple Workers in a single dev command by passing multiple config files to wrangler dev:

Terminal window
wrangler dev --config ./web/wrangler.jsonc --config ./api/wrangler.jsonc

Previously, if you ran the command above and then also ran wrangler dev for a different Worker, the Workers running in separate wrangler dev sessions could not communicate with each other. This prevented you from being able to use Service Bindings and Tail Workers in local development, when running separate wrangler dev sessions.

Now, the following works as expected:

Terminal window
# Terminal 1: Run your application that includes both Web and API workers
wrangler dev --config ./web/wrangler.jsonc --config ./api/wrangler.jsonc
# Terminal 2: Run your auth worker separately
wrangler dev --config ./auth/wrangler.jsonc

These Workers can now communicate with each other across separate dev commands, regardless of your development setup.

./api/src/index.ts
export default {
async fetch(request, env) {
// This service binding call now works across dev commands
const authorized = await env.AUTH.isAuthorized(request);
if (!authorized) {
return new Response('Unauthorized', { status: 401 });
}
return new Response('Hello from API Worker!', { status: 200 });
},
};

Check out the Developing with multiple Workers guide to learn more about the different approaches and when to use each one.