Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>VSCode CRC: central-remote-configNew to Visual Studio Code? Get it now.
VSCode CRC: central-remote-config

VSCode CRC: central-remote-config

Orange OSPC

|
1,450 installs
| (0) | Free
An extension to distribute configuration to multiple AI coding assistants (Continue, Kilo Code) from a central remote server
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VSCode Central Remote Configuration

Logo CRC

Software License semantic-release: angular

CRC distributes AI coding assistant configurations to developers from a central remote server. The available tools and their configuration variants are declared in a server-side manifest — no extension update is needed to add or remove tools.

The extension replaces placeholders with a user-provided API key on every sync, and keeps configurations up to date automatically in the background.


User Guide

This section is for developers who install the extension and use it to keep their AI assistant configurations in sync.

Installation

  1. Open VS Code and go to the Extensions panel (Ctrl+Shift+X / Cmd+Shift+X).
  2. Search for central-remote-config.
  3. Click Install.

Quick start

  1. Open VS Code Settings (Ctrl+, / Cmd+,) and search for crc.
  2. Set CRC: Remote End Point to the URL provided by your administrator.
  3. Optionally set CRC: Api Key if your administrator requires one.
  4. Open the Central Remote Config view in the Explorer sidebar.
  5. Right-click a tool and select Enable — CRC syncs its configuration immediately.

Sidebar overview

The Central Remote Config sidebar shows one row per tool available in the remote manifest. Each row displays:

CRC sidebar showing tools in various sync states

Icon Meaning
✔ (check) Configuration is up to date
⚠ (warning) Drift detected — local file differs from remote
✖ (error) Sync error — check Output → CRC for details
↻ (spinner) Syncing in progress
⊘ (slash) Tool disabled
○ (outline) Extension not installed
? (question) Not checked yet

Right-clicking a tool opens a context menu with the following actions depending on state:

CRC context menu on a right-clicked tool node

Action Available when
Enable Tool is disabled
Disable Tool is enabled or not installed
Sync now Tool is enabled
Change configuration variant Tool is enabled and has multiple variants
Open local config Tool is enabled
Open CRC settings Always

Enabling and disabling tools

Enable or disable tools from the sidebar context menu, or directly in settings.json:

"crc.tools": {
  "continue": { "enabled": true },
  "kilo":     { "enabled": true }
}

To disable a tool:

"crc.tools": {
  "kilo": { "enabled": false }
}

Selecting a configuration variant

Some tools offer multiple configuration variants (for example "Autocomplete only" vs "Full configuration"). To switch:

  1. Right-click the tool in the sidebar.
  2. Select Change configuration variant.
  3. Pick a variant from the list — CRC syncs the new variant immediately.

The selected variant is stored in crc.tools.<id>.configuration.

Sync modes

CRC checks for remote configuration changes every 30 minutes. Two modes control what happens when a change is detected:

Mode Behaviour
auto (default) Applies the new configuration silently; shows one toast per sync
notify Prompts before applying — you decide when to update

Change the mode via CRC Advanced: Sync Mode in Settings.

Auto-apply protection — in auto mode, if you have edited your local config after the last sync, CRC degrades to notify for that tool rather than silently overwriting your changes.

Settings reference

CRC settings panel in VS Code

CRC

