How to fix devcontainer extension installation issues

Not sure if this is related by most if not all of the extensions I am trying to install in my devcontainer are not being installed, for example “gitlab.gitlab-workflow” I see the following warning on the extensions tab after my devpod comes up:

”This extension is disabled in this workspace because it is defined to run in the Remote Extension Host. Please install the extension in ‘SSH: myproject.devpod’ to enable.”

Any ideas what I am doing wrong?

It seems like the “UI” extensions have no problem just the others are not being installed for some reason.

Hey there!

Since you’re using DevPod, the container is being reached over SSH. That means Cursor is effectively using a Remote SSH connection, not Dev Containers. The difference is important: Dev Containers is what reads customizations.vscode.extensions from devcontainer.json and auto-installs extensions in the remote environment. Over plain SSH, that auto-install step doesn’t run—so remote/workspace extensions won’t show up automatically, while UI/local extensions still work. That lines up with what you’re seeing.

A couple things you can do:

  1. Auto-install extensions on SSH remotes
    Add this to your settings:
"remote.SSH.defaultExtensions": [
  "gitlab.gitlab-workflow"
]
  1. Install the extension on the remote manually

    While connected to the DevPod, open Extensions, find the extension, and click “Install in SSH: …” to install it into the remote extension host.

Quick check: are you opening the DevPod via Remote SSH, or using Dev Containers to attach/open it? That’ll confirm whether this is just the expected SSH behavior or something else with extension install.

Best,
Mohit

Thanks Mohit - I will give the remote.SSH.defaultExtensions config a shot. I have been installing them manually up until now which works pretty well but ideally would be fully systematic.
I am not 100% - the DevPod application just opens up a cursor instance for me when in spins up, does that answer your question?

Yep, that answers it. If DevPod is launching Cursor into the environment, it’s usually an SSH remote session, so devcontainer.json extension auto-install (customizations.vscode.extensions) won’t run.

For a consistent setup, stick with:

"remote.SSH.defaultExtensions": [
  "gitlab.gitlab-workflow"
]

That auto-installs those extensions on SSH remotes.

If you want customizations.vscode.extensions to apply, you’ll need to open the environment through a Dev Containers attach/open flow (not plain SSH).

Seems like the extensions still have not been installed - I must be doing something wrong here but just not sure what…

Can you try the below setting once, too, instead of what I gave last?

"remote.defaultExtensionsIfInstalledLocally": [
  "gitlab.gitlab-workflow"
]

Please add this to your local Cursor settings (Cmd/Ctrl+Shift+P → Preferences: Open User Settings (JSON)).

One important detail: as the name suggests, this setting only auto-installs extensions on the remote if they’re already installed locally. So the steps are:

  1. Install gitlab.gitlab-workflow locally in Cursor (search for it in Extensions and install).

  2. Add the setting above to your local settings.json.

  3. Reconnect to the DevPod.

When you reconnect, the extension should automatically install on the remote. You can add any other extensions you want to the array using the same format ("publisher.extensionName").

Hopefully this works!

Yea this did not seem to work either unfortunately

I’ve dug deeper into the code and I think we need to take a debugging approach rather than trying another setting, since the system actually has multiple fallback paths that should be working.

Could you check two things for me next time you connect to your DevPod?

1. Check if the extension is already on the remote but disabled: While connected, open the Extensions panel and click the filter dropdown at the top. Look for a section like “SSH: myproject.devpod - Installed.” If gitlab.gitlab-workflow appears there but is greyed out or has an “Enable” button, it’s installed but disabled – click Enable and reload the window.

2. Check the Developer Console for install errors:

  • Open: Help > Toggle Developer Tools, click the Console tab

  • Disconnect and reconnect to your DevPod

  • In the Console, search for gitlab or remote extension management

  • If you see any errors or warnings, share them here (a screenshot is perfect)

Also worth a quick sanity check: can you open your settings.json (Cmd/Ctrl+Shift+P → Preferences: Open User Settings (JSON)) and confirm these entries are there?

"remote.SSH.defaultExtensions": ["gitlab.gitlab-workflow"],
"remote.defaultExtensionsIfInstalledLocally": ["gitlab.gitlab-workflow"]

Just want to rule out the settings not being saved or being overridden by a profile.

If the Console output doesn’t reveal anything actionable, I’ll file this with our engineering team – DevPod’s SSH connection may need specific handling for extension auto-install.