--- description: Rebuild the dashboard UI and print its URL — runs the doctor when it fails --- Rebuild the dashboard bundle, then print the URL. Always forces a rebuild so a stale bundle (e.g. after a fix commit landed but the bootstrap's build predates it) never serves silently. Also finishes the build if the bootstrap's own attempt failed (check `client-build.log` in the runtime dir — `/runtime`, by default `~/.claude/agenthub/runtime`). Run it from the plugin build that is installed NOW, as ONE command so `ROOT` survives — a session not restarted after an update still names the old build in `${CLAUDE_PLUGIN_ROOT}`, whose bootstrap refuses to run (`superseded`) and whose client would be built over the new one: ```bash ROOT=$(node -e 'console.log(require(process.argv[1]).supersededBy() || "")' \ "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-bootstrap.js") ROOT="${ROOT:-${CLAUDE_PLUGIN_ROOT}}" node "$ROOT/scripts/plugin-open.js" --force ``` Install + build takes a few minutes if the client toolchain isn't already installed; otherwise the rebuild itself takes ~10-15s. The server serves from that directory, so it usually needs no restart — but if it is down, or still running from a plugin root a mid-session `/plugin` update retired, the command re-runs bootstrap first and prints `Server restarted on the current plugin version.` (without it, the fresh bundle would call routes that old server never had). **If it exits non-zero** (a failed build, or a bootstrap that did not bring the server up): quote its error line, say you are running the doctor, then read `$ROOT/plugins/agenthub/commands/agenthub-doctor.md` (the `ROOT` resolved above) and follow it from step 1 — diagnose, offer to fix, show the plan, fix only what the user approves. After the fixes, run the `plugin-open.js --force` command above once more; if it fails again, report its error and stop. On success, help the user open the URL: ```bash uname -s ``` - `Darwin` → `open ` - `Linux` → `xdg-open ` - otherwise → tell them to open the URL in a browser. Keep the output to a few lines.