Setting Description
Api Key API key injected in place of the configured placeholder in every synced file. Optional.
Remote End Point Base URL of the CRC server (must use https://).
Profile Manifest profile. Determines which tools and variants are available. Provided by your administrator.

CRC Advanced

Setting Description
Sync Mode auto (default) or notify — see Sync modes above.
Api Key Pattern Placeholder replaced by the API key. Default: __CRC_API_KEY__. Change only if your server uses a different pattern.
Tools Per-tool configuration: crc.tools.<id>.enabled and crc.tools.<id>.configuration.
User Home Directory Custom home directory path. Leave empty for automatic detection (WSL-aware).

Where configuration files are written

CRC writes each tool's configuration to the path declared in the remote manifest. Typical locations:

Tool macOS / Linux WSL (Linux VS Code on Windows filesystem)
Continue ~/.continue/config.yaml /mnt/c/Users/<user>/.continue/config.yaml
Kilo Code ~/.config/kilo/kilo.jsonc /mnt/c/Users/<user>/.config/kilo/kilo.jsonc

Note: Windows native (non-WSL) is not currently supported.


Administrator Guide

This section is for teams that operate a CRC server and define the available tools and configuration variants.

How CRC constructs URLs

Given crc.remoteEndPoint = https://crc.example.com and crc.profile = default:

  • Root manifest: https://crc.example.com/manifests/default/default.json
  • Tool sub-manifest: URL declared in the root manifest's configManifest field, resolved relative to the endpoint
  • Configuration file: <endpoint>/<serverPath>/<variant.filename>

CRC normalises the endpoint URL (adds a trailing slash if missing) before resolving relative paths.

Server directory layout

<endpoint>/
├── manifests/
│   ├── default/
│   │   ├── default.json              ← root manifest (lists tools)
│   │   ├── default-continue.json     ← per-tool variant manifest
│   │   └── default-kilocode.json
│   └── <profile>/
│       └── ...
└── tools_configuration/
    └── default/
        ├── continue/
        │   ├── continue-full.yaml
        │   └── continue-autocomplete.yaml
        └── kilocode/
            └── kilocode-full.jsonc

Root manifest

Served at <endpoint>/manifests/<profile>/<profile>.json. Declares all tools available in this profile.

{
  "name": "My team default",
  "version": "1.0.0",
  "schema": "v1",
  "tools": [
    {
      "id": "continue",
      "name": "Continue",
      "extensionId": "Continue.continue",
      "localDirectory": ".continue",
      "localFilename": "config.yaml",
      "serverPath": "tools_configuration/default/continue/",
      "configManifest": "manifests/default/default-continue.json",
      "requiresReloadAfterSync": false
    },
    {
      "id": "kilo",
      "name": "Kilo Code",
      "extensionId": "kilocode.kilo-code",
      "localDirectory": ".config/kilo",
      "localFilename": "kilo.jsonc",
      "serverPath": "tools_configuration/default/kilocode/",
      "configManifest": "manifests/default/default-kilocode.json",
      "requiresReloadAfterSync": true
    }
  ]
}

Root manifest fields

Field Type Description
id string Stable identifier used in crc.tools.<id> settings keys.
name string Display name shown in the sidebar.
extensionId string VS Code extension ID used to detect whether the tool is installed.
localDirectory string Path relative to the user's home directory where the config file is written.
localFilename string Filename the target extension reads (e.g. config.yaml, kilo.jsonc).
serverPath string Path on the remote server (relative to the endpoint) where this tool's config files live. Must end with /.
configManifest string URL (relative to the endpoint) of the tool's variant sub-manifest.
requiresReloadAfterSync boolean When true, CRC prompts the user to reload the VS Code window after syncing (for tools that do not auto-reload their config).

Tool variant sub-manifest

Served at the URL declared in configManifest. Lists the configuration variants available for a tool.

{
  "name": "Continue variants",
  "version": "1.0.0",
  "schema": "v1",
  "configurations": [
    { "id": "autocomplete", "name": "Autocomplete",       "filename": "continue-autocomplete.yaml" },
    { "id": "full",         "name": "Full configuration", "filename": "continue-full.yaml" }
  ]
}

Variant fields

Field Type Description
id string Stable identifier stored in crc.tools.<id>.configuration.
name string Human-readable name shown in the QuickPick and sidebar.
filename string Filename on the server, relative to the tool's serverPath.

Configuration files and API key substitution

CRC fetches the configuration file at <endpoint>/<serverPath>/<variant.filename> and writes it verbatim to the user's machine, substituting one placeholder before writing:

models:
  - name: my-model
    provider: openai
    apiBase: https://llm.example.com
    apiKey: __CRC_API_KEY__

Every occurrence of __CRC_API_KEY__ (configurable via crc.apiKeyPattern) is replaced with the value of crc.apiKey before the file is written. The pattern is a JavaScript regular expression — use a literal string for simple placeholders.

CRC treats fetched files as opaque text — it does not parse YAML or JSONC. Any valid text format works.

Manifest caching

CRC caches the root manifest and all tool sub-manifests to disk (globalStorageUri/manifest-cache.json) for 24 hours. On the next activation or manual refresh, if the cache is fresh and the profile hasn't changed, the network request is skipped. Changing crc.profile immediately triggers a fresh fetch.

Profiles

Profiles allow you to serve different tool sets and configurations to different groups. A profile is a directory under manifests/ on the server. Users select a profile via crc.profile in Settings.

Common pattern:

Profile Purpose
default Standard configuration for all users
beta Preview configuration with experimental models

Add as many profiles as needed — no extension update is required.


Contributing

Run and debug

Press F5 to open a new VS Code window with the extension loaded. Reload (Ctrl+R / Cmd+R) the window after code changes to pick them up.

Run linters and tests

npm run test

Package and install locally

npm run package
npx vsce package --out build/my-test.vsix
code --install-extension build/my-test.vsix --force

Deployment

  • Push code to GitLab — semantic-release creates the version and VSIX artifact.
  • Push code to GitHub.
  • Publish to the VS Code Marketplace.

License

Distributed under the MIT License — see LICENSE.txt or https://spdx.org/licenses/MIT.html.

Contributors

  • FX Soubirou (Orange SA) — Initial work
  • Omar Oumlala (Orange SA) — Additional features
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft