Personalização e AdministraçãoConfiguração
Personalização e Administração

Configuração

O cmux lê a configuração dos arquivos de configuração do Ghostty, oferecendo opções familiares se você vem do Ghostty.

Locais do arquivo de configuração

O cmux procura configuração nestes locais (em ordem):

  1. ~/.config/ghostty/config
  2. ~/Library/Application Support/com.mitchellh.ghostty/config

Crie o arquivo de configuração se ele não existir:

mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config

Exemplo de configuração

~/.config/ghostty/config
font-family = SF Mono
font-size = 13
sidebar-font-size = 14
surface-tab-bar-font-size = 11
theme = One Dark
scrollback-limit = 50000000
split-divider-color = #3e4451
working-directory = ~/code

cmux.json

cmux keeps app-owned settings, shortcuts, actions, custom commands, and workspace layouts in ~/.config/cmux/cmux.json. Terminal rendering still lives in Ghostty config. On launch, if the file is missing, cmux writes a commented template there.

Open cmux Settings, then use the cmux.json section to open the canonical file in your preferred text editor.

  1. ~/.config/cmux/cmux.json
  2. .cmux/cmux.json in a project for project-scoped actions and workspace commands
Precedence: global ~/.config/cmux/cmux.json settings override values saved in the Settings window. Legacy ~/.config/cmux/settings.json and Application Support settings files are read only as fallback for missing settings keys. Project-local .cmux/cmux.json can override actions, commands, UI action wiring, and notification hooks, but not global app preferences.
Reload: edit the file, then use Cmd+Shift+, or cmux reload-config to re-read it without restarting the app.
Migrations: keep schemaVersion at 1 for now. Future cmux versions will use that field for upgrades. If cmux sees a newer schema version, it logs a warning and parses known keys only.

The file accepts JSON with comments and trailing commas. The canonical schema is published at https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json and the source lives at https://github.com/manaflow-ai/cmux/blob/main/web/data/cmux.schema.json.

~/.config/cmux/cmux.json
{
  "$schema": "https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json",
  "schemaVersion": 1,

  // "app": {
  //   "appearance": "dark",
  //   "menuBarOnly": false,
  //   "newWorkspacePlacement": "afterCurrent",
  //   "windowTitleTemplate": "[cmux:{windowToken}] {activeWorkspace}",
  //   "paneResizeStepPixels": 20,
  //   "confirmQuit": "always",
  //   "openSupportedFilesInCmux": true,
  //   "workspaceInheritWorkingDirectory": true,
  //   "iMessageMode": true
  // },

  // "terminal": {
  //   "showScrollBar": false,
  //   "copyOnSelect": true,
  //   "autoResumeAgentSessions": true,
  //   "showTextBoxOnNewTerminals": false,
  //   "focusTextBoxOnNewTerminals": false,
  //   "agentHibernation": {
  //     "enabled": false,
  //     "idleSeconds": 5,
  //     "maxLiveTerminals": 12
  //   },
  //   "textBoxMaxLines": 10
  // },

  // "browser": {
  //   "defaultSearchEngine": "kagi",
  //   // For an unlisted provider, set "defaultSearchEngine": "custom" and fill these:
  //   "customSearchEngineName": "My Search",
  //   "customSearchEngineURLTemplate": "https://search.example.com/?q={query}",
  //   "openTerminalLinksInCmuxBrowser": true,
  //   "hostsToOpenInEmbeddedBrowser": ["localhost", "*.internal.example"]
  // },

  // "markdown": {
  //   // Default body font size (points) for newly opened markdown viewers.
  //   // Zoom a viewer live with Cmd-+ / Cmd-- / Cmd-0.
  //   "fontSize": 15,
  //   // Default body font family. Empty keeps the system markdown font stack.
  //   "fontFamily": "",
  //   // Default maximum reading column width, in CSS pixels.
  //   "maxWidth": 980
  // },

  // "fileEditor": {
  //   // Wrap long lines at the editor's right edge instead of scrolling horizontally.
  //   "wordWrap": false
  // },

  // "fileExplorer": {
  //   // Clique duas vezes em um arquivo: preview (padrão), defaultEditor (app padrão do macOS) ou preferredEditor (o comando app.preferredEditor).
  //   "doubleClickAction": "preview"
  // },

  // "automation": {
  //   "suppressSubagentNotifications": true
  // },

  // "workspaceColors": {
  //   "colors": {
  //     "Red": "#C0392B",
  //     "Blue": "#1565C0",
  //     "Neon Mint": "#00F5D4"
  //   }
  // },

  // "workspaceGroups": {
  //   "newWorkspacePlacement": "afterCurrent"
  // },

  // "agentChat": {
  //   "url": "http://127.0.0.1:7739",
  //   "startCommand": "cmux-chat"
  // },

  // "shortcuts": {
  //   "bindings": {
  //     "toggleSidebar": "cmd+b",
  //     "toggleFileExplorer": "cmd+opt+b",
  //     "toggleFileEditorWordWrap": "opt+z",
  //     "newTab": ["ctrl+b", "c"],
  //     "commandPalettePrevious": null
  //   }
  // },
}

Schema reference

This reference covers every supported global settings key in cmux.json. The embedded browser, terminal, sidebar, notifications, automation, and cmux-owned keyboard shortcuts all live here. Actions and workspace commands are documented on the custom commands page.

Metadata

$schema

Optional schema URL for editor completion and validation.

Type
string
Default
"https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json"
schemaVersion

Schema version for forward-compatible migrations. Newer versions are parsed on a best-effort basis.

Type
integer
Default
1

app

General app preferences from Settings > App.

app.language

Preferred app language.

Type
string
Default
"system"
Allowed values
system, en, ar, bs, zh-Hans, zh-Hant, da, de, es, fr, it, ja, ko, nb, pl, pt-BR, ru, th, tr
app.appearance

App appearance mode.

Type
string
Default
"system"
Allowed values
system, light, dark
app.accentColor

Accent for cmux-drawn chrome: the selected workspace, attention ring and pane flash, agent status, pane swap, canvas focus, and scroll markers. "cmux" uses cmux blue; "system" follows the macOS accent color and updates when it changes; a "#RRGGBB" hex uses that color in light and dark mode. workspaceColors.selectionColor and notifications.paneFlashColor still override their parts. Native controls always use the macOS accent.

Type
string | unknown
Default
"cmux"
app.appIcon

Dock and app switcher icon style.

Type
string
Default
"automatic"
Allowed values
automatic, light, dark
app.windowTitleTemplate

Modelo opcional para o título NSWindow. Em branco preserva o comportamento de título padrão existente do cmux, incluindo o fallback para o diretório atual. Espaços reservados compatíveis: {windowId}, {windowToken}, {activeWorkspace}, {activeDirectory}, {defaultTitle}, {appName}.

Type
string
Default
""
app.devWindowDisplay

Nome da tela usado apenas em builds DEBUG ao abrir novas janelas. Um valor vazio usa o padrão do sistema.

Type
string
Default
""
app.menuBarOnly

Hide the Dock icon and app switcher entry while keeping cmux available from the menu bar.

Type
boolean
Default
false
app.newWorkspacePlacement

Where new workspaces are inserted in the sidebar.

Type
string
Default
"afterCurrent"
Allowed values
top, afterCurrent, end
app.goToWorkspaceOrder

Order used by Go to Workspace (Cmd-P): sidebar order, or most recently focused workspaces.

Type
string
Default
"sidebar"
Allowed values
sidebar, recent
app.forkConversationDefaultDestination

Destino padrão da ação principal Fork Conversation no menu de contexto da aba. O submenu ainda mostra todos os destinos.

Type
string
Default
"right"
Allowed values
right, left, top, bottom, newTab, newWorkspace
app.workspaceInheritWorkingDirectory

When true, new workspaces inherit the current workspace working directory. When false, new workspaces use Ghostty's working-directory setting instead.

