The statusline issues on macOS
Issues the maintainers labelled both platform:macos and area:statusline.
149 issues · 25 open · 124 resolved (83%) · first seen Feb 24, 2026
Is this getting better or worse?
This class of problem is converging. 45 new reports in the last 90 days vs 95 in the 90 before — -53%. The open backlog peaked at 37 in 2026-03 and sits at 25 today.
Derived by counting each matching issue from its creation date until it closed. First-party
computation over the anthropics/claude-code tracker — the trend is not published
anywhere upstream.
Which builds report this
113 of these reports name the Claude Code build they were running, spanning 69 releases. Heaviest reporters:
- Claude Code v2.1.81
- Claude Code v2.1.74
- Claude Code v2.1.233
- Claude Code v2.1.170
- Claude Code v2.1.143
- Claude Code v2.1.92
- Claude Code v2.1.87
- Claude Code v2.1.77
Report volume, not a defect count: an issue can mention a build without that build having caused the failure. Versions come from the version string in the bug-report template, matched against real published tags.
Do these get fixed?
Median time to close is 29 days across 124 closures. Of the 124 closures with a recorded reason, 31% were closed as completed and 86 as not-planned or duplicate. The most recent completed fix landed in 2026-08.
Workarounds reported by the community
28 of these issues post a workaround someone says worked. The highest-engagement ones:
- [Desktop] Display current worktree/cwd name in app UI (statusLine equivalent)
- …tree name as a badge on the session card Currently the only workaround is to manually run inside every new session, which defeats the convenience of automatic worktree creation. Environment - macOS desktop app (Claude Co…
Found in the description of #60097 · still open - False positive 'Update available' banner when already on latest version
- …hes the cask version) For now, users on the stable cask can work around this by installing instead:
Found in the thread of #49251 · resolved - Status line: no way to distinguish ultracode from xhigh (no `ultracode` field in stdin JSON)
- …e not reflected anywhere in the statusline payload. Current workaround, for anyone landing here: have the statusline script read from with jq and show a marker when it is and the stdin is . That approximates the configur…
Found in the thread of #69068 · still open - Custom statusline colors washed out in truecolor terminals since 2.1.78
- …he terminal advertises truecolor support ( , tmux feature). Workaround None that preserves correct colors. Adjusting RGB values in the script to compensate for the transformation is trial-and-error and doesn't fully rest…
Found in the description of #35806 · resolved - Context usage percentage only counts input tokens, causing misleading 'Context limit reached' at ~20%
- …: 1. field (used by status line scripts) 2. command display Workaround Users can work around this by writing a custom status line script that manually calculates total usage from the individual token fields: Environment…
Found in the description of #28167 · resolved
Excerpts are quoted from the linked issue so you can judge relevance before opening it. Threads that only ask for a workaround, or report that there is none, are excluded. These are community suggestions, not official guidance from Anthropic — read the full thread before applying one.
Matching issues 1–100
Ranked by community engagement (reactions weighted over comments).
- [Desktop] Display current worktree/cwd name in app UI (statusLine equivalent)
- brew upgrade claude-code hint shown in status line even when already on latest version
- Nerd Font Unicode characters not rendered in Claude Code UI (statusline, chat, file views)
- [BUG] IS_DEMO env var suppresses workspace trust prompt without granting trust, breaking statusline and hooks
- [BUG] My buddy doesn't say anything </3
- False positive 'Update available' banner when already on latest version
- [BUG] OSC 8 hyperlinks in custom statusline broken inside tmux — rendering layer analysis
- Status line: no way to distinguish ultracode from xhigh (no `ultracode` field in stdin JSON)
- Custom statusline colors washed out in truecolor terminals since 2.1.78
- statusLine: multi-line output truncated to single terminal width by cli-truncate
- Context usage percentage only counts input tokens, causing misleading 'Context limit reached' at ~20%
- [BUG] Stale 'update available' message shown after resuming a session post-upgrade
- Multi-line statusline: second line disappears on narrow terminals instead of wrapping
- [BUG] Statusline OSC 8 hyperlinks no longer clickable (regression in 2.1.181)
- Custom statusLine command stopped working in 2.1.53+
- False 'Update available' message despite being on latest version
- Diff view and status line show stale lines-changed count
- Status line JSON reports default model from settings, not actual session model
- Expose model-scoped weekly usage buckets (Fable / Opus / Sonnet) in the statusLine JSON payload
- v2.1.175: bottom input box / status line renders corrupted (stale duplicated lines, detached prompt, border drawn through typed text) — iTerm2, macOS
- [Bug] Status line truncated when attached to claude agents managed session
- Status bar shows wrong model/context when /model used in another session
- [Bug] Status bar not updating after EnterWorktree execution
- [BUG] Concurrent sessions on different accounts share rate-limit display — statusline `rate_limits` shows another account's 5h/7d usage (display-only)
- [Feature Request] Add setting to disable automatic PR badge display in UI
- Bash cwd no longer persists between calls (regression, even without CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR)
- [BUG] `rate_limits` field missing from statusLine JSON for Claude Max 20x plan (oauth/firstParty auth)
- Multi-line status line command output only renders first line
- [Bug] statusLine command: zombie subprocess accumulation exhausts process table
- [BUG] 2.1.232 nested-repo trust change silently disables statusLine (and other trust-gated features) — no re-prompt, no indicator for previously-inherited-trust repos
- [BUG] Model picker Ultracode selection reports effort.level "xhigh" to statusline, while /effort ultracode reports "ultracode"
- Statusline/layout oscillates ±1 line while a background task runs (blank status row toggling) — regression in 2.1.186
- [BUG] `--dangerously-skip-permissions` skips trust dialog without persisting `hasTrustDialogAccepted=true`, silently disabling project-level `statusLine` / hooks'
- [BUG] Status bar shows "plan mode on" after plan mode has exited
- [Bug] Custom statusLine command not invoked during task execution; activity indicator overwrites statusline
- [BUG] Desktop app statusline shows stale closed PR that can't be dismissed
- [BUG] Stray 'PL' characters appended to resume UUID on exit (status line teardown)
- Statusline collapses to 1 line on terminal resize
- [BUG] Custom statusLine command executed but output intermittently not rendered
- [BUG] statusLine configuration ignored since v2.1.50 (macOS)
- [BUG] Custom statusLine command not rendered on resumed sessions
- [Bug] Statusline effort.level reports "xhigh" instead of "ultra" for ultracode mode
- Status line not refreshed after `/compact` slash command
- 5-hour session reset time shifts forward by ~4 hours when new sessions open near window boundary
- [Feature Request] Expose session usage metrics in terminal status line
- [BUG] statusline not work before trust workspace
- statusline-setup should detect user's shell and generate appropriate script
- statusLine: cost and duration reset after navigating to agents view and back
- [BUG] Custom statusLine never renders when `tui` is set to `fullscreen` (macOS, 2.1.170)
- statusLine command never invoked on macOS (2.1.195, Homebrew native binary) — config valid, command works manually, zero spawns
- Session name overlaps with clock in input bar
- Status bar: used_percentage returns resets_at timestamp after /clear
- [Bug] Status line not displaying despite configuration
- [BUG] New bottom UI overlaps with custom statusLine on macOS (Ghostty/libghostty)
- [Bug] Persistent task status display remains after session suspension and reset
- Status line JSON reports wrong model after /model switch
- Feature request: Kitty graphics protocol support in statusLine API
- [Bug] Statusline missing rate_limits and context_window on initial render
- Statusline reports 200K context window despite v2.1.76 banner announcing 1M
- Status line: OSC 8 hyperlinks break multiline rendering
- context_window.used_percentage in status line JSON is significantly inaccurate
- Custom status line flickers when pasting text
- [BUG] Token count and model/version number missing from status bar
- [Bug] Statusline not displayed in new projects
- statusLine hook output: leading whitespace stripped, preventing right-aligned content
- [BUG] Session list navigation (left arrow) permanently stops statusline refreshInterval for the session
- Feature request: configurable/disable-able background /usage polling (many concurrent sessions saturate the per-account usage endpoint limit)
- [BUG] vs code claude extension status line doesn't show
- [BUG] Claude Code does not fall back when configured model is unavailable; status bar shows healthy session
- [BUG] Context window indicator shows 94% on fresh session — breakdown sums to ~17%
- Statusline command has no documented way to determine terminal width (no JSON field, `/dev/tty` not readable, `$COLUMNS` not set)
- Spinner uses small-caps Unicode codepoints that render as tofu in many fonts
- [Feature Request] Add configurable polling interval for statusLine command refresh
- [Bug] Missing `rate_limits` field in statusline JSON payload
- Status bar CTX indicator stuck / not incrementing during long sessions (regression)
- False positive 'Update available' in statusline on Homebrew install (v2.1.92)
- [BUG] Custom status line content overlaps with resume hint on exit
- [Feature Request] Option to disable cutesy status messages
- Status line shows 'Claude Pro' instead of 'Claude Max' for Max plan subscribers
- [BUG] Status bar duplicates teammate indicators on arrow key navigation
- CLAUDE_CODE_NO_FLICKER disables status line in IntelliJ terminal
- [BUG] Model display_name shows raw ARN for Bedrock Application Inference Profile
- [Bug] Statusline blocks when directory access permission denied in v2.1.76
- Status line JSON doesn't reflect output style changes mid-session
- Statusline context percentage is inaccurate — shows 69% when context limit is already reached
- [BUG] Multi-line statusline output renders characters vertically (one char per line)
- [FEATURE] Statusline: expose the currently viewed teammate/subagent's model and context in the JSON payload
- Long statusline is truncated with `…` instead of wrapping to multiple lines (regression)
- Statusline OSC 8 links with custom URI schemes (e.g. vscode://) aren't dispatched on click in `claude agents` / FleetView
- [BUG] Deprecation Warning shown despite Model 4.6
- Status line redraw corrupts display inside tmux (characters interleave, stale footers bleed into scrollback)
- [Feature Request] Consolidate workflow progress visibility and add post-workflow hooks
- [Bug] Status message shows incorrect effort level when ultrathink requested
- Garbled/overlapping text in transcript during rapid bash execution with active subagents
- Statusline silently corrupts unrelated lines when any line exceeds terminal width
- [BUG] Bottom toolbar conflates agents from multiple Claude Code sessions on the same machine
- [BUG] remoteControlAtStartup: true does not trigger the "Remote Control active" footer indicator (data populated, UI not rendered)
- [BUG] statusline-setup subagent ignores CLAUDE_CONFIG_DIR, always reads/writes ~/.claude/
- [BUG] Misleading 'API Usage Billing' label when using Bedrock via settings.json env block
- [VS Code] Status line overlaps terminal tab bar