Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Customize cmux for an end user. Use when changing cmux.json actions, custom commands, workspace layouts, plus-button behavior, surface tab bar buttons, Command Palette entries, Dock controls, sidebar and app settings, shortcuts, notifications, browser routing, examples-library presets, or Ghostty-backed terminal preferences.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 88% | 0% |
Keep the user's config intact, prefer schema-backed edits, and validate before reporting completion.
| Want to change | Edit | |---|---| | App preferences (appearance, sidebar, notifications, browser routing, automation, shortcuts, new-workspace placement) | ~/.config/cmux/cmux.json via the cmux-settings helper | | Custom actions, workspace layouts/commands, tab bar buttons, plus-button behavior, Command Palette entries, notification hooks | ~/.config/cmux/cmux.json globally or .cmux/cmux.json in the project | | Dock controls (right-sidebar terminals: logs, test watchers, git TUIs, dev servers, queues, cmux feed tui --opentui) | .cmux/dock.json or ~/.config/cmux/dock.json; cmux docs dock when available | | Terminal rendering and terminal keybindings (fonts, themes, cursor style, copy-on-select, shell integration) | Ghostty config, usually ~/.config/ghostty/config | | Workspace names, descriptions, colors, read state, sidebar metadata | cmux CLI, see ../cmux-workspace/SKILL.md | | Feed event sources | cmux hooks setup |
Project-local .cmux/cmux.json and .cmux/dock.json let worktree, SSH, review, dev, CI, and docs patterns travel with the repo; project actions and commands override global entries with the same ID or name. Global app preferences do not belong there.
If a request can be handled by Ghostty config, say so and use Ghostty config instead of inventing cmux UI settings.
Key surfaces in cmux.json: actions (reusable, can appear in Cmd+Shift+P, surface tab bars, shortcuts, and the plus-button right-click menu), ui.newWorkspace.action (replaces the plus-button click) and ui.newWorkspace.contextMenu (right-click menu; ui.newWorkspace.rightClick is an accepted alias but new examples use contextMenu), ui.surfaceTabBar.buttons (replaces default tab bar buttons; include built-ins like cmux.newTerminal, cmux.newBrowser, cmux.splitRight, cmux.splitDown only when they should stay visible), and commands (workspace definitions with split layouts).
bash test -f ~/.config/cmux/cmux.json && sed -n '1,220p' ~/.config/cmux/cmux.json test -f .cmux/cmux.json && sed -n '1,220p' .cmux/cmux.json
bash stamp="$(date +%Y%m%d-%H%M%S)" test -f ~/.config/cmux/cmux.json && cp -p ~/.config/cmux/cmux.json ~/.config/cmux/cmux.json."$stamp".bak test -f .cmux/cmux.json && cp -p .cmux/cmux.json .cmux/cmux.json."$stamp".bak
~/.codex/skills/... if the user installed with skills.sh).bash ~/.agents/skills/cmux-settings/scripts/cmux-settings list-supported ~/.agents/skills/cmux-settings/scripts/cmux-settings set browser.openTerminalLinksInCmuxBrowser true ~/.agents/skills/cmux-settings/scripts/cmux-settings validate
vault, rightSidebar, commands, actions, ui, notifications).cmux reload-config.Appears in Cmd+Shift+P unless palette is false.
json{ "actions": { "codex-new-tab": { "type": "agent", "agent": "codex", "title": "Codex", "subtitle": "Start Codex in this workspace", "target": "newTabInCurrentPane", "palette": true } } }
For worktree agents, full-stack dev layouts, SSH devboxes, PR review workspaces, docs workspaces, tab bar buttons, and CI watch Dock controls, read references/examples.md. Load it when the user asks for examples, presets, templates, starter configs, or a known workflow shape.
cmux-settings validate..cmux/dock.json or ~/.config/cmux/dock.json with a JSON parser before reporting completion.cmux reload-config when the CLI is available.Other measured skills in the registry, with their headline benchmark lift.