6 reactive ASCII pets included

Your statusline, pimped.

A visual builder for Claude Code statuslines. Drag elements into place, watch a live terminal preview react to your session, and export a clean, readable script for bash, python or node.

~ — statusline
\||/ ~/dev/pimp-my-statusline main
(!||!) ──────────────────────────────────────────────────────────────────────────
/||\ Opus high 96% Session ████░ 94% (2h0m) Week ████░ 98%
\||/ ~/dev/pimp-my-statusline main (!||!) ────────────────────────────────────────────────────────────────────────── /||\ Opus high 96% Session ████░ 94% (2h0m) Week ████░ 98%
15
statusline elements
6
reactive ASCII pets
3
export languages
1:1
preview = installed script
Features

Build it visually. Install it anywhere.

A focused toolkit for Claude Code statuslines: live preview, full color control, reactive pets, readable exports.

Live terminal preview

Watch your statusline render in real time, byte-for-byte identical to the script you will install.

Drag & drop rows

Drag elements between rows to build the layout, then drag whole rows to reorder them.

Reactive ASCII pets

Six little companions that change mood as your context, session or weekly usage climbs toward the limit.

Export bash · python · node

A short, hand-editable script you can read top to bottom. Copy it, run it, tweak it however you like.

xterm-256 + threshold colors

Pick from the full 256-color palette, or color metrics by percentage with editable threshold breakpoints.

Re-import & autosave

Your work saves locally as you go, and you can paste any exported script back in to pick up editing.

How it works

From blank canvas to installed script

Three steps. No install, no account, no boilerplate.

1

Compose your layout

Drag elements from the library into rows. Mix directory, git, model, context and rate-limit metrics, separators and static text, arranged however you like.

~/dev/projectmain
────────────
Opushigh34%Session ███░░ 23%Week ██░░░ 41%
2

Watch it react

The preview renders the exact bytes your script will print. As context or rate limits climb, threshold colors shift and your pet changes mood. Shown here: the panic state, with the reset imminent.

  • Real ANSI rendering, not a mock-up
  • Threshold coloring by percentage
  • Pets react to the metric you choose
~ — panic
~/dev/pimp-my-statusline hotfix/prod-down
──────────────────────────────────────────────────────────────────────────
Opus max 96% Session ████░ 92% (8m) Week ████░ 98%
~/dev/pimp-my-statusline hotfix/prod-down ────────────────────────────────────────────────────────────────────────── Opus max 96% Session ████░ 92% (8m) Week ████░ 98%
3

Export & install

Generate the script in bash, python or node. Drop it in ~/.claude/, point your settings at it, and you're done. It carries a marker, so you can re-import and keep editing.

statusline.sh
#!/usr/bin/env bash
# Generated by pimp-my-statusline. Hand-editable; the marker line above is
# the source of truth for re-import (edits to the body are not round-tripped).
#
# Output uses real ESC bytes (via $\047...\047 ANSI-C quoting) printed with
# the %s format. We deliberately avoid the escape-interpreting echo and printf
# formats, which would reinterpret backslashes in runtime data (branch names etc.).

command -v jq >/dev/null 2>&1 || { echo "statusline: jq not found (brew install jq / apt-get install jq)"; exit 0; }

input=$(cat)
# Injectable clock (PMSL_NOW) so output is reproducible/testable.
NOW="${PMSL_NOW:-$(date +%s)}"
FAQ

Common questions

Do I need an account or an install?

No. The builder runs in your browser and your work saves locally as you go. Nothing you build gets uploaded.

Can I trust the generated script?

Read it before you install it: the export is a short, commented script that reads the session JSON Claude Code pipes in and prints your statusline. No network calls, no telemetry, nothing else.

What does the script need to run?

The bash export needs jq; the python and node exports use the standard library only. All three run on macOS and Linux.

How do I install the exported script?

Save it in ~/.claude/, then point the statusLine command in ~/.claude/settings.json at it. The export modal shows the exact snippet for your language.

Can I change my statusline later?

Yes. Your config persists in the browser, and every exported script embeds a re-import marker: paste the script back into the builder to resume editing exactly where you left off.

Ready to pimp your statusline?

free · no account · runs entirely in your browser