Direct naar hoofdinhoud

Oh My Posh ontmoet Claude Code: AI-aangedreven terminalprompts

· 6 minuten leestijd
Onofficiële Beta-vertaling

Deze pagina is vertaald door PageTurner AI (beta). Niet officieel goedgekeurd door het project. Een fout gevonden? Probleem melden →

Terminalaanpassing is nu een stuk slimmer geworden. Oh My Posh integreert nu met Claude Code via diens statusline functionaliteit, waardoor realtime AI-sessie-informatie en ontwikkelingscontext rechtstreeks in je Claude Code-prompt verschijnen. Dit is niet zomaar een segment: het is een brug tussen je ontwikkelingsworkflow en AI-ondersteunde codeerhulp.

Claude Code

Wat is de statusbalk van Claude Code?​

De statusline-functionaliteit van Claude Code stelt je in staat om aangepaste statusweergaven te maken die onderaan de Claude Code-interface verschijnen, vergelijkbaar met hoe terminalprompts werken in shells. De statusline ontvangt uitgebreide JSON- gegevens over je huidige AI-sessie via stdin, waaronder:

  • Modelinformatie: Welk Claude-model je gebruikt (Claude Sonnet, Claude Opus, enz.)

  • Tokenverbruik: Input/output-tokens, contextvenstergebruik en gebruikpercentages

  • Kostentracking: Realtime kostencalculaties en sessieduur

  • Werkruimtecontext: Huidige en projectmappen

  • Sessiemetadata: Unieke sessie-ID's en versie-informatie

De statusline wordt automatisch bijgewerkt wanneer conversatieberichten veranderen (met een maximum van elke 300ms), en je commando's stdout wordt de statusweergave met volledige ANSI-kleurondersteuning.

De integratie instellen​

De configuratie is eenvoudig. Voeg dit toe aan je Claude Code-instellingen:

~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "oh-my-posh claude",
"padding": 0
}
}

Dat is alles! Oh My Posh detecteert automatisch wanneer Claude Code sessiegegevens levert en toont de relevante informatie in je prompt.

Het is belangrijk op te merken dat het claude CLI-commando anders werkt dan je reguliere prompt- configuratie. Wanneer gebruikt als statusline-commando, draait Oh My Posh in een speciale modus die volledig gescheiden is van je standaard terminalprompt. Dit betekent dat je waarschijnlijk een speciale, minimale configuratie specifiek voor Claude Code wilt maken die zich richt op het weergeven van AI-sessie-informatie in plaats van je gebruikelijke prompt- elementen.

Aangepaste configuratie​

Standaard biedt het oh-my-posh claude-commando een ingebouwde statusline die je huidige werkmap, git-context, actieve modelnaam en contextvenstergebruik als visuele indicator toont. Om deze weergave aan te passen, gebruik je de --config-vlag om je eigen themaconfiguratiebestand op te geven dat een aangepast claude- segment bevat, afgestemd op je voorkeuren.

~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "oh-my-posh claude --config ~/.claude.omp.json",
"padding": 0
}
}

Zorg ervoor dat de configuratie ook gebruikmaakt van de gegevens die beschikbaar zijn in het claude-segment om de statistieken die jij belangrijk vindt te visualiseren. Omdat dit niet zoals een gewone promptintegratie is, houd je de statusline tot één regel en gebruik je links- en rechts uitgelijnde promptblokken om mee te experimenteren.

