Claude Code · Status line

Your crew,
under your prompt.

A tiny Nivloo crew member lives in the Claude Code status line. It watches your session and speaks up when the diff gets big or the context fills up.

curl -sfL -m 2 https://www.nivloo.xyz/cc

In Claude Code, run /statusline and paste the command. Prefer offline? Use the local script.

claude — ~/my-app
Working · Scout is on watch
01 — Install

Two ways in.

The local script reacts to your own session and never leaves your machine. The public one-liner needs nothing installed and shows the crew, the research window and a tip.

Zero setup · public

One-liner

Nothing to install. curl fetches a card drawn by the same renderer; it cannot see your session.

  1. In Claude Code, run /statusline and paste:
    curl -sfL -m 2 https://www.nivloo.xyz/cc
  2. Or set it yourself, matched to your terminal width:
    {
      "statusLine": {
        "type": "command",
        "command": "curl -sfL -m 2 \"https://www.nivloo.xyz/cc?w=$COLUMNS\""
      }
    }
02 — Moods

Who speaks, and when.

The local script picks a crew member from your session. Context wins over the diff: a full context loses work, a big diff only needs a look.

03 — Privacy

What leaves your machine.

Evidence first applies here too: the status line only shows what it can actually see.

Local script

Reads the JSON Claude Code pipes to it — model, folder name, context use, lines changed, cost and time. It makes no network request and writes nothing.

Public one-liner

A plain HTTPS GET with no cookie, account or session data. The server reads one public value — whether the research window is open — and caches the card for 30 seconds. Standard hosting request logs still apply.

Never shown

Your wallet, watchlists, sources, briefs, prompts or code. A personal mode would need an explicit read-only token and is not built.

04 — Questions

Small print.

Anything else lives in the method. The research itself happens in the workspace.

How often does it update?
Claude Code re-runs the command whenever the conversation changes, batched every 300 ms; refreshInterval adds a timer so the blink shows while you are idle. The public card changes crew member every 10 minutes and is cached for 30 seconds.
Will it slow Claude Code down?
The local script makes no network request and finishes in milliseconds. The public command is capped at two seconds by -m 2, and -f keeps error pages out of your status line.
What about narrow terminals or NO_COLOR?
Under 40 columns the card becomes one line without the face. With NO_COLOR set, the local script prints plain text.
How do I remove it?
Run /statusline delete in Claude Code, or remove the statusLine field from ~/.claude/settings.json.
Does it cost anything or start research?
No. The status line never runs research, spends budget or touches your watchlists. Research only starts from the workspace.