From wmux-orchestrator
Detect if wmux terminal multiplexer is running. Used internally by orchestrate skill to decide between wmux multi-pane mode and degraded subagent mode.
How this skill is triggered — by the user, by Claude, or both
Slash command
/wmux-orchestrator:wmux-detectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
First, resolve the plugin root (not available as env var in main session):
First, resolve the plugin root (not available as env var in main session):
PLUGIN_ROOT=$(find "$HOME/.claude/plugins/cache/wmux-orchestrator" -name "plugin.json" -path "*/.claude-plugin/*" 2>/dev/null | sort -V | tail -1 | sed 's|/.claude-plugin/plugin.json||')
Run the detection script to check if wmux is available:
bash "$PLUGIN_ROOT/scripts/detect-wmux.sh"
If output is "available":
wmux split, wmux agent spawn, wmux markdown set etc.If output is "unavailable":
Agent tool for parallel workersStore the detection result so other skills can check it without re-running:
export WMUX_AVAILABLE=$( bash "$PLUGIN_ROOT/scripts/detect-wmux.sh" 2>/dev/null && echo "true" || echo "false" )
ENFORCEMENT:
WMUX_AVAILABLE=true: ALL agents MUST be spawned via wmux agent spawn. Do NOT use Claude Code's Agent tool. The Agent tool creates invisible subagents — the user chose wmux specifically to SEE agents in panes.WMUX_AVAILABLE=false: Use Claude Code's Agent tool with subagent_type: "wmux-orchestrator:wmux-worker".npx claudepluginhub amirlehmam/wmux-orchestrator --plugin wmux-orchestratorOrchestrates terminal panes, spawns Claude/Codex sub-agents, sends keys between surfaces, reads pane output, and manages browser/markdown panes via cmux CLI. Replaces plain bash for parallel multi-pane workflows.
Controls cmux terminal topology (windows, workspaces, panes, surfaces), sends notifications, and updates sidebar metadata. Useful for automation needing deterministic placement, progress reporting, or navigation in multi-pane cmux layouts.
Controls cmux tabs, workspaces, and terminal panes via Unix socket. Use for reading terminal output, sending commands to another agent's pane, switching tabs by name, and monitoring coder progress.