Claude Code outputstijlen instellen en gebruiken
Ontdek hoe outputstijlen de systeemprompt van Claude Code aanpassen. Leer waarom wijzigingen pas na een herstart werken en hoe u de instelling outputStyle correct configureert.
Wat een outputstijl is in Claude Code
Een outputstijl in Claude Code is een blok instructies dat Claude Code toevoegt aan zijn systeemprompt. Het verandert de manier waarop Claude u antwoord geeft: de rol die het aanneemt en de vorm van de uitvoer. Het leert Claude niets over uw codebase en het kan Claude geen toestemming geven om acties uit te voeren.
Claude Code wordt geleverd met vijf ingebouwde stijlen. Uw keuze wordt opgeslagen in één instellingssleutel, outputStyle, en die sleutel wordt eenmalig gelezen wanneer de sessie start. Dat ene feit verklaart het merendeel van de verwarring rondom deze functie, omdat een stijl waarnaar u halverwege een sessie overschakelt wel wordt opgeslagen, maar vervolgens wordt genegeerd totdat u de sessie opnieuw start.
Op een VPS is dit meer dan een cosmetische voorkeur. Het transcript is wat u leest via een SSH-verbinding (secure shell), meestal binnen een tmux-venster. Elke regel die Claude genereert, is een regel waar u op wacht en een regel in een scrollback-buffer met een vaste grootte.
Locatie van de outputStyle-instelling
Kies een stijl uit het /config-menu onder Output style. Claude Code schrijft uw keuze naar .claude/settings.local.json in het project waar u aan werkt.
Het zelfstandige /output-style-commando bestaat niet meer. Dit werd als verouderd gemarkeerd in v2.1.73 en verwijderd in v2.1.91; op een huidige build doet het dus niets meer. Controleer welke versie u gebruikt voordat u een oudere handleiding volgt. De versies op deze pagina zijn gecontroleerd in augustus 2026.
claude --versionU kunt de sleutel ook handmatig instellen. Vier instellingenbestanden kunnen deze bevatten, waarbij de meest specifieke instelling voorrang heeft op de algemene.
~/.claude/settings.jsonis uw gebruikersbestand. Dit is van toepassing op elk project op die machine..claude/settings.jsonis het projectbestand. Dit wordt gecommit naar git en is dus van toepassing op iedereen die de repository kloont..claude/settings.local.jsonis het lokale projectbestand. Dit wordt niet gecommit en overschrijft beide bovenstaande bestanden. Dit is het bestand waarnaar het/config-menu schrijft.- Beheerde instellingen, uitgerold door een IT-team vanaf een systeempad zoals
/etc/claude-code/op Linux, overschrijven alles.
De waarde van de sleutel is de naam van de stijl:
{
"outputStyle": "Concise"
}Voor slechts één sessie kunt u dezelfde sleutel meegeven via de command line. De --settings-vlag accepteert een pad of een inline JSON-string, en de waarden daarvan overschrijven voor die run de overeenkomstige sleutels in de instellingenbestanden:
claude --settings '{"outputStyle": "Concise"}'Menulabels en slash-commando's zijn in de loop van de tijd minstens één keer gewijzigd. De outputStyle-sleutel is echter ongewijzigd gebleven. Wanneer een schermafbeelding in een handleiding niet meer overeenkomt met wat u ziet, stel de sleutel dan direct in en bevestig dit met /status, dat de actieve instellingenbronnen weergeeft.
Waarom uw nieuwe uitvoerstijl pas werkt na een clear
Claude Code bouwt de systeem-prompt eenmalig op bij het starten van de sessie; de uitvoerstijl maakt deel uit van deze prompt. Als u de instelling wijzigt terwijl een sessie actief is, wordt de waarde wel opgeslagen, maar verandert er niets in uw weergave. De actieve sessie blijft namelijk de prompt gebruiken die bij de start is opgebouwd. De nieuwe stijl wordt geladen bij de volgende /clear of bij een nieuwe start.
/clear
/context/context toont wat er momenteel in het contextvenster staat, onderverdeeld per categorie, inclusief de systeem-prompt. Voer dit uit in een nieuwe sessie onder elke stijl; de regel met de systeem-prompt is dan de invoerzijde voor uw vergelijking. Dit is tevens de snelste manier om te verifiëren of een aangepaste stijl daadwerkelijk is geladen. Voor een breder overzicht van wat het venster vult, zie hoe context zich vult tijdens een lange Claude Code-sessie.
Er is een reden waarom de instelling wacht in plaats van direct wordt toegepast. De API bedient herhaalde verzoeken vanuit een prompt-cache die overeenkomt met het begin van elk verzoek, en de systeem-prompt staat helemaal aan het begin. Het herschrijven hiervan tijdens een gesprek zou alles wat erachter staat ongeldig maken, waardoor de volgende beurt uw volledige geschiedenis als nieuwe invoer zou verwerken. Door de stijl bij de start van de sessie vast te leggen, wordt die kostenpost vermeden. Het wisselen van stijlen is goedkoop. Het vereist alleen een clear.
Wat elke ingebouwde uitvoerstijl aanpast aan het transcript
- Default is de standaard systeemprompt van Claude Code, geschreven voor softwareontwikkeling.
- Concise begint direct met het resultaat. Het laat de inleiding en de stapsgewijze verslaglegging weg en houdt antwoorden kort totdat u om details vraagt. Het technische werk erachter blijft ongewijzigd. Het kort nooit een foutmelding of beveiligingswaarschuwing in en vraagt nog steeds volledig om toestemming voor een destructieve actie. Deze stijl vereist Claude Code v2.1.237 of nieuwer.
- Explanatory voegt educatieve "Insights" toe tussen de stappen van een taak, waarin wordt uitgelegd waarom een bepaalde implementatiekeuze is gemaakt en welk patroon uw codebase al hanteert. Het transcript wordt hierdoor bewust langer.
- Learning gaat verder. Claude deelt deze inzichten en vraagt u vervolgens om zelf kleine stukjes code te schrijven, waarbij elke plek in het bestand wordt gemarkeerd met een
TODO(human)-commentaar. - Proactive zorgt ervoor dat Claude handelt in plaats van vraagt. Het maakt redelijke aannames bij routinematige beslissingen in plaats van te stoppen voor bevestiging.
Lees die laatste zorgvuldig, want dit is de stijl die mensen vaak verkeerd begrijpen. Proactive is een richtlijn in de systeemprompt. Het verandert wat Claude probeert te doen. Uw toestemmingsmodus bepaalt nog steeds wat er daadwerkelijk wordt uitgevoerd zonder u te vragen; dit is de instelling die ertoe doet op een server die u onbeheerd laat draaien. Dit wordt behandeld in automatische modus en de toestemmingsmodi van Claude Code.
Verschil tussen een output style, CLAUDE.md, een hook en een subagent
Deze methoden lijken allemaal op het instrueren van Claude over hoe hij zich moet gedragen, maar ze werken op verschillende niveaus.
- Een output style wordt toegevoegd aan de system prompt. Deze is van toepassing op elk antwoord in het hoofdgesprek.
- CLAUDE.md wordt als gebruikersbericht na de system prompt toegevoegd. Hier horen projectconventies en feiten over de codebase thuis.
--append-system-promptvoegt tekst toe aan de system prompt voor één enkele aanroep, zonder iets te verwijderen. Dit is de eenmalige variant van een output style.- Een hook is een shell-commando dat Claude Code zelf uitvoert wanneer een gebeurtenis plaatsvindt. Dit wordt afgedwongen door de harness, waardoor het wordt uitgevoerd ongeacht of Claude dit zelf zou hebben gekozen. Zie wat een Claude Code hook wel en niet kan.
- Een subagent draait met een eigen system prompt en een eigen set tools.
Een korte test helpt bij de keuze tussen de eerste twee. Feiten over uw project horen in CLAUDE.md, omdat Claude deze moet kennen. Formuleringen horen in een output style, omdat dit gaat over hoe de tekst wordt gelezen. Alles wat elke keer moet gebeuren, ongeacht wat het model beslist, is een hook.
Output styles zijn alleen van toepassing op het hoofdgesprek. Een subagent neemt uw stijl niet over, omdat deze een eigen gesprek start met een eigen system prompt. Een fork van het huidige gesprek is de uitzondering, aangezien een fork de system prompt van het oudergesprek exact overneemt. Als een subagent schrijft op een manier die u niet bevalt, pas dan het bestand van die agent aan in plaats van uw stijl.
Hoe u uw eigen outputstijl schrijft
Een aangepaste outputstijl is een markdown-bestand met frontmatter. Sla dit op in uw thuismap om het in elk project te gebruiken, of in de repository om het bij de code te bewaren. De gebruikersmap is ~/.claude/output-styles/ en de projectmap is .claude/output-styles/.
mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---
Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.
Do not narrate what you are about to do. Report what you did.
When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOFStart een sessie en open /config. Uw stijl verschijnt in de lijst Output style met de beschrijving die u heeft geschreven. Als deze ontbreekt, wordt het bestand niet ingelezen: controleer het pad en controleer of het --- frontmatter-blok het eerste is in het bestand. De bestandsnaam wordt de stijlnaam, tenzij de frontmatter name instelt; daarom heet deze Terse ops en niet terse-ops.
Selecteer deze, of stel de sleutel in op die exacte naam en wis:
{
"outputStyle": "Terse ops"
}Eén veld bepaalt of uw bestand een aanpassing of een vervanging is. keep-coding-instructions staat standaard op false, wat betekent dat een aangepaste stijl de ingebouwde software-engineeringinstructies van Claude Code verwijderd en enkel op uw tekst draait. Die ingebouwde instructies vertellen Claude hoe de scope van een wijziging moet worden bepaald en hoe het werk moet worden geverifieerd. Laat het veld weg voor een schrijfassistent of data-analist, waar dit niet van toepassing is. Stel het in op true voor alles wat nog met code te maken heeft, anders zult u zich afvragen waarom een zorgvuldige engineer plotseling stopt met het controleren van het eigen werk.
description is de regel die de /config-kiezer naast de naam toont. Schrijf deze voor het moment dat u over zes maanden moet kiezen tussen twee van uw eigen stijlen.
Waarom een beknopte stijl anders is via SSH
Op een VPS leest u de transcriptie door lagen die een lokale terminal niet heeft, en elke laag brengt kosten in rekening voor breedsprakigheid.
Scrollback is de eerste. In tmux behoudt elk venster een vast aantal regels, ingesteld door history-limit, wat standaard op 2000 staat. Een verhalende transcriptie vult die buffer sneller, waardoor het eerdere deel van uw sessie eerder wordt verwijderd en de uitvoer waar u naar terug wilde scrollen verdwenen is. Verhoog dit als u meer ruimte wilt:
echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.confVensters die daarna worden aangemaakt, behouden elk 20000 regels, ten koste van geheugen per venster. Reeds geopende vensters behouden de oude limiet, omdat de buffergrootte vaststaat wanneer het venster wordt aangemaakt. Als u nog bezig bent met het opbouwen van de sessie-indeling, behandelt Claude Code draaien binnen tmux op een VPS dit.
Latentie is de tweede. De respons streamt uw terminal in terwijl deze wordt gegenereerd. Op een verbinding met een hoge round-trip time is een lange inleiding tijd die u besteedt aan het kijken naar tekst die verschijnt voordat het antwoord zichtbaar is.
Output-tokens zijn de derde. Elke verhalende regel wordt gefactureerd als output. Explanatory en Learning zijn ontworpen om langer te zijn. Concise is ontworpen om korter te zijn, omdat het Claude instrueert om antwoorden standaard kort te houden.
Vertrouw niemand op een percentage, deze pagina inbegrepen. De grootte van het verschil hangt af van uw prompts, uw model en het werk waar u om vraagt, dus meet uw eigen voor en na. Voer dezelfde echte taak uit in twee nieuwe sessies, één onder Default en één onder Concise, en vergelijk ze vervolgens. Een statusregel is de makkelijkste meter, omdat Claude Code uw script een JSON-object op stdin geeft dat al zowel de stijlnaam als de tokentellingen bevat:
cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.shWijs de statusLine instelling daarnaar:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}De balk onderaan de sessie toont nu de actieve stijl naast de tokens die deze heeft geproduceerd, wat precies de voor- en na-situatie is die u nodig heeft. Het script heeft jq nodig, de command-line JSON-parser, dus installeer deze eerst met sudo apt install -y jq. Als de balk leeg blijft, voer het script dan handmatig uit en pipe wat JSON erin, omdat een statusregel die met een non-zero status afsluit niets print en niets rapporteert. Een aangepaste Claude Code statusregel somt de rest van de velden in dat object op. Voor de facturatiekant in plaats van de sessiekant, leest u waar de tokens van Claude Code daadwerkelijk naartoe gaan en de tools die de uitgaven van Claude Code bijhouden.
Hoe u controleert welke outputstijl daadwerkelijk is geladen
Gebruik deze controles in plaats van te gissen.
/statussomt de instellingenbronnen op die voor deze sessie van kracht zijn, inclusief of er beheerde instellingen van een organisatie actief zijn./contexttoont de geladen systeemprompt als een categorie in het overzicht van het contextvenster.claude doctor, uitgevoerd vanuit de shell zonder een sessie te starten, print installatie- en instellingsdiagnostiek en rapporteert instellingsbestanden die ongeldig zijn.
Wanneer een stijl niet wordt toegepast, is de oorzaak bijna altijd een van twee dingen. De eerste is dat u deze halverwege de sessie hebt gewijzigd; voer in dat geval /clear uit. De tweede is prioriteit: .claude/settings.local.json overschrijft .claude/settings.json, en beide overschrijven ~/.claude/settings.json. Omdat de /config-kiezer naar het lokale bestand schrijft, wordt een stijl die uw team in .claude/settings.json heeft vastgelegd, stilletjes overschreven op elke machine waar iemand ooit het menu heeft gebruikt. /status vertelt u welke bron heeft gewonnen.
Een JSON-syntactische fout heeft hetzelfde symptoom en een andere oplossing. claude doctor noemt het bestand dat niet kon worden geparseerd; het is de moeite waard dit uit te voeren voordat u naar iets ingewikkelder zoekt.
FAQ
Waarom werkt het commando /output-style niet meer?
Dit commando is als deprecated gemarkeerd in v2.1.73 en verwijderd in v2.1.91. Op een build van medio 2026 bestaat het commando dus niet meer. Voer claude --version uit om te zien welke versie u heeft. Kies de stijl uit /config onder Output style, of stel de sleutel outputStyle in een instellingenbestand in. De sleutel is blijven bestaan na het verwijderen van het commando; het direct instellen van deze sleutel is de instructie die u in uw eigen notities moet opnemen.
Ik heb mijn output-stijl gewijzigd, maar er gebeurt niets. Hoe komt dat?
De output-stijl is onderdeel van de system prompt. Claude Code bouwt de system prompt één keer op wanneer de sessie start. Een wijziging die halverwege een sessie wordt doorgevoerd, wordt wel opgeslagen maar niet toegepast, omdat de actieve sessie de prompt blijft gebruiken die bij de start is gegenereerd. Voer /clear uit of start een nieuwe sessie. Als de wijziging nog steeds niet wordt toegepast, voer dan /status uit om te zien welke instellingsbron voorrang heeft, aangezien .claude/settings.local.json de instelling .claude/settings.json overschrijft en beide de instelling ~/.claude/settings.json overschrijven.
Bespaart de Concise output-stijl geld?
Deze stijl vermindert het aantal output-tokens zoals verwacht, omdat het Claude instrueert om antwoorden standaard kort te houden. Hoeveel u bespaart, hangt af van uw prompts en het gebruikte model. Beschouw gepubliceerde percentages daarom als een meting van andermans werk. Meet uw eigen resultaten: voer /context uit in een nieuwe sessie voor elke stijl om de input-zijde te bepalen, voer daarna dezelfde taak uit onder elke stijl en vergelijk het aantal output-tokens. Concise kort nooit een foutmelding of een beveiligingswaarschuwing in, zodat de onderdelen die u het meest nodig heeft, volledig intact blijven.
Verandert een output-stijl de manier waarop mijn subagents schrijven?
Nee. Output-stijlen zijn alleen van toepassing op het hoofdgesprek, omdat een subagent een eigen gesprek start met een eigen system prompt en een eigen set tools. Een fork van het huidige gesprek is de uitzondering, aangezien een fork de system prompt van de parent exact overneemt. Om de manier waarop een subagent reageert te wijzigen, moet u het bestand van die specifieke agent bewerken.
Kan een output-stijl ervoor zorgen dat Claude commando's uitvoert zonder toestemming te vragen?
Nee. Een output-stijl is tekst in de system prompt en kan daarom alleen invloed uitoefenen op wat Claude probeert te doen. De Proactive-stijl zorgt ervoor dat Claude aannames doet en handelt in plaats van te pauzeren bij routinematige beslissingen, maar Claude kan nog steeds geen commando zelfstandig goedkeuren. Uw permission mode bepaalt wat er zonder prompt wordt uitgevoerd; controleer deze instelling voordat u een sessie op een server onbeheerd achterlaat.