Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Keyboard Shortcuts

cmux is designed to be keyboard-driven for maximum efficiency. All major actions have keyboard shortcuts.

Note: This document should be kept in sync with src/utils/ui/keybinds.ts, which is the source of truth for keybind definitions.

Platform Conventions

  • macOS: Shortcuts use (Command) as the primary modifier
  • Linux/Windows: Shortcuts use Ctrl as the primary modifier

When documentation shows Ctrl, it means:

  • (Command) on macOS
  • Ctrl on Linux/Windows

General

ActionShortcut
Cancel / Close / InterruptEsc

Chat & Messages

ActionShortcut
Focus chat inputa, i, or Ctrl+I
Send messageEnter
New line in messageShift+Enter
Cancel editing messageCtrl+Q
Jump to bottom of chatShift+G
Change modelCtrl+/
Toggle thinking levelCtrl+Shift+T

Workspaces

ActionShortcut
Create new workspaceCtrl+N
Next workspaceCtrl+J
Previous workspaceCtrl+K
Open workspace in terminalCtrl+T

Modes

ActionShortcut
Toggle between Plan and Exec modesCtrl+Shift+M

Interface

ActionShortcut
Open command paletteCtrl+Shift+P
Toggle sidebarCtrl+P

Tips

  • Vim-inspired navigation: We use J/K for next/previous navigation, similar to Vim
  • VS Code conventions: Command palette is Ctrl+Shift+P and quick toggle is Ctrl+P (use on macOS)
  • Consistent modifiers: Most workspace/project operations use Ctrl as the modifier
  • Natural expectations: We try to use shortcuts users would naturally expect (e.g., Ctrl+N for new)
  • Focus anywhere: Use Ctrl+I to quickly jump to the chat input from anywhere in the application
  • Per-model thinking: Ctrl+Shift+T toggles thinking on/off and remembers your last preference for each model
  • Terminal access: Ctrl+T opens the current workspace in your system terminal