🐛 BUG: `wrangler pages dev .` runs but content not accessible via browser if `wrangler.toml` exists
Which Cloudflare product(s) does this pertain to?
Pages
What version(s) of the tool(s) are you using?
wrangler 3.62.0
What version of Node are you using?
22.1.0
What operating system and version are you using?
Mac Sonoma 14.5
Describe the Bug
Observed behavior
wrangler dev pages . runs but content not accessible via browser when wrangler.toml exists.
Expected behavior
Expect to be able to view content, even when wrangler.toml exists.
Steps to reproduce
-
pnpm add -D [email protected] -
echo hello > index.html -
pnpm wrangler pages dev . - Command-click the URL in the console and see "hello" in the default browser
-
[ctrl]+[c]to end the wrangler process -
echo 'name = "foo"' > wrangler.toml -
pnpm wrangler pages dev . - Command-click the URL in the console and see that the default browser fails to return the page
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response
Actually, this could be a misunderstanding on my part...
The Pages docs do indicate that wrangler configuration is for Functions and that "Configuration via wrangler.toml is in open beta."
That said, when I first ran into this problem, I was specifying a port in wrangler.toml, which was being applied successfully in a wrangler pages dev command. It also logged "No functions. Shimming..."
Is the observed behaviour unexpected so far as the team's concerned?
I mentioned this issue in the #functions channel on Discord and was asked whether using a subdirectory might help.
After checking, it appeared to still be a problem... in trying to get to Discord, I fumbled switching apps and landed in my browser, which was showing the expected content! When I checked the console, I saw a message similar to the following:
✘ [ERROR] Failed to register worker in local service registry TypeError: fetch failed
at fetch
(/Users/andy/=/quests/delete-me-pages/node_modules/.pnpm/[email protected]/node_modules/wrangler/wrangler-dist/cli.js:17209:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async registerWorker
(/Users/andy/=/quests/delete-me-pages/node_modules/.pnpm/[email protected]/node_modules/wrangler/wrangler-dist/cli.js:203827:12)
at async Object.announceAndOnReady [as onReady]
(/Users/andy/=/quests/delete-me-pages/node_modules/.pnpm/[email protected]/node_modules/wrangler/wrangler-dist/cli.js:206237:7)
{
cause: ConnectTimeoutError: Connect Timeout Error
at onConnectTimeout
(/Users/andy/=/quests/delete-me-pages/node_modules/.pnpm/[email protected]/node_modules/wrangler/wrangler-dist/cli.js:6031:29)
at
/Users/andy/=/quests/delete-me-pages/node_modules/.pnpm/[email protected]/node_modules/wrangler/wrangler-dist/cli.js:5987:51
at Immediate._onImmediate
(/Users/andy/=/quests/delete-me-pages/node_modules/.pnpm/[email protected]/node_modules/wrangler/wrangler-dist/cli.js:6019:13)
at process.processImmediate (node:internal/timers:478:21)
at process.topLevelDomainCallback (node:domain:160:15)
at process.callbackTrampoline (node:internal/async_hooks:128:24) {
code: 'UND_ERR_CONNECT_TIMEOUT'
}
}
[wrangler:inf] GET / 200 OK (5989ms)
This output is the result of pnpm wrangler pages dev . and seems to have resolved quicker than others (~6 seconds, whereas most have taken 10-12ish seconds).
Turns out I just needed to ps aux | grep wrangler to find the spare wrangler processes running on non-standard ports and kill them off. Problem solved.
Thanks, I also had this issue and turns out there was another wrangler process. I got error messages that was also shown in https://github.com/cloudflare/workers-sdk/issues/4562.
For SEO for other users, error looked like:
✘ [ERROR] Failed to register worker in local service registry TypeError: fetch failed
at fetch
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:17227:19)
at async registerWorker
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:161308:12)
at async Object.announceAndOnReady [as onReady]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:207007:7)
{
cause: HeadersTimeoutError: Headers Timeout Error
at Timeout.onParserTimeout [as callback]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:7405:33)
at Timeout.onTimeout [as _onTimeout]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:923:17)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7) {
code: 'UND_ERR_HEADERS_TIMEOUT'
}
}
✘ [ERROR] Error in ProxyController: Error inside ProxyWorker
Error
at castErrorCause
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:209310:18)
at ProxyController.emitErrorEvent
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:210438:16)
at ProxyController.onProxyWorkerMessage
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:210331:14)
at PROXY_CONTROLLER
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:210105:20)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async #handleLoopbackCustomService
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]/node_modules/miniflare/dist/src/index.js:8782:24)
at async #handleLoopback
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]/node_modules/miniflare/dist/src/index.js:8824:20)
{
cause: {
name: 'Error',
message: 'Network connection lost.',
stack: 'Error: Network connection lost.'
}
}
✘ [ERROR] Failed to unregister worker TypeError: fetch failed
at fetch
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:17227:19)
at async unregisterWorker
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:161340:5)
at async Promise.allSettled (index 0) {
cause: HeadersTimeoutError: Headers Timeout Error
at Timeout.onParserTimeout [as callback]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:7405:33)
at Timeout.onTimeout [as _onTimeout]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:923:17)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7) {
code: 'UND_ERR_HEADERS_TIMEOUT'
}
}
✘ [ERROR] Failed to unregister worker TypeError: fetch failed
at fetch
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:17227:19)
at async unregisterWorker
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:161340:5)
at async Promise.allSettled (index 0) {
cause: HeadersTimeoutError: Headers Timeout Error
at Timeout.onParserTimeout [as callback]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:7405:33)
at Timeout.onTimeout [as _onTimeout]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:923:17)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7) {
code: 'UND_ERR_HEADERS_TIMEOUT'
}
}
✘ [ERROR] Failed to register worker in local service registry TypeError: fetch failed
at fetch
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:17227:19)
at async registerWorker
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:161308:12)
at async Object.announceAndOnReady [as onReady]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:207007:7)
{
cause: HeadersTimeoutError: Headers Timeout Error
at Timeout.onParserTimeout [as callback]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:7405:33)
at Timeout.onTimeout [as _onTimeout]
(/Users/zen/Desktop/hono-rpc-openapi-cloudflare/node_modules/.pnpm/[email protected]_@[email protected]/node_modules/wrangler/wrangler-dist/cli.js:923:17)
at listOnTimeout (node:internal/timers:573:17)
at process.processTimers (node:internal/timers:514:7) {
code: 'UND_ERR_HEADERS_TIMEOUT'
}
}