Settings Sync & Config File

iCloud Settings Sync

Open Settings → Privacy & Data → iCloud Sync, enable iCloud Sync, then turn on Sync Settings. This switch is separate from the controls for SSH history, known hosts, and connection profiles. SSH private keys also use a separate iCloud Keychain setting managed per key.

App settings are stored and merged individually. A change to one setting does not replace another device’s complete configuration. After the initial merge, the newest change to each unpinned setting is used across devices signed into the same Apple Account.

First-time merge

If both this device and iCloud already contain settings, rootshell asks which side should win where the same key exists:

  • Use Settings from iCloud applies iCloud values for overlapping keys. Settings that exist only on this device are kept and uploaded.
  • Keep This Device’s Settings uploads this device’s values for overlapping keys. Settings found only in iCloud are still kept.
  • Pinned settings remain local with either choice.

If the Apple Account changes, settings sync pauses so values from two accounts are not combined silently. Turn Sync Settings on again and choose which settings to keep.

Keep Settings on One Device

Touch and hold a setting, or right-click it on Mac, and choose Keep on This Device. The setting stops following iCloud while other settings continue to sync. Device-shaped and platform-specific settings may start in this local state.

  • Synced Groups shows which groups follow iCloud and lets you keep or sync a whole group.
  • Pinned Settings lists individual, group, config-file, and always-local settings.
  • When a pinned setting has a different value waiting in iCloud, syncing it again asks whether to use the iCloud value or send the local value.

Optional Text Config File

Open Settings → Privacy & Data → Config File to create the standard file, choose an external file, edit or reload it, inspect diagnostics, or export current settings. The file uses a Ghostty-style key = value format and is separate from the generated terminal-engine config that rootshell maintains.

BuildStandard path
Standalone macOS~/.config/rootshell/config
Sandboxed macOS~/Documents/rootshell.conf
iPhone and iPad~/rootshell.conf, visible as rootshell.conf in the app’s Files folder

You can also select a file from iCloud Drive or a dotfile repository. A shared file pins every active key on each device that uses it.

Syntax

# Lines beginning with # are comments
theme = Catppuccin Mocha
font-size = 14
cursor-style-blink = true

# Repeat list settings
favorite-theme-ids = Catppuccin Mocha
favorite-theme-ids = Solarized Light

# Include another file; ? makes a missing include optional
config-file = shared.conf
config-file = ?machine-local.conf
  • Keys are case-insensitive; values are trimmed and may be wrapped in double quotes.
  • Booleans accept true/false, yes/no, on/off, or 1/0.
  • An empty value resets that setting to its default while keeping it pinned by the file.
  • For scalar keys repeated in the loaded files, the last value wins. List keys use every repeated value.
  • Relative includes resolve from the containing file. Includes are cycle-safe and limited to three levels; each file must be UTF-8 and no larger than 256 KiB.
  • Unknown or invalid keys are ignored and appear under Diagnostics. keybind entries are ignored because shortcuts are managed in Keyboard Shortcuts.

Precedence and write-back

Every active key in the config file overrides the current UI value and is pinned to that device, so an iCloud update cannot replace it. Comment out or remove the key to make it follow iCloud again; if rootshell has a newer iCloud value waiting, that value is then adopted. This gives the effective order:

  1. Active config-file value
  2. Device-local value for an individually or group-pinned setting
  3. Latest iCloud value for an unpinned setting
  4. App default

Turn on Allow Settings to Edit This File if changes made in the Settings UI should update file-bound keys. rootshell rewrites only the affected line and preserves comments and ordering. Leave it off to treat file-bound values as read-only in Settings.

Create Config File starts with every supported setting commented out, so it changes nothing until you uncomment a line. Export Current Settings writes current non-default values as active lines and includes defaults as comments. This is the easiest way to discover the exact value spelling for enum-style settings.

Config Key Reference

These are all keys accepted by the current config overlay. Availability can vary by platform and build. Each row gives the value type, every fixed allowed value, and the app default. Enumerated values are case-sensitive. Boolean values are case-insensitive.

Integers and numbers use decimal text with no unit suffix unless a row says otherwise. Supported ranges below describe the values rootshell uses; values outside them may be clamped or replaced with the default. For repeatable text keys, write one line per item. An empty scalar value resets that setting to its default while keeping it file-bound.

