Help us improve
Share bugs, ideas, or general feedback.
From lspmux-rust-cc
Diagnose lspmux rust-analyzer connection issues. Use when MCP tools fail, rust_server_status shows errors, or rust-analyzer seems unresponsive.
npx claudepluginhub billf/lspmux-cc --plugin lspmux-rust-ccHow this skill is triggered — by the user, by Claude, or both
Slash command
/lspmux-rust-cc:diagnose-lspmuxThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run through each step in order. Stop at the first failure and report the fix.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Run through each step in order. Stop at the first failure and report the fix.
MCP tools won't work if the connection is broken, which is exactly when this skill gets invoked. Start by checking host configuration rather than assuming the current repo vendors lspmux-cc.
.mcp.json.codex/config.tomlLSPMUX_CONNECTLSPMUX_SOCKET_PATHLSPMUX_CONFIG_PATH or the platform-default lspmux config and read its connect field~/.claude/settings.json and check sandbox.network.allowUnixSockets. The exact socket path must be listed there.tcp://... or host:port, skip the Unix socket sandbox check. TCP localhost does not use allowUnixSockets.If the repo being inspected is the lspmux-cc repo itself and ./setup exists, you may mention ./setup doctor as an optional follow-up verification step. Do not assume it exists in arbitrary user repos.
Call lspmux-rust-analyzer:rust_server_status().
server_status is "error": read the error message. Common causes: lspmux binary missing, config missing, socket unreachable.service_mode is "reused" or "started_directly": the M5-expected happy path. The MCP runtime either reused a running daemon or spawned one on demand. Proceed to Step 1.5.service_mode is "skipped": bootstrap was disabled by env (LSPMUX_BOOTSTRAP=off). If that wasn't intentional, unset the env var.legacy_global_daemon_detected is true: a pre-M5 launchd plist or systemd unit is still loaded and will race the on-demand daemon. Run ./setup migrate to remove it.If workspace_match is false or None, call lspmux-rust-analyzer:rust_workspace_registry() to see which workspaces the daemon is actually serving. Use the result to decide whether to wait for the rust-analyzer instance to spawn (it's lazy — first request to a workspace triggers it) or to change WORKSPACE_ROOT to a path the daemon already serves.
Call lspmux-rust-analyzer:rust_diagnostics(file_path: "<path>") on any .rs file in the workspace.
Summarize findings as a structured checklist:
lspmux diagnostic report
Service: [pass/fail] shared lspmux service
Socket: [pass/fail] socket exists and connectable
Sandbox: [pass/fail] allowUnixSockets configured
Plugin: [pass/fail] lspmux-rust-cc installed
Built-in RA: [pass/fail] rust-analyzer-lsp disabled
MCP: [pass/fail] rust_server_status responds
Pipeline: [pass/fail] rust_diagnostics returns data
For any [fail] item, include the specific remediation command.
Note: ./setup core and ./setup sandbox claude-code are only available in the lspmux-cc repo. When they apply, they require filesystem and network access that Claude Code's sandbox blocks. Ask the user to run these outside the sandbox:
./setup core
./setup sandbox claude-code
Read reference/connection-troubleshooting.md for detailed troubleshooting guidance on each failure mode.