# How to fix devcontainer extension installation issues

**URL:** <https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956>\
**Category:** Help\
**Created:** [March 7, 2026, 1:28am UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956 "2026-03-07T01:28:40Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![James\_Dunworth-Cromp](https://avatars.discourse-cdn.com/v4/letter/j/87869e/32.png) [@James\_Dunworth-Cromp](https://forum.cursor.com/u/James_Dunworth-Cromp)\
**Post date:** [March 7, 2026, 1:28am UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/1 "2026-03-07T01:28:40Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mohitjain](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/mohitjain/32/100229_2.png) [@mohitjain](https://forum.cursor.com/u/mohitjain)\
**Post date:** [March 10, 2026, 9:59pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/2 "2026-03-10T21:59:34Z")

</div>

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:

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

```

1. Install the extension on the remote manually

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

---

<div class="post-metadata">

**Author:** ![James\_Dunworth-Cromp](https://avatars.discourse-cdn.com/v4/letter/j/87869e/32.png) [@James\_Dunworth-Cromp](https://forum.cursor.com/u/James_Dunworth-Cromp)\
**Post date:** [March 11, 2026, 6:00pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/3 "2026-03-11T18:00:12Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![mohitjain](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/mohitjain/32/100229_2.png) [@mohitjain](https://forum.cursor.com/u/mohitjain)\
**Post date:** [March 11, 2026, 11:14pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/4 "2026-03-11T23:14:39Z")

</div>

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:

```json
"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).

---

<div class="post-metadata">

**Author:** ![James\_Dunworth-Cromp](https://avatars.discourse-cdn.com/v4/letter/j/87869e/32.png) [@James\_Dunworth-Cromp](https://forum.cursor.com/u/James_Dunworth-Cromp)\
**Post date:** [March 13, 2026, 3:58pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/5 "2026-03-13T15:58:14Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mohitjain](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/mohitjain/32/100229_2.png) [@mohitjain](https://forum.cursor.com/u/mohitjain)\
**Post date:** [March 13, 2026, 10:15pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/6 "2026-03-13T22:15:33Z")

</div>

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

```json
"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!

---

<div class="post-metadata">

**Author:** ![James\_Dunworth-Cromp](https://avatars.discourse-cdn.com/v4/letter/j/87869e/32.png) [@James\_Dunworth-Cromp](https://forum.cursor.com/u/James_Dunworth-Cromp)\
**Post date:** [March 24, 2026, 3:30pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/7 "2026-03-24T15:30:10Z")

</div>

Yea this did not seem to work either unfortunately

---

<div class="post-metadata">

**Author:** ![mohitjain](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/mohitjain/32/100229_2.png) [@mohitjain](https://forum.cursor.com/u/mohitjain)\
**Post date:** [March 24, 2026, 6:21pm UTC](https://forum.cursor.com/t/how-to-fix-devcontainer-extension-installation-issues/153956/8 "2026-03-24T18:21:41Z")

</div>

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.