AI Assistant

KeyWhat it configuresValue typeAllowed values and default
ai-agent-presentation-modeAI PresentationEnumerated textsidebar, window. Default: sidebar.
ai-agent-text-sizeAI Text SizeIntegerWhole-number point size from 10 through 24. Default: 14.
ai-approval-modeApproval ModeEnumerated textask_all, approve_writes_only, yolo. Default: ask_all.
ai-bedrock-regionBedrock RegionEnumerated textus-east-1, us-east-2, us-west-2, eu-central-1, eu-west-1, eu-west-2, eu-west-3, eu-north-1, ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, ca-central-1, sa-east-1. Default: us-east-1.
ai-commit-message-enabledAI Commit MessagesBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
ai-commit-message-modelCommit Message ModelTextAny configured AI model ID; leave empty to use the global model. Default: empty.
ai-global-selected-modelAI ModelTextAny AI model ID available to rootshell. Default: gpt-5.6-sol.
ai-openrouter-favoritesThe favorite OpenRouter model list; repeat the key for multiple modelsRepeatable textAny OpenRouter model ID. Repeat the key once per item; an empty final entry clears the list. Default: empty list.
ai-web-search-default-engineDefault Search EngineEnumerated textduckduckgo, google. Default: duckduckgo.
ai-web-search-enabledEnable Web SearchBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
voice-agent-consultation-modeExpert ConsultationEnumerated textlet_flash_decide, always_consult, never_consult. Default: let_flash_decide.
voice-agent-voiceVoiceEnumerated textZephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat. Default: Kore.

Clipboard

KeyWhat it configuresValue typeAllowed values and default
clipboard-manager-enabledClipboard ManagerBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
clipboard-manager-require-biometricRequire Biometrics to Open ClipboardBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
clipboard-manager-retentionKeep Clipboard HistoryEnumerated textforever, day, week, month. Default: week.

Coding Agents

KeyWhat it configuresValue typeAllowed values and default
agent-attention-badges-enabledShow Attention BadgesBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
agent-detection-enabledDetect Coding AgentsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
agent-inbox-sortAgent SortEnumerated textstatic, priority, project. Default: static.
agent-project-probesLook Up Project DetailsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
agent-usage-tracking-enabledShow Subscription UsageBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.

Connections

KeyWhat it configuresValue typeAllowed values and default
auto-reconnect-enabledAuto ReconnectBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
auto-reconnect-max-attemptsReconnect AttemptsIntegerA positive whole number; zero or a negative value falls back to 5. Default: 5.
background-session-keepalive-enabledKeep SSH Alive in BackgroundBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
hide-non-pq-kex-warningWhether to hide the warning when SSH does not negotiate a post-quantum key exchangeBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
profiles-sort-orderSort Profiles ByEnumerated textname, recentlyUsed, mostUsed, dateCreated. Default: name.
ssh-force-ipv4-enabledForce IPv4Booleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
ssh-health-monitoring-enabledConnection Health MonitoringBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
ssh-health-probe-intervalThe interval between SSH connection health probesIntegerA positive number of seconds; Settings offers 1, 5, 10, 15, 30, 60. Default: 15.
ssh-password-default-auth-requirementSaved Password AuthenticationEnumerated textnone, perSession, perUse. Default: none.
ssh-password-default-storage-levelSaved Password StorageEnumerated textdeviceOnly, backupOnly, iCloudSync. Default: backupOnly.
ssh-public-key-auth-probe-enabledOpenSSH Public Key CompatibilityBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Cursor

KeyWhat it configuresValue typeAllowed values and default
cursor-blink-modeBlink StyleEnumerated textnormal, breathing, heartbeat, neon_flicker, pulse, candle, rootshell. Default: normal.
cursor-colorCursor ColorOptional textA six-digit RGB hex color such as f5e0dc; leave empty to use the theme. Default: unset.
cursor-effectCursor EffectEnumerated textnone, warp, sweep, tail, blaze, teslaCoil, neon, aurora. Default: none.
cursor-heightCursor HeightIntegerA whole-number adjustment from -4 through 10. Default: 0.
cursor-opacityCursor OpacityNumberA decimal from 0.0 through 1.0. Default: 0.8.
cursor-style-blinkWhether the cursor blinksBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
cursor-styleCursor StyleEnumerated textblock, bar, underline, block_hollow. Default: block.
cursor-textText Under CursorOptional textA six-digit RGB hex color such as 1e1e2e; leave empty to use the theme. Default: unset.
cursor-thicknessCursor ThicknessIntegerA whole-number adjustment from -4 through 10. Default: 0.

