[BUG] `rate_limits` still missing from statusline JSON on v2.1.228 (macOS, Pro, firstParty auth) — same as closed #40094
Summary
The top-level rate_limits field is entirely absent from the statusline stdin JSON, even though all documented conditions are met. This is the same symptom as #40094 (closed as stale and locked), still reproducible on the current version.
Environment
- Claude Code v2.1.228
- macOS (Darwin 25.5.0)
- Claude Pro subscription, logged in via claude.ai OAuth (
authMethod: "claude.ai",apiProvider: "firstParty", verified withclaude auth status --json) - No
ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKEN/ANTHROPIC_BASE_URLenvironment variables set
What happens
My statusline command script dumps its stdin to a file for debugging. The JSON contains these top-level keys:
session_id, transcript_path, cwd, prompt_id, effort, session_name, model, workspace, version, output_style, cost, context_window, exceeds_200k_tokens, fast_mode, thinking
rate_limits is completely missing — not empty, just absent — including after many completed API responses in the same session (captured at ~50k input tokens into the session).
Meanwhile /usage works fine and shows plan usage, so this is not an entitlement problem.
Expected
Per the statusline docs, rate_limits.five_hour / rate_limits.seven_day should be available for Pro/Max subscribers after the first API response.
Reference
- #40094 reported the identical symptom on v2.1.86 (Max plan, macOS, firstParty auth). It was labeled
bug+has reprobut auto-closed as stale and locked, so I'm filing a new issue as the close message instructs. Still broken ~140 releases later on 2.1.228.
Please reopen/fix — the statusline rate-limit display is the only way to watch plan usage without repeatedly running /usage.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