Claude Modsunofficial directory

Dashboards·terminal · desktop·MIT

starfleet-panel

Model, context, rate limits and git branch as an LCARS console under the prompt.

Generic Claude-Mods cover, used until a starfleet-panel screenshot is available

starfleet-panel draws the readouts of a status line under the Claude Code prompt as an LCARS ops console, the look of the ship’s computers in Star Trek: The Next Generation: model and effort, context window, 5-hour and 7-day limits, git branch, directory and a stardate. It pairs with the same author’s red-alert and turns red when red-alert sounds an alert. It makes no model calls and no network requests.

The author presents it as an unofficial fan project and notes that Star Trek and its marks belong to their owners.

What it does

  • Readouts. HELM is the model plus the reasoning effort as a warp factor (low is IMPULSE, medium WARP 5, high WARP 7, xhigh WARP 9, max WARP 9.6). CORE is the context window used, with a segmented meter. DILITHIUM and ANTIMATTER are what is left of the 5-hour and 7-day limits, with a countdown to each reset. COURSE shows the git branch (or @<sha> when detached) over the working directory, and becomes SECTOR outside a repository.
  • Sidebar. STANDBY or ENGAGED tells you whether Claude is working, over the stardate. The stardate uses the show’s broadcast reckoning: 41000 in 1987, a thousand units a year.
  • Colors. A reading turns yellow at 60% used and red at 80%, the thresholds of the classic statusLine script the panel is meant to replace.
  • Plain terms. /lcars plain swaps the Starfleet names for ordinary ones (MODEL, CONTEXT, 5H LIMIT, the date instead of the stardate). /lcars starfleet switches back. The choice is saved for new sessions.
  • Any width. The default bridge layout is three rows. As the terminal narrows, the meters shrink first, then the least important columns drop, and under 64 columns it becomes a one-row strip. Wide terminals add ENV (the active conda env or virtualenv), CREW (user@host) and, if you turn on showCost, ENERGY (the session’s cost).
  • Report. /lcars prints every reading next to what its Starfleet name stands for, so it doubles as a legend.

With red-alert

red-alert draws an alert band above the prompt in the same LCARS palette, so with both installed the band and the panel read as one console. The panel’s end block follows red-alert’s state:

  • Online, muted or offline: the block reads CONDITION over GREEN, MUTED or OFFLINE.
  • An alert is up: the whole frame repaints in the alert’s reds and the block shows its title, such as RED ALERT.
  • A red or yellow alert is animating: the state block and the end block blink with the klaxon, then hold steady until you silence or dismiss the alert with 0, red-alert’s key.
  • red-alert is not installed: the block shows the ship’s time and the rest of the panel works the same.

The two mods share no screen space, keys, commands or state. red-alert owns the band above the prompt and /alert. starfleet-panel draws only under the prompt, registers /lcars, and adds no buttons, hotkeys, tool or system prompt text. Set followRedAlert to false to ignore red-alert even when it is installed.

Install

Needs Claude Code 2.1.287 or later, plus a terminal with true color and a monospace font that has the block elements (▄ ▀ ▌ ▗). Any modern terminal font does.

claude plugin marketplace add dukechain2333/starfleet-panel
claude plugin install starfleet-panel@starfleet-panel

Once the mod loads, the panel appears under the prompt with nothing to set up. If ~/.claude/settings.json has a statusLine entry, remove it: its line keeps drawing above the panel and you see the same figures twice. The panel reminds you once with a toast, and /lcars mentions it while the entry is there.

Change layout, labels, showCost, showUserHost, followRedAlert and refreshSeconds in /config or with claude plugin configure starfleet-panel. /lcars bridge, /lcars compact or /lcars off switches the layout for the current session, and /lcars reset goes back to the setting.

How it works

The panel draws in Claude Code’s PromptHint slot, the hint line under the prompt, and keeps the engine’s own line (the mode pill, esc to interrupt) above its frame. Model, context, limits and cost come from the session’s in-process usage and model calls, which cost no tokens. They are re-read every 2 seconds, or every refreshSeconds.

The effort is the one each main-loop request was actually sent with, recorded by a turn.step hook that leaves the response stream untouched. Before the first request, it comes from effortLevel in your settings. After every turn and every 30 seconds, the mod runs git in the working directory for the branch, reads the CONDA_DEFAULT_ENV, VIRTUAL_ENV, USER and HOME variables, and re-reads your settings. It runs hostname once for the CREW column.

For red-alert, it reads two of red-alert’s state values, link and active, and never writes them. A state.set hook on red-alert’s active key passes each value through exactly as red-alert wrote it and starts the blink the moment an alert is recorded.

It stores little: the terminology you pick with /lcars plain or /lcars starfleet, saved as a plugin setting the way /config saves it, and a flag so the statusLine reminder shows only once. The per-session layout lives in session state.

Limitations

  • The 5-hour and 7-day columns appear only once Claude Code has a reading for them: on a Pro or Max subscription, after the first response.
  • The three-row bridge layout is drawn only in the terminal. In the desktop app, the author documents that the panel falls back to the one-row compact strip.

Similar Claude Mods

The whole directory →