Font

KeyWhat it configuresValue typeAllowed values and default
external-display-font-sizeExternal Display Font SizeNumberA point size; 0 uses the automatic external-display size. Default: 0.
font-familyFontOptional textThe exact name of an available font family; leave empty to use the default. Default: unset.
font-sizeFont SizeNumberA point size from 4 through 24. Default: 13.
ligatures-enabledEnable LigaturesBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.

Gestures

KeyWhat it configuresValue typeAllowed values and default
line-scrollback-enabledUse Line ScrollingBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
rubber-band-scrollback-enabledRubber Band ScrollingBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
scroll-mode-enabledScroll ModeBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
tab-expose-gesture-enabledPull Down for Tab ExposéBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
two-finger-long-press-durationTwo-Finger Long PressNumberSeconds; Settings offers 0, 0.5, 1, 2. Zero disables the gesture. Default: 0.5.

Keyboard Toolbar

KeyWhat it configuresValue typeAllowed values and default
arrow-joystick-modeArrow Key ModeEnumerated textdrawer, joystick. Default: drawer.
keyboard-toolbar-drawer-open-by-defaultOpen Drawer by DefaultBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
keyboard-toolbar-drawer-toggle-modeMore Button BehaviorEnumerated textstack, cycle. Default: stack.
persistent-toolbarPersistent ToolbarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
show-toolbar-with-hardware-keyboardShow Toolbar with Hardware KeyboardBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Keyboard

KeyWhat it configuresValue typeAllowed values and default
compose-autocorrect-enabledCompose AutocorrectBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
double-space-for-periodDouble-Space Period ShortcutBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
force-ascii-keyboardForce ASCII KeyboardBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
macos-option-as-altWhether the macOS Option key behaves as AltEnumerated textoff, on, left, right. Default: off. false and true are accepted aliases for off and on.

Live Activity

KeyWhat it configuresValue typeAllowed values and default
live-activity-enabledLive ActivityBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
live-activity-network-info-enabledLive Activity Network InfoBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
live-activity-session-filterWhich sessions appear in Live ActivitiesEnumerated textall, diary, vpnOnly, infoOnly. Default: diary.
live-activity-wifi-info-enabledLive Activity WiFi InfoBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Locale

KeyWhat it configuresValue typeAllowed values and default
clock-formatClock FormatEnumerated textsystem, twelveHour, twentyFourHour. Default: system.
custom-localeCustom LocaleTextA POSIX locale identifier such as en_US.UTF-8. Default: en_US.UTF-8.
locale-modeLocaleEnumerated textauto, none, custom. Default: auto.

Multiplexers

KeyWhat it configuresValue typeAllowed values and default
herdr-custom-commandherdr Auto-Start CommandTextAny single-line shell command; leave empty to use the built-in command. Default: empty.
herdr-session-discovery-enabledDiscover herdr SessionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
herdr-session-nameherdr Session NameTextAny session name; leave empty for automatic selection. Default: empty.
local-session-discovery-enabledDiscover Local SessionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
session-discovery-sort-orderSession Sort OrderEnumerated textattachedFirst, detachedFirst, alphabetical. Default: attachedFirst.
tab-expose-multiplexer-enabledShow Multiplexer Tabs in ExposéBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
tmux-auto-hide-gateway-on-attachAuto-hide Gateway on AttachBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tmux-custom-commandtmux Auto-Start CommandTextAny single-line shell command; leave empty to use the built-in command. Default: empty.
tmux-discovery-attach-modeHow discovered tmux sessions are attachedEnumerated textregular, control. Default: regular.
tmux-new-tab-actionWhat a new tab does while using tmux control modeEnumerated textlocalShell, tmuxTab, ask. Default: localShell.
tmux-session-discovery-enabledDiscover tmux SessionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
tmux-session-nametmux Session NameTextAny tmux session name; leave empty for automatic selection. Default: empty.
tmux-tab-close-actionWhat closing a tmux tab doesEnumerated textcloseWindow, detachSession, detachSessionAndCloseGateway, hideTab, ask. Default: closeWindow.
zellij-session-discovery-enabledDiscover zellij SessionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
zmx-custom-commandzmx Auto-Start CommandTextAny single-line shell command; leave empty to use the built-in command. Default: empty.
zmx-session-discovery-enabledDiscover zmx SessionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
zmx-session-namezmx Session NameTextAny session name; leave empty for automatic selection. Default: empty.

