cmux

Control cmux windows, workspaces, panes, and surfaces via CLI commands.

4.0k|282|Updated Dec 2, 2024
One-click install
npx skills add https://github.com/basicmachines-co/basic-memory --skill cmux-basicmachines-co
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: cmux
Source: https://github.com/basicmachines-co/basic-memory/tree/main/.agents/skills/cmux
Command: npx skills add https://github.com/basicmachines-co/basic-memory --skill cmux-basicmachines-co

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Automating multi-pane terminal layouts requires deterministic placement and navigation, which manual window management cannot provide. This Skill gives agents precise control over cmux topology so they can create, move, focus, and reorder windows, workspaces, panes, and surfaces programmatically. ## Core Features & Use Cases - Topology Inspection: Identify the current caller context and list windows, workspaces, panes, and surfaces using short refs or UUIDs. - Layout Manipulation: Create splits, move or reorder surfaces across panes and workspaces, and manage window/workspace lifecycles. - Workspace Customization: Run context-menu actions such as setting colors, descriptions, renames, and pins on workspaces. - Attention and Health Checks: Trigger visual flash cues on surfaces and detect hidden or detached surfaces before routing input. - Use Case: An automation agent needs to split off a build log surface into its own pane, move it to a dedicated workspace, and flash it when the build completes, all without disrupting the user's focus. ## Quick Start Ask the agent to identify the current cmux context and list all panes and surfaces in the active workspace.

Frequently Asked Questions about cmux

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control cmux windows and panes from the command line?▼

Use cmux CLI commands like list-windows, new-split, focus-pane, and move-surface to inspect and manipulate topology. Targets accept short refs such as pane:1 or surface:7, or full UUIDs.

How to move a surface between panes or workspaces in cmux?▼

Run cmux move-surface with the surface ref and target pane, workspace, or window. Surface identity stays stable across moves, and layout commands are focus-neutral unless you pass --focus true.

Does cmux support UUIDs instead of short handle refs?▼

Yes, cmux accepts UUIDs as input for most v2-backed commands. Output defaults to short refs like window:N, but you can request UUIDs with --id-format uuids or both.

How do I detect hidden or detached cmux surfaces before sending input?▼

Run cmux surface-health to check for hidden, detached, or non-windowed surfaces, optionally scoped to a workspace. This prevents routing focused input when UI state may be stale.

Where are cmux settings stored and how do I reload them?▼

cmux settings live in ~/.config/cmux/cmux.json, with legacy fallback paths read only for missing keys. Run cmux reload-config to apply changes without restarting the app.