--- description: Pull the latest ccam plugin version and refresh the dashboard runtime --- Pull the newest `ccam` release from its marketplace, then reinstall the runtime dependencies and restart the dashboard server against it. Use this to get a new dashboard build, or when `/ccam-doctor` reports missing dependencies or a dead server. First, find which marketplace this install's `ccam` came from and pull the latest version into the plugin cache: ```bash INSTALLED=$(claude plugin list 2>/dev/null | grep -o 'ccam@[^ ]*' | head -1) MARKETPLACE="${INSTALLED#ccam@}" if [ -z "$MARKETPLACE" ]; then echo "ccam is not installed as a plugin (checkout install?) - nothing to update this way." else claude plugin marketplace update "$MARKETPLACE" claude plugin update "ccam@$MARKETPLACE" -y fi ``` That downloads the new version into `~/.claude/plugins/cache/` but does not take effect in *this* session — Claude Code only re-resolves `${CLAUDE_PLUGIN_ROOT}` on `/reload-plugins` (a REPL-only action, not scriptable from a command). Say so plainly: **tell the user to run `/reload-plugins` now**, then either re-run `/ccam-update` (this time the bootstrap step below runs against the new version) or just start a new session — `plugin-bootstrap.js` compares the recorded state against the current plugin version on every `SessionStart` and rebuilds automatically if they differ. Then, whether or not a plugin update was just pulled, refresh the runtime against whatever `${CLAUDE_PLUGIN_ROOT}` currently resolves to. This stops the running dashboard server before starting the new one. Say so, then run: ```bash node "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-bootstrap.js" --force ``` It runs in the foreground and can take a few minutes on a cold cache. When it finishes, verify: ```bash node "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-doctor.js" ``` Report the final state in a few lines. If the bootstrap failed, quote the decisive line from `~/.claude/agent-dashboard/runtime/bootstrap.log`.