Hi, I figured out yesterday how to tunnel from Windows to Windows with Cursor. But it’s not simple.
My scenario is I’m developing an MCP server for winget, which is a Windows component. Coding on Linux and testing on Windows is cumbersome, so I wanted to stick to Windows only. I set up a Dev Box (cloud VM offering by Microsoft) and downloaded the cursor cli onto it, as mentioned throughout this forum. But that’s the linux cli, so no bueno.
VS Code does have a cli for windows. code tunnel
does setup a tunnel, but Cursor can’t connect to that and set up a Cursor server. So what I ended up doing was installing Cursor on the Dev Box and then run cursor tunnel
. (should be in your PATH - if not, start a new shell)
Don’t use cursor-tunnel.exe
which is also available! That one just returns:
No installation of Cursor stable was found.
If you already installed Cursor and we didn’t detect it, run code version use stable --install-dir /path/to/installation
So run cursor tunnel
, but only after you’ve opened Cursor on the remote machine and signed into Github or Microsoft. Then it works! Just open the Remote menu in Cursor on your local machine and connect to a tunnel. It will ask you to use Github or Microsoft, so choose what you registered the tunnel with. You should then see it by name. Select it and watch it connect - hopefully
You can always look at the cli output on the remote machine to troubleshoot.
Extra note: the tunnel extension in Cursor never installed for me (available from the Remote menu with mention install
) and I ended up downloading the VS Code tunnel extension vsix file and install that from cursor cli. This step may or may not have been needed for my setup to work. At this point, I can’t remember any more. But my tunnel has been working for two days now! I have had to unregister it once when it stopped working (cursor tunnel unregister
) and start the tunnel again.
To get the vscode tunnel vsix, I installed it in VS Code, then you click on the gear icon for that extension and download it through there. Then you can run cursor --install-extension <path>
and Bob’s your uncle. (referencing the extension by id never worked for me)
I hope this can be of help to some one. I’m currently on Cursor v1.1.3