claudeusage.dev

Verified against the v0.5.0 CLI, installer, and menu-bar app · Updated

Privacy and local data

The Claude Usage tracker talks to Anthropic, not to us. It reads your existing Claude Code login, asks Anthropic for your current usage limits, and shows the answer on your machine. Nothing it reads or receives is sent to claudeusage.dev. This website runs Google Analytics, which you can turn off at any time.

What the tracker reads

  • The output of claude auth status --json, to confirm Claude Code is logged in with a subscription (OAuth) session rather than an API key. It also runs claude --version.
  • Claude Code's OAuth credentials, from ~/.claude/.credentials.json (or $CLAUDE_CONFIG_DIR/.credentials.json). It refuses to read that file if other users on the machine can read it. On macOS it falls back to the Claude Code-credentials Keychain item.

That's it. It doesn't read your prompts, conversation history, project files, or Claude Code session logs.

What network requests it makes

  • GET https://api.anthropic.com/api/oauth/usage with your OAuth access token. This returns your session, weekly, and model-specific usage windows. It's the same interface Claude Code uses; Anthropic doesn't document it as a public API.
  • POST https://platform.claude.com/v1/oauth/token, only when a file-based token has expired or been rejected, to refresh it. Keychain logins aren't refreshed; the tool asks you to run Claude Code once instead.

Both requests skip any HTTP(S)_PROXY settings so your token isn't routed through a proxy. There are no other requests: no telemetry, no crash reporting, no update checks, and nothing sent to claudeusage.dev.

The --web dashboard is served from 127.0.0.1 on a random port, rejects requests whose Host or Origin isn't local, and loads no external scripts, fonts, or images. Each refresh (every 60 seconds, or when you click Refresh) makes one usage request to Anthropic. --diagnostics-json prints tool version, Claude Code version, OS name and architecture, and your usage percentages to your terminal. It doesn't upload them anywhere.

What gets stored

  • The CLI keeps no usage history. The only file it ever writes is the credentials file above, and only after a token refresh, with permissions set to owner-only (0600). It never writes to Keychain.
  • The macOS menu-bar app stores two things in its local preferences: whether quota notifications are on, and which alerts it has already shown so it doesn't repeat them. If you turn on Launch at Login, macOS keeps that registration.

What the installer does

install.sh is a short POSIX shell script you can read at /install.sh before running it. It checks that claude and Python 3.9+ are on your PATH, downloads the claude-usage script from claudeusage.dev, runs its --version check, and moves it to ~/.local/bin/claude-usage. No sudo, and it doesn't edit your shell profile; if that folder isn't on your PATH it tells you to add it.

Downloading the installer, the CLI, or the macOS ZIP from this site is an ordinary web request, so the host sees it like any page view. The menu-bar app bundles the same claude-usage script and runs it locally. Uninstalling with --uninstall or --uninstall-menu-bar removes only the tracker's own files and login item.

What this website collects

This website uses Google Analytics 4 (measurement ID G-E29LF04XSG) to see which pages people read, where they came from, and whether they install the tracker. It records page views, the referring site, device and browser type, approximate country, and a few clicks: copying the install command (install_command_copy), downloading the Mac app (download_click), and following a link to the tracker page (install_cta_click). It sets Google's _ga cookies to count repeat visits.

If you're in the EEA, the UK, Switzerland, or Canada, or we can't tell where you are, Google Analytics doesn't load until you click “Allow analytics” in the banner. Until then no Google script runs and no Google cookie is set. Everywhere else it loads by default. The country check reads the country code Vercel attaches to the request; we don't store your IP address or anything more precise than the country.

Google's advertising features are off: ad storage, ad user data, ad personalization, and Google Signals are all denied, IP anonymization is requested, and nothing here is used for ads or remarketing. Google processes the data on its own servers, which may be outside your country. Google explains how it uses data from sites like this one on its partner sites page.

Change your choice here or from the footer on any page. Turning analytics off stops further tracking and deletes the _ga cookies.

There are no ad scripts. Fonts are bundled with the site rather than loaded from Google. The burn-rate calculator runs entirely in your browser; the readings you type aren't sent or saved.

The site is hosted on Vercel. Like any web host, Vercel handles standard request data (IP address, user agent, the URL requested) to serve pages and downloads.

Independence from Anthropic

claudeusage.dev and the Claude Usage tracker are independent projects. They aren't affiliated with, sponsored by, or endorsed by Anthropic. Anthropic recommends API-key authentication for third-party software. The tracker uses your Claude Code subscription login instead because subscription usage limits aren't available any other way, and it fails cleanly if Anthropic changes the interface.

Setup, commands, and requirements are on the tracker install page.