The statusline issues on macOS
Issues the maintainers labelled both platform:macos and area:statusline.
177 issues · 33 open · 144 resolved (81%) · first seen Feb 24, 2026
Is this getting better or worse?
This class of problem is converging. 44 new reports in the last 90 days vs 59 in the 90 before — -25%. The open backlog peaked at 37 in 2026-03 and sits at 33 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
138 of these reports name the Claude Code build they were running, spanning 84 releases. Heaviest reporters:
- Claude Code v2.1.81
- Claude Code v2.1.74
- Claude Code v2.1.267
- 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
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 30 days across 144 closures. Of the 144 closures with a recorded reason, 28% were closed as completed and 104 as not-planned or duplicate. The most recent completed fix landed in 2026-10.
Workarounds reported by the community
35 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)
- Expose Fable weekly usage (seven_day_fable) in status line rate_limits
- 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] Statusline OSC 8 hyperlinks no longer clickable (regression in 2.1.181)
- [BUG] Stale 'update available' message shown after resuming a session post-upgrade
- Multi-line statusline: second line disappears on narrow terminals instead of wrapping
- Custom statusLine command stopped working in 2.1.53+
- False 'Update available' message despite being on latest version
- [BUG] IS_DEMO still suppresses the workspace trust prompt in 2.1.263 — all hooks, statusLine and project permissions silently disabled, and /doctor has no trust check
- Expose model-scoped weekly usage buckets (Fable / Opus / Sonnet) in the statusLine JSON payload
- Diff view and status line show stale lines-changed count
- Status line JSON reports default model from settings, not actual session model
- 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] Concurrent sessions on different accounts share rate-limit display — statusline `rate_limits` shows another account's 5h/7d usage (display-only)
- [Bug] Status bar not updating after EnterWorktree execution
- Footer PR indicator stays pinned to the first PR of a long-running session
- Subagent transcript view status line shows parent session model, not the subagent's model override
- [BUG] Reftable repos: CLI reads .git/HEAD directly, branch resolves to ".invalid" and PR status is dropped from the statusLine payload
- [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
- [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
- [FEATURE] Expose usage-credit state to the session (status line payload) — the plan-limit percentage alone makes agents mis-pace
- [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
- 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
- [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
- [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)
- Session name overlaps with clock in input bar
- [BUG] vs code claude extension status line doesn't show
- [BUG] Context window indicator shows 94% on fresh session — breakdown sums to ~17%
- 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
- [Bug] statusLine command: zombie subprocess accumulation exhausts process table
- 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
- [Feature Request] Add runtime toggle for IDE file auto-attach and move attachment indicator to status bar
- [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)
- [BUG] Claude Code does not fall back when configured model is unavailable; status bar shows healthy session
- Statusline OSC 8 links with custom URI schemes (e.g. vscode://) aren't dispatched on click in `claude agents` / FleetView
- Plugin lifecycle gaps observed while building a statusLine plugin
- [Feature Request] Consolidate workflow progress visibility and add post-workflow hooks
- 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)
- Statusline no longer renders in daemon-hosted sessions since 2.1.283 (new conversations from session UI included); daemon-held sessions excluded from --resume
- Workspace trust dialog fails to prompt on launch, silently disabling gated features (e.g. statusLine)