Your Claude usage tracker is gone. The data is not.

The Plan Usage section keeps disappearing from claude.ai/settings/usage. Sometimes only the Extra Usage card renders. Sometimes the page comes back with a red “Missing permissions” banner. Sometimes /usage in Claude Code is dark too. In almost every case the data is still flowing out of the same three internal endpoints. What broke is the page on top of them. This is the map.

M
Matthew Diakonov
9 min read
Direct answer (verified 2026-05-12)

Searches for “claude usage tracker gone” map to one of three live breaks: (1) the Plan Usage card on claude.ai/settings/usage vanishes after refresh and only Extra Usage remains (GitHub issue #30141), (2) a red “Missing permissions” banner replaces the card on otherwise healthy paid Pro accounts (issue #11102, filed Nov 6, 2025), (3) /usage, /cost, and /stats inside Claude Code show nothing or “Unable to load”. All three are UI-layer breaks on top of the same three live JSON endpoints under claude.ai/api/organizations/{org_uuid}/. The percents you cannot see in the browser are still being returned by the server.

What “gone” actually looks like, in four shapes

The phrase covers more than one symptom. Knowing which one you have decides what to do next.

The four failure shapes behind 'tracker gone'

1

Plan Usage card vanishes after refresh

First load shows the card. F5 once and only Extra Usage remains. The /usage endpoint usually returns 200 in the network tab; the React component just stops mounting the section. Reported as issue #30141.

2

Red 'Missing permissions' banner

Paid Pro account, in good standing, suddenly told it cannot read its own usage. Reproduces across browsers, persists across refreshes. Reported as issue #11102 on Nov 6, 2025.

3

'Unable to load usage limits. Please try again later.'

Generic load failure on /settings/usage. Header renders, the card body comes up red. Documented in the April 30, 2026 outage write-up.

4

/usage in Claude Code goes blank

The terminal panel that /usage, /cost, and /stats all open shows nothing or a 'Unable to load' line. Usually correlates with the web page being broken at the same time.

The three endpoints behind the broken card

The Plan Usage section on claude.ai/settings/usage is a React component. It calls three internal endpoints under claude.ai/api/organizations/{org_uuid}/, parses the JSON, and renders the percents. None of these are documented in Anthropic’s public API reference. All three are visible in claude-meter’s open Rust source, where they are the only three URLs the menu bar app polls:

claude-meter/src/api.rs

The /usage path returns the 5-hour-window percent, the weekly all-models percent, the weekly Opus-only percent, and a reset timestamp on each. /overage_spend_limit returns your Extra Usage cap in dollars and your current spend against it (the new metered-billing surface Anthropic shipped in April 2026). /subscription_details returns your plan name and the next-charge date. The org_uuid comes from the lastActiveOrg cookie your browser already has on claude.ai.

You can confirm the API is up in three commands

You do not have to take this on faith. Open DevTools on a tab where you are logged into claude.ai, copy the full Cookie header to your clipboard, then run:

curl the (broken) Settings page's data source

If that returns 200 with a payload, your data is intact and the failure is a UI bug on top of a healthy backend. If it returns 403 “Missing permissions”, you are in the shape of issue #11102 and the backend is the thing returning the error; the page is just relaying it. Either way you now know which bucket you are in.

Why none of the obvious workarounds actually work

The advice on the open Web for “Claude usage tracker gone” tends to land on one of three things. None of them rescues you cleanly, and they fail in different ways.

Run /usage in Claude Code. /usage, /cost, and /stats are aliases for the same canonical panel and they read through the same account surface as the web Settings page. When the web page is broken, /usage frequently goes blank in the same window. It is the right workaround when the failure is local to claude.ai in your browser, but not when it is a backend incident.

Try an Anthropic API key tracker.Multiple third-party tools advertise themselves as “Claude usage trackers” that ask you for an API key. Those tools talk to api.anthropic.com and show you console spend (tokens you paid for in dollars on the API). They have nothing to say about your Pro or Max plan quota, because the plan-quota surface lives behind your claude.ai session cookies on a different host. The fact that the API-key tool is still rendering does not mean it is showing you the percent that is missing.

Use ccusage or Claude-Code-Usage-Monitor. These read ~/.claude/projects JSONL files Claude Code writes locally and estimate tokens from those logs. They are not the same number. They cannot see usage that happened on claude.ai itself, on another machine, or before the current JSONL window. As an audit they are useful. As a substitute for the missing Plan Usage card, they are measuring the wrong thing.

The seven things actually true about the broken page

What is and is not happening

  • The Settings page is a React shell. The data behind the card lives at three JSON endpoints under /api/organizations/{org_uuid}/.
  • When the card disappears, the most common cause is a client-side render failure with a still-200 endpoint behind it.
  • When the red banner shows, the endpoint itself may be returning 403 'Missing permissions' (the Nov 2025 incident shape).
  • /usage in Claude Code reads through the same account surface, so it tends to go dark in the same windows.
  • Anthropic API key tools cannot rescue you here. They read api.anthropic.com console spend, not the plan-quota surface that owns the broken page.
  • Local token estimators (ccusage, Claude-Code-Usage-Monitor) keep working, but they estimate tokens from local JSONL logs and do not see the server quota the rate limiter actually enforces.
  • The endpoint is undocumented. Field names have been stable for months but Anthropic could rename or remove fields in any release.

What survives the failure

A short audit of who is still rendering a percent when the Settings page is dark, and what number that percent actually comes from.

FeatureOther trackersClaudeMeter
Visible when /settings/usage card is brokenNo (browser UI tools that scrape the rendered page break with the page)Yes, polls the underlying /api/organizations/{org}/usage endpoint directly every 60s
Shows the same 5-hour, weekly, weekly-Opus percents as the Settings pageAnthropic API key tools cannot see plan quota; local-log tools (ccusage, lugia19) measure a different numberYes (same endpoint, same JSON, same fields)
Works without re-pasting a cookie when the session rotatesMost paste-based tools require a manual refresh every few weeksYes, decrypts the current cookie from your browser profile on each refresh
Fallback path if cookie-decrypt breaks (e.g. next Chromium scheme change)Single path, breaks until the developer ships a fixBrowser extension calls the same endpoint with credentials: 'include' and POSTs to a localhost bridge
Visibility into Extra Usage dollars (Anthropic April 2026 metered billing)Some show it; many do not because they only watch /usageYes, reads /overage_spend_limit on the same interval
Open source, audit the request path yourselfMixed; cookie pipeline rarely documentedMIT, Rust + SwiftUI, all three endpoint URLs visible in src/api.rs

How an external reader bypasses the broken page

Once you know the three endpoint paths, the rest is just a well-behaved HTTP client with the right session cookies. That is the entirety of what claude-meter does. On a 60-second interval, the menu bar app builds a Cookie header from your existing browser session, sets the Referer to https://claude.ai/settings/usage (the same Referer your browser would send), and calls the three paths in parallel. The Rust HTTP client uses rquest with Emulation::Chrome131 so the TLS fingerprint and header set match a real Chrome page request, which is what Cloudflare in front of claude.ai is checking.

The response is the JSON the Settings page would have parsed. The percents that go into the menu bar are the percents that would have gone into the card. When the card is empty in your browser, the menu bar is still showing a number, because the data was never the thing that broke.

What this does not fix

If your specific failure is the “Missing permissions” banner from issue #11102, the curl from the section above will return 403 too. The endpoint itself is the thing returning the error. No external tracker can read what the server refuses to ship. The remedy in that bucket is reporting to Anthropic support; in the meantime an external tracker still shows the last known value with a stale-since timestamp instead of going blank.

If you are on Safari, the cookie-decrypt path does not apply (Safari stores cookies in a Binary Property List, not the Chromium-style SQLite with v10 encryption). Open claude.ai in a Chromium browser to give an external tracker a session to read from. If you are on Windows or Linux, the macOS menu bar surface does not run; the browser extension and the CLI both do.

The one-line version

The page is gone. The numbers are not. The Plan Usage card on claude.ai/settings/usage is a React component that fetches three JSON endpoints; when the component fails, the endpoints almost always do not. An external reader that hits those endpoints directly with your existing session cookies keeps rendering the percent the rate limiter is comparing against, with or without the Settings page being up.

Put the percent back in your menu bar

One brew cask. Reads the same JSON the Settings page reads. No cookie paste. macOS 12+ on Chrome, Arc, Brave, or Edge. The number is back even when the Settings page is dark.

Install ClaudeMeter

Frequently asked questions

Is the underlying API actually still live when the Plan Usage section disappears?

In most reported cases, yes. The Settings page is a React shell that fetches /api/organizations/{org_uuid}/usage, /api/organizations/{org_uuid}/overage_spend_limit, and /api/organizations/{org_uuid}/subscription_details. When the Plan Usage card vanishes after refresh (the symptom in issue #30141) the network tab usually still shows the /usage endpoint returning 200 with the same JSON the card used to render. The component failed to consume the payload, not the server failed to ship it. The 'Missing permissions' variant in issue #11102 is different and the endpoint itself can return an error there; in that case the second symptom (a red banner instead of the card) is the visible tell.

What does the 'Missing permissions' banner mean if I am clearly a paid Pro account?

It is a Pro-account-specific permissions check on the Plan Usage section that started misfiring on November 6, 2025 (issue #11102 in anthropics/claude-code). The reporter was on a paid Pro plan, in good standing, on Claude Code 2.0.34, and the same banner came back across browsers and across an account that was clearly entitled to read its own usage. The fix has to come from Anthropic; client-side workarounds do not exist because the check happens before the page is allowed to render anything below it. The data the page would have rendered is what claude-meter and other external readers hit directly via the JSON endpoint.

Why does the /usage slash command in Claude Code also sometimes show nothing?

/usage, /cost, and /stats are aliases for the same canonical usage panel inside Claude Code, and the panel reads from the same underlying account endpoint as the web Settings page. When the web Settings page is in one of these broken states, /usage often goes blank or 'Unable to load' at the same time. The April 30, 2026 outage that took claude.ai/settings/usage offline for ~30 minutes also broke /usage for the same window. If both the web page and the slash command are dark at the same moment, that is the shape of an Anthropic-side incident.

What endpoint does the page actually call, and is it documented?

Three internal endpoints under https://claude.ai/api/organizations/{org_uuid}/ provide the data the Plan Usage section renders: /usage (the 5-hour, weekly all-models, and weekly Opus percents), /overage_spend_limit (your extra-usage cap and current spend in dollars), and /subscription_details (your plan and next charge). None of them are documented in Anthropic's public API reference. The org_uuid lives in the lastActiveOrg cookie on claude.ai. claude-meter hardcodes those three paths in src/api.rs (lines 19, 34, and 49 in the open Rust source on github.com/m13v/claude-meter).

Will an Anthropic API key let me read this when the Settings page is down?

No. The Anthropic API key authenticates against api.anthropic.com and gives you console spend data: how many tokens you have burned against api.anthropic.com, on which model, at which prices. That is a completely different surface from a Pro or Max plan subscription, which is metered on claude.ai under the org_uuid in your session cookies. There is no plan-quota endpoint on api.anthropic.com that an API key can read. Tools advertised as 'Claude usage trackers' that only ask for an API key cannot show you the Plan Usage percents that disappeared from the Settings page; they were already measuring a different thing.

Does ccusage or Claude-Code-Usage-Monitor help when the Settings page is broken?

They keep working, but they are not measuring the same number. ccusage and Claude-Code-Usage-Monitor read the JSONL files Claude Code writes locally under ~/.claude/projects and estimate tokens from those logs. That estimate is per-machine and per-project and does not include any usage that happened on claude.ai itself, on Claude Code on another machine, or on the same machine before the JSONL window. It is useful as a local audit. It is not the percent the rate limiter is comparing against when it 429s you. The Settings page percent is the server-truth number; the JSONL estimate is a local proxy. They diverge in ways that have caused real 'I am only 5% used but I just got rate limited' threads.

Is the data ClaudeMeter shows actually the same number the Settings page shows?

Yes, by construction. ClaudeMeter polls the same three endpoints (/usage, /overage_spend_limit, /subscription_details) on the same org_uuid using the same session cookies your browser is using. The Rust HTTP client emulates Chrome 131 (rquest with Emulation::Chrome131) so the TLS fingerprint and header set match what Cloudflare expects from a real claude.ai page request. The Referer header is even set to https://claude.ai/settings/usage. The response is byte-for-byte the same JSON the Settings page would have parsed, which is why the percents match exactly when both are working and why ClaudeMeter still has a number when the Settings page draws an empty card.

If I install ClaudeMeter, do I need to paste a cookie?

No. Two paths read the cookie automatically. The cookie-decrypt path (Chromium browsers on macOS) shells out to /usr/bin/security to fetch each browser's Safe Storage password, derives the AES key with PBKDF2-saltysalt-1003, decrypts your claude.ai cookies in place from the browser's Cookies SQLite file, and uses them to call the API. The extension path runs in your already-logged-in browser, calls the same endpoints with credentials: 'include', and POSTs the response to a localhost bridge on port 63762 that the menu bar listens on. You never copy a Cookie header from DevTools. If one path fails, the other carries.

On a failure shape we have not seen?

If your tracker went dark in a new way, send the exact symptom (banner text, network tab response, browser version). We add it to the map.

How did this page land for you?

React to reveal totals

Comments ()

Leave a comment to see what others are saying.

Public and anonymous. No signup.