cmux-settings

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

View and edit cmux settings in ~/.config/cmux/cmux.json. Use when the user wants to change cmux preferences (appearance, sidebar, notifications, automation, browser, shortcuts), set a value by JSON path, validate the file, open it in an editor, or look up which keys cmux recognizes. Triggers on '/cmux-settings', 'change cmux setting', 'set <something> in cmux', 'cmux config', 'cmux.json', or 'rebind a cmux shortcut'.

skills/cmux-settings/SKILL.md

Download bundle ↓
main · 6f118af5 bundle filesScanned 2026-09-15

references/all-keys.md

3,008 tokens · o200k_base · 11,998 bytes

All settings keys

Auto-generated from web/data/cmux.schema.json. For the rendered docs, see https://cmux.com/docs/configuration.

app

General app preferences from Settings > App.

KeyTypeDefaultDescription
app.language"system" or "en" or "ar" or "bs" or "zh-Hans" or "zh-Hant" or "da" or "de" or "es" or "fr" or "it" or "ja" or "ko" or "nb" or "pl" or "pt-BR" or "ru" or "th" or "tr""system"Preferred app language.
app.appearance"system" or "light" or "dark""system"App appearance mode.
app.appIcon"automatic" or "light" or "dark""automatic"Dock and app switcher icon style.
app.menuBarOnlybooleanfalseHide the Dock icon and app switcher entry while keeping cmux available from the menu bar.
app.newWorkspacePlacement"top" or "afterCurrent" or "end""afterCurrent"Where new workspaces are inserted in the sidebar.
app.workspaceInheritWorkingDirectorybooleantrueWhen true, new workspaces inherit the current workspace working directory. When false, new workspaces use Ghostty's working-directory setting instead.
app.minimalModebooleanfalseHide the workspace title bar and move controls into the sidebar.
app.keepWorkspaceOpenWhenClosingLastSurfacebooleanfalseWhen true, closing the last surface keeps the workspace open.
app.focusPaneOnFirstClickbooleantrueWhen cmux is inactive, the first click can activate and focus the clicked pane.
app.preferredEditorstring""Custom editor command used when Cmd-click file previews are disabled or a file is unsupported. Leave empty to use the default.
app.openSupportedFilesInCmuxbooleantrueWhen enabled, Cmd-clicking readable local files opens supported previews in cmux, including text, code, PDFs, images, audio, video, and Quick Look files. Preview headers include an Open With menu based on the user's default and compatible macOS apps for that file.
app.openMarkdownInCmuxViewerbooleantrueWhen enabled, Cmd-clicking .md/.markdown/.mkd/.mdx files opens the rendered cmux markdown viewer panel (with live reload) instead of the generic file preview.
app.reorderOnNotificationbooleantrueMove workspaces with new notifications toward the top.
app.iMessageModebooleanfalseMove a workspace to the top and show the submitted message when sending an agent prompt.
app.sendAnonymousTelemetrybooleantrueAllow anonymous telemetry.
app.warnBeforeQuitbooleantrueShow a confirmation before quitting cmux.
app.warnBeforeClosingTabbooleantrueShow a confirmation before closing a tab.
app.renameSelectsExistingNamebooleantrueSelect the current name when opening rename flows.
app.commandPaletteSearchesAllSurfacesbooleanfalseSearch every surface in the command palette switcher instead of only the active workspace.

terminal

Terminal presentation settings from Settings > Terminal.

KeyTypeDefaultDescription
terminal.showScrollBarbooleantrueShow the right-edge terminal scroll bar when scrollback is available. cmux automatically suppresses it for alternate-screen style TUI surfaces.
terminal.autoResumeAgentSessionsbooleantrueAutomatically run agent resume commands for restored terminal sessions when cmux reopens after quit. Set false to restore panes while keeping Claude Code, Codex, OpenCode, and other saved agent sessions idle until you resume them manually.

notifications

Notification behavior from Settings > Notifications.

KeyTypeDefaultDescription
notifications.dockBadgebooleantrueShow the unread count in the Dock tile.
notifications.showInMenuBarbooleantrueShow the menu bar extra.
notifications.unreadPaneRingbooleantrueHighlight panes with unread notifications.
notifications.paneFlashbooleantrueFlash the focused pane when requested.
notifications.sound"default" or "Basso" or "Blow" or "Bottle" or "Frog" or "Funk" or "Glass" or "Hero" or "Morse" or "Ping" or "Pop" or "Purr" or "Sosumi" or "Submarine" or "Tink" or "custom_file" or "none""default"Notification sound preset.
notifications.customSoundFilePathstring""Local path to the custom notification sound file.
notifications.commandstring""Optional shell command to run alongside notification delivery.
notifications.hooksMode"append" or "replace""append"Controls whether project-local notification hooks append to inherited hooks or replace them.
notifications.hooksarray[]Composable shell hooks that receive notification policy JSON on stdin and return updated policy JSON on stdout.

Sidebar content and metadata visibility from Settings > Sidebar.

KeyTypeDefaultDescription
sidebar.hideAllDetailsbooleanfalseHide all per-workspace detail rows.
sidebar.showWorkspaceDescriptionbooleantrueShow custom workspace descriptions in the sidebar.
sidebar.branchLayout"vertical" or "inline""vertical"Show git branch details stacked vertically or inline.
sidebar.showNotificationMessagebooleantrueShow the latest notification text in the sidebar.
sidebar.showBranchDirectorybooleantrueShow the workspace working directory.
sidebar.showPullRequestsbooleantrueShow pull request metadata in the sidebar.
sidebar.makePullRequestsClickablebooleantrueAllow sidebar pull request metadata to open links when clicked.
sidebar.openPullRequestLinksInCmuxBrowserbooleantrueOpen sidebar pull request links in the embedded cmux browser.
sidebar.openPortLinksInCmuxBrowserbooleantrueOpen sidebar port links in the embedded cmux browser.
sidebar.showSSHbooleantrueShow SSH connection details.
sidebar.showPortsbooleantrueShow listening ports.
sidebar.showLogbooleantrueShow recent log snippets.
sidebar.showProgressbooleantrueShow progress indicators.
sidebar.showCustomMetadatabooleantrueShow custom metadata pills.

