Wo deine Tokens hin sind — und wann der Reset kommt.
Tokens sind nicht gratis und nicht endlos. Die Default-Statusline tut so. Diese hier zeigt dir, was vom 5-Stunden- und 7-Tage-Budget noch übrig ist, wie viele Tokens du schätzungsweise schon verbraucht hast, wann's resettet — und was die Session bisher gekostet hat. Eine Zeile, statt im Blindflug zu prompten.
↳ Sitzt fest unten im Terminal, in dem claude läuft. Bleibt dort, während du arbeitest. Mehr zu typischen Setups weiter unten.
Drei Zeilen, vier Sachen, die du sonst nicht siehst.
Die typische Frage nach zwei Stunden Arbeit: "Wo sind meine Tokens hin?" Default-Statusline beantwortet das nicht. Sie zeigt Modell und Kontext, das war's. Sobald du echt arbeitest, willst du wissen, wo dein Budget grade hingeht — vor dem Limit, vor dem Reset, vor der teuren Session.
Drei typische Setups. Egal welches du fährst — die Bar funktioniert.
Claude Code ist ein CLI-Tool — die Statusline lebt in der Shell, in der claude läuft. Die drei häufigsten Setups, die ich sehe:
Den Block direkt ins Terminal pasten — fertig.
Du pastest den Prompt in das Terminal, in dem claude gerade läuft — also da, wo die Bar später auch erscheinen soll. Claude nimmt das wie einen normalen Auftrag entgegen, legt das Script unter ~/.claude/statusline-command.sh an, patcht deine ~/.claude/settings.json, und zeigt dir am Schluss einen Test-Run. Du musst nichts manuell anlegen. Clean-Variante ohne Emojis — wenn dir die Renn-Variante mehr Spaß macht, siehe Tweaks unten.
Bau mir eine Claude-Code-Statusline analog zu Max Fraunhofers Setup. Bevor du loslegst, drei Pre-Flight-Checks:
1. `jq` installiert? — `command -v jq` checken. Wenn nicht: zeig mir den passenden Install-Command (macOS: `brew install jq`, Debian/Ubuntu: `sudo apt install -y jq`, Fedora: `sudo dnf install jq`, Arch: `sudo pacman -S jq`, Windows: `scoop install jq`) und frag, ob du's für mich ausführen sollst.
2. Frag mich nach meinem Claude-Plan, um die Token-Budgets zu setzen. Schlag mir diese Werte vor und lass mich wählen (Default: Max 5x, weil das meistens stimmt):
- Pro: TOKEN_BUDGET=50000, WEEKLY_TOKEN_BUDGET=null (Pro hat kein Wochen-Limit, dann zweite Bar weglassen)
- Max 5x: TOKEN_BUDGET=200000, WEEKLY_TOKEN_BUDGET=2000000
- Max 20x: TOKEN_BUDGET=800000, WEEKLY_TOKEN_BUDGET=8000000
Wenn ich's nicht weiss: Default setzen und einen Kommentar im Script lassen, wo ich's später anpasse.
3. Statusline-JSON-Schema checken: ruf `claude --print --output-format json --include-partial-messages "echo"` oder das aktuelle Doc-Beispiel ab und schau, ob die Felder `rate_limits.five_hour`/`seven_day` und `context_window` drin sind. Wenn nicht: kurz warnen, dass meine Claude-Code-Version eventuell zu alt ist — Script läuft trotzdem, zeigt nur weniger.
Dann zum Bau. Zwei Zeilen Output:
Zeile 1 (dim, grau): model | ctx XX% | git-branch | session-name
Zeile 2+3 (Akzentfarbe, RGB konfigurierbar): zwei Rate-Limit-Bars
[5h] [████░░░░░░░░░░░░░░░░] 20% (~40k/200k tokens) | reset in 2h15m @ 14:30 CEST | $1.23
[7d] [██████░░░░░░░░░░░░░░] 30% (~600k/2M tokens) | resets Sun 09:00 CEST
Spec:
- Datei: ~/.claude/statusline-command.sh, ausführbar, shebang /bin/sh (POSIX, kein bash-ismus).
- Liest JSON von stdin via jq. Felder: .model.display_name, .context_window.used_percentage,
.workspace.current_dir, .worktree.branch, .session_name, .rate_limits.five_hour.{used_percentage,resets_at},
.rate_limits.seven_day.{used_percentage,resets_at}, .cost.total_cost_usd.
- Konstanten am Datei-Anfang: TOKEN_BUDGET, WEEKLY_TOKEN_BUDGET (aus Pre-Flight 2), ACCENT_RGB="213;0;28".
- Progress-Bar: 20 Zellen breit, ausschliesslich █ und ░ (KEINE Emojis, KEINE Auto-Icons).
- Token-Schaetzung: pct/100 * Budget, mit k/M-Suffix.
- Reset-Strings in TZ=Europe/Berlin, mit `date -r` (macOS) UND `date -d "@ts"` (Linux) als Fallback.
- Labels [5h] und [7d] fix in eckigen Klammern, damit beide Bars vertikal aligned sind.
- ANSI: \033[2m fuer dim, \033[38;2;${ACCENT_RGB}m fuer Akzent, \033[0m reset.
- Wenn ein Wert fehlt: Zeile/Segment skippen, nicht crashen.
Danach patche ~/.claude/settings.json:
"statusLine": { "type": "command", "command": "sh /Users/<user>/.claude/statusline-command.sh" }
(Pfad mit `echo $HOME` ermitteln, nicht hardcoden.)
Zeig mir am Schluss einen Test-Run mit Dummy-JSON, damit ich sehe wie es rendert.
Was Claude da in deine settings.json schreibt — kurz erklärt.
Der zweite Teil des Prompts patcht ~/.claude/settings.json. Falls du die schon hast und das selbst kontrollieren willst, ist das der Eintrag:
{
"statusLine": {
"type": "command",
"command": "sh /Users/DEIN-USER/.claude/statusline-command.sh"
}
}
Drei Konstanten oben im Script — der Rest ist Geschmack.
Wenn die Bars zum ersten Mal stehen, sind das die Sachen, die man am ehesten anfasst.
Deine Tokens sind teuer. Behandel sie auch so.
Zwei Minuten Setup. Danach hörst du auf, blind ins Limit zu rauschen.
Quellen + Weiterlesen
- Anthropic — Status Line Docs (Felder, JSON-Schema, Beispiele): docs.anthropic.com/claude-code/statusline
- Anthropic — Settings-Referenz (alle Keys in settings.json): docs.anthropic.com/claude-code/settings
- Anthropic — Rate-Limits und Plan-Budgets im Vergleich: anthropic.com/pricing
- Antigravity-Setup — wenn du Claude Code noch nicht installiert hast, fang hier an: /ressourcen/antigravity-setup/