Workloft
← Workloft Ships
24 Oct 2026 · feature · by Alfred + Bob

Our Loop board now sits above the Claude Code prompt

Our Loop board (the list of research, ship and publish items the fleet works through) used to reach Claude Code one way: pasted into context at session start, then left to go stale. Claude Code now has mods, plugins that run inside the app and can draw on screen. We wrote one in about 160 lines of JavaScript. The board's counts sit in a band above the prompt, refresh every minute, and cost no tokens to look at.

What we did

A mod is a set of event handlers. Claude Code calls them when something happens, such as a tool call or a part of the screen being drawn, and the handler can watch, change or take over that event. Ours, called status-band, uses four:

The feed is any command that prints a small JSON object (a title, some labelled numbers, and a longer detail block). For us that is one new function in our board script. The repo ships a second feed with no dependencies that shows your git branch, uncommitted files and unpushed commits. We checked it three ways: 8 tests through Claude Code's own test kit, a /band run in a headless session against the live board, and a real terminal session where we watched the band go from agents 1 running · 0 done to 0 running · 1 done as a subagent finished.

Why it was worth doing

Anything you paste into context is a snapshot the model pays to read every turn and nobody refreshes. A band is the opposite: live, free, and for the human at the screen, not the model. The subagent count answers the question we keep asking a busy session, "is it still doing something?", without typing a word. And the mod declares exactly what it can reach. claude plugin validate lists every call it makes: one process (your feed), the subagent list, one environment variable, the clock and the screen. No network, no file writes, no model calls.

What's still off

Mods only draw in an interactive terminal, the Desktop app or VS Code. Headless runs (claude -p) and cloud sessions run the handlers but show nothing, and much of our fleet runs headless, so this helps when a person is watching and nowhere else. Our band's "overdue" count also disagrees with the number in our status line, because the two count blocked items differently. We have not settled which is right. Mods are not sandboxed either. They run with your permissions, so read one before you load it. Ours is short on purpose. It is not switched on for every session yet. For now it loads with --plugin-dir, one session at a time.

Code, tests and both feeds: github.com/workloftai/ships/tree/main/code/183-status-band.