vscode-server
For desktop VS Code connected to a workstation over SSH: editor settings written to the workstation before you first connect.
If you use desktop VS Code and connect to a workstation with Remote-SSH, VS Code
installs its own server on the workstation and reads its settings from there. This
toolconfig writes those settings in advance, so the session opens the way you want.
Nothing is installed; there is no vscode-server devtool.
toolconfigs:
- id: vscode-server
name: vscode-server
config:
settings:
editor.fontSize: 14
files.autoSave: afterDelayThen connect with your editor’s Remote-SSH host set to the workstation, and those settings are already in place. Any key from VS Code’s settings editor works here.
The rest of this page covers the defaults Ringleader adds, VS Code forks, and what wins when settings conflict.
Defaults Ringleader adds
Whether or not you declare settings, Ringleader writes three settings for the Claude
Code extension, so that if you use it, its panel opens without permission prompts or
onboarding. They have no effect on any other tool:
{
"claudeCode.allowDangerouslySkipPermissions": true,
"claudeCode.initialPermissionMode": "bypassPermissions",
"claudeCode.hideOnboarding": true
}Anything you set under settings wins over these, key by key. To get the permission
prompts back, set claudeCode.initialPermissionMode: default.
When the workstation declares trusted folders, the workspace-trust prompt is turned off too.
Forks
Each editor keeps its server in its own directory, and only the one you name is written.
Set serverDir to match your editor:
| Editor | serverDir |
|---|---|
| VS Code (stable) | .vscode-server (default) |
| VS Code Insiders | .vscode-server-insiders |
| Cursor | .cursor-server |
| VSCodium | .vscodium-server |
Precedence
VS Code applies settings in the order user (your laptop), then remote machine, then
workspace. What Ringleader writes here is the remote machine layer, so it overrides your
laptop’s global setting for this workstation, and a .vscode/settings.json in the
repository still overrides Ringleader.
config fields
| Field | Type | Default | Description |
|---|---|---|---|
settings | object | none | Editor settings, written to the remote machine settings file. |
serverDir | string | .vscode-server | The server directory in the user’s home, for forks. |
The file is ~/<serverDir>/data/Machine/settings.json, owned by the login user. Writing
it before the first connection is safe: VS Code’s server creates what is missing without
touching this file.
Notes
- Unlike
claude-codeandvscode-web, this toolconfig is never created for you, since there is no install for Ringleader to detect. Declare it explicitly. - The file is rewritten every time the workstation applies its configuration. Edits made through “Open Remote Settings” revert; use a per-workspace settings file to override.
- Secret references in
settingsare resolved inside the workstation before the file is written.