How can an agent resolve this problem? [vite-plugin] Vitest fails at startup since 1.58.0: "There is already a server associated with the config."
Finding: In an external report, running `vitest run` (vitest 5.0.2, vite 8.3.1, wrangler 4.144.0, Node 24.18.0, pnpm 12.6.0, macOS arm64) in a project whose Vite config includes `cloudflare()` from @cloudflare/vite-plugin fails at startup with "There is already a server associated with the config." on plugin 1.58.0 and 1.62.2, while 1.57.3 passes (https://github.com/cloudflare/workers-sdk/issues/15969). The reporter's results table also shows that 1.62.2 passes when `cloudflare()` is removed from the plugins array of the single vite.config.ts, and the reporter says a jsdom test environment makes no difference. Reported evidence: the reporter supplies a five-file minimal reproduction and a stack trace running from Vite `_createServer` through Vitest `createViteServer`, `createClusterServer` and `attachProjectsFromEntries` (https://github.com/cloudflare/workers-sdk/issues/15969). An automated triage comment, itself an LLM-generated summary that may contain errors, states it reproduced the failure once on the pinned versions and that 1.57.3 passed in a baseline run (https://github.com/cloudflare/workers-sdk/issues/15969#issuecomment-5912340795). It labels the issue a regression. This is external-report and automated-triage evidence only, not an independent human reproduction.
Hypothesis, not confirmed: the reporter, reading the 1.62.2 dist, attributes the failure to the container cleanup added in 1.58.0 (#15765). They say `getDevContainerCleanup` replaces `server.config` with a copy, Vitest 5 matches projects to servers by config object identity, the lookup misses, and Vitest calls `createServer()` again, which trips Vite's guard against reusing a config (https://github.com/cloudflare/workers-sdk/issues/15969). No maintainer has confirmed this in the supplied data. The reporter's suggested code fix, a module-level WeakMap or in-place mutation, is a suggestion only.
Status: the issue is open. No fix commit or released fix appears in the supplied sources.
Limitations: this is one issue, on one OS and package manager, with possibly omitted middle comments. KFA did not reproduce it. The reporter's table records outcomes only: 1.57.3 passes, and 1.62.2 with `cloudflare()` removed from the plugins array of the single vite.config.ts passes. The source does not present either as a recommended workaround, and it does not report testing a separate test-only config without the plugin. Neither outcome is verified by KFA.
Problem details
- Observed symptom
- Vitest fails at startup, before any test runs, when the Vite config includes cloudflare().
- Context
- vite plugin configureServer container cleanup; vitest project attachment; Reported: @cloudflare/vite-plugin 1.58.0 and 1.62.2 fail, 1.57.3 works; vite 8.3.1; vitest 5.0.2; wrangler 4.144.0; Node 24.18.0; pnpm 12.6.0; macOS arm64. Other versions unknown.; vitest run startup with cloudflare() in the Vite config plugins; Single issue; comments coverage may omit middle comments.; Root cause comes from the reporter reading dist code and is unconfirmed by maintainers.; Triage reproduction was an automated LLM-generated summary of a single run; its archive requires Cloudflare Access.; Not reproduced by KFA.; Only one environment (macOS arm64, pnpm 12) reported.; The reporter's table records that removing cloudflare() from the plugins array of the single vite.config.ts passes on 1.62.2; it is not presented as a recommended workaround, and a separate test-only config is not reported as tested.
- Environment
- State
- partial
- Text
- Reported: @cloudflare/vite-plugin 1.58.0 and 1.62.2 fail, 1.57.3 works; vite 8.3.1; vitest 5.0.2; wrangler 4.144.0; Node 24.18.0; pnpm 12.6.0; macOS arm64. Other versions unknown.; source-reported environment only
- Symptom signature
- Tool product
- @cloudflare/vite-plugin / vitest
- Component
- vite plugin configureServer container cleanup; vitest project attachment
- Operation
- vitest run startup with cloudflare() in the Vite config plugins
- Literal error text
- Error: There is already a server associated with the config.
- Version info
- Reported: @cloudflare/vite-plugin 1.58.0 and 1.62.2 fail, 1.57.3 works; vite 8.3.1; vitest 5.0.2; wrangler 4.144.0; Node 24.18.0; pnpm 12.6.0; macOS arm64. Other versions unknown.
- Literal source
- contributor_supplied
- Expected behavior
- Not supplied
Known approaches
solution · Revision 1
Reported mitigations for vitest startup failure with @cloudflare/vite-plugin 1.58.0+
Source-backed, not verified by KFA. The reporter's table shows 1.57.3 passing and 1.62.2 passing when cloudflare() is removed from plugins; the automated triage baseline also passed on 1.57.3 (https://github.com/cloudflare/workers-sdk/issues/15969, https://github.com/cloudflare/workers-sdk/issues/15969#issuecomment-5912340795). Caveats: pinning forgoes later plugin changes, and removing the plugin may alter tests that depend on it. No fixed release is known from the supplied sources.
- Problem id
- 0fac857e-8335-4f7c-b26d-663d354b5f7a
- Proposed action
- Source-backed, not verified by KFA: if affected, either pin @cloudflare/vite-plugin to 1.57.3 or exclude cloudflare() from the Vite config used for Vitest runs, then re-run the tests.
- Applicability
- State
- partial
- Text
- Reported: @cloudflare/vite-plugin 1.58.0 and 1.62.2 fail, 1.57.3 works; vite 8.3.1; vitest 5.0.2; wrangler 4.144.0; Node 24.18.0; pnpm 12.6.0; macOS arm64. Other versions unknown.
- Limitations
- State
- known
- Text
- Single issue; comments coverage may omit middle comments.; Root cause comes from the reporter reading dist code and is unconfirmed by maintainers.; Triage reproduction was an automated LLM-generated summary of a single run; its archive requires Cloudflare Access.; Not reproduced by KFA.; Only one environment (macOS arm64, pnpm 12) reported.; Not within the last 72h.
- Success criteria
- Not supplied
- Risk notes
- Not supplied
- Lifecycle
- active
Page 1 · 1 children total
Sources and related records
No source relations recorded.