From dd29c88b8dfe02da0b79bf138b310d544de425af Mon Sep 17 00:00:00 2001 From: Olga Silva Date: Mon, 30 Mar 2026 11:16:25 +0100 Subject: [PATCH 1/3] [wrangler] Add local wrangler commands for Workflows --- .../2026-04-01-wrangler-workflows-local.mdx | 24 +++++++++++++++ .../workers/wrangler/commands/workflows.mdx | 8 +++++ .../workflows/build/local-development.mdx | 30 +++++++++++++++++-- src/content/release-notes/workflows.yaml | 8 +++++ 4 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx diff --git a/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx b/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx new file mode 100644 index 000000000000000..56c586b9a83b601 --- /dev/null +++ b/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx @@ -0,0 +1,24 @@ +--- +title: All wrangler workflows commands now support local development +description: Use wrangler workflows commands with the --local flag to manage Workflows running in a local wrangler dev session. +products: + - workflows + - workers +date: 2026-04-01 12:00:00 UTC +--- + +All `wrangler workflows` commands now accept a `--local` flag to target a Workflow running in a local `wrangler dev` session instead of the production API. + +You can now manage the full Workflow lifecycle locally, including triggering Workflows, listing instances, pausing, resuming, restarting, terminating, and sending events: + +```sh +npx wrangler workflows list --local +npx wrangler workflows trigger my-workflow --local +npx wrangler workflows instances list my-workflow --local +npx wrangler workflows instances pause my-workflow --local +npx wrangler workflows instances send-event my-workflow --type my-event --local +``` + +All commands also accept `--port` to target a specific `wrangler dev` session (defaults to `8787`). + +For more information, refer to [Workflows local development](/workflows/build/local-development/). diff --git a/src/content/docs/workers/wrangler/commands/workflows.mdx b/src/content/docs/workers/wrangler/commands/workflows.mdx index 6a9c6afe8473762..fd813ae0182f4ed 100644 --- a/src/content/docs/workers/wrangler/commands/workflows.mdx +++ b/src/content/docs/workers/wrangler/commands/workflows.mdx @@ -14,4 +14,12 @@ The `wrangler workflows` command requires Wrangler version `3.83.0` or greater. ::: +:::note[`--local` option] +All `wrangler workflows` commands support the `--local` flag to target a Workflow running in a local [`wrangler dev`](/workers/wrangler/commands/general/#dev) session instead of production. Use `--port` to specify the port of the dev session (defaults to `8787`). + +The `--local` flag requires Wrangler version `4.79.0` or greater. + +For more information, refer to [Workflows local development](/workflows/build/local-development/). +::: + diff --git a/src/content/docs/workflows/build/local-development.mdx b/src/content/docs/workflows/build/local-development.mdx index 76b44a3078a01f0..7299eafc622c942 100644 --- a/src/content/docs/workflows/build/local-development.mdx +++ b/src/content/docs/workflows/build/local-development.mdx @@ -51,8 +51,34 @@ Local development sessions create a standalone, local-only environment that mirr Refer to the [`wrangler dev` documentation](/workers/wrangler/commands/general/#dev) to learn more about how to configure a local development session. +## Manage Workflows locally + +:::note +The `--local` flag for `wrangler workflows` commands requires Wrangler version `4.79.0` or greater. Use `npx wrangler@latest` to always use the latest version. +::: + +While a `wrangler dev` session is running, you can use all [`wrangler workflows` commands](/workers/wrangler/commands/workflows/) with the `--local` flag to interact with your local Workflow instances. + +For example, to list your local Workflows: + +```sh +npx wrangler workflows list --local +``` + +To trigger a Workflow locally: + +```sh +npx wrangler workflows trigger my-workflow --local +``` + +To inspect a specific instance: + +```sh +npx wrangler workflows instances describe my-workflow --local +``` + +All commands accept `--port` to target a specific `wrangler dev` session (defaults to `8787`). + ## Known Issues Workflows are not supported as [remote bindings](/workers/development-testing/#remote-bindings) or when using `npx wrangler dev --remote`. - -Wrangler Workflows commands `npx wrangler workflow [cmd]` are not supported for local development, as they target production API. diff --git a/src/content/release-notes/workflows.yaml b/src/content/release-notes/workflows.yaml index 70ef8181454051d..112bb16ee9dab58 100644 --- a/src/content/release-notes/workflows.yaml +++ b/src/content/release-notes/workflows.yaml @@ -3,6 +3,14 @@ link: "/workflows/reference/changelog/" productName: Workflows productLink: "/workflows/" entries: + - publish_date: "2026-04-01" + title: "All wrangler workflows commands now support local development" + description: |- + All `wrangler workflows` commands now accept a `--local` flag to target a Workflow running in a local `wrangler dev` session. You can now manage the full Workflow lifecycle locally, including listing, triggering, deleting Workflows, and managing instances (list, describe, pause, resume, restart, terminate, and send events). + + All commands also accept `--port` to target a specific `wrangler dev` session (defaults to `8787`). + + More information available in the [changelog](/changelog/2026-03-31-wrangler-workflows-local/). - publish_date: "2026-03-26" title: "JavaScript Workflows steps can now return streamed output" description: |- From 54af3f318f92d5192089c87899d749cf70daff5b Mon Sep 17 00:00:00 2001 From: Olga Silva Date: Tue, 31 Mar 2026 13:55:14 +0100 Subject: [PATCH 2/3] Bump wrangler version --- package-lock.json | 82 +++++++++++++++++++++++++++++------------------ package.json | 4 +-- 2 files changed, 53 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 792414b1f09efa0..6ff0daacf36dcc7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@astrojs/starlight-docsearch": "0.7.0", "@astrojs/starlight-tailwind": "5.0.0", "@cloudflare/vitest-pool-workers": "0.10.7", - "@cloudflare/workers-types": "4.20260317.1", + "@cloudflare/workers-types": "4.20260331.1", "@expressive-code/plugin-collapsible-sections": "0.41.3", "@expressive-code/plugin-line-numbers": "0.41.3", "@floating-ui/react": "0.27.16", @@ -112,7 +112,7 @@ "unist-util-visit": "5.0.0", "vite-tsconfig-paths": "5.1.4", "vitest": "3.2.4", - "wrangler": "4.75.0" + "wrangler": "4.79.0" }, "engines": { "node": "^24.14.0", @@ -2153,7 +2153,9 @@ } }, "node_modules/@cloudflare/workers-types": { - "version": "4.20260317.1", + "version": "4.20260331.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20260331.1.tgz", + "integrity": "sha512-fsf+MWPQdQ8XPV0y3tQvqf035ETgEXfJgNTYqmiLcOHB32eH/5Kb75fyZIXS9nnBMq3x6c4+HJRTRxbovNLWiA==", "dev": true, "license": "MIT OR Apache-2.0" }, @@ -18327,31 +18329,33 @@ } }, "node_modules/wrangler": { - "version": "4.75.0", + "version": "4.79.0", + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.79.0.tgz", + "integrity": "sha512-NMinIdB1pXIqdk+NLw4+RjzB7K5z4+lWMxhTxFTfZomwJu3Pm6N+kZ+a66D3nI7w0oCjsdv/umrZVmSHCBp2cg==", "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { "@cloudflare/kv-asset-handler": "0.4.2", - "@cloudflare/unenv-preset": "2.15.0", + "@cloudflare/unenv-preset": "2.16.0", "blake3-wasm": "2.1.5", "esbuild": "0.27.3", - "miniflare": "4.20260317.0", + "miniflare": "4.20260329.0", "path-to-regexp": "6.3.0", "unenv": "2.0.0-rc.24", - "workerd": "1.20260317.1" + "workerd": "1.20260329.1" }, "bin": { "wrangler": "bin/wrangler.js", "wrangler2": "bin/wrangler.js" }, "engines": { - "node": ">=20.0.0" + "node": ">=20.3.0" }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { - "@cloudflare/workers-types": "^4.20260317.1" + "@cloudflare/workers-types": "^4.20260329.1" }, "peerDependenciesMeta": { "@cloudflare/workers-types": { @@ -18360,7 +18364,9 @@ } }, "node_modules/wrangler/node_modules/@cloudflare/unenv-preset": { - "version": "2.15.0", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.16.0.tgz", + "integrity": "sha512-8ovsRpwzPoEqPUzoErAYVv8l3FMZNeBVQfJTvtzP4AgLSRGZISRfuChFxHWUQd3n6cnrwkuTGxT+2cGo8EsyYg==", "dev": true, "license": "MIT OR Apache-2.0", "peerDependencies": { @@ -18374,9 +18380,9 @@ } }, "node_modules/wrangler/node_modules/@cloudflare/workerd-darwin-64": { - "version": "1.20260317.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260317.1.tgz", - "integrity": "sha512-8hjh3sPMwY8M/zedq3/sXoA2Q4BedlGufn3KOOleIG+5a4ReQKLlUah140D7J6zlKmYZAFMJ4tWC7hCuI/s79g==", + "version": "1.20260329.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260329.1.tgz", + "integrity": "sha512-oyDXYlPBuGXKkZ85+M3jFz0/qYmvA4AEURN8USIGPDCR5q+HFSRwywSd9neTx3Wi7jhey2wuYaEpD3fEFWyWUA==", "cpu": [ "x64" ], @@ -18391,7 +18397,9 @@ } }, "node_modules/wrangler/node_modules/@cloudflare/workerd-darwin-arm64": { - "version": "1.20260317.1", + "version": "1.20260329.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260329.1.tgz", + "integrity": "sha512-++ZxVa3ovzYeDLEG6zMqql9gzZAG8vak6ZSBQgprGKZp7akr+GKTpw9f3RrMP552NSi3gTisroLobrrkPBtYLQ==", "cpu": [ "arm64" ], @@ -18406,9 +18414,9 @@ } }, "node_modules/wrangler/node_modules/@cloudflare/workerd-linux-64": { - "version": "1.20260317.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260317.1.tgz", - "integrity": "sha512-1ltuEjkRcS3fsVF7CxsKlWiRmzq2ZqMfqDN0qUOgbUwkpXsLVJsXmoblaLf5OP00ELlcgF0QsN0p2xPEua4Uug==", + "version": "1.20260329.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260329.1.tgz", + "integrity": "sha512-kkeywAgIHwbqHkVILqbj/YkfbrA6ARbmutjiYzZA2MwMSfNXlw6/kedAKOY8YwcymZIgepx3YTIPnBP50pOotw==", "cpu": [ "x64" ], @@ -18423,9 +18431,9 @@ } }, "node_modules/wrangler/node_modules/@cloudflare/workerd-linux-arm64": { - "version": "1.20260317.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260317.1.tgz", - "integrity": "sha512-3QrNnPF1xlaNwkHpasvRvAMidOvQs2NhXQmALJrEfpIJ/IDL2la8g499yXp3eqhG3hVMCB07XVY149GTs42Xtw==", + "version": "1.20260329.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260329.1.tgz", + "integrity": "sha512-eYBN20+B7XOUSWEe0mlqkMUbfLoIKjKZnpqQiSxnLbL72JKY0D/KlfN/b7RVGLpewB7i8rTrwTNr0szCKnZzSQ==", "cpu": [ "arm64" ], @@ -18440,9 +18448,9 @@ } }, "node_modules/wrangler/node_modules/@cloudflare/workerd-windows-64": { - "version": "1.20260317.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260317.1.tgz", - "integrity": "sha512-MfZTz+7LfuIpMGTa3RLXHX8Z/pnycZLItn94WRdHr8LPVet+C5/1Nzei399w/jr3+kzT4pDKk26JF/tlI5elpQ==", + "version": "1.20260329.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260329.1.tgz", + "integrity": "sha512-5R+/oxrDhS9nL3oA3ZWtD6ndMOqm7RfKknDNxLcmYW5DkUu7UH3J/s1t/Dz66iFePzr5BJmE7/8gbmve6TjtZQ==", "cpu": [ "x64" ], @@ -18898,6 +18906,8 @@ }, "node_modules/wrangler/node_modules/@img/sharp-darwin-arm64": { "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", "cpu": [ "arm64" ], @@ -18942,6 +18952,8 @@ }, "node_modules/wrangler/node_modules/@img/sharp-libvips-darwin-arm64": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", "cpu": [ "arm64" ], @@ -19373,14 +19385,16 @@ } }, "node_modules/wrangler/node_modules/miniflare": { - "version": "4.20260317.0", + "version": "4.20260329.0", + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260329.0.tgz", + "integrity": "sha512-+G+1YFVeuEpw/gZZmUHQR7IfzJV+DDGvnSl0yXzhgvHh8Nbr8Go5uiWIwl17EyZ1Uors3FKUMDUyU6+ejeKZOw==", "dev": true, "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "0.8.1", "sharp": "^0.34.5", "undici": "7.24.4", - "workerd": "1.20260317.1", + "workerd": "1.20260329.1", "ws": "8.18.0", "youch": "4.1.0-beta.10" }, @@ -19393,6 +19407,8 @@ }, "node_modules/wrangler/node_modules/sharp": { "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -19436,6 +19452,8 @@ }, "node_modules/wrangler/node_modules/undici": { "version": "7.24.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz", + "integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==", "dev": true, "license": "MIT", "engines": { @@ -19443,7 +19461,9 @@ } }, "node_modules/wrangler/node_modules/workerd": { - "version": "1.20260317.1", + "version": "1.20260329.1", + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260329.1.tgz", + "integrity": "sha512-+ifMv3uBuD33ee7pan5n8+sgVxm2u5HnbgfXzHKwMNTKw86znqBJSnJoBqtP88+2T5U2Lu11xXUt+khPYioXwQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -19454,11 +19474,11 @@ "node": ">=16" }, "optionalDependencies": { - "@cloudflare/workerd-darwin-64": "1.20260317.1", - "@cloudflare/workerd-darwin-arm64": "1.20260317.1", - "@cloudflare/workerd-linux-64": "1.20260317.1", - "@cloudflare/workerd-linux-arm64": "1.20260317.1", - "@cloudflare/workerd-windows-64": "1.20260317.1" + "@cloudflare/workerd-darwin-64": "1.20260329.1", + "@cloudflare/workerd-darwin-arm64": "1.20260329.1", + "@cloudflare/workerd-linux-64": "1.20260329.1", + "@cloudflare/workerd-linux-arm64": "1.20260329.1", + "@cloudflare/workerd-windows-64": "1.20260329.1" } }, "node_modules/wrap-ansi": { diff --git a/package.json b/package.json index 02b1c68ac53d78c..c51c2e52ebe334e 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@astrojs/starlight-docsearch": "0.7.0", "@astrojs/starlight-tailwind": "5.0.0", "@cloudflare/vitest-pool-workers": "0.10.7", - "@cloudflare/workers-types": "4.20260317.1", + "@cloudflare/workers-types": "4.20260331.1", "@expressive-code/plugin-collapsible-sections": "0.41.3", "@expressive-code/plugin-line-numbers": "0.41.3", "@floating-ui/react": "0.27.16", @@ -139,7 +139,7 @@ "unist-util-visit": "5.0.0", "vite-tsconfig-paths": "5.1.4", "vitest": "3.2.4", - "wrangler": "4.75.0" + "wrangler": "4.79.0" }, "engines": { "npm": "11.9.0", From 6b1db10ad1429aba78fabb5069964da80419b41f Mon Sep 17 00:00:00 2001 From: Olga Silva <78314353+pombosilva@users.noreply.github.com> Date: Tue, 31 Mar 2026 15:34:56 +0100 Subject: [PATCH 3/3] Update src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx Co-authored-by: mia303 --- .../changelog/workflows/2026-04-01-wrangler-workflows-local.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx b/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx index 56c586b9a83b601..32765813eac5526 100644 --- a/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx +++ b/src/content/changelog/workflows/2026-04-01-wrangler-workflows-local.mdx @@ -1,5 +1,5 @@ --- -title: All wrangler workflows commands now support local development +title: All Wrangler commands for Workflows now support local development description: Use wrangler workflows commands with the --local flag to manage Workflows running in a local wrangler dev session. products: - workflows