Claude Code-Statusleiste anpassen: Skripte & Ideen
Mehr als die Ersteinrichtung: Welche JSON-Daten Ihr Statusline-Skript erhält, welche Felder sich zeigen lohnen — Modell, Tokens, Kosten, Kontext, Git —, Ideen für Farben und Layout und ein Community-Skript zum Direkt-Übernehmen.
Kurz zusammengefasst
- /statusline schreibt das Skript für Sie. Nennen Sie Ihr Betriebssystem, verlangen Sie globale Geltung und eine eigene .sh/.ps1-Datei — und genehmigen Sie die beiden Dateien: einen statusLine-Eintrag in ~/.claude/settings.json plus das Skript, auf den er verweist.
- Das Skript liest ein einziges JSON-Objekt von stdin — model.display_name, workspace.current_dir, context_window.used_percentage, cost.total_cost_usd, rate_limits — und gibt genau das aus, das Sie sehen wollen.
- Felder als nummerierte Liste anfordern, den Kontextbalken nach Schwellenwerten einfärben (grün unter 50 %, rot ab 75 %), Tokens in K-Einheiten runden und bei Platzmangel auf mehrere Zeilen verteilen.
- Oder gleich ein Community-Skript nehmen: npx contextbricks liefert Modell, Git-Branch und Commit, einen Zähler für Tokens im Baukstein-Stil und eine Wochenlimit-Warnung — dann bestimmen Sie selbst, wann /compact oder /clear dran ist.
Claude Code's Hidden Status Line: Tokens, Model and Project, Your Way
Kanal: 호두의 AI 분석실 (Waldo AI Lab)5:27
ContextBricks: My Custom Claude Code Status Line
Community-Skript: Jeremy Dawes6:17
Status line — official documentation
Doku: code.claude.com/docs
Die Fakten auf dieser Seite sind mit der offiziellen Statusline-Dokumentation und den beiden Aufzeichnungen oben abgeglichen; die zitierten JSON-Feldnamen entsprechen exakt der offiziellen Referenz. Die Screenshots sind Frames aus diesen Aufzeichnungen.
Screenshots sind Frames aus den Tutorials von 호두의 AI 분석실 und Jeremy Dawes (ContextBricks), mit Quellenangabe verwendet und in jedem Schritt zur Ursprungszeit verlinkt.
Statusleiste anpassen, Schritt für Schritt
/statusline einmal richtig prompten
- 1
Ein /statusline-Prompt, der OS, Geltungsbereich und Skriptdatei nennt
Rufen Sie /statusline auf und klären Sie drei Dinge vorab: Ihr System (Mac, Linux, Windows oder WSL), dass die Zeile global eingerichtet werden soll und dass Sie eine eigene .sh-Datei wollen — unter Windows .ps1. Andernfalls rät der Setup-Agent Ihre Umgebung und kann die falsche Shell treffen; ein projektbezogenes Skript erscheint nur in einem einzigen Repo. Der Prompt passt in vier Zeilen — heben Sie ihn sich in einer Notiz auf.

Der vorbereitete /statusline-Prompt: OS, global, eigene Skriptdatei — fertig zum Einfügen.Video bei 1:15 - 2
Die beiden Dateien genehmigen, die der Setup-Agent anlegt
Bestätigen Sie die Lese- und Schreibabfragen, und der Agent meldet genau, was er berührt hat: In ~/.claude/settings.json steht nun die statusLine-Konfiguration, und ein Skript wie ~/.claude/statusline-command.sh erzeugt den Inhalt der Statuszeile. Die Logik liegt in einer eigenen Datei — später ändert Claude nur das Skript, nicht Ihre Settings. Starten Sie Claude Code neu, damit die Zeile erscheint.

Angelegte/aktualisierte Dateien: settings.json hält den statusLine-Eintrag, das Skript baut den Inhalt.Video bei 3:20 - 3
Erst die Standardzeile lesen, dann erweitern
Ab Werk zeigt die erzeugte Zeile: aktuelles Verzeichnis, den Modellnamen wie [Claude Opus 4.5], den Output Style, wenn er nicht Standard ist, den Vim-Modus, den Git-Branch im Repository und die Kontextfenster-Auslastung in Prozent — etwa Claude-project [Claude Opus 4.5] (git:main) 12 %. Da die Konfiguration global ist, gilt sie für jede Claude-Code-Sitzung auf dem Rechner.