~/.claude.omp.json
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"palette": {
"black": "#262B44",
"blue": "#4B95E9",
"green": "#59C9A5",
"orange": "#F07623",
"red": "#D81E5B",
"sapling": "#a6d189",
"white": "#E0DEF4",
"yellow": "#F3AE35"
},
"accent_color": "32",
"blocks": [
{
"type": "prompt",
"alignment": "left",
"segments": [
{
"options": {
"dir_length": 3,
"folder_separator_icon": "\ue0bb",
"style": "fish"
},
"template": "{{ if .Segments.Git.Dir }} \uf1d2 <i><b>{{ .Segments.Git.RepoName }}{{ if .Segments.Git.IsWorkTree }} \ue21c{{ end }}</b></i>{{ $rel := .Segments.Git.RelativeDir }}{{ if $rel }} \ueaf7 {{ .Format $rel }}{{ end }}{{ else }} \uea83 {{ path .Path .Location }}{{ end }} ",
"foreground": "p:white",
"leading_diamond": "\ue0b6",
"background": "p:orange",
"type": "path",
"style": "diamond"
},
{
"options": {
"branch_icon": "\ue0a0",
"fetch_status": true
},
"template": " {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ nospace .Working.String }}{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }} ",
"foreground": "p:black",
"leading_diamond": "<parentBackground,background>\ue0b0</>",
"trailing_diamond": "\ue0b4",
"background": "p:green",
"type": "git",
"style": "diamond",
"foreground_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}",
"{{ if or (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}"
],
"background_templates": [
"{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}",
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}",
"{{ if gt .Ahead 0 }}#49416D{{ end }}",
"{{ if gt .Behind 0 }}#7A306C{{ end }}"
]
}
]
},
{
"type": "prompt",
"alignment": "right",
"segments": [
{
"leading_diamond": "\ue0b6",
"template": " \udb82\udfc9 {{ .Model.DisplayName }} \uf2d0 {{ .TokenUsagePercent.GaugeUsed }} ",
"foreground": "p:white",
"background": "accent",
"type": "claude",
"style": "diamond"
},
{
"options": {
"charged_icon": "\ue22f ",
"charging_icon": "\ue234 ",
"discharging_icon": "\ue231 "
},
"cache": {
"duration": "10m",
"strategy": "session"
},
"leading_diamond": "<background,parentBackground>\ue0b2</>",
"trailing_diamond": "\ue0b4",
"template": "{{ if not .Error }} {{ .Icon }}{{ .Percentage }}%{{ end }}",
"foreground": "#111111",
"background": "accent",
"type": "battery",
"style": "diamond",
"background_templates": [
"{{if eq \"Discharging\" .State.String}}p:orange{{end}}",
"{{if eq \"Full\" .State.String}}p:green{{end}}"
]
}
]
}
],
"version": 4
}

Het Claude Code-segment​

Het nieuwe claude-segment van Oh My Posh maakt gebruik van deze statusline-gegevens om AI-sessiebewustzijn rechtstreeks in je terminalprompt te brengen. Wanneer je het oh-my-posh claude-commando als je statusline-commando in Claude Code gebruikt, krijg je toegang tot een schat aan sessie-informatie die in je prompt weergegeven kan worden zonder dat je de technische details hoeft te kennen.

Voorbeeldconfiguratie​

Hier is een voorbeeldconfiguratie die de modelnaam en contextgebruik toont:

{
"type": "claude",
"style": "diamond",
"leading_diamond": "\ue0b6",
"trailing_diamond": "\ue0b4",
"foreground": "#FFFFFF",
"background": "#FF6B35",
"template": " \udb82\udfc9 {{ .Model.DisplayName }} \uf2d0 {{ .TokenUsagePercent.Gauge }} "
}

Dit toont zoiets als: 🤖 Claude 4.5 Sonnet ▰▰▰▱▱

De indicator geeft direct visuele feedback over hoeveel van je contextvenster je hebt verbruikt, wat cruciaal is voor het beheer van lange codesessies.

De technische details​

Onder de motorkap leest Oh My Posh de uitgebreide JSON-sessiegegevens die Claude Code via stdin levert wanneer gebruikt als statusline commando. Het segment wordt alleen geactiveerd wanneer Claude Code-sessiegegevens beschikbaar zijn, dus er is geen prestatieverlies wanneer je Claude Code niet gebruikt.

Aan de slag​

Als je Oh My Posh al gebruikt, is het toevoegen van Claude Code-integratie zo eenvoudig als:

  1. Installeer Claude Code als je dat nog niet gedaan hebt

  2. Voeg de statusline-configuratie toe aan je Claude Code-instellingen

  3. Maak eventueel je eigen configuratie aan met daarin het claude-segment

  4. Start een Claude Code-sessie en zie je prompt tot leven komen

Voor gedetailleerde configuratie-opties en alle beschikbare eigenschappen, bekijk de volledige documentatie van het Claude-segment.

Wat komt er nu?​

Deze integratie opent spannende mogelijkheden. Stel je voor dat prompts:

  • Van kleur veranderen op basis van het tokengebruikspercentage

  • Verschillende pictogrammen tonen voor verschillende AI-modellen

  • Kostenwaarschuwingen weergeven wanneer sessies duur worden

  • Integreren met elk ander segment om extra ontwikkelingscontext te tonen

De basis is gelegd, en nu is het aan de gemeenschap om geweldige configuraties te bouwen die AI-gestuurde ontwikkeling nog naadlozer maken.