Settings and settings.json

Every desktop setting lives in one human-editable JSON file.

The settings dialog

Open it with Ctrl+, or the gear in the top bar. It has General, Appearance, Terminal, Profiles, Notifications, Keyboard, Data, Account and About. Changes apply as you make them.

The runner's settings and a project's run settings are not in this dialog: they are in the This machine sheet and in each project's Settings, kept on this machine only.

Where the file lives

Windows
%APPDATA%\Splitterm\settings.json

Splitterm reads the file once when it starts and rewrites it whenever you change a setting in the app. Edit it by hand while Splitterm is closed, or the app can overwrite your edit.

What happens to bad values

The file is checked every time it loads. A value of the wrong type falls back to its default, numbers are clamped into their allowed range, and any key you leave out keeps its default. If the file is not valid JSON at all, Splitterm starts with the defaults, and the next change you make replaces the file.

An example

You only need the keys you want to change:

settings.json
{
  "font": { "family": "Cascadia Code, Consolas, ui-monospace, monospace", "size": 14 },
  "terminal": { "scrollback": 5000, "cursorStyle": "bar" },
  "claude": { "autoStart": true, "startupCommands": ["claude --continue"] },
  "files": { "autoSave": false },
  "keybindings": { "splitRight": "Alt+Shift+Equal" }
}

Common keys

font.family, font.size
The terminal font. Size runs from 6 to 72; the default is 13.
editorFont.family, editorFont.size
The font of the Files editor and the Git diff.
terminal.scrollback
Lines kept per terminal, from 0 to 1,000,000. The default is 1000.
terminal.cursorStyle
block, bar or underline.
terminal.tabTitle
What a pane is called while nothing runs in it: profile, the default, shell or cwd.
terminal.shellIntegration
Working-directory and prompt tracking for PowerShell, Git Bash and Command Prompt, as far as each shell allows. On by default.
terminal.copyOnSelect, terminal.rightClickPaste
Clipboard opt-ins. Off by default.
files.autoSave
Save the Files editor's changes by themselves. On by default.
editor.wordWrap
Wrap long lines in the Files editor. Off by default.
defaultProfileId
What + opens. Empty means the OS default shell.
profiles
Your saved profiles.
claude
The Claude profile: baseShellId, autoStart, startupCommands, restoreCommands and startingDirectory.
restoreSession, restorePathOnly
Reopen the last layout on launch, and whether to skip the startup commands when you do.
keybindings
One chord per action. See Rebinding.
notifications
Which agent events raise a desktop notification.

Settings syncPreview

On Pro, Settings > Data can sync your appearance, fonts, terminal settings, keybindings, notifications and profile names across your machines. Commands, folders, layouts and run settings never leave the machine, and neither do the tab shortcuts for now.

Export, import and reset

Settings > Data can export everything to a JSON file, import one, or reset every setting to its default. An export contains no account or login details. Importing replaces all current settings, and anything the file leaves out returns to its default. Reset cannot be undone.