Die Standard-Anzeigeliste und ein gerendertes Beispiel der erzeugten Statuszeile.Video bei 2:45
Entscheiden, was die Zeile zeigt
- 4
Die gewünschten Felder nummeriert anfordern
Fordern Sie Ergänzungen als geordnete Liste an, und der Agent antwortet mit einer nummerierten Anzeigereihenfolge. In diesem Durchlauf: Modellname, ein 20-Zeichen-Fortschrittsbalken, eine Prozentangabe wie 20 %, Tokens als 40000/200000, git:main und schließlich das Projektverzeichnis — gerendert als Claude 3.5 Sonnet [==== ] 20% 40000/200000 git:main Claude-project. Die Änderungen landen im Skript; danach Claude Code neu starten.

Anzeigereihenfolge 1-6 mit einem gerenderten Beispiel, direkt im Skript verankert.Video bei 3:45 - 5
Jedem Element eine aussagekräftige Farbe geben
Fordern Sie eine Farbe pro Element an, und das Skript erhält ANSI-Codes mit Schwellenwerten. Die Tabelle dieses Laufs: Modellname cyan; Fortschrittsbalken grün unter 50 %, gelb bei 50-75 %, rot über 75 %; Prozent wie der Balken; Tokens magenta; Branch grün; Projektname blau; Trenner grau. Rot bleibt dem Kontextbalken vorbehalten — die Warnfarbe nur für echten Druck einsetzen.

Element-für-Element-Farbtafel mit Schwellenwerten für den Fortschrittsbalken.Video bei 4:15 - 6
Tokens auf K-Einheiten runden und mit /context abgleichen
Rohwerte wie 21373/200000 lassen sich kaum überfliegen. Verlangen K-Einheiten, und die Zeile zeigt 21k/200k — der Agent weist darauf hin, dass gerundet wird. Danach prüfen: /context in derselben Sitzung ausführen und vergleichen; die Summen stimmen. Eine Eigenheit aus der Demo: Nach dem Runden können 22k und 23K gleich aussehen — für eine Zeile, die man im Vorbeigehen liest, reicht das.

Aus 21373/200000 wird 21k/200k; /context bestätigt dieselben Summen.Video bei 4:30 - 7
Zwei Sitzungen starten und prüfen, ob jede Zeile sich selbst trackt
Öffnen Sie zwei Terminals und starten Sie in beiden Claude Code. Jede Statuszeile berichtet nur über die eigene Sitzung: links 11 % und 22k/200k, rechts 9 % und 18k/200k, während /context im jeweiligen Fenster übereinstimmt. Genau deshalb gehören Branch und Projekt in die Zeile — laufen mehrere Tabs, sehen Sie auf einen Blick, welche Sitzung schwer ist, ohne überall /context auszuführen.

Zwei Claude-Code-Sitzungen, jede Statuszeile mit ihrem eigenen Kontextwert.Video bei 5:15
Ein Skript übernehmen, täglich lesen
- 8
Nicht selbst schreiben: Community-Skript per npx installieren
Das Skript müssen Sie nicht selbst verfassen. ContextBricks installiert sich mit einem Befehl — npx contextbricks —, schreibt ~/.claude/statusline.sh und aktualisiert settings.json, zuvor mit Backup. Die Checkliste: Modellname, git repo:branch [commit]-Meldung, Indikatoren für uncommittete Änderungen, ahead und behind, in dieser Sitzung geänderte Zeilen, Echtzeit-Kontextnutzung als Brick-Visualisierung und eine Token-Aufschlüsselung. Deinstallation per ./uninstall.sh; der gedruckte Backup-Pfad stellt das alte Skript wieder her.

npx contextbricks: Skript installiert, settings.json aktualisiert, Fähigkeiten aufgelistet.Video bei 0:20 - 9
Während der Agent arbeitet, auf den Zähler schauen
Die eigene Zeile zahlt sich mitten in der Sitzung aus. In der Demo steht dort [Sonnet 4.5], +2381/-0 Zeilen, dann ein Kontextbalken bei 18 % (36k/200k tokens) mit der Aufteilung sys:4k tools:16k mcp:2k mem:10k msg:4k und 163k frei. Der Autor zählt Tokens, indem er das Sitzungstranskript parst — eine Schätzung, keine API-Zahl —, ihm reicht das, um zu entscheiden, wann /compact oder /clear dran ist.