Type
boolean
Default
true
app.minimalMode

Hide the workspace title bar and move controls into the sidebar.

Type
boolean
Default
false
app.keepWorkspaceOpenWhenClosingLastSurface

When true, closing the last surface keeps the workspace open.

Type
boolean
Default
false
app.focusPaneOnFirstClick

When cmux is inactive, the first click can activate and focus the clicked pane.

Type
boolean
Default
false
app.paneResizeStepPixels

Pixels moved per keypress when using pane-resize shortcuts. Accepts 1–200; defaults to 20. Changes apply immediately.

Type
integer
Default
20
app.focusHistoryIncludesPanesAndTabs

When true, Back and Forward include focus changes between panes and tabs. When false, they navigate between workspaces only.

Type
boolean
Default
false
app.equalizeSplitsOnCreate

When true, creating a split resizes the panes in that split's row or column to equal sizes. When false, a new split halves the pane it was created from.

Type
boolean
Default
false
app.preferredEditor

Custom editor command used when Cmd-click file previews are disabled or a file is unsupported. Leave empty to use the default.

Type
string
Default
""
app.defaultWorkspacePath

Folder the Open Folder panel starts in, for example ~/code. Supports a leading ~. Leave empty to start in the active workspace's directory.

Type
string
Default
""
app.openSupportedFilesInCmux

When 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.

Type
boolean
Default
true
app.openMarkdownInCmuxViewer

When enabled, Cmd-clicking .md/.markdown/.mkd/.mdx files opens the rendered cmux markdown viewer panel (with live reload) instead of the generic file preview.

Type
boolean
Default
true
app.globalFontMagnification

Zoom percentual para tudo o que o próprio cmux desenha: texto do terminal, títulos das abas, barras laterais, Settings, sobreposições e moldura da janela. Páginas web dentro de superfícies de navegador mantêm o próprio tamanho.

Type
integer
Default
100
app.reorderOnNotification

Automatic workspace reordering. true or "notifications" moves workspaces with new notifications toward the top. "agentActivity" also moves them when a prompt is sent or an agent finishes a turn, needs input, or fails, at most once per burst and never while the pointer is over the sidebar. false or "off" keeps the order stable.

Type
boolean | string
Default
true
app.iMessageMode

Move a workspace to the top and show the submitted message when sending an agent prompt.

Type
boolean
Default
false
app.sendAnonymousTelemetry

Allow anonymous telemetry.

Type
boolean
Default
true
app.confirmQuit

Controla quando o cmux pede confirmação antes de sair. Builds DEV sempre saem imediatamente, independentemente desta configuração. O app.warnBeforeQuit legado ainda é aceito como fallback booleano.

Type
string
Default
"always"
Allowed values
always, dirty-only, never
app.warnBeforeQuit

Fallback booleano legado para confirmação de saída. Use app.confirmQuit em novas configurações.

Type
boolean
Default
true
app.warnBeforeClosingTab

Show a confirmation before closing a tab.

Type
boolean
Default
true
app.warnBeforeClosingAgentSession

Show a confirmation before closing an agent session while it is mid-turn.

Type
boolean
Default
true
app.warnBeforeClosingTabXButton

Mostrar uma confirmação antes de fechar uma aba com o botão de fechar aba.

Type
boolean
Default
false
app.warnBeforeClosingWorkspace

Show a confirmation before closing a workspace with a running process, or several workspaces at once. Pinned workspaces still ask when this is off.

Type
boolean
Default
true
app.warnBeforeClosingWindow

Show a confirmation before closing a window with a running process, or all of a window's workspaces at once.

Type
boolean
Default
true
app.hideTabCloseButton

Ocultar os botões de fechar aba na barra de abas do painel.

Type
boolean
Default
false
app.tabBarVisibility

Determina quando um painel desenha sua barra de abas. "always" a desenha mesmo em um painel com uma única aba; "multiple-tabs" a oculta enquanto o painel tiver uma única aba e a desenha assim que uma segunda for aberta. O modo mínimo (app.minimalMode) a desenha sempre, porque nele a barra de abas do painel superior também serve de barra de título da janela.

Type
string
Default
"always"
Allowed values
always, multiple-tabs
app.renameSelectsExistingName

Select the current name when opening rename flows.

Type
boolean
Default
true
app.commandPaletteSearchesAllSurfaces

Search every surface in the command palette switcher instead of only the active workspace.

Type
boolean
Default
false

terminal

Terminal presentation settings from Settings > Terminal.

terminal.adaptiveDefaultTheme

Quando true (padrão), o cmux fornece uma paleta padrão que se adapta à aparência, a menos que um tema do Ghostty ou cores do terminal estejam configurados. A fonte e as outras configurações são preservadas. Quando false, o Ghostty usa sua paleta integrada fixa. Temas e cores explícitos sempre têm prioridade, incluindo theme = light:X,dark:Y.

Type
boolean
Default
true
terminal.showScrollBar

Show the right-edge terminal scroll bar when scrollback is available. cmux automatically suppresses it for alternate-screen style TUI surfaces.

Type
boolean
Default
true
terminal.scrollSpeed

Define quanto o terminal se move a cada evento de rolagem da roda do mouse ou do trackpad. Valores acima de 1 aceleram a rolagem e valores abaixo de 1 a tornam mais lenta.

Type
number
Default
1
terminal.sessionContentMaxWidth

Largura máxima opcional, em pontos, para o conteúdo do terminal e do chat integrado do agente. Defina como false para usar toda a largura do painel.

Type
boolean | number
Default
false
terminal.sessionContentAlignment

Posicionamento horizontal do conteúdo do terminal e do chat integrado do agente quando sessionContentMaxWidth está ativado.

Type
string
Default
"center"
Allowed values
left, center, right
terminal.copyOnSelect

Quando true, copia o texto selecionado no terminal para a área de transferência do sistema quando a seleção é confirmada. Quando false, o cmux não emite uma substituição copy-on-select do Ghostty; a configuração e os padrões do Ghostty controlam o comportamento da área de transferência de seleção.

Type
boolean
Default
false
terminal.showCopyConfirmation

Briefly show "Copied to clipboard" at the bottom of a terminal after selecting text copies it. Applies whether copyOnSelect or Ghostty's copy-on-select turned copying on. Copies made with a keyboard shortcut or by a program (OSC 52) never show it.

Type
boolean
Default
false
terminal.reflowHardWrapOnCopy

When true, copying terminal text also joins a line that exactly fills the terminal width onto the next line, undoing hard wraps a program inserted at the grid edge. Soft-wrapped rows are always joined.

Type
boolean
Default
false
terminal.confirmUnsafePaste

When true, a paste that Ghostty's clipboard-paste-protection flags as unsafe (for example, text with a line break going to a program that has not enabled bracketed paste) waits for confirmation in a sheet attached to the terminal's window. When false, cmux pastes it without asking. OSC 52 clipboard reads are not affected.

Type
boolean
Default
false
terminal.textEditingGestures

Replay macOS text-editing gestures as line-editor keys at the shell prompt: Command and Option arrow keys move by line and word, and Command and Option Delete kill by line and word. While a full-screen application (vim, less, htop, tmux) has the terminal on the alternate screen, it gets the keys as if gestures were off, unless textEditingGesturesInFullScreenApps is on. Ghostty's own bindings still apply there, so Command+Left sends Ctrl+A and Option+Left sends Esc b.

Type
boolean
Default
false
terminal.textEditingCommandMovesByWord

With textEditingGestures on, switch to a browser-style layout: Command arrow and Delete keys move and delete by word, like Option, and Control+Left/Right move to the start and end of the line. Every other Control chord, including Ctrl+W and Ctrl+C, still reaches the terminal. macOS reserves Control+Left/Right for switching Spaces by default; turn those off in System Settings > Keyboard > Keyboard Shortcuts > Mission Control for Control+arrows to reach cmux.

