When you open a remote workspace, VS Code runs extensions in one of two places:
- Themes and other UI extensions are run on your local machine.
- Language extensions and other more advanced, workspace extensions are run on the remote machine.
UI extensions are enabled by default when you open a remote workspace, but the workspace extensions must be installed on the remote itself. That is why you do not see Python and Go enabled by default in the remote workspace.
To install a locally installed extension on a remote machine:
Open the remote workspace and open the Extensions view. The top section of the extension lists contains that are already installed on the remote (also indicated by the ><
badge on the extension entries) , while the Local — Installed
section shows local UI extensions along with the workspace extensions that are not yet installed on the remote.

In the Local — Installed
section, scroll down to see the workspace extensions that are not yet installed on the remote. These are faded out and have a green install button next to them. Here the VS Code Speech
is a UI extension that is running locally while the Angular Language Service
is a workspace extension installed locally but that has not yet been installed on the remote:

Use the green install button to install each workspace extension you wish to enable in the remote workspace. Then reload the window.
You can also configure a list of extensions that should be auto installed on SSH or dev container remotes by setting:
"remote.SSH.defaultExtensions": [
"eamodio.gitlens",
"mutantdino.resourcemonitor"
],
"remote.containers.defaultExtensions": [
"eamodio.gitlens",
"mutantdino.resourcemonitor"
]
These settings take a list of extensions IDs on each extension's details page in the top right, next to the extension name:
