Skip to content

Settings

Settings live in ~/.config/vanitty (%APPDATA%\Vanitty on Windows, or $XDG_CONFIG_HOME/vanitty). Open them with Settings > Open Settings or Ctrl+, (⌘+, on macOS).

settings.json takes the same options as Hyper’s config, as JSON with comments. A JSON schema sits next to it, so VS Code autocompletes and validates it. Changes apply as soon as you save.

{
"$schema": "./settings.schema.json",
"fontSize": 13,
"cursorShape": "BLOCK",
"padding": "12px 14px",
"themes": ["hyper-snazzy"]
}

A profile overrides any terminal option, such as the shell or colors. Pick one from the new-tab menu, or set defaultProfile.

"profiles": [
{ "name": "zsh", "config": { "shell": "/bin/zsh" } },
{ "name": "PowerShell", "config": { "shell": "pwsh.exe", "backgroundColor": "#012456" } }
]
SettingTypeDefaultDescription
fontSizenumber13Font size in pixels.
fontFamilystringFont family, with fallbacks.
uiFontFamilystringFont family for tabs and other UI.
fontWeightstring | number"normal"Font weight: normal, bold, or 100-900.
fontWeightBoldstring | number"bold"Font weight for bold text.
lineHeightnumber1Line height as a multiple of the font size.
letterSpacingnumber0Extra space between letters, in pixels.
scrollbackinteger1000Lines kept in the scrollback buffer.
cursorColorcolor"rgba(248,28,229,0.8)"Cursor color.
cursorAccentColorcolor"#000"Color of the text under a block cursor.
cursorShape"BLOCK" | "BEAM" | "UNDERLINE""BLOCK"Cursor shape.
cursorBlinkbooleantrueBlink the cursor.
foregroundColorcolor"#fff"Text color.
backgroundColorcolor"#000"Background color. Use an rgba() color for transparency.
selectionColorcolor"rgba(248,28,229,0.3)"Selection color.
borderColorcolor"#333"Window border and divider color.
paddingstring"12px 14px"CSS padding around the terminal, e.g. "12px 14px".
colorsobjectThe 16 ANSI colors.
shellstring""Shell to run. Empty uses $SHELL (or COMSPEC on Windows).
shellArgsarrayArguments passed to the shell.
envobjectExtra environment variables.
workingDirectorystring""Directory new sessions start in. Empty uses your home directory.
bell"SOUND" | falsefalse"SOUND" plays a sound on the terminal bell, false disables it.
bellSoundURLstring | nullURL of a custom bell sound.
copyOnSelectbooleanfalseCopy text to the clipboard when you select it.
quickEditbooleantrueRight-click copies the selection, or pastes when nothing is selected.
macOptionSelectionMode"vertical" | "force""vertical""force" makes Option+click always select on macOS.
webGLRendererbooleantrueRender with WebGL. Turned off automatically for transparent backgrounds.
webLinksActivationKey"" | "ctrl" | "alt" | "meta" | "shift"""Modifier needed to open links. Empty opens on click.
disableLigaturesbooleanfalseTurn off font ligatures such as => and !=.
screenReaderModebooleanfalseExpose terminal content to screen readers.
imageSupportbooleantrueShow inline images (sixel and iTerm2 protocol).
modifierKeysobject
cssstring""Extra CSS for the window. Uses Hyper's class names, so Hyper snippets work.
termCSSstring""Extra CSS for the terminals.
showHamburgerMenu"" | true | false""Show the menu button (Linux and Windows). Empty uses the default.
showWindowControls"" | true | false | "left"""Show window controls (Linux and Windows), optionally on the left.
borderRadiusnumber10Window corner radius in pixels (Linux and Windows; macOS uses the system corners).
preserveCWDbooleantrueOpen new tabs and splits in the current directory.
defaultProfilestring"default"Profile used for new tabs.
profilesarrayNamed profiles. Each overrides any terminal option, such as shell or colors.
pluginsarray[]Vanitty plugins from npm. They run sandboxed, without network or file access.
localPluginsarray[]Plugin folders inside the plugins/local folder of your config directory.
themesarray[]Hyper themes from npm, e.g. "hyper-snazzy" or "hyper-dracula@2". Applied in order.