Type
boolean
Default
false
terminal.textEditingGesturesInFullScreenApps

Keep textEditingGestures active while a full-screen application has the terminal on the alternate screen. tmux, screen, and zellij keep the outer terminal on the alternate screen even at their shell prompt, so turn this on to use gestures inside a multiplexer. Applications that bind the gesture chords themselves then receive the translated keys.

Type
boolean
Default
false
terminal.showPasswordInputIndicator

Show a lock badge in the terminal corner while the foreground program has turned echo off for a password prompt (sudo, ssh, passwd, gpg). cmux draws the badge itself and never changes terminal text. Only prompts on the local terminal are detected: an ssh password prompt counts, but sudo run inside an ssh session does not. Changes apply to an open prompt at once.

Type
boolean
Default
true
terminal.showPasswordInputDots

When the password input badge is shown, also draw one dot per typed character. cmux keeps only a count, never the typed characters. Backspace removes a dot; Enter or echo turning back on clears them. Pasted text is not counted.

Type
boolean
Default
false
terminal.showJumpToBottomButton

Removed. cmux no longer shows a Jump to Bottom button in terminal panes, and ignores this key. It stays in the schema so existing configs still validate.

Type
boolean
Default
none
terminal.predictiveLocalEcho

Draw typed characters immediately in a terminal whose shell runs on another machine (cmux ssh, Cloud, remote tmux) when the link is slow, underlined until the remote echo confirms them, and withdraw them if the remote disagrees. Local terminals, password prompts and full-screen apps are excluded.

Type
boolean
Default
true
terminal.autoResumeAgentSessions

Automatically 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.

Type
boolean
Default
true
terminal.showTextBoxOnNewTerminals

Mostra a entrada TextBox por padrão em áreas de trabalho, abas e divisões de terminal recém-criadas.

Type
boolean
Default
false
terminal.focusTextBoxOnNewTerminals

Foca a entrada TextBox por padrão em áreas de trabalho, abas e divisões de terminal recém-criadas. Focar também mostra o TextBox.

Type
boolean
Default
false
terminal.agentHibernation

Routine Agent Hibernation settings. cmux kills idle background agent processes to free RAM and CPU, then resumes them with their saved session when their tab is visited. Routine hibernation requires a restorable coding agent whose lifecycle reports idle, an off-screen terminal, a live-terminal count above the configured limit, and unchanged output through the idle and confirmation windows. Independently, under memory pressure (critical pressure from macOS or from the cmux app's own footprint, or cmux's total memory use past its aggregate warning threshold) cmux may hibernate every safe idle background agent even when enabled is false; visible, running, needs-input, recently changed, and unprotectable agents remain excluded. The placeholder Resume button is a manual fallback.

Type
object
Default
none
terminal.rendererRealization

Reclaim off-screen terminal GPU renderer memory. cmux releases the Metal renderer (IOSurface) of a terminal that has stayed off-screen and idle while keeping its process and terminal state alive, then rebuilds the renderer instantly when the tab is visited again. Non-destructive and on by default.

Type
object
Default
none
terminal.titleUpdates

Terminal title update throttling and diagnostics.

Type
object
Default
none
terminal.runawayMemoryGuardrail

Per-pane process-tree memory monitoring.

Type
object
Default
none
terminal.textBoxMaxLines

Maximum number of lines the rich terminal TextBox input can grow to before it scrolls.

Type
integer
Default
10
terminal.textBoxDefaultSubmitAction

Default TextBox submit action ID for new terminal sessions. Use text-entry for plain input or one of the configured action IDs.

Type
string
Default
"text-entry"
terminal.textBoxSubmitActions

Configurable TextBox submit actions shown on the submit button, Shift-Tab cycle, and right-click menu.

Type
array<object>
Default
[]
terminal.resumeCommands

Signed command-prefix approvals for restoring non-agent terminal surfaces. cmux writes this list when you approve a surface resume command.

Type
array<object>
Default
[]
terminal.uploadCommands

Host-scoped rules that replace the built-in scp for terminal file drops and pastes over SSH. When the ssh destination matches a rule, cmux runs that rule's command once per file instead of scp, and inserts the command's stdout at the cursor (verbatim, with control characters stripped); if the command prints nothing, cmux inserts the shell-escaped remote path it chose instead. Per-file outputs are space-joined. First matching enabled rule wins; no match runs the built-in scp unchanged. A non-zero exit, timeout, or cancel inserts nothing.

Type
array<object>
Default
[]

notifications

Notification behavior from Settings > Notifications.

notifications.dockBadge

Show the unread count in the Dock tile.

Type
boolean
Default
true
notifications.showInMenuBar

Show the menu bar extra.

Type
boolean
Default
true
notifications.unreadPaneRing

Highlight panes with unread notifications.

Type
boolean
Default
true
notifications.paneFlash

Flash the focused pane when requested.

Type
boolean
Default
true
notifications.paneFlashDoubleBlink

Blink the pane flash twice instead of one short pulse.

Type
boolean
Default
true
notifications.paneFlashOnTyping

Flash the pane when terminal typing dismisses its notification.

Type
boolean
Default
true
notifications.paneFlashThemeColor

Use the terminal theme foreground for flashes when paneFlashColor is unset. Unread rings remain cmux blue.

Type
boolean
Default
false
notifications.paneFlashColor

Override the pane flash and unread notification ring color. Leave unset to use the accent from app.accentColor.

Type
unknown
Default
null
notifications.soundWhenFocused

Reproduz o som de notificação mesmo quando o painel que notificou já está em foco. Desativado por padrão, então um painel em foco mostra apenas o anel e o destaque.

Type
boolean
Default
false
notifications.suppressOnlyFocusedSurface

Quando ativado, um banner de notificação é retirado automaticamente apenas quando sua superfície é exatamente a superfície focada. Um banner entregue para uma superfície não focada no workspace atualmente visível permanece visível até você focar essa superfície (ou clicar nele/dispensá-lo), em vez de ser retirado quando o workspace se torna visível. Desativado preserva a retirada antiga baseada na visibilidade do workspace.

Type
boolean
Default
false
notifications.suppressWhenAppFocused

Quando ativado, o cmux ignora o banner da área de trabalho em todas as notificações enquanto o cmux é o app ativo, não apenas no painel em foco. As notificações continuam aparecendo na barra lateral, o som e o comando personalizado continuam sendo executados, e o encaminhamento para o celular não muda. Desativado continua mostrando banners de outros workspaces e painéis enquanto o cmux está em foco.

Type
boolean
Default
false
notifications.agentPermissionPrompt

Notify when an agent (e.g. Claude Code) is blocked waiting for your permission to run a tool. On by default, since this is the alert you must act on to unblock the agent.

Type
boolean
Default
true
notifications.agentTurnComplete

When to notify that an agent finished a turn. whenIdle (default) suppresses the notification while the agent still has a running background task or a pending scheduled wakeup, so you are pinged once work truly drains. always notifies on every turn end; never disables it.

Type
string
Default
"whenIdle"
Allowed values
whenIdle, always, never
notifications.agentIdleReminder

Notifique quando um agente estiver ocioso aguardando sua entrada (cerca de 60 segundos após o fim de um turno). A notificação é suprimida enquanto ainda houver trabalho em segundo plano do turno anterior, para que um build ou monitor em execução não gere um falso alerta de espera.

Type
boolean
Default
true
notifications.sound

Notification sound preset.

Type
string
Default
"default"
Allowed values
default, Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink, custom_file, none
notifications.customSoundFilePath

Local path to the custom notification sound file.

Type
string
Default
""
notifications.soundOverrides

Substituições esparsas do som de notificação por agente e tipo de alerta. Células ausentes usam notifications.sound.

Type
object
Default
{}
notifications.command

Optional shell command to run alongside notification delivery.

Type
string
Default
""
notifications.hooksMode

Controls whether project-local notification hooks append to inherited hooks or replace them.

