Claude Code Status Line - Complete Guide: all fields, config, ready-to-use scripts A developer published a guide to Claude Code's status line feature, a customizable bar at the bottom of the terminal that displays real-time session data such as model name, context usage, cost, and code velocity. The guide includes ready-to-use scripts and configuration examples, emphasizing that the feature runs entirely locally with no API usage. Claude Code Status Line - Complete Guide: all fields, config, ready-to-use scripts A persistent, customizable bar at the bottom of Claude Code that shows real-time session data. What Is It? https://gist.github.com/starred.atom what-is-it Quick Start https://gist.github.com/starred.atom quick-start Want Mine? https://gist.github.com/starred.atom want-mine Available Data Fields https://gist.github.com/starred.atom available-data-fields Your Script Superpowers https://gist.github.com/starred.atom your-script-superpowers Ready-to-Use Scripts https://gist.github.com/starred.atom ready-to-use-scripts Full JSON Schema https://gist.github.com/starred.atom full-json-schema Tips and Tricks https://gist.github.com/starred.atom tips-and-tricks All Claude Code Settings https://gist.github.com/starred.atom all-claude-code-settings The status line is an info bar pinned to the bottom of your Claude Code window . Think of it like the status bar in VS Code or the bottom of a Google Doc β€” it just sits there showing you useful stuff while you work. What can it show? - Which AI model you're using - Your project name and git branch - How much of your conversation memory is used up context % - How much the session has cost so far - How long you've been working - Lines of code added / removed - …and more How does it work? You tell Claude what you want to see, and it builds the status bar for you. No coding required on your part β€” just describe it in plain English. Does it cost anything? Nope. It runs entirely on your machine. Zero API usage. Just type a /statusline command describing what you want: /statusline show model name and context percentage with a progress bar Claude generates the script, saves it, and wires up settings for you. Done. More examples: /statusline show repo name, git branch, context bar, and model /statusline show cost and session duration with model name /statusline show git branch with colored staged/modified file counts /statusline two lines: model and branch on top, color-coded context bar with cost on bottom To remove it: /statusline clear Here's the exact status line I use daily. Fully color-coded with icons and a gradient context bar. What it looks like: | Element | Example | Color | |---|---|---| | Repo name | EasyClaw | Bold yellow | | Branch | 🌿 main | Bold cyan | | Context bar | ⚑ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 47% | True RGB gradient green β†’ yellow β†’ red + dynamic emoji | | Context emoji | 🟒 β†’ ⚑ β†’ πŸ”₯ β†’ 🚨 | Changes at 20% / 70% / 90% | | Cost | $0.47 | Yellow | | Code velocity | +156 -23 | Green adds, red deletes | | Model | πŸ€– Opus 4.6 | Magenta | | Separators | | | Dim gray | One command to get it: /statusline single line, fully color-coded with truecolor RGB gradient: repo name bold yellow, 🌿 leaf icon + git branch in bold cyan with parentheses, 20-block context bar using 24-bit RGB gradient from green 0,200,80 through yellow 220,200,0 to red 220,40,20 with dark gray 60,60,60 empty blocks, dynamic emoji that changes with usage 🟒 under 20%, ⚑ 20-69%, πŸ”₯ 70-89%, 🚨 90%+ , percentage colored by usage level, session cost in yellow, code velocity showing +lines in green and -lines in red, πŸ€– robot icon + model name in magenta, dim gray pipe separators between all elements Or copy the script directly: bash /usr/bin/env bash Claude Code status line: RGB gradient, dynamic emoji, cost, code velocity input=$ cat ── Colors ── CYAN='\033 36m' GREEN='\033 32m' YELLOW='\033 33m' RED='\033 31m' MAGENTA='\033 35m' DIM='\033 2m' BOLD='\033 1m' RESET='\033 0m' ── Truecolor helper ── rgb { printf '\033 38;2;%d;%d;%dm' "$1" "$2" "$3"; } ── Parse JSON fields ── model=$ echo "$input" | jq -r '.model.display name // "Unknown"' used=$ echo "$input" | jq -r '.context window.used percentage // empty' cost=$ echo "$input" | jq -r '.cost.total cost usd // 0' lines add=$ echo "$input" | jq -r '.cost.total lines added // 0' lines del=$ echo "$input" | jq -r '.cost.total lines removed // 0' cwd=$ echo "$input" | jq -r '.workspace.current dir // .cwd // ""' ── Git info ── branch="" repo="" if -n "$cwd" ; then branch=$ git -C "$cwd" --no-optional-locks symbolic-ref --short HEAD 2 /dev/null repo=$ basename "$ git -C "$cwd" --no-optional-locks rev-parse --show-toplevel 2 /dev/null " 2 /dev/null fi ── Context bar: RGB gradient, full blocks only ── BAR WIDTH=20 if -n "$used" ; then used int=$ printf '%.0f' "$used" Round to nearest block filled=$ used int BAR WIDTH + 50 / 100 bar="" for i=0; i