Skip to main content

Claude Code

Whatโ€‹

Display Claude Code session information including the current AI model, token usage, costs, and workspace details. Shows a visual gauge of context window usage and formatted cost/token information for monitoring your Claude usage.

This segment integrates with Claude Code's statusline functionality to provide real-time session data in your prompt.

Sample Configurationโ€‹

{
"type": "claude",
"style": "diamond",
"leading_diamond": "๎‚ถ",
"trailing_diamond": "๎‚ด",
"foreground": "#FFFFFF",
"background": "#FF6B35",
"template": " ๓ฐฏ‰ {{ .Model.DisplayName }} ๏‹ {{ .TokenUsagePercent.Gauge }} "
}

Template (info)โ€‹

default template
\udb82\udfc9 {{ .Model.DisplayName }} \uf2d0 {{ .TokenUsagePercent.Gauge }}

Propertiesโ€‹

NameTypeDescription
.SessionIDstringUnique identifier for the Claude session
.ModelModelAI model information
.WorkspaceWorkspaceWorkspace directory information
.CostCostCost and duration information
.ContextWindowContextWindowToken usage information
.TokenUsagePercentPercentagePercentage of context window used (0-100)
.FormattedCoststringFormatted cost string (e.g., "$0.15" or "$0.0012")
.FormattedTokensstringHuman-readable token count (e.g., "1.2K", "15.3M")
.FormattedDurationstringTotal session duration (e.g., "2m 5s")
.FormattedAPIDurationstringAPI wait time (e.g., "0m 45s")
.FiveHourUsagePercentage5-hour rolling rate limit usage (0-100)
.SevenDayUsagePercentage7-day rate limit usage (0-100)

Model Propertiesโ€‹

NameTypeDescription
.IDstringTechnical model identifier
.DisplayNamestringHuman-readable model name (e.g., "Claude 3.5 Sonnet")

Workspace Propertiesโ€‹

NameTypeDescription
.CurrentDirstringCurrent working directory
.ProjectDirstringRoot project directory
.GitWorktreestringPath to the linked git worktree, empty when not inside a linked git worktree

Cost Propertiesโ€‹

NameTypeDescription
.TotalCostUSDfloat64Total cost in USD
.TotalDurationMSDurationMSTotal session duration in milliseconds (formats as "Xm Ys")
.TotalAPIDurationMSDurationMSTime spent waiting for API responses (formats as "Xm Ys")
.TotalLinesAddedintLines of code added in the session
.TotalLinesRemovedintLines of code removed in the session

ContextWindow Propertiesโ€‹

NameTypeDescription
.TotalInputTokensintTotal input tokens used in the session
.TotalOutputTokensintTotal output tokens generated in the session
.ContextWindowSizeintMaximum context window size for the model
.CurrentUsageCurrentUsageCurrent message token usage

CurrentUsage Propertiesโ€‹

NameTypeDescription
.InputTokensintInput tokens for the current message
.OutputTokensintOutput tokens for the current message

RateLimits Propertiesโ€‹

Available when Claude Code provides rate limit data (Pro/Max subscribers). Access via .RateLimits.

NameTypeDescription
.FiveHourRateLimitWindow5-hour rolling window
.SevenDayRateLimitWindow7-day rolling window

RateLimitWindow Propertiesโ€‹

NameTypeDescription
.UsedPercentage*float64Usage percentage (0-100), nil if unknown
.ResetsAt*int64Unix epoch seconds when window resets

Percentage Methodsโ€‹

The TokenUsagePercent property is a Percentage type that provides additional functionality:

MethodReturnsDescription
.GaugestringVisual gauge showing remaining capacity using 5 bar blocks (โ–ฐโ–ฐโ–ฐโ–ฐโ–ฑ)
.GaugeUsedstringVisual gauge showing used capacity using 5 bar blocks (โ–ฐโ–ฑโ–ฑโ–ฑโ–ฑ)
.StringstringNumeric percentage value (e.g., "75" for use in templates)

How it worksโ€‹

The segment reads session information from the POSH_CLAUDE_STATUS environment variable, which is automatically set when using the oh-my-posh claude command. The data includes:

  • Current AI model information
  • Token usage and context window utilization
  • Session costs and duration
  • Workspace directory information

The segment only displays when Claude Code is actively providing session data.