Claude Code · Statusline

M-STATUSLINE

The cockpit for the /m pipeline: git, phase, task flow, and pace-aware usage bars — one row per engine, Claude and Codex — in one Claude Code statusline.

The 5-hour and weekly bars don't just show what you've spent. They project where you'll land at reset from how much of the window has elapsed. A green-looking 60% that is on track to blow past 100% reads red now, not at reset time. While /m:develop runs, a cockpit line tracks the phase, its runtime, and the task flow, straight from the .m/ state the pipeline writes. One file, Python standard library only, no dependencies.

Dwg No
MS-001
Rev
B
Date
2026-06-12
Scale
NTS
Runtime
Python 3 · stdlib
Deps
None
Usage rows
One per engine
Repo
GitHub
00

Fig. 0 · one pipeline run, replayed

drag the section line

A recorded 47-minute /m:develop run, played back through the statusline itself. Scrub the section line across the timeline: phases hand off, tasks complete, and the bars creep as the 5-hour pace climbs.

refine → plan → implement → review → iterate · plays itself when idle

01

The readout

the cockpit · stdin → stdout

Claude Code feeds the script a JSON blob on stdin; it writes the cockpit back. Git and ticket on top, the pipeline line while /m:develop runs, then one usage row per engine: Claude's pace-aware context and rate-limit bars, and — throughout a /m:develop run whenever it's enabled as the second engine — Codex's row with a live token-burn gauge.

02

Key · segments

what each block means
⎇ main ●3 ↑1
Git branch with uncommitted count, commits ahead/behind, worktree name when inside one. Read by running git in your cwd, cached a few seconds.
ENG-142
Jira ticket captured from the branch via .m/jira.yml branchPattern.
m implement ◉◉○○ 2/5 ·12m
The pipeline cockpit, live while /m:develop runs: phase dots ( done · current · pending), phase runtime, tasks 4/6 progress, and the iterate loop counter. Hidden when the pipeline is idle.
Opus 4.8 · xhigh · CTX / 5H / WK
The Claude usage row, labeled with the active model. Context window plus both rate limits: used now → projected at window end, with the time to reset.
gpt-5.5 · xhigh · burn / idle
The Codex usage row, labeled with the Codex model and reasoning effort. Present throughout a /m:develop run whenever Codex is enabled: a dim · idle between passes, and a live burn gauge — cumulative Codex tokens for the pass against the token_budget — while it drives plan and review as the second engine. Hidden when Codex is disabled.
03

Colors

every field, one ladder
Load thresholds
SwatchLoad
███blue: under 50%
███green: 50–70%
███amber: 70–90%
███red: 90%+

Every bar fill is colored by its own progress up one ladder. The Claude rate-limit bars feed it their projection, not the raw used value, so they warn you while there is still time to slow down; CTX and the Codex burn gauge feed it the used value.

The model-name label on each usage row is brand-colored instead of laddered: Claude orange for the Claude row, white for the Codex row.

04

Install

no packages · stdlib only

Inside Claude Code, the setup command wires settings.json for you (existing settings preserved, backed up to settings.json.bak):

/plugin marketplace add milorad-teodorovic/m-statusline
/plugin install m-statusline@m-statusline
/m-statusline:setup
05

/m pipeline integration

one-way · optional

The ◉◐○ stage segment reads a .m/DEVELOP_ACTIVE marker and per-phase phase-<name>-done files, walking up from the working directory. The pipeline it tracks is refine → plan → implement → review → iterate. Don't use it? The segment simply never appears, and the rest of the statusline works unchanged.

Reference drawing The /m:* pipeline Open schematic →