Notifications

KeyWhat it configuresValue typeAllowed values and default
agent-notification-include-promptInclude the QuestionBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
agent-notification-policyWhen coding-agent activity creates notificationsEnumerated textoff, blockedOnly, blockedAndDone, allTransitions. Default: blockedOnly.
push-agent-background-onlyWhether agent pushes are limited to times when rootshell is in the backgroundBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
push-agent-logos-enabledWhether supported agent pushes include Claude or Codex artworkBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
ssh-notification-enabledSSH Session RemindersBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
task-detect-buildsDetect BuildsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
task-detect-infraDetect Infrastructure CommandsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
task-detect-promptsDetect PromptsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
task-detect-testsDetect TestsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
task-detect-transfersDetect TransfersBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
task-detection-enabledDetect Long-Running CommandsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
task-notification-policyWhen long-running commands create notificationsEnumerated textoff, blockedOnly, blockedAndDone, allTransitions. Default: blockedOnly.
terminal-notification-enabledTerminal NotificationsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Colors

KeyWhat it configuresValue typeAllowed values and default
palette-generateGenerate PaletteBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
palette-harmoniousHarmonious PaletteBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Power

KeyWhat it configuresValue typeAllowed values and default
always-on-display-minutesHow long the display is kept awakeIntegerZero disables it; 1 through 30 sets a timeout in minutes; 31 or greater means always on. Default: 0.
brightness-gainThe display brightness boost amountNumberA decimal from 1.0 through 2.0; out-of-range values are clamped. Default: 1.
power-auto-saverAutomatic Battery SaverBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
power-battery-refresh-rateRefresh Rate on BatteryEnumerated textsixty, thirty. Default: sixty.
power-max-refresh-rateMaximum Refresh RateEnumerated textauto, sixty, thirty, adaptive. Default: auto.

Privacy

KeyWhat it configuresValue typeAllowed values and default
auto-redact-enabledRedact Sensitive TextBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
geo-provider-typeIP GeolocationEnumerated textipinfo, mmdb, dns, disabled. Default: ipinfo in builds configured for that provider; otherwise dns.
location-diary-auto-modeLocation Diary ModeBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Prompt

KeyWhat it configuresValue typeAllowed values and default
custom-usernameUsernameTextAny single-line username; leave empty to use the session username. Default: empty.
prompt-add-newlineBlank Line Before PromptBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
show-git-in-promptShow Git StatusBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
starship-themePrompt ThemeEnumerated textcatppuccin, tokyoNight, pastelPowerline, gruvboxRainbow, dracula, nord, oneDark, solarizedDark, monokaiPro, kanagawaWave, rosePine, synthwave84, everforest. Default: catppuccin.
use-right-promptRight PromptBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
use-starship-promptStarship-style PromptBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
use-transient-promptTransient PromptBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Roam

KeyWhat it configuresValue typeAllowed values and default
roam-default-predict-overwriteOverwrite PredictionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
roam-default-prediction-modeDefault Prediction ModeEnumerated textalways, adaptive, never. Default: adaptive.
roam-hole-punch-enabledEnable Hole-PunchBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
roam-mosh-alt-screen-enabledUse Alternate ScreenBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
roam-multipath-tcp-enabledMultipath TCPBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
trzsz-default-transport-modeDefault TransportEnumerated textquic, kcp, auto. Default: kcp.
trzsz-default-udp-port-maxThe last port in the default trzsz UDP rangeIntegerA UDP port from 1 through 65535; it must be at least the minimum port. Default: 61999.
trzsz-default-udp-port-minThe first port in the default trzsz UDP rangeIntegerA UDP port from 1 through 65535; it must not exceed the maximum port. Default: 61000.
trzsz-keep-pending-inputKeep Input While OfflineBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Screen Sharing