Type
string
Default
"append"
Allowed values
append, replace
notifications.hooks

Composable shell hooks that receive notification policy JSON on stdin and return updated policy JSON on stdout.

Type
array<object>
Default
[]

sidebar

Sidebar content and metadata visibility from Settings > Sidebar.

sidebar.fontSize

Sidebar font size in points. The legacy Ghostty key sidebar-font-size remains a fallback alias.

Type
number
Default
12.5
sidebar.hideAllDetails

Hide all per-workspace detail rows.

Type
boolean
Default
false
sidebar.wrapWorkspaceTitles

Allow workspace titles in the sidebar to wrap to multiple lines instead of truncating after one line.

Type
boolean
Default
false
sidebar.showWorkspaceDescription

Show custom workspace descriptions in the sidebar.

Type
boolean
Default
true
sidebar.workspaceDescriptionColor

Override the workspace description text color in the sidebar.

Type
unknown
Default
null
sidebar.beta

Experimental sidebar features.

Type
object
Default
none
sidebar.branchLayout

Show git branch details stacked vertically or inline.

Type
string
Default
"vertical"
Allowed values
vertical, inline
sidebar.branchVerticalLayout

Show git branch details stacked vertically when true, or inline when false. This boolean form is the canonical setting; branchLayout remains supported as a legacy alias.

Type
boolean
Default
true
sidebar.stackBranchDirectory

Render the git branch and working directory on separate lines instead of sharing one line.

Type
boolean
Default
false
sidebar.pathLastSegmentOnly

Truncate sidebar paths from the start, showing as much of the trailing path as fits with a leading …/. When false, full paths are abbreviated with ~/.

Type
boolean
Default
false
sidebar.showNotificationMessage

Show the latest notification text in the sidebar.

Type
boolean
Default
true
sidebar.notificationMessageLineLimit

Número máximo de linhas exibidas para a notificação mais recente abaixo do título de cada espaço de trabalho.

Type
integer
Default
12
sidebar.showBranchDirectory

Show the workspace working directory.

Type
boolean
Default
true
sidebar.showCloudDeviceIcons

Mostrar ícones de máquinas Cloud e dispositivos ao lado dos títulos dos espaços de trabalho remotos, independentemente dos detalhes da branch Git e do diretório.

Type
boolean
Default
true
sidebar.showPullRequests

Show pull request metadata in the sidebar.

Type
boolean
Default
true
sidebar.watchGitStatus

Watch repository files for sidebar branch and pull request metadata without polling git.

Type
boolean
Default
true
sidebar.makePullRequestsClickable

Allow sidebar pull request metadata to open links when clicked.

Type
boolean
Default
true
sidebar.openPullRequestLinksInCmuxBrowser

Open sidebar pull request links in the embedded cmux browser.

Type
boolean
Default
true
sidebar.openPortLinksInCmuxBrowser

Open sidebar port links in the embedded cmux browser.

Type
boolean
Default
true
sidebar.showSSH

Show SSH connection details.

Type
boolean
Default
true
sidebar.showPorts

Show listening ports.

Type
boolean
Default
true
sidebar.showLog

Show recent log snippets.

Type
boolean
Default
true
sidebar.showProgress

Show progress indicators.

Type
boolean
Default
true
sidebar.showAgentUsage

Acrescenta o uso do agente de código à entrada de status do Claude Code ou do Codex: modelo e janela de contexto consumida e, no Claude Code, um custo de API estimado (thread principal e subagentes) pelos preços de tabela publicados pela Anthropic. O custo é uma estimativa, não a sua fatura de assinatura; os níveis batch e priority, os preços para parceiros, o modo rápido e as taxas de ferramentas de servidor não são considerados.

Type
boolean
Default
false
sidebar.showAgentActivity

Show the loading spinner on workspaces with running coding agents or active loaders.

Type
boolean
Default
true
sidebar.loadingSpinnerPosition

Which side of the workspace row the loading spinner appears on: leading (left, sharing the unread-badge slot) or trailing (right).

Type
string
Default
"leading"
Allowed values
leading, trailing
sidebar.notificationBadgePosition

Which side of the workspace row the unread notification badge appears on: leading (left) or trailing (right).

Type
string
Default
"leading"
Allowed values
leading, trailing
sidebar.showCustomMetadata

Show custom metadata pills.

Type
boolean
Default
true
sidebar.compactAgentStatus

Mostrar cada workspace em uma única linha: um ícone colorido antes do título indica o estado do agente, dos não lidos e da pull request e substitui as linhas de status dos agentes (por exemplo, Em execução ou Precisa de entrada), a linha de branch e diretório e as linhas de pull request, cujos detalhes passam para a dica do ícone. As outras entradas de status mantêm suas linhas.

Type
boolean
Default
false
sidebar.compactStatusIcons

Nomes de SF Symbols que substituem o glifo de compactAgentStatus para cada estado, por exemplo {"terminal": "apple.terminal", "needsInput": "hand.raised.fill"}. Estados não definidos mantêm o símbolo integrado, e um nome que não pode ser exibido volta para ele.

Type
object
Default
{}
sidebar.activeTabIndicatorStyle

Active workspace indicator style in the sidebar.

Type
string
Default
"leftRail"
Allowed values
leftRail, solidFill, rail, border, wash, lift, typography, washRail, blueWashColorRail
sidebar.selectionColor

Override the selected workspace background color in the sidebar.

Type
unknown
Default
null
sidebar.notificationBadgeColor

Override the unread notification badge color in the sidebar.

Type
unknown
Default
null
sidebar.rightMaxWidth

Largura máxima em pontos para a barra lateral direita. Quando omitida, o limite dinâmico integrado se aplica.

Type
number
Default
none

workspaceGroups

Per-cwd customization for sidebar workspace groups. The anchor workspace's cwd is matched against the keys in `byCwd`; longest-match wins. Keys containing `*` or `?` are matched as fnmatch globs (with `~` expanded); other keys are path prefixes.

workspaceGroups.newWorkspacePlacement

Padrão global para onde Cmd-N dentro de um grupo, o botão + do cabeçalho do grupo e ações de grupo configuradas colocam o novo workspace: `afterCurrent` (depois do workspace ativo no grupo, voltando para top), `top` (segunda posição, logo após a âncora) ou `end` (após o último membro).

Type
string
Default
"afterCurrent"
Allowed values
afterCurrent, top, end
workspaceGroups.byCwd

Map of cwd patterns to group customization. Empty when omitted.

Type
object
Default
none

workspaceColors

Workspace tab and badge colors from Settings > Workspace Colors.

workspaceColors.indicatorStyle

Active workspace indicator style. Legacy aliases are accepted and normalized.

Type
string
Default
"leftRail"
Allowed values
leftRail, solidFill, rail, border, wash, lift, typography, washRail, blueWashColorRail
workspaceColors.selectionColor

Override the selected workspace background color.

Type
unknown
Default
null
workspaceColors.subtleSelection

Show the selected workspace as a faint accent tint with a thin edge instead of a solid fill. A custom selectionColor still uses a solid fill.

Type
boolean
Default
false
workspaceColors.brightenInDarkMode

Lighten workspace colors in dark mode so they stay readable on a dark sidebar. false shows colors exactly as chosen. Applies to the solidFill indicator; leftRail always lightens its rail.

Type
boolean
Default
true
workspaceColors.notificationBadgeColor

Override the unread notification badge color.

Type
unknown
Default
null
workspaceColors.colors

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.

Type
object
Default
{
  "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"
}
workspaceColors.paletteOverrides

Legacy workspace color overrides for built-in palette names. Prefer workspaceColors.colors for new configs.

Type
object
Default
{}
workspaceColors.customColors

Legacy list of custom workspace colors. Prefer workspaceColors.colors for new configs.

Type
array<unknown>
Default
[]

