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: afterDelay

Then 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:

EditorserverDir
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

FieldTypeDefaultDescription
settingsobjectnoneEditor settings, written to the remote machine settings file.
serverDirstring.vscode-serverThe 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-code and vscode-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 settings are resolved inside the workstation before the file is written.