KeyWhat it configuresValue typeAllowed values and default
screen-sharing-clipboard-sync-defaultDefault Clipboard SyncEnumerated textautomatic, off, alwaysOn. Default: automatic.
screen-sharing-panning-defaultDefault Panning ModeEnumerated textedge, continuous. Default: edge.

Selection

KeyWhat it configuresValue typeAllowed values and default
copy-on-selectCopy on SelectBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
selection-appearance-modeSelection StyleEnumerated textrootshell, themeDefault, invertFgBg, custom. Default: rootshell.
selection-backgroundThe selection background colorTextA six-digit RGB hex color such as f5e0dc. Default: f5e0dc.
selection-foregroundThe selection foreground colorTextA six-digit RGB hex color such as 1e1e2e. Default: 1e1e2e.
use-native-selection-loupeUse Native Selection LoupeBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Session

KeyWhat it configuresValue typeAllowed values and default
scrollback-persistence-enabledPersist Scrollback HistoryBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
session-persistence-enabledRestore Sessions on LaunchBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.

Shaders & Effects

KeyWhat it configuresValue typeAllowed values and default
active-effect-idThe selected background effectOptional textaurora, solarGraph, fireflies, butterflies, jellyfish, photoBackground or videoBackground_<video-id>; leave empty for no effect. Default: unset.
background-effect-includes-pinned-sidebarWhether the background effect extends under the pinned sidebarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
custom-shader-animationShader AnimationEnumerated textfalse, true, always. Default: true. false disables animation; true animates only while focused.

Sidebar

KeyWhat it configuresValue typeAllowed values and default
tab-sidebar-auto-hide-on-selectAuto-Hide Sidebar After SelectionBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tab-sidebar-large-controlsLarge Sidebar ControlsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. The default depends on the device class.
tab-sidebar-pinnedPin Tab SidebarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tab-sidebar-row-linesSidebar Title LinesIntegerA whole number from 1 through 3. Default: 1.

Sounds

KeyWhat it configuresValue typeAllowed values and default
bell-sound-presetThe terminal bell soundEnumerated texthapticOnly, classicBell, softChime, typewriterDing, digitalBeep, glassTap, mutedThud, none. Default: hapticOnly.
bell-sound-volumeThe terminal bell volumeNumberA decimal from 0.0 through 1.0. Default: 0.7.
notification-sound-presetThe notification soundEnumerated textsystemDefault, crystalChime, gentlePing, warmTone, brightAlert, softMarimba, none. Default: systemDefault.

Tabs

KeyWhat it configuresValue typeAllowed values and default
compact-pill-tab-spacingCompact Tab SpacingBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
show-tab-scope-menuShow Group MenuBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
show-tab-shortcut-indicatorsShow Tab ShortcutsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tab-bar-animations-disabledDisable Tab AnimationsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tab-bar-hiddenWhether the top tab bar is hiddenBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tab-expose-shows-captionsTab Exposé CaptionsBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
top-tab-agent-detail-modeAgent Detail in TabsTextAny single-line text is accepted, but off is the only currently defined value; this key is reserved for compatibility. Default: off.
top-tab-styleTab StyleEnumerated textpills, integrated, ledger, trough. Default: pills.

Terminal

KeyWhat it configuresValue typeAllowed values and default
local-shell-commandThe command used to start a local shellTextAny single-line shell command; leave empty to use the default login shell. Default: empty.
terminal-type-localTerminal Type (Local)Textxterm-256color, xterm-ghostty, xterm, vt100 or a custom 1–64 character value containing only ASCII letters, digits, period, underscore, plus, or hyphen. Default: xterm-ghostty on macOS and xterm-256color on iOS.
terminal-type-remoteTerminal Type (Remote)Textxterm-256color, xterm-ghostty, xterm, vt100 or a custom 1–64 character value containing only ASCII letters, digits, period, underscore, plus, or hyphen. Default: xterm-256color.
window-padding-xHorizontal terminal paddingOptional integerA whole number from 0 through 32; leave empty for automatic padding. Default: automatic.
window-padding-yVertical terminal paddingOptional integerA whole number from 0 through 32; leave empty for automatic padding. Default: automatic.

Theme