workspaceColors

Workspace tab and badge colors from Settings > Workspace Colors.

KeyTypeDefaultDescription
workspaceColors.indicatorStyle"leftRail" or "solidFill" or "rail" or "border" or "wash" or "lift" or "typography" or "washRail" or "blueWashColorRail""leftRail"Active workspace indicator style. Legacy aliases are accepted and normalized.
workspaceColors.selectionColorcolorHexOrNullnullOverride the selected workspace background color.
workspaceColors.notificationBadgeColorcolorHexOrNullnullOverride the unread notification badge color.
workspaceColors.colorsobject{"Red": "#C0392B", "Crimson": "#922B21", "Orange": "#A04000", "Amber": "#7D6608", "Olive": "#4A5C18", "Green": "#196F3D", "Teal": "#006B6B", "Aqua": "#0E6B8C", "Blue": "#1565C0", "Navy": "#1A5276", "Indigo": "#283593", "Purple": "#6A1B9A", "Magenta": "#AD1457", "Rose": "#880E4F", "Brown": "#7B3F00", "Charcoal": "#3E4B5E"}Full named workspace color palette. Include built-in entries you want to keep, remove keys to remove colors, and add more named entries to extend the picker.
workspaceColors.paletteOverridesobject{}Legacy workspace color overrides for built-in palette names. Prefer workspaceColors.colors for new configs.
workspaceColors.customColorsarray[]Legacy list of custom workspace colors. Prefer workspaceColors.colors for new configs.

sidebarAppearance

Sidebar tint settings from Settings > Sidebar Appearance.

KeyTypeDefaultDescription
sidebarAppearance.matchTerminalBackgroundbooleanfalseUse the terminal background instead of the sidebar tint.
sidebarAppearance.tintColorcolorHex"#000000"Base sidebar tint color used when light/dark overrides are not set.
sidebarAppearance.lightModeTintColorcolorHexOrNullnullSidebar tint override for light appearance.
sidebarAppearance.darkModeTintColorcolorHexOrNullnullSidebar tint override for dark appearance.
sidebarAppearance.tintOpacitynumber0.03Sidebar tint opacity from 0 to 1. Note: this only controls the sidebar tint, not terminal/window transparency. For terminal background transparency or blur, set background-opacity and background-blur in ~/.config/ghostty/config and run cmux reload-config.

automation

Socket control and automation settings from Settings > Automation.

KeyTypeDefaultDescription
automation.socketControlMode"off" or "cmuxOnly" or "automation" or "password" or "allowAll" or "openAccess" or "fullOpenAccess" or "notifications" or "full""cmuxOnly"Socket control mode. Legacy aliases are accepted and normalized.
automation.socketPasswordstring or null""Password for password-mode socket access. Use null or an empty string to clear it.
automation.claudeCodeIntegrationbooleantrueEnable cmux integration hooks for Claude Code.
automation.claudeBinaryPathstring""Custom path to the claude binary.
automation.cursorIntegrationbooleantrueEnable cmux integration hooks for Cursor.
automation.geminiIntegrationbooleantrueEnable cmux integration hooks for Gemini.
automation.portBaseinteger9100Starting value for workspace CMUX_PORT assignments.
automation.portRangeinteger10Number of ports reserved per workspace.

browser

Embedded browser settings from Settings > Browser.

KeyTypeDefaultDescription
browser.defaultSearchEngine"google" or "duckduckgo" or "bing" or "kagi" or "startpage""google"Default search engine for non-URL queries.
browser.showSearchSuggestionsbooleantrueShow omnibar search suggestions.
browser.theme"system" or "light" or "dark""system"Embedded browser theme.
browser.defaultZoomLevelnumber1Default page zoom factor for newly opened browser pages (0.25–5; 1 = 100%).
browser.openTerminalLinksInCmuxBrowserbooleantrueOpen clicked terminal links in the embedded browser.
browser.interceptTerminalOpenCommandInCmuxBrowserbooleantrueIntercept terminal open http(s) commands and route them through the embedded browser.
browser.hostsToOpenInEmbeddedBrowserarray[]Allowlist of hosts that should stay inside the embedded browser.
browser.urlsToAlwaysOpenExternallyarray[]Rules that always open matching URLs in the system browser.
browser.insecureHttpHostsAllowedInEmbeddedBrowserarray["localhost", "*.localhost", "127.0.0.1", "::1", "0.0.0.0", "*.localtest.me"]HTTP hosts allowed in the embedded browser without a warning prompt.
browser.showImportHintOnBlankTabsbooleantrueShow the browser import hint on blank tabs.
browser.reactGrabVersionstring"0.1.29"Pinned react-grab version for the browser toolbar helper.

shortcuts

Keyboard shortcut settings from Settings > Keyboard Shortcuts.

KeyTypeDefaultDescription
shortcuts.bindingsobject{}Shortcut overrides keyed by cmux action id. Use a string for a single shortcut, an array for a chord, null, an empty string, none, clear, unbound, or disabled to unbind.
Referenced from SKILL.md