36k/200k tokens mit Aufschlüsselung nach Kategorie, während Planungsdokumente entstehen.Video bei 5:00 - 10
Auf Signal abschließen: Commit landet, Wochenlimit naht
Nach einem Git-Commit nimmt die Zeile Branch und Commit auf: contextbricks:master [ffe9523] Add comprehensive planning documentation. Am rechten Rand kommt ein zweites Signal dazu — Approaching weekly limit. Mit Kontextprozent, Commit-Marker und Limitwarnung wissen Sie, wann Sie /compact oder /clear bewusst einsetzen, statt die Auto-Komprimierung mitten in der Aufgabe zu erleben.

Branch und Commit erscheinen in der Zeile, rechts die Wochenlimit-Warnung.Video bei 6:02
Was Ihr Skript lesen kann — Feld für Feld
Alles auf der Zeile stammt aus einem einzigen JSON-Objekt, das das Skript von stdin erhält — beim Sitzungsstart und nach jedem Update: neue Assistentennachricht, abgeschlossenes /compact, Wechsel des Berechtigungsmodus. Dies sind die offiziellen Felder, die eine eigene Zeile wert sind.
- 1Modell und Effort — model.display_name als Label (Sonnet 4.5, Opus 4.5), dazu effort.level, wenn die Reasoning-Stufe sichtbar sein soll.
- 2Ort — workspace.current_dir ist das bevorzugte Feld für das aktuelle Verzeichnis, workspace.project_dir das Startverzeichnis, und workspace.repo.owner/.name benennen das aus dem origin-Remote geparste Repository; den Branch dazu per git branch --show-current.
- 3Kontext — context_window.used_percentage und remaining_percentage sind bereits berechnet, context_window.current_usage trennt Input, Output, Cache-Anlage und Cache-Lese, und context_window.context_window_size beträgt standardmäßig 200000 (erweitert 1000000).
- 4Geld und Zeit — cost.total_cost_usd für die Sitzungskosten (Reset bei /clear), cost.total_duration_ms und total_api_duration_ms für Wanduhr versus API-Wartezeit, dazu cost.total_lines_added und total_lines_removed.
- 5Limits — rate_limits.five_hour und rate_limits.seven_day liefern used_percentage und resets_at in Pro- und Max-Plänen; die Doku enthält zudem ein prompt_cache-Objekt mit hit_ratio und expires_at für cache-bewusste Zeilen.
Praktisches aus der Doku: Jedes echo oder print ist eine eigene Zeile — Mehrzeilen-Layouts sind einfach mehr print-Anweisungen; ANSI-Codes färben sie; die Umgebungsvariablen COLUMNS und LINES nennen die Terminalbreite; und jedes bedingt vorhandene Feld verdient einen jq-Fallback wie .context_window.used_percentage // 0, damit die Zeile die ersten Sitzungssekunden übersteht.
Wenn die Zeile streikt
Die meisten defekten Statuszeilen laufen auf fünf Ursachen hinaus — und jede Behebung ist ein Prompt oder ein Befehl entfernt.
- 1Leere Zeile oder Striche (--) — das sind Nullfelder vor der ersten API-Antwort. Die Doku empfiehlt jq-Fallbacks (// 0, // empty), und der Workspace-Trust-Prompt muss akzeptiert sein, sonst bleibt die Zeile leer.
- 2Skript läuft nicht — mit chmod +x ausführbar machen, auf stdout statt stderr schreiben und claude --debug ausführen, um die Skriptfehler zu sehen.
- 3Zahlen stimmen nicht — dem ContextBricks-Autor zufolge hatte Claude mehrere Versuche lang die Token-Berechnung falsch. Bitten Sie den Agenten, das rohe JSON in eine Debug-Datei zu schreiben und das Skript dagegen zu bauen; dann mit /context abgleichen.
- 4Windows-Shell-Chaos — Claude Code nutzt Git Bash, wenn installiert, sonst PowerShell; Pfade mit Schrägstrichen und das Skript in eine eigene .ps1-Datei.
- 5Zu viel in einer Zeile — Mehrzeilig anfordern (Pfad- und Repo-Infos wandern in die zweite Zeile) oder ausmisten: Tokens in K-Einheiten, eine Trennerfarbe, und Felder streichen, die nie jemand ansieht.
Und wenn Sie ganz aussteigen wollen: /statusline delete (oder /statusline clear) entfernt das Feature, der uninstall.sh eines Community-Installers macht es rückgängig, und das Backup der Settings stellt Ihr altes Skript wieder her.
