---
description: Wire launch-kit's MCP chips into the user's existing Claude Code statusline. Additive — does not create or replace an existing statusline, only appends colored chips (recall/chart/deck/council/secure) showing each daemon's liveness + last-activity age, plus a reachability probe for the hosted launch-secure MCP. Idempotent. Run /kit:deactivate-statusline to undo.
---

# /kit:activate-statusline

Extends the user's existing `~/.claude/settings.json` statusline so MCP daemon health appears alongside whatever they already show (project name, git branch, context %, etc.).

## What it does

1. Reads `~/.claude/settings.json` and checks for an existing `statusLine.command`.
   - If absent → reports plainly that the user must create their own statusline first. Do NOT scaffold one — launch-kit only EXTENDS, never CREATES.
2. Writes two scripts under `~/.launchsecure/`:
   - `statusline-mcp.sh` — emits the colored MCP chips.
   - `statusline-wrapper.sh` — runs the user's original command, then appends chips.
3. Replaces `statusLine.command` with the wrapper, stashing the original under `_launchKitStatuslineOriginal` inside the same settings.json (single source of truth, no sidecar state).
4. Idempotent: if the wrapper is already wired, refreshes the chip scripts only.

## How to run

Shell out to the kit binary:

```bash
launch-kit statusline activate                                          # all chips
launch-kit statusline activate --show=recall,chart                      # only these
launch-kit statusline activate --show=recall,chart,deck,council,secure  # explicit all
```

The `--show` flag accepts any comma-separated subset of `recall,chart,deck,council,secure`. Omitting it shows all five. `secure` is a reachability probe (curl, cached ~30s) against the active LaunchSecure profile's `serverUrl` — green when the host responds, red on transport failure, orange when the cred config or curl is missing. The chip label shows the active profile (e.g. `secure(prod)`). Re-running activate with a different `--show` updates the chip set in place — no need to deactivate first.

If the published bin isn't on PATH (dev repo, monorepo), fall back to:

```bash
node packages/cli/dist/server/init-entry.js statusline activate [--show=...]
```

If the user passed an argument to the slash command (e.g. `/kit:activate-statusline recall,chart`), forward it as `--show=$ARGUMENTS`.

The command prints one of:
- `✓ activated …` — newly wrapped
- `✓ refreshed …` — already wrapped, scripts refreshed
- `✗ no-statusline …` — user has no statusline; report this and stop, do not propose creating one

## After running

Restart any open Claude Code session for the statusline to pick up the wrapper. Subsequent sessions render the chips automatically.
