Cursor canvas is fully broken in WSL and devcontainers

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Rendered Canvas is blank in WSL and in a Dev Container. Source view of the same .canvas.tsx works. The same canvas (or a minimal smoke-test canvas) renders correctly in a normal local Windows workspace.

This is not a bad canvas file. A one-file smoke test (H1 + Text + Table, typecheck clean) also fails to render remotely and works locally.

Steps to Reproduce

Steps to reproduce

  1. On Windows, open a folder locally (no WSL, no Dev Container). Open any .canvas.tsx in rendered view. Confirm it renders.
  2. Open the same machine via WSL: Ubuntu (or Dev Container) on the same project.
  3. Have the agent create a canvas under ~/.cursor/projects//canvases/, or Command Palette → Open Canvas.
  4. Switch to rendered view (not source).
  5. Help → Toggle Developer Tools → Console.

Operating System

Windows 10/11

Version Information

Version: 3.16.21 (user setup)
VS Code Extension API: 1.128.0
Commit: 19d9a5fed476b765af0629f75da1c92943d81360
Date: 2026-08-14T23:01:43.637Z
Layout: IDE
Build Type: Stable
Release Track: Nightly
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26200

Additional Information

Error in console:

Unexpected error while loading URL
Error invoking remote method 'GUEST_VIEW_MANAGER_CALL':
Error: ERR_ADDRESS_INVALID (-108) loading 'http://0.0.0.0:41737/canvas/f4f58595d588/?token=REDACTED'

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the detailed report. The console error really helps. The key detail is that the renderer is trying to open http://0.0.0.0:41737/..., and Chromium won’t allow navigation to 0.0.0.0, so you get ERR_ADDRESS_INVALID. Source view isn’t affected because it doesn’t load through a forwarded port.

This looks like an issue with how the local port is being forwarded in your remote setup. Can you please check the remote.localPortHost setting:

  • Open Settings Ctrl+Shift+, and search for remote.localPortHost.
  • If it’s set to allInterfaces, switch it back to the default localhost.
  • Reload Window, then open Canvas in rendered view again.

If you have this set up (common when WSL ports are forwarded to other devices), that’s what makes the tunnel resolve to 0.0.0.0. Let me know if switching back to localhost fixes it, and please share your current value for this setting so we can confirm the cause.

This shouldn’t happen, I’ve already passed it to the team. I’ll reply here if there’s an update.