diff --git a/charts/jupyter-hub-customizations/Chart.yaml b/charts/jupyter-hub-customizations/Chart.yaml
index bdf73fd43c396b97805271d06980e9257a83e467..4e91baa2c4e1dc38fa40371c180f631ed27ddd46 100644
--- a/charts/jupyter-hub-customizations/Chart.yaml
+++ b/charts/jupyter-hub-customizations/Chart.yaml
@@ -15,7 +15,7 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 0.16.23
+version: 0.16.24
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
diff --git a/charts/jupyter-hub-customizations/templates/configmap_custom.yaml b/charts/jupyter-hub-customizations/templates/configmap_custom.yaml
index d94f71bc616c756ea06e2ec6c5ae9a7b354787e1..c80907c7c1f8cd66eacc4a88c4346d208a457bdb 100644
--- a/charts/jupyter-hub-customizations/templates/configmap_custom.yaml
+++ b/charts/jupyter-hub-customizations/templates/configmap_custom.yaml
@@ -190,6 +190,24 @@ data:
               systems:
                 {{- toYaml .Values.customConfig.services.JupyterLab.default.allowedLists.systems | nindent 16 }}
           {{- end }}
+          {{- if and
+            ( index .Values.customConfig.services.JupyterLab "vscode" "enabled" )
+            ( or
+              (has "JUWELS" .Values.customConfig.systems)
+              (has "JURECA" .Values.customConfig.systems)
+              (has "JEDI" .Values.customConfig.systems)
+              (has "JUSUF" .Values.customConfig.systems)
+            )
+          }}
+          "vscode":
+            name: "VSCode"
+            weight: 51
+            allowedLists:
+              groups:
+                {{- toYaml (index .Values.customConfig.services.JupyterLab "vscode" "allowedLists" "groups") | nindent 16 }}
+              systems:
+                {{- toYaml (index .Values.customConfig.services.JupyterLab "vscode" "allowedLists" "systems") | nindent 16 }}
+          {{- end }}
           {{- if and
             ( index .Values.customConfig.services.JupyterLab "xpra" "enabled" )
             ( or
diff --git a/charts/jupyter-hub-customizations/values.yaml b/charts/jupyter-hub-customizations/values.yaml
index f6161bb2a2d8849e4928b24cad6c2a2889e4064f..5e56a82e1f78aebb74119544c7bc0daa0e6a31f7 100644
--- a/charts/jupyter-hub-customizations/values.yaml
+++ b/charts/jupyter-hub-customizations/values.yaml
@@ -373,7 +373,7 @@ customConfig:
       - "outpost_flavors"
   services:
     JupyterLab:
-      defaultOption: "4.2"
+      defaultOption: "4.3"
       allowedGroups:
         - default
       default:
@@ -391,6 +391,16 @@ customConfig:
             - TUD
             - TUD-Staging
             - deNBI-Cloud
+      "vscode":
+        enabled: false
+        allowedLists:
+          groups:
+            - default
+          systems:
+            - JURECA
+            - JUWELS
+            - JEDI
+            - JUSUF
       "xpra":
         enabled: true
         allowedLists: