Claude Code guide
How to make a Claude Code status line.
Claude Code calls the bottom bar a statusline. Many people search for it as a status line or status bar. statusline.sh helps you build, customize, preview, and install one visually — no shell scripting required.
Open the Claude Code statusline builder
What is a Claude Code statusline?
A Claude Code statusline is an executable command configured under the statusLine key in settings.json. On every render Claude Code pipes the current session as JSON on stdin, and your command prints styled terminal text to stdout. That output becomes the bar at the bottom of the Claude Code terminal.
Because it is just a command, a statusline can show anything derivable from the session: the active model, working directory, git branch, context-window usage, running cost, session duration, and Claude Code's rate-limit budgets.
Before you start
Install Claude Code and use a local terminal. On macOS or Linux, the generated Bash installer needs jq or Python to merge your settings; on Windows, choose the PowerShell installer. The manual Bash example requires jq.
The manual setup uses ~/.claude/statusline.sh and ~/.claude/settings.json. Adjust both paths if you use a custom Claude config directory. Keep a copy of an existing script and back up settings.json before editing them by hand; merge the statusLine entry while preserving other settings.
Build it visually.
Use the builder to add model, directory, git branch, context, cost, duration, separators, glyphs, and ANSI styling. A live preview renders the exact bytes your terminal will show, using the same interpreter that powers the installed script.
When the design looks right, install it with a generated bash or PowerShell command. The installer structurally merges the statusLine setting into settings.json and writes a timestamped backup first, so every other key — model, permissions, MCP servers — survives untouched.
Run the generated command in the matching shell, then restart Claude Code. The browser preview uses mock session data; the installed statusline reads your current session. For a manual script, make it executable with chmod +x ~/.claude/statusline.sh and pipe sample session JSON into it before changing settings. Running the script without JSON input waits for stdin.
Frequently asked
Is it called a statusline or a status bar? Claude Code documentation uses statusline; people often describe the same area as a status line or status bar. Does it work on Windows? Yes — the builder generates a PowerShell installer for Windows and a bash installer for macOS or Linux. Can you share a design? Yes — publish it to the community gallery and others can preview or fork it.