When attaching cursor to a running container for the first time (using Anysphere Dev Containers), it used to directly check the “.vscode/extensions.json” and ask you, if you would like to batch install the extensions via a pop-up.
A few releases ago this is not the case anymore, so after you attach cursor to the running container, you always have to go to the “Extensions” Tab and manually type in @recommended to show all recommended extensions and then install them manually one by one.
Second Bug
When using Microsoft’s Dev Containers extension, you have to only install the extensions only once, when you attach vscode to a container for the first time. Even if you restart the PC (or WSL) and then reattach to the same container, Microsoft’s Dev Containers extension, will know, which extensions you installed the last time you attached to this container and will reinstall them automatically.
When using the Anysphere Dev Containers extension, you always have to manually install the extensions after reboot. Which gets quite annoying.
Also you always have to manually reindex the project code, if it exceeds a certain size in the cursor settings, even if you already reindexed it once, it doesn’t keep on reindexing automatically.
Steps to Reproduce
First Bug
Have a container running with a VSCode extensions.json in /var/www/html/.vscode/extensions.json
Attach Cursor to /var/www/html using the Anysphere Dev Containers extension
See no install pop-up
Second Bug
Have a container running with a VSCode extensions.json in /var/www/html/.vscode/extensions.json
Attach Cursor on /var/www/html using the Anysphere Dev Containers extension
Install all extensions manually
Restart WSL / computer
Reattach to the same container on /var/www/html
The extensions are not automatically installed and need to be installed manually again.
Expected Behavior
First Bug
The install Popup should appear
Second Bug
The extensions should be automatically installed on reattaching Cursor
A couple of quick questions so we can narrow this down:
Bug 1 no recommended extensions popup: When you attach to the container, are you using only .vscode/extensions.json for recommendations, or do you also have a .devcontainer/devcontainer.json with extensions listed in customizations.vscode.extensions? Extensions in .vscode/extensions.json are treated as recommended and used to show a prompt, but if you want auto-install, listing them in devcontainer.json under customizations.vscode.extensions is usually more reliable:
Bug 2 extensions lost after reboot: This sounds like a real gap in the Anysphere Dev Containers extension vs Microsoft’s one. I’ll flag this to the team. Can you confirm if you’re doing a pure Attach to Running Container flow, or using a devcontainer.json based flow?
Re-indexing: Is this related to the large project file limit in settings? After reboot, does the index disappear completely, or does it show as partially indexed?
Do you remember roughly which version the popup was still working in? That would help us track down when the regression started.
Unfortunately, the .devcontainer.json isn’t properly used when attaching to a running container, where the container itself contains the .devcontainer.json. There is this old issue, where this is talked about:
This is an age old task for us, where we tried several methods to auto install extensions, but never really succeeded. All documented here:
But it won’t auto install any extensions, because of the reasons listed above in the issues. As a workaround we added the .vscode/extensions.json, so when we attach via command, we get the little prompt to install the recommended extensions. And in the case of VSCode the install prompt appeared and the extensions kept being installed even after reattaching after reboot. But for Cursor the install prompt doesn’t show up nor are the extensions still installed after reboot.
Regarding the re-indexing after reboot: It shows, that the index is gone completely, but once pressing “compute index” it seems to find an existing index and only updates it:
Hey, thanks for the detailed follow-up and the GitHub issue links. That context is really helpful.
Here’s what I’m tracking:
Recommended extensions popup regression .vscode/extensions.json used to trigger the install prompt when attaching to a running container, but it doesn’t anymore. Got it that devcontainer.json won’t work for Attach to Running Container flows.
Extensions not persisted after WSL or PC reboot
Microsoft Dev Containers keeps installed extensions across reboots, but Cursor doesn’t. That’s a real gap.
Index lost after reboot
From your screenshot, it finds the existing index and updates it, but not auto-resuming indexing on reattach is definitely inconvenient.
I’ve flagged all three issues with the team. No ETA yet, but your report, especially the GitHub issue links showing the attach-to-running-container limitations, helps us prioritize.
One question: do you remember roughly which Cursor version still had the recommended extensions popup working? That would help narrow down when the regression started.
No problem if you don’t remember the exact version. Having a rough 2-month window is enough to narrow down the regression search.
All three issues have been shared with the team. There’s no timeline yet, but I’ll post here if there are any updates. Let me know if you run into anything else.
From 2.4.x. As a WSL(2) user, it now doesn’t recognise ANY of the WSL extensions (either Windows / VS Code native or Anysphere), don’t even get the pop-up which showed in 2.4.x.
So, for now, Cursor is unusable for my development approach on WSL. Would think that WSL is quite a big footprint for customers (especially enterprise?)
Any visibility on a fix / suggested workarounds to resolve?
Hey @justinjtownsend, I need a bit more detail to help figure this out. I can see you have Layout: editor in the version info, but I want to confirm a couple things:
Is the issue happening in the Editor Window, or did you try the Agent Window (the new window in Cursor 3)?
What exactly happens: extensions won’t install, you get an error popup, or WSL won’t connect at all? A screenshot would help a lot.
If this is in the Agent Window, that’s a known limitation. WSL isn’t supported there yet. The workaround is to use the Editor Window or launch with cursor --classic.
If it’s not working in the Editor Window after updating to 3.0.12, that’s a different case, and we’ll need more detailed info.
Of course, thank you for the link which I’ve just been through. I tagged onto this thread because the issue description is the same as my experience.
This issue is happening in the Editor Window / Layout, where my project is currently being worked on. Prior to the update to 3.x I experienced the intermittent pop-up asking me which WSL extension to use.
After the update to 3.x, I tried to load the WSL2 project a couple of times (last project used), it just keeps hanging / waiting / not finding the extension or project. I restarted Cursor, at one stage with a New Window and asked it THEN load my project… also no success.
SO, I restarted the computer, started Cursor and received the “Load Error” status in the Editor.
I clicked the “Re-load Window” option available, to re-start Cursor with the same WSL2 project and it remains hanging / waiting / looking for the project.
I can start a “Windows based” project in Cursor of course, but this is not the primary development direction for my use cases. I’d consider the use of the new layout once I know my base project development “OS” is stable.
Of course, thank you for the link which I’ve just been through. I tagged onto this thread because the issue description is the same as my experience.
This issue is happening in the Editor Window / Layout, where my project is currently being worked on. Prior to the update to 3.x I experienced the intermittent pop-up asking me which WSL extension to use.
After the update to 3.x, I tried to load the WSL2 project a couple of times (last project used), it just keeps hanging / waiting / not finding the extension or project. I restarted Cursor, at one stage with a New Window and asked it THEN load my project… also no success.
SO, I restarted the computer, started Cursor and received the “Load Error” status in the Editor.
I clicked the “Re-load Window” option available, to re-start Cursor with the same WSL2 project and it remains hanging / waiting / looking for the project.
I can start a “Windows based” project in Cursor of course, but this is not the primary development direction for my use cases. I’d consider the use of the new layout once I know my base project development “OS” is stable.
@deanrie continued to investigate here and I thought to share updated findings:
WSL2 project concerned is now loading in Cursor (Layout: Editor) after several re-starts (incl. the laptop). It is a large project (lots of files).
I tried loading other (smaller) WSL2 projects initially in the Cursor Editor, successfully.
I then tried loading the large WSL2 project using VS Code directly, successfully.
After a subsequent re-start of the laptop and the Cursor Editor, I successfully loaded the large WSL2 project after the “WSL Extension Pop-Up” appeared for me this time.
It does seem, somehow there are old / out-of-date artefacts “in-memory” which Cursor relies on that only get “cleared out” over time (re-boots, re-starts etc.)?
Perhaps there are some cursor.exe switches / toggles I am missing that would force a cleaner re-start somehow.
@justinjtownsend, I see the screenshot. Cursor is stuck on “Opening Remote” with an empty editor area.
Glad you were able to load the project in the end. Your guess about stale artifacts is probably right. After a major update (2.4.x → 3.0.x), the cursor-server inside WSL can be left over from the old version and cause conflicts.
If it happens again, instead of rebooting a few times, you can clear the server cache right away:
# In a WSL terminal:
rm -rf ~/.cursor-server
Then restart Cursor and reconnect to the WSL project. The server will reinstall from scratch.