Guides

Appearance and themes

Themes, language and motion.

Open Settings → Appearance to choose a theme and follow the system appearance or stay in light or dark mode. To use different themes for light and dark mode, select the corresponding preview within each theme. Appearance and app preferences follow your VC server, so every desktop app and browser tab connected to it shows the same theme and settings. While disconnected, a client keeps the last preferences it saw.

Mobile has its own themes and text, code, and terminal preferences. It does not follow environment themes or defaults. Its thread list style, plan mode and project grouping follow one environment; with several saved, choose which in Settings → General → Primary environment.

Language

Choose Settings → General → Language on web, desktop, or mobile to use English, Tiếng Việt, or your system language. Web and desktop also offer this choice on the sign-in and pairing screens. The choice applies immediately and is saved on this device, independently of your server and other devices. Vietnamese covers the main navigation, General and Appearance settings, and core chat controls. On mobile, it covers the home navigation and main settings; screens that have not been translated yet continue to use English.

Motion

The main sidebar, right panel, and terminal drawer open and close immediately by default. Move the Panel animations slider above 0 ms to add motion, up to 400 ms, unless reduced motion is enabled in your operating system. On web and desktop, the right panel and its tabs are shared across chats in the same workspace. Switching workspaces restores that workspace’s tabs.

Drag a right-panel tab’s title to reorder it. Choose Pin tab from its context menu to keep its current position while arranging other tabs; choose Unpin tab to move it again. Workspace tab order and pins are saved in this browser or desktop app.

Custom themes

On web and desktop, choose Create theme to adjust a palette, or import a VC or VS Code theme. The theme editor’s color picker lets you select an area of the app to find the color to change. Switch the editor to JSON to edit the visible palette as a theme file, or paste one in; the app repaints as you type, and invalid text is reported without being applied. Export your theme as JSON to share it.

One is a built-in light and dark pair based on Atom’s One Light and One Dark.

The desktop app’s own menus, dialogs, and window background follow the theme you choose, so a dark theme stays dark even when your operating system is set to light.

Environment themes

Environment themes and defaults come from the server serving your web app or the desktop app’s main local environment. app.vce.codes and additional connections do not use them.

Select a published theme in Settings → Appearance to follow its palette as the server updates it. Duplicate makes an independent copy you can edit. A saved custom theme with the same ID takes precedence. If the server stops publishing the selected theme, VC falls back to its standard theme.

Run this on the server to set a default and switch connected clients to it:

vc theme set nightfall

Clients that are offline apply it when they reconnect. Each client applies the setting once; choosing another theme afterward sticks until the next vc theme set. Run the command again to reapply it, even if the name is unchanged.

vc theme clear removes the default without changing anyone’s current theme. vc theme show lists the default and published themes.

Publish a theme

Save a theme exported from VC into ~/.vc/userdata/themes/ on the server, or the themes directory under your custom state directory. The filename supplies the theme ID: nightfall.json can be selected with vc theme set nightfall. Keep the filename stable when updating its colors. Do not use system, light, dark, or a built-in theme’s ID.

For an integration that generates a palette, this shorter format also works:

{
  "name": "Nightfall",
  "appearance": "dark",
  "canvas": "#1a1b26",
  "accent": "#7aa2f7",
  "colors": {
    "terminalSelection": "#292e42",
    "error": "#f7768e"
  }
}

Set appearance to light or dark and supply hex colors for canvas and accent. VC generates the rest. The optional colors overrides use the names in the theme editor’s advanced view.

Write updates to a temporary file and rename it into place so clients never read a partial theme. Invalid files are not published.