KeyWhat it configuresValue typeAllowed values and default
appearance-modeAppearanceEnumerated textautomatic, light, dark. Default: automatic.
day-night-theme-day-themeDay ThemeTextThe exact name of an installed or bundled theme. Default: Solarized Light.
day-night-theme-enabledMatch System ThemeBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
day-night-theme-night-themeNight ThemeTextThe exact name of an installed or bundled theme. Default: Catppuccin Mocha.
favorite-theme-idsThe favorite theme list; repeat the key for multiple themesRepeatable textAny installed or bundled theme ID. Repeat the key once per item; an empty final entry clears the list. Default: empty list.
selected-app-icon-variantApp IconEnumerated text(empty) for the default icon, or AppIconBlack, AppIconCRT, AppIconNoBorder, AppIconUnderscore, AppIconSixColors, AppIconSixColorsDark, AppIconOrig, AppIconRadicalSolarizedDark, AppIconRadicalSolarizedLight, AppIconRadicalDracula, AppIconRadicalNord, AppIconRadicalGruvboxDark, AppIconRadicalTokyoNight, AppIconRadicalCatppuccin, AppIconRadicalBases, AppIconRadicalMonoLight, AppIconRadicalMonokai, AppIconRadicalMonoDark, AppIconRadicalRosePine. Default: empty.
themed-uiTheme-Aware UIBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
themeThemeTextThe exact name of an installed or bundled theme. Legacy comma-separated day/night pairs are not accepted here; use the separate day and night keys. Default: Catppuccin Mocha.

Transparency

KeyWhat it configuresValue typeAllowed values and default
background-blurBlur RadiusNumberBlur radius in points; Settings uses 0 through 80. Boolean aliases are also accepted: true means 30 and false means 0. Default: 30.
background-opacityBackground OpacityNumberA decimal from 0.0 through 1.0. Default: 0.92.
blur-enabledBackground BlurBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
blur-styleBlur StyleEnumerated textstandard, glassRegular, glassClear. Default: standard. The glass styles require a supported OS version.
pinned-sidebar-transparency-enabledTransparent Pinned SidebarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
tab-sidebar-translucentTranslucent Tab SidebarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.

Visor

KeyWhat it configuresValue typeAllowed values and default
visor-animation-duration-msVisor Animation DurationIntegerA nonnegative whole number of milliseconds. Default: 200.
visor-autohideVisor Auto-HideBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.
visor-enabledEnable VisorBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
visor-hotkey-key-codeThe visor global-hotkey key codeIntegerA macOS hardware key code; use an exported value when possible. Default: -1.
visor-hotkey-modifiersThe visor global-hotkey modifier maskIntegerA macOS modifier bit mask; use an exported value when possible. Default: 0.
visor-positionVisor EdgeEnumerated texttop, bottom, left, right, center. Default: top.
visor-primary-sizeThe visor size along its slide axisTextA number followed by % or px, such as 30% or 480px. Default: 30%.
visor-screenVisor ScreenEnumerated textmain, mouse, macosMenuBar. Default: main.
visor-secondary-sizeThe visor size along its cross axisTextA number followed by % or px; leave empty to fill the secondary axis. Default: empty.
visor-space-behaviorVisor Space BehaviorEnumerated textmove, remain. Default: move.
visor-use-event-tapVisor Event TapBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.

Window

KeyWhat it configuresValue typeAllowed values and default
extend-under-home-indicatorExtend Under Home IndicatorBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
full-screen-mode-enabledFull Screen ModeBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
hide-window-title-barHide Title BarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: false.
split-focus-border-colorSplit Border ColorEnumerated textaccent, gray, custom. Default: accent.
split-focus-border-custom-colorThe custom split-focus border colorTextA six-digit RGB hex color such as 007AFF. Default: 007AFF.
split-focus-border-styleSplit Focus BorderEnumerated textnone, subtle, standard, bold. Default: standard.
tabs-in-titlebar-enabledTabs in Title BarBooleantrue or false; yes, no, on, off, 1, 0 are also accepted. Default: true.

Troubleshooting

  • Open Config File settings and check Status, Last Loaded, and Diagnostics.
  • Use Reload Now after editing if a change has not appeared. macOS also watches the active file for changes.
  • If a setting will not follow iCloud, check Pinned Settings for an individual pin, a group pin, or a config-file entry.
  • If sync was paused after an Apple Account change, turn Sync Settings on again and complete the merge choice.
  • Disabling iCloud Sync preserves local values; it only stops future synchronization.

Back to Support