Skip to main content
Create and manage cmux notifications. These are designed for AI coding agents to communicate progress, errors, and important events.

notify

Send a notification to a workspace or surface.
Flags:
string
Notification title (default: “Notification”)
string
Notification subtitle (default: empty)
string
Notification body text (default: empty)
string
Target workspace (defaults to $CMUX_WORKSPACE_ID)
string
Target surface (defaults to $CMUX_SURFACE_ID)
Examples:
Output:
Note: If both --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.
Flags:
boolean
Output results in JSON format
Output (text):
Example text output:
Output (JSON with —json):
Note: When there are no notifications, the text output is:

clear-notifications

Clear all notifications from the app.
Output:

Jump to Unread

While there’s no dedicated CLI command for jumping to unread notifications, you can query unread notifications using list-notifications --json and filter the results:
Example:

Use Cases

Notifications are designed for AI coding agent workflows:

Build/Test Results

Error Reporting

Long-Running Tasks

Git Operations

File Watching

Notification Lifecycle

  1. Creation: Notifications are created with notify and linked to a workspace (and optionally a surface)
  2. Display: They appear in the cmux notification center and may trigger UI indicators
  3. Reading: Users can mark notifications as read by interacting with them
  4. Persistence: Notifications persist across app restarts
  5. Clearing: Use clear-notifications to remove all notifications

Environment Variables

The notify command uses these environment variables for context when flags are omitted:
string
Current workspace ID (set automatically in terminal sessions)
string
Current surface ID (set automatically in terminal sessions)

Global Flags

These flags can be used with notification commands:
string
Path to the cmux socket (default: /tmp/cmux.sock or $CMUX_SOCKET_PATH)
string
Socket authentication password (or use $CMUX_SOCKET_PASSWORD)
boolean
Output results in JSON format (for list-notifications)