workspaceColors.colors is the full palette. Keep the built-in keys you want, delete keys to remove colors from the picker, and add more named color entries to extend it. Older paletteOverrides and customColors files still parse during upgrades, but new files should use colors.

{
  "workspaceColors": {
    "colors": {
      "Red": "#C0392B",
      "Blue": "#1565C0",
      "Neon Mint": "#00F5D4"
    }
  }
}

sidebarAppearance

Sidebar tint settings from Settings > Sidebar Appearance.

sidebarAppearance.matchTerminalBackground

Use the terminal background instead of the sidebar tint.

Type
boolean
Default
true
sidebarAppearance.tintColor

Base sidebar tint color used when light/dark overrides are not set.

Type
unknown
Default
"#000000"
sidebarAppearance.lightModeTintColor

Sidebar tint override for light appearance.

Type
unknown
Default
null
sidebarAppearance.darkModeTintColor

Sidebar tint override for dark appearance.

Type
unknown
Default
null
sidebarAppearance.tintOpacity

Sidebar 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`.

Type
number
Default
0.18

automation

Socket control and automation settings from Settings > Automation.

automation.socketControlMode

Socket control mode. Legacy aliases are accepted and normalized.

Type
string
Default
"cmuxOnly"
Allowed values
off, cmuxOnly, automation, password, allowAll, openAccess, fullOpenAccess, notifications, full
automation.socketPassword

Password for password-mode socket access. Use null or an empty string to clear it.

Type
string | null
Default
""
automation.claudeCodeIntegration

Enable cmux integration hooks for Claude Code.

Type
boolean
Default
true
automation.codexIntegration

Enable cmux integration hooks for Codex. When disabled, cmux no longer wraps the codex command but still tracks live Codex sessions it can observe.

Type
boolean
Default
true
automation.canonicalAgentScratch

Use a cmux-owned scratch directory for native agent panels, organized per session.

Type
boolean
Default
false
automation.piIntegration

Enable cmux integration hooks for Pi.

Type
boolean
Default
true
automation.claudeBinaryPath

Custom path to the claude binary.

Type
string
Default
""
automation.workspaceAutoNaming

Nomeação automática opcional de espaços de trabalho e abas por IA a partir do conteúdo das conversas do agente. Quando ativada, o cmux resume as sessões de agentes compatíveis em títulos curtos usando o binário próprio de cada agente; renomeações manuais sempre prevalecem.

Type
boolean
Default
false
automation.autoNamingAgent

Qual agente gera os nomes automáticos para cada sessão. "auto" (padrão) nomeia cada sessão com o próprio agente; qualquer slug de agente (claude, codex, grok, opencode, pi, omp, …) substitui a nomeação de todas as sessões, mesmo as de outros agentes. Agentes não utilizáveis ou não instalados recorrem ao agente da própria sessão, de modo que a nomeação nunca falha.

Type
string
Default
"auto"
automation.ripgrepBinaryPath

Custom path to the ripgrep (rg) binary used by project search.

Type
string
Default
""
automation.suppressSubagentNotifications

Suprime notificações visíveis de conclusão e alterações de status de agentes filhos aninhados do Codex ou Claude, mantendo seus eventos na telemetria do Feed.

Type
boolean
Default
true
automation.agentAutoResume

Envia `continue`, com espera progressiva, a um agente iniciado pelo cmux cujo turno terminou com um erro do serviço que pode ser repetido (modelo sem capacidade, sobrecarregado ou conexão perdida). Turnos aguardando uma pessoa nunca são retomados.

Type
boolean
Default
true
automation.ampIntegration

Liga ou desliga os hooks do cmux para o Amp. Quando desligados, o plugin incluído continua instalado, mas inativo.

Type
boolean
Default
true
automation.cursorIntegration

Enable cmux integration hooks for Cursor.

Type
boolean
Default
true
automation.geminiIntegration

Enable cmux integration hooks for Gemini.

Type
boolean
Default
true
automation.kiroIntegration

Enable cmux integration hooks for Kiro CLI.

Type
boolean
Default
true
automation.kiroNotificationLevel

Controls how many Kiro tool events appear in Feed.

Type
string
Default
"standard"
Allowed values
minimal, standard, verbose
automation.portBase

Starting value for workspace CMUX_PORT assignments.

Type
integer
Default
9100
automation.portRange

Number of ports reserved per workspace.

Type
integer
Default
10

ui

UI action wiring, including surface tab bar buttons and plus-button behavior. The plus-button context menu shows ui.newWorkspace.contextMenu (or the default items) followed by actions that opt in via newWorkspaceMenu.

ui.newWorkspace

New Workspace button behavior and context-menu wiring.

Type
object
Default
none

agentChat

Agent Chat GUI server settings. The built-in New agent chat action opens this URL in a browser workspace, probes /healthz first, and can run a configured start command when the server is down.

agentChat.url

Base URL for the machine-local Agent Chat GUI server. cmux probes <url>/healthz before opening the workspace.

Type
string
Default
"http://127.0.0.1:7739"
agentChat.startCommand

Optional shell command to start the Agent Chat server when <url>/healthz is unreachable. cmux runs it detached with the user's SHELL, polls healthz for a short bounded window, then opens the workspace either way.

Type
string
Default
none
agentChat.keys

Keyboard behavior overrides for the Agent Chat web UI.

Type
object
Default
none
agentChat.fonts

Font overrides for the Agent Chat web UI. Omitted values fall back to Ghostty and built-in defaults.

Type
object
Default
none

browser

Embedded browser settings from Settings > Browser.

browser.defaultSearchEngine

Mecanismo de busca padrão para consultas na barra de endereço do navegador que não são URLs. Use custom com customSearchEngineURLTemplate para outros provedores.

Type
string
Default
"google"
Allowed values
google, duckduckgo, bing, kagi, startpage, brave, perplexity, exa, yahoo, ecosia, qwant, mojeek, wikipedia, github, baidu, yandex, custom
browser.customSearchEngineName

Nome exibido quando defaultSearchEngine é custom.

Type
string
Default
""
browser.customSearchEngineURLTemplate

URL de busca usada quando defaultSearchEngine é custom. Inclua o marcador da consulta ou %s para a consulta codificada. Sem marcador, o cmux adiciona q= à URL.

Type
string
Default
"https://www.google.com/search?q={query}"
browser.showSearchSuggestions

Show omnibar search suggestions.

Type
boolean
Default
true
browser.theme

Embedded browser theme.

Type
string
Default
"system"
Allowed values
system, light, dark
browser.defaultZoomLevel

Default page zoom factor applied to newly opened browser pages (1 = 100%). Zoom In, Zoom Out, and Actual Size still adjust each page.

Type
number
Default
1
browser.discardHiddenWebViews

Allow hidden browser tabs to release page memory. Scroll position, supported form input, and history are restored when recoverable.

Type
boolean
Default
true
browser.hiddenWebViewDiscardMode

How cmux picks hidden browser tabs to free. budget frees the tabs hidden longest once hidden tabs use more than hiddenWebViewMemoryBudgetMB; timer frees every tab hidden longer than hiddenWebViewDiscardDelaySeconds.

Type
string
Default
"budget"
Allowed values
budget, timer
browser.hiddenWebViewMemoryBudgetMB

Megabytes of memory hidden browser tabs may use before cmux frees the tabs hidden longest. Applies when hiddenWebViewDiscardMode is budget.

Type
integer
Default
2048
browser.hiddenWebViewDiscardDelaySeconds

Seconds a browser tab must stay hidden before cmux may free its page memory. In timer mode, every tab hidden this long is freed.

Type
number
Default
300
browser.autoRestoreUnloadedPages

Restore a browser page unloaded to save memory, or whose web process ended while hidden, as soon as its tab is shown. When false, the tab shows the page's last snapshot until you click Restore.

Type
boolean
Default
true
browser.askWhereToSaveDownloads

Show a save panel for browser downloads instead of saving directly to Downloads.

Type
boolean
Default
false
browser.showLinkHoverURL

Mostra o destino de um link no canto inferior esquerdo do painel do navegador enquanto o cursor está sobre o link ou quando o link tem o foco do teclado.

Type
boolean
Default
true
browser.openTerminalLinksInCmuxBrowser

Open clicked terminal links in the embedded browser.

Type
boolean
Default
true
browser.interceptTerminalOpenCommandInCmuxBrowser

Intercept terminal open http(s) commands and route them through the embedded browser.

Type
boolean
Default
true
browser.hostsToOpenInEmbeddedBrowser

Allowlist of hosts that should stay inside the embedded browser.

Type
array<string>
Default
[]
browser.urlsToAlwaysOpenExternally

Rules that always open matching URLs in the system browser.

Type
array<string>
Default
[]
browser.insecureHttpHostsAllowedInEmbeddedBrowser

HTTP hosts allowed in the embedded browser without a warning prompt.

Type
array<string>
Default
[
  "localhost",
  "*.localhost",
  "127.0.0.1",
  "::1",
  "0.0.0.0",
  "*.localtest.me"
]
browser.urlAllowlist

Padrões de host ou URL que restringem a navegação no navegador integrado. Os Ajustes sugerem origens de desenvolvimento local; salvar uma lista ativa a restrição opcional. Remova entradas para bloqueá-las ou deixe o valor do usuário vazio, sem uma política gerenciada, para desativar a restrição.

Type
array<string>
Default
[
  "localhost",
  "*.localhost",
  "127.0.0.1",
  "::1",
  "0.0.0.0",
  "*.localtest.me"
]
browser.showImportHintOnBlankTabs

Show the browser import hint on blank tabs.

Type
boolean
Default
true
browser.reactGrabVersion

Pinned react-grab version for the browser toolbar helper.

Type
string
Default
"0.1.29"

markdown

Built-in markdown viewer settings.

markdown.fontSize

Default body font size, in points, for newly opened markdown viewers. Zoom a viewer live with Cmd-+ / Cmd-- / Cmd-0.

Type
integer
Default
15
markdown.fontFamily

Default body font family for newly opened markdown viewers. Leave empty for the system markdown font stack.

Type
string
Default
""
markdown.maxWidth

Default maximum reading column width, in CSS pixels, for newly opened markdown viewers.

Type
integer
Default
980

fileEditor

Built-in file editor settings.

fileEditor.wordWrap

Quebra visualmente as linhas mais largas que o editor, para que não seja preciso rolar na horizontal.

Type
boolean
Default
false
fileEditor.syntaxHighlighting

Aplica uma coloração adequada à linguagem ao código aberto no editor de arquivos integrado.

Type
boolean
Default
true
fileEditor.lineNumbers

Numera cada linha em uma coluna ao lado do texto do editor de arquivos integrado.

Type
boolean
Default
true
fileEditor.indentGuides

Marca cada nível de indentação com uma linha vertical fina no editor de arquivos integrado.

Type
boolean
Default
true
fileEditor.currentLineHighlight

Destaca com cor a linha que contém o cursor de texto enquanto nada estiver selecionado.

Type
boolean
Default
true
fileEditor.tabWidth

Quantas colunas uma parada de tabulação ocupa. As guias de indentação usam o mesmo espaçamento.

Type
integer
Default
4

fileExplorer

Configurações do explorador de arquivos (árvore de arquivos) na barra lateral direita.

fileExplorer.doubleClickAction

Define o que acontece ao clicar duas vezes (ou pressionar Return em um resultado de busca) em um arquivo no explorador de arquivos. `preview` abre a visualização de arquivo integrada do cmux (comportamento padrão e histórico). `defaultEditor` abre com o app padrão do macOS para o tipo de arquivo. `preferredEditor` abre com o comando `app.preferredEditor`, voltando para o app padrão quando nenhum estiver definido. Aplica-se apenas a arquivos; diretórios sempre expandem/recolhem, e exploradores de arquivos não locais (remotos) sempre abrem a visualização do cmux.

Type
string
Default
"preview"
Allowed values
preview, defaultEditor, preferredEditor

shortcuts

Keyboard shortcut settings from Settings > Keyboard Shortcuts.

shortcuts.showModifierHoldHints

Mostra chips de dica de atalhos enquanto Cmd ou Control estiver pressionado.

Type
boolean
Default
true
shortcuts.when

Predicados de contexto opcionais por ação (cláusulas `when` no estilo do VS Code), indexados pelo id da ação do cmux. Cada valor é uma expressão booleana sobre chaves de contexto, combinada com !, &&, || e parênteses. Chaves booleanas: sidebarFocus, browserFocus, markdownFocus, filePreviewTextEditorFocus, simulatorFocus, terminalFocus, commandPaletteVisible, terminalFindVisible, terminalAlternateScreen, workspaceCanvasLayout. Chaves tipadas aceitam comparações: a string sidebarMode (files, find, sessions, feed ou dock) e os inteiros paneCount e workspaceCount. Os operadores de comparação são ==, !=, =~ (expressão regular), <, <=, >, >= e `in [a, b]`; uma chave desconhecida ou ausente é avaliada como false. Os literais booleanos true e false também são aceitos; `key == false` equivale a `!key`. O atalho da ação só dispara (e só conflita com outros atalhos) quando a cláusula é verdadeira. Exemplos: { "selectWorkspaceByNumber": "!sidebarFocus" } seleciona workspaces com Ctrl+1–9 em todos os lugares, exceto quando a barra lateral direita está em foco; { "selectSurfaceByNumber": "sidebarMode == 'find' && paneCount > 1" } restringe uma atribuição à barra lateral Localizar quando o workspace tem vários painéis.

Type
object
Default
{}

shortcuts.bindings

Use a string for a single shortcut, a two-item array for a chord, or null to unbind a shortcut in shortcuts.bindings. Unbind aliases also include empty string (""), none, clear, unbound, and disabled. Example chord: ["ctrl+b", "c"]. Numbered actions use 1 as the stored default and still match digits 1 through 9.

The defaults below are the same cmux-owned actions listed on the keyboard shortcuts page.

App

openSettings

Settings

Default file value
cmd+,
openTeamPicker

Abrir seletor de equipes

Default file value
opt+shift+cmd+t
reloadConfiguration

Reload configuration

Default file value
cmd+shift+,
showHideAllWindows

Show/hide all cmux windowssystem-wide hotkey

Default file value
ctrl+opt+cmd+.
globalSearch

Global searchwhen cmux is active

Default file value
opt+cmd+f
commandPalette

Command palette

Default file value
cmd+shift+p
agentInbox

Mostrar caixa de entrada dos agentes

Default file value
cmd+shift+i
commandPaletteNext

Command palette next resultwhen the command palette is open

Default file value
ctrl+n
commandPalettePrevious

Command palette previous resultwhen the command palette is open

Default file value
ctrl+p
newWindow

New window

Default file value
cmd+shift+n
closeWindow

Close window

Default file value
ctrl+cmd+w
toggleFullScreen

Toggle full screen

Default file value
ctrl+cmd+f
sendFeedback

Send feedbackunbound by default

Default file value
reopenPreviousSession

Reopen previous session

Default file value
cmd+shift+o
quit

Quit cmux

Default file value
cmd+q

Workspaces

toggleSidebar

Toggle left sidebar

Default file value
cmd+b
toggleFileExplorer

Toggle right sidebar

Default file value
cmd+opt+b
newTab

Novo espaço de trabalho local

Default file value
cmd+n
newLocalWorkspace

Nova Área de Trabalho Localabre uma área de trabalho local enquanto uma área de trabalho espelhada de tmux remoto está ativa, onde Nova Área de Trabalho iniciaria uma sessão no host dessa área

Default file value
ctrl+opt+cmd+n
newBrowserWorkspace

New browser workspacelike New Workspace, but the first surface is a browser pane with the address bar focused

Default file value
opt+cmd+n
newCloudWorkspace

Novo espaço de trabalho na nuvemUsa a máquina do espaço de trabalho Cloud selecionado mais recentemente e depois a primeira na barra lateral direita; se não houver uma máquina utilizável, abre o New Cloud Machine

Default file value
cmd+y
newCloudMachine

Nova máquina na nuvem

Default file value
shift+cmd+y
saveLayoutTemplate

Save current workspace layout as a template

Default file value
ctrl+cmd+s
openFolder

Open folder

Default file value
cmd+o
goToWorkspace

Go to workspaceworkspace switcher

Default file value
cmd+p
nextSidebarTab

Next workspace

Default file value
ctrl+cmd+]
prevSidebarTab

Previous workspace

Default file value
ctrl+cmd+[
nextSidebarTabInGroup

Next workspace in groupunbound by default; skips the group anchor and uses window-wide cycling when ungrouped

Default file value
prevSidebarTabInGroup

Previous workspace in groupunbound by default; skips the group anchor and uses window-wide cycling when ungrouped

Default file value
moveWorkspaceUp

Move workspace up

Default file value
ctrl+opt+cmd+[
moveWorkspaceDown

Move workspace down

Default file value
ctrl+opt+cmd+]
focusHistoryBack

Focus backFocus Back/Forward use Cmd+[ and Cmd+] outside browser panes; browser Back/Forward use the same defaults inside browser panes. Unbind Focus Back/Forward to let terminal shortcuts handle those keys.

Default file value
cmd+[
focusHistoryForward

Focus forwardFocus Back/Forward use Cmd+[ and Cmd+] outside browser panes; browser Back/Forward use the same defaults inside browser panes. Unbind Focus Back/Forward to let terminal shortcuts handle those keys.

Default file value
cmd+]
focusHistoryLast

Focus lastunbound by default; toggles between the current position and the one focus last left, so pressing it twice returns where you started

Default file value
selectWorkspaceByNumber

Select workspace 1…9

Default file value
cmd+1
renameWorkspace

Rename workspace

Default file value
cmd+shift+r
editWorkspaceDescription

Edit workspace description

Default file value
opt+cmd+e
markWorkspaceDone

Mark workspace as done

Default file value
cmd+;
cycleWorkspaceStatus

Cycle workspace status one lane forward

Default file value
cmd+shift+;
toggleChecklistItemComplete

Toggle the highlighted checklist itemApplies in the focused todo pane or checklist popover.

Default file value
cmd+enter
newWorkspaceGroup

New empty workspace group

Default file value
ctrl+cmd+g
groupSelectedWorkspaces

Group selected workspaces

Default file value
cmd+shift+g
toggleFocusedWorkspaceGroupCollapsed

Collapse or expand focused workspace group

Default file value
ctrl+cmd+.
focusSidebar

Focus the workspace sidebar↑/↓ select workspaces; Return or Esc returns to the terminal

Default file value
ctrl+cmd+e
showWindowHints

Click by hint: label the window's controlsType a label to click it, Shift+label to right-click; Esc cancels. Preview feature, off by default: turn on Click by Hint in Settings > Beta Features or from the command palette

Default file value
cmd+j
focusRightSidebar

Toggle right-sidebar focus

Default file value
cmd+shift+e
navigateRightSidebarRows

Navigate focused sidebar rowsIn Files, H/L collapse and expand folders. Search starts with /.

Default file value
j / k
fileExplorerOpenSelection

Abrir o arquivo selecionado ou alternar pastaexplorador de arquivos em foco

Default file value
enter
fileExplorerOpenSelectionFinderAlias

Abrir o arquivo selecionado ou alternar pastaalias no estilo Finder para o explorador de arquivos em foco

Default file value
cmd+down
closeWorkspace

Close workspace

Default file value
cmd+shift+w
reopenClosedWorkspace

Reopen closed workspaceunbound by default

Default file value

Superfícies

newSurface

New surface

Default file value
cmd+t
nextSurface

Next surface

Default file value
cmd+shift+]
prevSurface

Previous surface

Default file value
cmd+shift+[
moveSurfaceLeft

Reorder surface left

Default file value
opt+cmd+shift+[
moveSurfaceRight

Reorder surface right

Default file value
opt+cmd+shift+]
moveSurfaceToPreviousPane

Move surface to previous pane

Default file value
ctrl+cmd+shift+[
moveSurfaceToNextPane

Move surface to next pane

Default file value
ctrl+cmd+shift+]
moveSurfaceToPaneLeft

Move surface to pane on left

Default file value
opt+cmd+shift+left
moveSurfaceToPaneRight

Move surface to pane on right

Default file value
opt+cmd+shift+right
moveSurfaceToPaneUp

Move surface to pane above

Default file value
opt+cmd+shift+up
moveSurfaceToPaneDown

Move surface to pane below

Default file value
opt+cmd+shift+down
selectSurfaceByNumber

Select surface 1…9

Default file value
ctrl+1
renameTab

Rename tab

Default file value
cmd+r
closeTab

Close tab

Default file value
cmd+w
closeOtherTabsInPane

Close other tabs in pane

Default file value
opt+cmd+t
reopenClosedBrowserPanel

Reopen last closed

Default file value
cmd+shift+t
toggleTerminalCopyMode

Toggle terminal copy mode

Default file value
cmd+shift+m
clearScreenKeepScrollback

Clear screen (keep scrollback)

Default file value
cmd+shift+k
simulatorHome

Simulator: Homefocused Simulator

Default file value
cmd+shift+h
simulatorRotateLeft

Simulator: rotate leftfocused Simulator

Default file value
cmd+left
simulatorRotateRight

Simulator: rotate rightfocused Simulator

Default file value
cmd+right
simulatorToggleAppearance

Simulator: toggle appearancefocused Simulator

Default file value
cmd+shift+a
simulatorToggleSoftwareKeyboard

Simulator: toggle software keyboardfocused Simulator

Default file value
cmd+k
focusTextBoxInput

Switch focus between terminal and TextBox input

Default file value
cmd+shift+a
cycleTextBoxSubmitAction

Cycle TextBox submit action

Default file value
shift+tab
attachTextBoxFile

Attach file to TextBox input

Default file value
opt+cmd+shift+a
sendCtrlFToTerminal

Send Ctrl-F to terminalunbound by default; forwards Ctrl-F to the focused terminal (Claude Code: invoke twice to force-stop hung background agents)

Default file value
sizeTerminalToMyWindow

Size shared terminal to my windowwhen a terminal is shared with phones or other clients, makes this Mac's window set its grid

Default file value
ctrl+opt+cmd+=
pasteLastScreenshot

Colar a última captura de telasem atalho por padrão; insere no terminal em foco o caminho da captura de tela mais recente da pasta de capturas do macOS (a Mesa, se não tiver sido alterada), enviando-a antes em espaços de trabalho remotos

Default file value
saveFilePreview

Save file previewfocused text preview

Default file value
cmd+s
toggleFileEditorWordWrap

Alternar quebra de linha no editor de arquivoseditor de arquivos em foco

Default file value
opt+z

Painéis Divididos

focusLeft

Focus pane left

Default file value
opt+cmd+left
focusRight

Focus pane right

Default file value
opt+cmd+right
focusUp

Focus pane up

Default file value
opt+cmd+up
focusDown

Focus pane down

Default file value
opt+cmd+down
focusPreviousPane

Focus previous pane (cycle)unbound by default; a Ghostty goto_split:previous keybind also cycles panes while Focus Back does not claim the same keys

Default file value
focusNextPane

Focus next pane (cycle)unbound by default; a Ghostty goto_split:next keybind also cycles panes while Focus Forward does not claim the same keys

Default file value
focusPaneByNumber

Focus pane 1…9

Default file value
ctrl+cmd+1
splitRight

Split right

Default file value
cmd+d
splitDown

Split down

Default file value
cmd+shift+d
newPaneAutoLayout

New pane (auto layout)retiles all panes like Zellij and cmux-tui Alt-n: the right column fills to four panes before a new column opens

Default file value
ctrl+cmd+n
splitBrowserRight

Split browser right

Default file value
opt+cmd+d
splitBrowserDown

Split browser down

Default file value
opt+cmd+shift+d
toggleSplitZoom

Toggle pane zoom

Default file value
cmd+shift+enter
increaseWorkspaceTerminalFontSize

Increase font size for every terminal in the selected workspace

Default file value
ctrl+cmd+=
decreaseWorkspaceTerminalFontSize

Decrease font size for every terminal in the selected workspace

Default file value
ctrl+cmd+-
resetWorkspaceTerminalFontSize

Reset font size for every terminal in the selected workspace

Default file value
ctrl+cmd+0
equalizeSplits

Equalize split sizes

Default file value
ctrl+cmd+shift+=
resize-pane-left

Resize pane left

Default file value
ctrl+shift+h
resize-pane-right

Resize pane right

Default file value
ctrl+shift+l
resize-pane-up

Resize pane up

Default file value
ctrl+shift+k
resize-pane-down

Resize pane down

Default file value
ctrl+shift+j

Canvas

toggleCanvasLayout

Toggle canvas layout

Default file value
ctrl+cmd+c
canvasRevealFocusedPane

Reveal focused pane

Default file value
ctrl+cmd+r
canvasOverview

Toggle overview zoom

Default file value
ctrl+cmd+o
canvasZoomIn

Zoom in

Default file value
opt+cmd+=
canvasZoomOut

Zoom out

Default file value
opt+cmd+-
canvasZoomReset

Actual size

Default file value
cmd+0
canvasTidy

Tidy panes into a grid

Default file value
ctrl+cmd+t

Navegador

openBrowser

Open browser

Default file value
cmd+shift+l
focusBrowserAddressBar

Focus address bar

Default file value
cmd+l
browserBack

Back

Default file value
cmd+[
browserForward

Forward

Default file value
cmd+]
browserReload

Reload pagefocused browser

Default file value
cmd+r
browserHardReload

Atualização forçada da páginanavegador em foco

Default file value
cmd+shift+r
browserZoomIn

Zoom in

Default file value
cmd+=
browserZoomOut

Zoom out

Default file value
cmd+-
browserZoomReset

Actual size

Default file value
cmd+0
markdownZoomIn

Markdown viewer: zoom infocused markdown viewer

Default file value
cmd+=
markdownZoomOut

Markdown viewer: zoom outfocused markdown viewer

Default file value
cmd+-
markdownZoomReset

Markdown viewer: actual sizefocused markdown viewer

Default file value
cmd+0
toggleBrowserDeveloperTools

Toggle browser developer tools

Default file value
opt+cmd+i
showBrowserJavaScriptConsole

Show browser JavaScript console

Default file value
opt+cmd+c
toggleBrowserFocusMode

Enter browser focus modeGives the focused web page first claim on shortcuts. Press Esc twice to exit.

Default file value
opt+cmd+enter
toggleBrowserDesignMode

Toggle browser design modeSelect and visually edit elements in the focused browser

Default file value
ctrl+opt+cmd+d
toggleReactGrab

Toggle React Grabfocused browser, or the only browser pane when a terminal is focused

Default file value
cmd+shift+g

Visualizador de diffs

openDiffViewer

Open diff viewer

Default file value
ctrl+cmd+shift+d
diffViewerScrollDown

Scroll viewer down one smooth stepfocused diff or Markdown viewer

Default file value
j
diffViewerScrollUp

Scroll viewer up one smooth stepfocused diff or Markdown viewer

Default file value
k
diffViewerScrollHalfPageDown

Scroll viewer down half a pagefocused diff or Markdown viewer

Default file value
ctrl+d
diffViewerScrollHalfPageUp

Scroll viewer up half a pagefocused diff or Markdown viewer

Default file value
ctrl+u
diffViewerScrollDownEmacs

Scroll viewer down one smooth step (Emacs)focused diff or Markdown viewer

Default file value
ctrl+n
diffViewerScrollUpEmacs

Scroll viewer up one smooth step (Emacs)focused diff or Markdown viewer

Default file value
ctrl+p
diffViewerScrollToBottom

Scroll diff to bottomfocused diff viewer

Default file value
shift+g
diffViewerScrollToTop

Scroll diff to topfocused diff viewer

Default file value
["g", "g"]
diffViewerOpenFileSearch

Open diff file searchfocused diff viewer

Default file value
/
diffViewerNextFile

Jump to next diff filefocused diff viewer

Default file value
["]", "f"]
diffViewerPreviousFile

Jump to previous diff filefocused diff viewer

Default file value
["[", "f"]]
diffViewerNextHunk

Jump to next hunkfocused diff viewer

Default file value
"n"
diffViewerPreviousHunk

Jump to previous hunkfocused diff viewer

Default file value
"p"
diffViewerToggleViewed

Marcar ou desmarcar o arquivo atual como visualizadovisualizador de diff em foco

Default file value
"v"

Buscar

find

Find

Default file value
cmd+f
findInDirectory

Find in directory

Default file value
cmd+shift+f
findNext

Find next

Default file value
cmd+g
findPrevious

Find previous

Default file value
opt+cmd+g
hideFind

Hide find bar

Default file value
opt+cmd+shift+f
useSelectionForFind

Use selection for find

Default file value
cmd+e

Notificações

showNotifications

Show notifications

Default file value
cmd+i
jumpToUnread

Jump to latest unread

Default file value
cmd+shift+u
jumpToLastPrompt

Ir para a superfície onde você enviou o último prompt a um agente

Default file value
cmd+shift+b
toggleUnread

Toggle current item unread state

Default file value
opt+cmd+u
markOldestUnreadAndJumpNext

Mark current item as oldest unread and jump to the next latest unread

Default file value
ctrl+cmd+u
markAllNotificationsRead

Marcar Todas as Notificações como Lidasnão atribuído por padrão

Default file value
clearAllNotifications

Limpar Todas as Notificaçõesnão atribuído por padrão

Default file value
triggerFlash

Flash focused panel

Default file value
cmd+shift+h

shortcuts.when

Predicados de contexto opcionais por ação (cláusulas when no estilo do VS Code), indexados pelo id da ação do cmux. Uma atribuição só dispara — e só conflita com outra atribuição na mesma tecla — quando sua cláusula é verdadeira. Omita a cláusula para manter o contexto integrado da ação. O vocabulário das cláusulas:

  • sidebarFocus, browserFocus, markdownFocus, filePreviewTextEditorFocus, simulatorFocus, terminalFocus, commandPaletteVisible, terminalFindVisible, terminalAlternateScreen, workspaceCanvasLayout — chaves booleanas. Uma chave desconhecida ou ausente é avaliada como false; os literais true e false também são aceitos.
  • sidebarMode (files, find, sessions, feed, dock), paneCount, workspaceCount — chaves tipadas para comparações: o modo ativo da barra lateral direita (string) e as contagens de painéis e workspaces (inteiros).
  • !, &&, ||, (…), ==, !=, =~, <, <=, >, >=, in [a, b] — operadores booleanos, comparações tipadas, correspondência por regex e pertinência a listas. Comparações ligam mais forte que && e ||.

Por exemplo, isto faz Ctrl+1–9 selecionar workspaces em todos os lugares, exceto quando a barra lateral direita está em foco (deixando Ctrl+1–5 para o seletor de modo da barra lateral), e restringe a seleção de superfície à barra lateral Localizar quando o workspace tem vários painéis:

"shortcuts": {
  "bindings": { "selectWorkspaceByNumber": "ctrl+1" },
  "when": {
    "selectWorkspaceByNumber": "!sidebarFocus",
    "selectSurfaceByNumber": "sidebarMode == 'find' && paneCount > 1"
  }
}