Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
After updating to 3.7.27, no canvas renders at all. Every .canvas.tsx shows the panel “Canvas needs to be updated” with the detail “The service was stopped”. This affects every canvas in the workspace, not a specific file.
The canvas server starts fine — the failure is the esbuild-wasm build worker exiting immediately (build fails in ~10 ms). This is NOT the theming/color regression in 3.6→3.7; the canvas never builds, so it never reaches rendering.
Extension Host logs (Output → “Cursor Agent Exec”)
Every time a canvas is opened:
[info] Canvas server started {"port":50230,"startDurationMs":151}
[info] Registered canvas {"path":".../wellstreet-phone-dob-scenarios-report.canvas.tsx","canvasId":"fad23e8b71a3"}
[warning] Canvas build service disconnected; restarting esbuild and retrying {"error":"The service is no longer running"}
[warning] Canvas build retry failed after recovery {"recoveryResult":"performed-restart","error":"The service was stopped"}
[warning] Canvas build failed {"diagnosticsSummary":"The service was stopped","buildDurationMs":10}
The first error is esbuild’s "The service is no longer running", i.e. the worker running the WASM exits right after start. Cursor restarts it, it dies again, and the result is "The service was stopped". buildDurationMs is 10–128 ms, so it fails before processing the file.
What I verified
- Not the canvas content: the
.canvas.tsxtype-checks clean and imports only fromcursor/canvas. - Not the machine / WASM: I ran the exact bundled
esbuild-wasm(v0.25.9, fromCursor.app/.../extensions/node_modules/esbuild-wasm) standalone in Node — it compiles the WASM module and runsesbuild.transformsuccessfully:
const esbuild = require(".../esbuild-wasm/lib/main.js");
const out = await esbuild.transform("const x: number = 1; export default x;", { loader: "ts" });
// => "const x = 1;\nexport default x;\n" ✅ works fine outside Cursor
- Not the network / localhost: the canvas server starts on its port; this is not the
ERR_ADDRESS_INVALID/ loopback-blocked case.
What I already tried (no effect)
- Developer: Reload Window
- Full quit & relaunch (Cmd+Q)
- Full computer reboot
- Re-saving / regenerating the canvas
Steps to Reproduce
- Update to Cursor 3.7.27 on macOS (Apple Silicon).
- Open any
.canvas.tsx. - Canvas shows “Canvas needs to be updated” / “The service was stopped”; build fails in ~10 ms.
Expected Behavior
The esbuild-wasm build worker stays alive and the canvas compiles and renders, as it did before the 3.7.27 update.
Operating System
MacOS
Version Information
- Cursor 3.7.27, commit
e48ee6102a199492b0c9964699bf011886708ba0, build date2026-06-10T01:46:16Z - Extension host Node: v22.22.1
- Bundled
esbuild-wasm: 0.25.9
Additional Information
Happy to provide DevTools console output or full extension-host logs. The build worker exits with no further stack beyond esbuild’s generic messages — if there’s a way to surface the worker’s exit reason / stderr, point me to it and I’ll attach it.
Does this stop you from using Cursor
No - Cursor works, but with this issue