notify
Send a notification to a workspace or surface.Notification title (default: “Notification”)
Notification subtitle (default: empty)
Notification body text (default: empty)
Target workspace (defaults to
$CMUX_WORKSPACE_ID)Target surface (defaults to
$CMUX_SURFACE_ID)--workspace and --surface are omitted, the notification targets the current workspace/surface from environment variables. The workspace ID is resolved to its UUID for routing.
list-notifications
List all notifications in the app.Output results in JSON format
clear-notifications
Clear all notifications from the app.Jump to Unread
While there’s no dedicated CLI command for jumping to unread notifications, you can query unread notifications usinglist-notifications --json and filter the results:
Use Cases
Notifications are designed for AI coding agent workflows:Build/Test Results
Error Reporting
Long-Running Tasks
Git Operations
File Watching
Notification Lifecycle
- Creation: Notifications are created with
notifyand linked to a workspace (and optionally a surface) - Display: They appear in the cmux notification center and may trigger UI indicators
- Reading: Users can mark notifications as read by interacting with them
- Persistence: Notifications persist across app restarts
- Clearing: Use
clear-notificationsto remove all notifications
Environment Variables
Thenotify command uses these environment variables for context when flags are omitted:
Current workspace ID (set automatically in terminal sessions)
Current surface ID (set automatically in terminal sessions)
Global Flags
These flags can be used with notification commands:Path to the cmux socket (default:
/tmp/cmux.sock or $CMUX_SOCKET_PATH)Socket authentication password (or use
$CMUX_SOCKET_PASSWORD)Output results in JSON format (for
list-notifications)