Copilot CLI plugin that integrates with cmux to provide visual feedback when agents are working, finish, or need user input.
- Tab marked in-progress — tab shows active indicator while the agent is working
- Tab highlighted on finish — tab flashes and is marked unread when the agent stops
- Notification on finish — OS notification with the agent's last message
- Notification on user input — OS notification + tab flash when the agent asks a question
- cmux must be installed and running
- Copilot CLI with plugin support
copilot plugin marketplace add demorgi/cmux-copilot-integration-plugin
copilot plugin install cmux-copilot-integration-plugin@cmux-copilot-pluginsbash tests/integration_test.sh| Hook | What happens |
|---|---|
preToolUse (any tool) |
Marks the current tab as active via cmux claude-hook active |
preToolUse (ask_user) |
Sends notification with the question, flashes tab, marks unread |
agentStop |
Marks tab idle via cmux claude-hook stop, sends notification with last agent message, flashes tab, marks unread |
All state is per-tab using CMUX_SURFACE_ID — multiple agents across tabs work independently.
Set CMUX_COPILOT_INTEGRATION_PLUGIN_DEBUG=1 to enable debug logging. Hook payloads are appended to /tmp/cmux-hook-debug.log with UTC timestamps.
export CMUX_COPILOT_INTEGRATION_PLUGIN_DEBUG=1plugin.json— Plugin metadatahooks.json— RegisterspreToolUseandagentStophooksscripts/cmux-integration.sh— Reads hook payload from stdin, calls cmux commands