Laatst bijgewerkt:
Claude Code statusline: zo doe je het, stap voor stap
Claude Code statusline stel je in door /statusline te typen met een beschrijving van wat je wilt zien, of door in ~/.claude/settings.json een blok "statusLine" toe te voegen dat naar een klein script wijst. Dat script krijgt na elk antwoord de gegevens van je sessie als JSON binnen, en wat het print zie je als vaste regel onderaan Claude Code. Je hebt Claude Code nodig op Pro, Max, Team, Enterprise of met een API-key, een teksteditor en het hulpprogramma jq. Via /statusline staat er in vijf minuten iets; met de scripts op deze pagina heb je in een halfuur een statusregel die je zelf begrijpt. Gecontroleerd op 29 oktober 2026.
Wat heb je nodig
Wat heb je nodig voor een Claude Code statusline?
De statusline (in het Nederlands de statusregel) is een functie van Claude Code zelf, dus je hoeft niets extra af te nemen. Omdat de regel uit een script op je eigen computer komt, heb je wel een paar kleine programma's nodig. Heb je Claude Code nog niet draaien, begin dan bij Claude Code installeren. Welk plan je nodig hebt, staat op de Claude-abonnementen.
jq installeren
Op macOS: brew install jq. Op Debian en Ubuntu: sudo apt-get install jq. Op Windows: winget install jqlang.jq. Open daarna een nieuwe terminal, zodat je systeem het nieuwe programma vindt. Gebruik je alleen /statusline of de PowerShell-variant, dan kun je jq overslaan.
| Wat | Waarom | Hoe controleer je het |
|---|---|---|
| Claude Code in de terminal, recente versie | WaaromDe statusregel hoort bij de terminalversie van Claude Code; de velden die het script krijgt zijn het afgelopen jaar flink uitgebreid | Hoe controleer je hetclaude --version, bijwerken met claude update |
| Pro, Max, Team, Enterprise of een API-key | WaaromHet gratis plan geeft geen toegang tot Claude Code | Hoe controleer je het/status in Claude Code |
| jq | WaaromHet script krijgt zijn gegevens als JSON binnen; jq haalt daar het model, de map en de percentages uit | Hoe controleer je hetjq --version in je terminal |
| git | WaaromDe branch staat niet in de JSON; het script vraagt die zelf aan git | Hoe controleer je hetgit --version |
| Een teksteditor | WaaromJe maakt één script en past één settings-bestand aan | Hoe controleer je hetVS Code, Kladblok of TextEdit in platte-tekstmodus |
| Op Windows: Git for Windows of PowerShell | WaaromMet Git Bash werken de Bash-scripts zoals ze er staan; zonder Git Bash gebruik je de PowerShell-variant | Hoe controleer je hetgit --version in PowerShell |
| Een halfuur | WaaromVijf minuten voor /statusline, de rest om een eigen script te maken en te testen | Hoe controleer je hetPlan het tussen twee klussen in |
Hoe het werkt
Hoe werkt de statusline in Claude Code?
Claude Code draait jouw script en geeft het de gegevens van de sessie mee als JSON, via stdin (de invoer die een programma binnenkrijgt). Wat je script naar stdout print, de gewone uitvoer, staat als regel onder je invoerveld. Het script draait bij het starten of hervatten van een sessie, na elk nieuw antwoord van Claude, na /compact, als je de permissiemodus wisselt en als je het commando in je settings verandert. Snelle wijzigingen worden gebundeld: Claude Code wacht 300 milliseconden en draait het script dan één keer. De statusregel draait lokaal en kost geen tokens.
Wat er niet in de JSON staat
De git-branch en het aantal gewijzigde bestanden krijgt je script niet mee. Wil je die zien, dan vraagt je script ze zelf aan git, zoals in het eerste script hieronder. Dat kost bij elke update een fractie van een seconde, en in een grote repository merk je dat. Alleen in een worktree-sessie staat de branch wel in de JSON, onder worktree.branch.
Statusline, /status, /usage en /context: het verschil
De statusline is een regel die altijd zichtbaar is, met wat jij kiest. /status opent het tabblad Status in de instellingen, met je versie, model, account en verbinding: handig om één keer te controleren, niet om bij te houden. /usage (ook bereikbaar als /cost en /stats) toont je sessiekosten, je planlimieten en activiteit. /context laat in een kleurenraster zien wat je contextvenster vult, met tips om ruimte te maken. Hoe je /usage en /status gebruikt als je tegen een limiet loopt, lees je bij Claude Code limiet bereikt. En de pagina Claude status gaat over storingen bij Anthropic; die heeft niets met deze statusregel te maken.
Waar je de statusline instelt
~/.claude/settings.json geldt voor al je projecten, alleen op jouw computer; de tilde staat voor je gebruikersmap. Daar hoort een statusregel bijna altijd, want het is een persoonlijke voorkeur. Je kunt hem ook in .claude/settings.json van een project zetten. Die waarde wint dan van je persoonlijke, en elke collega die het project opent, draait jouw script. Doe dat alleen als het team dat bewust wil.
| Veld | Wat het bevat | Let op |
|---|---|---|
| model.display_name | Wat het bevatDe naam van het actieve model, zoals Opus | Let opmodel.id geeft de volledige modelnaam |
| workspace.current_dir | Wat het bevatDe map waarin Claude nu werkt | Let opworkspace.project_dir is de map waarin je Claude Code startte |
| context_window.used_percentage | Wat het bevatHoeveel procent van het contextvenster vol zit | Let opKan leeg (null) zijn tot het eerste antwoord |
| context_window.context_window_size | Wat het bevatDe grootte van het contextvenster in tokens | Let op200.000 standaard, 1.000.000 bij modellen met uitgebreide context |
| cost.total_cost_usd | Wat het bevatGeschatte kosten van de sessie in dollars, tegen catalogusprijs | Let opBegint na /clear weer bij 0; op Pro en Max is dit niet wat je betaalt |
| cost.total_duration_ms | Wat het bevatHoe lang de sessie al loopt, in milliseconden | Let opTelt door als je een sessie hervat |
| rate_limits.five_hour.used_percentage | Wat het bevatHoeveel van je 5-uurslimiet op is, van 0 tot 100 | Let opAlleen bij Pro en Max (of een bedrijfsgateway met uitgavelimiet), na het eerste antwoord |
| rate_limits.seven_day.used_percentage | Wat het bevatHoeveel van je weeklimiet op is | Let opZelfde voorwaarden als de 5-uurslimiet |
| effort.level | Wat het bevatDe denkinspanning, van low tot max | Let opOntbreekt als het model dit niet ondersteunt |
| pr.number | Wat het bevatHet nummer van de open pull request van je branch | Let opOntbreekt als er geen open pull request is |
| session_id | Wat het bevatEen uniek id per sessie | Let opHandig als je script iets wil bewaren tussen twee runs |
Snelste route: /statusline
De snelste route: /statusline laat Claude Code het script schrijven
Wil je vooral snel iets zien, laat Claude Code het werk dan doen. Het commando /statusline neemt een beschrijving in gewone taal, schrijft een script in ~/.claude/ en past je settings aan.
/statusline zonder beschrijving
Typ je alleen /statusline, dan maakt Claude Code een statusregel op basis van je shellprompt, de regel die je terminal toont voor elk commando. Handig als je prompt al laat zien wat je belangrijk vindt.
Weer uitzetten
Typ /statusline delete of /statusline remove it. Je kunt ook zelf het blok "statusLine" uit ~/.claude/settings.json halen. Het script blijft dan staan, maar Claude Code draait het niet meer.
- 1
Start Claude Code in een projectmap met claude. Waarom in een project: dan staat er meteen een map en een branch in je regel en zie je of alles klopt.
- 2
Typ /statusline toon het model, de mapnaam, de git-branch en hoeveel procent van de context vol zit. Waarom zo concreet: hoe preciezer je beschrijft wat je wilt zien, hoe minder je daarna hoeft bij te stellen.
- 3
Keur de bestandswijzigingen goed als Claude Code erom vraagt. Waarom: het script en de instelling komen in je gebruikersmap, buiten je project, en daar schrijft Claude Code niet zonder jouw toestemming.
- 4
Stuur een kort bericht, bijvoorbeeld hoi. Na het antwoord staat je regel onder het invoerveld. Waarom: Claude Code draait het script bij het starten en na elk antwoord; sommige velden blijven leeg tot het eerste antwoord binnen is.
- 5
Vraag daarna laat het statusline-script zien dat je net hebt gemaakt en leg elke regel uit. Waarom: het script draait vanaf nu na elk antwoord op jouw computer. Je wilt weten wat erin staat, en als je het snapt, kun je het later zelf aanpassen.
Script 1: model, map, branch
Je eigen Claude Code statusline-script: model, map en git-branch
Zelf een script maken kost een kwartier en je weet daarna precies wat er draait. Dit eerste script toont het model, de naam van de map en de git-branch. Het werkt op macOS, Linux en op Windows met Git Bash.
Het script: ~/.claude/statusline.sh
#!/bin/bash
# Statusregel 1: model, map en git-branch
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
BRANCH=$(git -C "$DIR" branch --show-current 2>/dev/null)
if [ -n "$BRANCH" ]; then
echo "[$MODEL] ${DIR##*/} | branch: $BRANCH"
else
echo "[$MODEL] ${DIR##*/}"
fiDe configuratie in ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"padding": 1
}
}Wat het script doet
input=$(cat) leest de JSON die Claude Code meegeeft. jq -r haalt er één veld uit als gewone tekst. De constructie met twee hekjes achter DIR houdt alleen het laatste deel van het pad over, dus de mapnaam. git -C vraagt de branch op in de map waar Claude werkt, en 2>/dev/null zorgt dat je buiten een git-repository geen foutmelding krijgt maar gewoon een regel zonder branch. In de configuratie betekent "type": "command" dat Claude Code een shellcommando draait; "padding": 1 geeft één teken extra ruimte aan de linkerkant.
Twee nuttige opties
"refreshInterval": 5 draait je script ook elke vijf seconden, ook als er niets gebeurt. Dat heb je nodig voor een klok, of als subagents op de achtergrond de git-status veranderen terwijl jij wacht. Het minimum is 1. Laat de optie weg als je regel alleen na een antwoord hoeft te veranderen. Wil je je regel aanpassen aan de breedte van je venster, lees dan $COLUMNS uit; tput cols werkt in een statusline-script niet, omdat Claude Code de uitvoer opvangt.
- 1
Controleer met jq --version dat jq er is. Waarom: zonder jq kan het script de JSON niet lezen en blijft je regel leeg, zonder foutmelding.
- 2
Maak het bestand ~/.claude/statusline.sh aan en plak het script hieronder erin. Waarom in ~/.claude: dan staat het naast je persoonlijke settings en geldt het voor al je projecten.
- 3
Maak het script uitvoerbaar met chmod +x ~/.claude/statusline.sh. Waarom: zonder die stap mag je systeem het script niet starten. Op Windows met Git Bash is dit niet nodig.
- 4
Test het script los, nog zonder Claude: echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/tmp/test"}}' | ~/.claude/statusline.sh. Je ziet [Opus] test. Waarom: zo weet je dat het script werkt voordat Claude Code het draait. In Claude Code zie je een fout niet; de regel blijft gewoon leeg.
- 5
Open ~/.claude/settings.json en voeg het blok "statusLine" toe uit de configuratie hieronder. Staat er al iets in het bestand, zet het blok dan binnen de bestaande accolades, met een komma na het vorige onderdeel. Waarom: een settings-bestand is één JSON-object; twee objecten achter elkaar maakt het ongeldig.
- 6
Sla op en stuur in Claude Code een bericht. Waarom je niet hoeft te herstarten: Claude Code leest de settings opnieuw in zodra je opslaat en draait een gewijzigd commando meteen. Pas je later alleen het script aan, dan zie je dat bij het volgende antwoord.
Script 2 en 3: context en limieten
Claude Code statusline met contextgebruik, limieten en kosten
Model en map zijn handig, maar de meeste mensen willen vooral weten hoe vol de context zit en hoeveel van hun limiet nog over is. Vervang daarvoor de inhoud van ~/.claude/statusline.sh door een van de twee scripts hieronder. Je settings hoef je niet aan te passen; de wijziging verschijnt bij het volgende antwoord.
Script 2: contextgebruik als gekleurde balk
#!/bin/bash
# Statusregel 2: contextgebruik als gekleurde balk
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
[ "$PCT" -gt 100 ] && PCT=100
GROEN='\033[32m'; GEEL='\033[33m'; ROOD='\033[31m'; RESET='\033[0m'
if [ "$PCT" -ge 80 ]; then KLEUR=$ROOD
elif [ "$PCT" -ge 60 ]; then KLEUR=$GEEL
else KLEUR=$GROEN; fi
GEVULD=$((PCT / 10)); LEEG=$((10 - GEVULD))
BALK=""
for ((i = 0; i < GEVULD; i++)); do BALK="${BALK}█"; done
for ((i = 0; i < LEEG; i++)); do BALK="${BALK}░"; done
printf '%b\n' "[$MODEL] ${KLEUR}${BALK}${RESET} ${PCT}% context"Wat script 2 doet
Met 67 procent context zie je [Opus] ██████░░░░ 67% context, met een gele balk. // 0 zet een leeg veld om in 0, want aan het begin van een sessie is het percentage nog leeg. cut -d. -f1 knipt de decimalen eraf, omdat Bash alleen met hele getallen rekent. De codes zoals \033[32m zijn ANSI-kleurcodes: 32 is groen, 33 geel, 31 rood, 0 zet de kleur terug. printf '%b' zorgt dat die codes als kleur verschijnen en niet als tekst. De grenzen 60 en 80 procent zijn onze keuze: geel is het seintje om na deze taak /compact te doen of een nieuwe sessie te starten, rood betekent dat nu doen. Pas ze aan op hoe jij werkt.
Script 3: limieten op een abonnement, kosten met een API-key
#!/bin/bash
# Statusregel 3: planlimieten (abonnement) of geschatte kosten (API)
input=$(cat)
export LC_ALL=C # punt als decimaalteken, ook op een Nederlands ingestelde computer
MODEL=$(echo "$input" | jq -r '.model.display_name')
VIJF_UUR=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
KOSTEN=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
DUUR_MS=$(echo "$input" | jq -r '.cost.total_duration_ms // 0')
REGEL="[$MODEL] $((DUUR_MS / 60000)) min"
if [ -n "$VIJF_UUR" ]; then
REGEL="$REGEL | 5 uur: $(printf '%.0f' "$VIJF_UUR")%"
[ -n "$WEEK" ] && REGEL="$REGEL | week: $(printf '%.0f' "$WEEK")%"
else
REGEL="$REGEL | ca. \$$(printf '%.2f' "$KOSTEN")"
fi
echo "$REGEL"Wat script 3 doet
Op Pro of Max zie je bijvoorbeeld [Opus] 30 min | 5 uur: 24% | week: 41%. Werk je met een API-key, dan ontbreken die limietvelden en toont het script de geschatte kosten, zoals [Sonnet] 2 min | ca. $1.57. // empty geeft niets terug als een veld ontbreekt, zodat het script zelf kan kiezen wat het laat zien. Op Team en Enterprise krijg je de limietvelden niet mee, en dan zie je het dollarbedrag; lees bij Ons oordeel waarom je dat niet als je rekening moet lezen.
Waarom die regel met LC_ALL=C erin staat
Dit is een valkuil die je in Engelstalige voorbeelden niet tegenkomt. Staat je computer op Nederlandse getalnotatie, dan verwacht printf een komma als decimaalteken. Het bedrag 1.5678 uit de JSON geeft dan de melding printf: 1.5678: invalid number, en je regel toont $0,00. We hebben dat getest op een Mac met Nederlandse instellingen. export LC_ALL=C zet het script op de neutrale notatie met een punt, en dan klopt het bedrag weer. Gebruik deze regel niet in script 2: dan worden de blokjes van de balk onleesbaar.
Twee regels tegelijk
Elke echo in je script wordt een eigen regel. Wil je script 1 en script 3 combineren, laat het script dan twee keer echo doen: eerst model, map en branch, daarna de limieten. Houd het wel kort. Op een smal venster kapt Claude Code de regel af, en meldingen zoals een MCP-fout delen de rij met je statusregel.
Windows
Claude Code statusline op Windows: PowerShell of Git Bash
Op Windows draait Claude Code je statusline-commando via Git Bash als dat geïnstalleerd is, en anders via PowerShell. Met Git Bash werken de scripts hierboven zoals ze er staan. Zonder Git Bash gebruik je het PowerShell-script hieronder, dat model, map, branch en contextgebruik toont.
Het script: statusline.ps1
# Statusregel voor Windows: map, model en contextgebruik
$data = $input | Out-String | ConvertFrom-Json
$model = $data.model.display_name
$map = Split-Path $data.workspace.current_dir -Leaf
$pct = [math]::Floor([double]$data.context_window.used_percentage)
$branch = git -C $data.workspace.current_dir branch --show-current 2>$null
$regel = "[$model] $map"
if ($branch) { $regel += " | branch: $branch" }
$regel += " | $pct% context"
Write-Output $regelDe configuratie voor Windows
{
"statusLine": {
"type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:/Users/jouwnaam/.claude/statusline.ps1"
}
}Waarom -ExecutionPolicy Bypass
Het officiële voorbeeld van Anthropic heeft deze toevoeging niet. Wij zetten hem erbij, omdat Windows op een pc waar niemand iets heeft ingesteld het uitvoeren van PowerShell-scripts blokkeert. De optie geldt alleen voor dit ene proces en verandert niets aan de instellingen van je computer. Op een bedrijfslaptop kan IT scripts via Group Policy blokkeren; die regel gaat altijd voor. Werkt het daardoor niet, gebruik dan de route via Git Bash of vraag je beheerder.
Liever Git Bash?
Installeer Git for Windows en jq (winget install jqlang.jq). Zet het Bash-script in C:\Users\jouwnaam\.claude\statusline.sh en gebruik als commando ~/.claude/statusline.sh; de tilde werkt ook op Windows en wijst naar je gebruikersmap. Dan kun je dezelfde scripts gebruiken als je collega's op een Mac.
- 1
Open Kladblok, plak het script hieronder en sla het op als C:\Users\jouwnaam\.claude\statusline.ps1. Kies bij Opslaan als type Alle bestanden. Waarom: anders zet Kladblok er .txt achter en vindt PowerShell het script niet.
- 2
Voeg het blok "statusLine" uit de configuratie hieronder toe aan C:\Users\jouwnaam\.claude\settings.json en vervang jouwnaam door je eigen gebruikersnaam. Waarom met schuine strepen naar rechts in het pad: Git Bash leest een backslash als speciaal teken en haalt hem weg, waarna het commando zonder foutmelding faalt.
- 3
Stuur in Claude Code een bericht en kijk of de regel verschijnt. Waarom na een bericht: velden als het contextpercentage zijn pas na het eerste antwoord gevuld.
Werkt het?
Werkt het? Zo test je je Claude Code statusline
Een statusline-script dat faalt, toont niets. Claude Code geeft dan geen foutmelding; de regel blijft gewoon leeg. Test daarom eerst los, en laat Claude daarna meekijken.
De controle: test met nep-JSON
Draai in je terminal:
echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/tmp/test"},"context_window":{"used_percentage":72},"cost":{"total_cost_usd":0.5,"total_duration_ms":600000}}' | ~/.claude/statusline.sh; echo "exitcode: $?"Je ziet één nette regel en daarna exitcode: 0. Claude Code toont de uitvoer alleen als het script met exitcode 0 eindigt. Doe daarna in Claude Code de echte test: stuur een bericht en kijk of de regel klopt met je map en model. Wissel met /model van model; na het volgende antwoord hoort de naam in je regel mee te veranderen.
De eerste prompt om te plakken
Lees ~/.claude/settings.json en het script waar "statusLine" naar wijst.
1. Voer het script uit met deze test-JSON en laat de uitvoer en de exitcode zien: {"model":{"display_name":"Opus"},"workspace":{"current_dir":"/tmp/test"},"context_window":{"used_percentage":72}}
2. Doe hetzelfde met een JSON zonder context_window: {"model":{"display_name":"Opus"},"workspace":{"current_dir":"/tmp/test"}}
3. Meet hoe lang één run duurt, en zeg of dat in een grote repository een probleem wordt.
4. Pas nog niets aan. Stel alleen verbeteringen voor, met de reden erbij.Waarom deze prompt werkt
Stap 2 vangt de fout die je in het begin van elke sessie raakt: velden die nog leeg zijn. Een script dat daarop crasht, laat je statusregel leeg tot het eerste antwoord, of langer. Stap 3 gaat over snelheid: je script draait na elk antwoord, en een trage git-opdracht maakt je regel achterlopend. Stap 4 houdt jou aan het stuur. Je leest eerst, daarna pas past Claude iets aan.
Problemen
Claude Code statusline werkt niet? Meldingen en oplossingen
Zoek je symptoom in de eerste kolom. Kom je er niet uit, start Claude Code dan met claude --debug. Dan logt Claude Code bij elke update wat je script naar stderr schrijft, en bij de eerste run ook de exitcode.
| Melding of symptoom | Oorzaak | Oplossing |
|---|---|---|
| Er verschijnt helemaal niets | OorzaakHet script is niet uitvoerbaar, of het faalt en eindigt met een andere exitcode dan 0 | Oplossingchmod +x ~/.claude/statusline.sh en het script los testen met nep-JSON |
| Niets in een nieuwe projectmap, wel in andere mappen | OorzaakJe hebt de vraag om de map te vertrouwen nog niet geaccepteerd; tot dan draait Claude Code geen statusline-commando | OplossingClaude Code opnieuw starten en de map vertrouwen; claude --debug toont "Status line command skipped: workspace trust not accepted" |
| Script werkt los, maar Claude Code toont niets | OorzaakHet script schrijft naar stderr in plaats van stdout, of je settings-bestand is ongeldige JSON | OplossingMet echo naar stdout schrijven, en jq . ~/.claude/settings.json draaien om de JSON te controleren |
| "jq: command not found" | Oorzaakjq is niet geïnstalleerd of niet gevonden | Oplossingbrew install jq, sudo apt-get install jq of winget install jqlang.jq, daarna een nieuwe terminal |
| Percentage of bedrag staat op 0 of is leeg | OorzaakAan het begin van een sessie zijn sommige velden nog null | OplossingEen fallback als // 0 gebruiken en het eerste antwoord afwachten |
| "printf: invalid number" en een bedrag als $0,00 | OorzaakJe computer staat op Nederlandse getalnotatie en printf verwacht een komma | Oplossingexport LC_ALL=C bovenaan het script zetten, zoals in script 3 |
| Kleurcodes als tekst, zoals \033[32m | Oorzaakecho zonder -e drukt de codes letterlijk af | Oplossingprintf '%b' gebruiken, zoals in script 2 |
| Op Windows verschijnt niets | OorzaakBackslashes in het pad worden door Git Bash weggehaald, of PowerShell blokkeert het script | OplossingSchuine strepen naar rechts in het pad, en -ExecutionPolicy Bypass in het commando |
| De statusregel is zonder melding verdwenen | OorzaakdisableAllHooks staat op true, of je organisatie heeft allowManagedHooksOnly aangezet | OplossingdisableAllHooks weghalen of op false zetten; bij allowManagedHooksOnly je beheerder vragen |
| Geen 5-uurs- of weekpercentage | OorzaakDie velden krijg je alleen op Pro en Max, en pas na het eerste antwoord | OplossingOp Team, Enterprise of een API-key /usage gebruiken voor je verbruik |
| Percentage wijkt af van /context | Oorzaak/context telt een schatting op voor berichten sinds het laatste antwoord | OplossingNormaal; na het volgende antwoord lopen ze weer gelijk |
| De regel loopt achter of hapert in een grote repository | OorzaakHet script draait git na elk antwoord, en git is traag in een grote repository | OplossingAlleen de branch tonen, of de git-uitvoer een paar seconden bewaren in een bestand met session_id in de naam |
| De regel verdwijnt even | OorzaakClaude Code verbergt de statusregel tijdens het helpmenu en tijdens vragen om toestemming | OplossingNormaal; hij komt vanzelf terug |
| De regel wordt afgekapt | OorzaakJe venster is te smal, of een melding deelt de rij met je statusregel | OplossingDe uitvoer korter maken, of $COLUMNS uitlezen en daarop inkorten |
Ons oordeel
Ons oordeel: wanneer een Claude Code statusline de moeite waard is
In onze trainingen zien we dat een statusregel vooral helpt bij twee dingen die beginners niet zien aankomen: een context die volloopt, en een limiet die midden in een klus op is. Voor die twee is een halfuur instellen snel terugverdiend. Voor de rest is het vooral prettig.
Wanneer wel
Je werkt dagelijks met Claude Code, in meerdere projecten of sessies tegelijk, en je wilt in één oogopslag zien waar je zit. Je zit op Pro of Max en loopt weleens tegen je 5-uurslimiet aan; met het percentage in beeld plan je een grote klus vóór je limiet in plaats van erdoorheen. Of je laat Claude lange taken doen en wilt zien wanneer de context zo vol raakt dat je beter een nieuwe sessie start.
Wanneer niet, of nog niet
Je gebruikt Claude Code een paar keer per week voor korte vragen. Dan is /usage af en toe genoeg. Werk je vooral in de VS Code-extensie of de desktop-app, dan heb je er minder aan: de documentatie beschrijft de statusregel voor Claude Code in de terminal. Leer als beginner eerst plan mode en een goede CLAUDE.md; die leveren meer op dan een mooie regel onderaan.
De fout die we het vaakst zien: het dollarbedrag lezen als je rekening
Wie de kosten in zijn statusregel zet, schrikt soms van een bedrag van een paar dollar na een middag werken. Op Pro en Max betaal je dat niet: je abonnement dekt je gebruik, en Anthropic schrijft zelf dat het sessiebedrag voor abonnees niet relevant is voor de rekening. Het bedrag is een schatting tegen catalogusprijs, in dollars, en begint na /clear weer bij nul. Op Pro en Max zet je dus beter je 5-uurs- en weekpercentage in de regel, zoals script 3 doet. Alleen met een API-key zegt het bedrag iets over wat je betaalt, en ook dan is de Usage-pagina in de Console leidend. Hoe abonnement en API zich verhouden, lees je bij de kosten van Claude Code.
Kant-en-klare statuslines van anderen
De documentatie noemt twee communityprojecten: ccstatusline en starship-claude. ccstatusline heeft op 29 oktober 2026 ruim 13.400 sterren op GitHub, valt onder de MIT-licentie en start met npx -y ccstatusline@latest, waarna je in een menu kiest wat je wilt zien. Let op twee dingen. Met @latest haalt Claude Code bij elke update de nieuwste versie van npm op en draait die met jouw rechten; de makers raden zelf een vastgezette installatie aan, die je in het menu kiest. En lees wat je installeert, net als bij plugins. Voor de meeste mensen is een eigen script van tien regels genoeg, en dat begrijp je tenminste.
Privacy, de AVG en gedeelde repositories
De statusregel draait lokaal en stuurt zelf niets naar buiten. Dat verandert als je script een externe dienst aanroept, bijvoorbeeld om je verbruik naar een dashboard te sturen: de JSON bevat je mapnamen, je sessie-id en het pad naar het transcript van je gesprek. Behandel zo'n dienst als elke andere verwerker. Pas ook op met een statusLine in .claude/settings.json van een repository die je kloont: dat is een shellcommando dat bij elke update draait. Claude Code draait het pas nadat je de map vertrouwt, dus lees het voordat je ja zegt. Meer over de dataroutes lees je in Claude Code en privacy.
Een voorbeeld uit het MKB
Neem een marketingbureau van acht mensen waar twee collega's met Claude Code landingspagina's en kleine scripts bouwen, allebei op een Max-abonnement. Een werkbare start: iedereen zet script 3 in zijn eigen ~/.claude/settings.json, aangevuld met de mapnaam, zodat zichtbaar is in welk klantproject je zit. Zet de statusregel niet in de repository; de een werkt op een Mac, de ander op Windows, en een gedeeld script zou bij een van beiden falen. Spreek wel af wat je doet bij een vol contextvenster of een hoog limietpercentage, bijvoorbeeld: boven 80 procent context eerst de taak afronden en dan een nieuwe sessie starten.
Wat nu?
Wat doe je na je eerste Claude Code statusline?
Staat je statusregel, dan zijn dit de logische vervolgstappen. Kies er één, niet alles tegelijk.
Je verbruik en je limieten begrijpen
Je ziet nu je percentages, maar wat betekenen ze? Lees Claude Code limiet bereikt voor de 5-uurs- en weekvensters, en de kosten van Claude Code voor abonnement tegenover API. Wat een contextvenster en rate limits zijn, staat in het woordenboek.
Meer automatiseren in Claude Code
De statusregel is familie van hooks: allebei een commando dat Claude Code op een vast moment draait, met dezelfde regels voor vertrouwde mappen. Wil je een melding als Claude op je wacht of een formatter na elke bewerking, volg dan Claude Code hooks. Laat je Claude met subagents werken, dan helpt Claude Code subagents; voor de rij per subagent onder je prompt bestaat een aparte instelling, subagentStatusLine.
Alle commando's op een rij
/statusline, /usage, /status, /context en de rest vind je in Claude Code commands. Werk je in VS Code, lees dan Claude Code in VS Code.
Verder lezen
Hoe je Claude Code in het algemeen goed inzet, lees je in Claude Code gebruiken. Wil je met je team afspraken maken over context, limieten en instellingen, dan behandelen we dat in de Claude Code Masterclass.
FAQ
Veelgestelde vragen
Hoe zet ik de statusline van Claude Code weer uit?
Typ /statusline delete of /statusline remove it in Claude Code, of haal het blok "statusLine" zelf uit ~/.claude/settings.json. Het script blijft staan, maar Claude Code draait het niet meer. Staat de statusLine in .claude/settings.json van een project, dan moet je hem daar weghalen.
Werkt de Claude Code statusline ook op Windows?
Ja. Met Git for Windows draait Claude Code je commando via Git Bash en werken de gewone Bash-scripts. Zonder Git Bash gebruik je een PowerShell-script en het commando powershell -NoProfile -ExecutionPolicy Bypass -File met het pad naar je script. Schrijf het pad met schuine strepen naar rechts, anders faalt het zonder foutmelding.
Kost een statusline in Claude Code tokens?
Nee. Het script draait lokaal op je computer en praat niet met het model, dus het verbruikt geen tokens en telt niet mee voor je limiet. Het kost wel een beetje rekentijd, omdat het na elk antwoord draait. Een trage git-opdracht in een grote repository kan je regel laten achterlopen.
Waarom toont mijn statusline geen 5-uurslimiet?
Claude Code geeft de velden voor de 5-uurs- en weeklimiet alleen mee op een Pro- of Max-abonnement, en pas na het eerste antwoord in een sessie. Op Team, Enterprise of met een API-key ontbreken ze. Bekijk je verbruik dan met /usage, of op claude.ai bij Settings en Usage.
Wat is ccstatusline en kan ik het veilig gebruiken?
ccstatusline is een communityproject met een menu waarin je kiest wat je statusregel toont, met thema's en powerline-stijl. Je start het met npx -y ccstatusline@latest. Het is open source onder de MIT-licentie. Kies in het menu de vastgezette installatie, zodat niet bij elke update automatisch een nieuwe versie met jouw rechten draait.
Kan ik per project een andere statusline instellen?
Ja. Zet een blok "statusLine" in .claude/settings.json of .claude/settings.local.json van dat project. Die waarde wint van je persoonlijke instelling in ~/.claude/settings.json. Gebruik settings.local.json als alleen jij die regel wilt; dat bestand gaat niet mee in git.
Waarom wijkt het percentage in mijn statusline af van /context?
De statusregel gebruikt de tokentelling van het laatste antwoord. /context telt daar een schatting bij op voor wat je sindsdien hebt toegevoegd, en valt daardoor tijdelijk hoger uit. Na het volgende antwoord lopen ze weer gelijk. Voor je statusregel is context_window.used_percentage het betrouwbaarste veld.
Bronnen
Bronnen die we bijhouden
Elke claim op deze pagina is te herleiden; de officiële artikelen zijn op de bijwerkdatum nagelezen.
Officiële documentatie
- Customize your status lineDe officiële handleiding: /statusline, statusLine-instelling, alle JSON-velden, updatemomenten, voorbeelden, Windows en probleemoplossing.
- Commands-referentie/statusline, /status, /usage met de aliassen /cost en /stats, en /context.
- SettingsWaar settings-bestanden staan en welke waarde wint als er meerdere zijn.
- Settings referencestatusLine, subagentStatusLine, disableAllHooks en allowManagedHooksOnly.
- Track costs and usageWaarom het sessiebedrag een schatting tegen catalogusprijs is en voor abonnees niets zegt over de rekening.
- about_Execution_Policies (Microsoft)Waarom Windows PowerShell-scripts standaard blokkeert en wat -ExecutionPolicy voor één proces doet.
- jq downloadenInstallatie van jq per besturingssysteem, waaronder winget op Windows.
- ccstatusline op GitHubHet communityproject dat de documentatie noemt; sterren gecontroleerd op 29 oktober 2026.
Verdieping op Project Impact
- Alle Claude-tutorialsKies je volgende tutorial.
- Claude Code limiet bereikt/usage, /status en de 5-uurs- en weekvensters.
- Kosten van Claude CodeAbonnement of API, en wat een sessie kost.
- Claude Code commands/statusline naast de andere instellingscommando's.
- Claude Code hooksDe volgende stap: commando's die op vaste momenten draaien.
- Claude statusStoringen bij Anthropic, iets anders dan de statusregel.
- Woordenboek: contextvensterWat het percentage in je statusregel meet.
- Claude Code en privacyDataroutes en vertrouwde mappen.
- Claude Code MasterclassClaude Code als werkwijze voor je team.
Claude Code als vaste werkwijze in je team?
In de Claude Code Masterclass leert je team context, limieten en instellingen zo inrichten dat iedereen ziet waar hij zit, en weet wat hij doet als de context volloopt of een limiet in zicht komt.