{"id":49430079,"url":"https://github.com/feixu-1131372/claude-limits","last_synced_at":"2026-04-29T12:00:54.616Z","repository":{"id":354532702,"uuid":"1223967965","full_name":"FeiXu-1131372/claude-limits","owner":"FeiXu-1131372","description":"A menu-bar app for tracking your Claude rate limits — 5h, weekly, and per-model — at a glance.","archived":false,"fork":false,"pushed_at":"2026-04-29T01:21:37.000Z","size":1586,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-29T01:22:50.048Z","etag":null,"topics":["anthropic","claude","claude-code","macos","menubar","rate-limit","react","rust","tauri","typescript"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FeiXu-1131372.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-28T20:41:30.000Z","updated_at":"2026-04-29T01:21:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/FeiXu-1131372/claude-limits","commit_stats":null,"previous_names":["feixu-1131372/claude-limits"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/FeiXu-1131372/claude-limits","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeiXu-1131372%2Fclaude-limits","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeiXu-1131372%2Fclaude-limits/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeiXu-1131372%2Fclaude-limits/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeiXu-1131372%2Fclaude-limits/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FeiXu-1131372","download_url":"https://codeload.github.com/FeiXu-1131372/claude-limits/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeiXu-1131372%2Fclaude-limits/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32424499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T11:26:24.167Z","status":"ssl_error","status_checked_at":"2026-04-29T11:26:13.719Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anthropic","claude","claude-code","macos","menubar","rate-limit","react","rust","tauri","typescript"],"created_at":"2026-04-29T12:00:27.135Z","updated_at":"2026-04-29T12:00:54.608Z","avatar_url":"https://github.com/FeiXu-1131372.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Claude Limits\n\nA menu-bar app that puts your Claude rate limits one glance away — on macOS and Windows, with the same designed experience.\n\n\u003e Am I about to hit my limit, and if so, when?\n\nThat's the question Claude Limits answers. The tray icon shows your live 5-hour percentage as a ring badge, so the answer is visible without opening anything. Hover for a one-line summary; click for the compact popover; expand for six tabs of analytics.\n\n## Screenshots\n\n### Windows 11\n\nThe tray icon shows the live 5-hour percentage as a ring badge — the answer to \"where am I at?\" is visible without opening anything. Hover for a one-line text summary; click for the full popover.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/windows-tray.png\" alt=\"System tray with live percentage badge\" width=\"320\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/windows-tray-tooltip.png\" alt=\"Tray tooltip on hover — 5h and 7d percentages with reset times\" width=\"480\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/windows-popover.png\" alt=\"Compact popover — 5H and 7D buckets, per-model usage, pay-as-you-go\" width=\"420\" /\u003e\n\u003c/p\u003e\n\nClick the expand arrow for the full report — Sessions, Models, Trends, Projects, Heatmap, and Cache tabs.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/windows-expanded-models.png\" alt=\"Expanded report — Models tab with per-model token breakdown\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/windows-expanded-heatmap.png\" alt=\"Expanded report — Heatmap tab showing six months of usage\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n### macOS\n\nSame layout, rendered with native vibrancy. The tray icon shows the same live ring badge in the menu bar; hover for a one-line summary, click for the popover.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/macos-tray.png\" alt=\"Menu bar status item with live percentage badge\" width=\"320\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/macos-tray-tooltip.png\" alt=\"Menu bar tooltip on hover — 5h and 7d percentages with reset times\" width=\"480\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/macos-popover.png\" alt=\"Compact popover — 5H and 7D buckets, per-model usage, pay-as-you-go\" width=\"420\" /\u003e\n\u003c/p\u003e\n\nClick the expand arrow for the full report — Sessions, Models, Trends, Projects, Heatmap, and Cache tabs.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/macos-expanded-models.png\" alt=\"Expanded report — Models tab with per-model token breakdown\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/macos-expanded-cache.png\" alt=\"Expanded report — Cache tab with hit rate and savings\" width=\"720\" /\u003e\n\u003c/p\u003e\n\n## What makes it different\n\nMost Claude usage trackers fall into one of two shapes — CLI tools you have to remember to run (`ccusage`, terminal monitors), or stock menu-bar widgets with a percent number and not much else. Claude Limits is the third shape: a designed app with both visual craft and analytical depth.\n\n- **Glance, don't query.** The ring badge on the menu bar is the answer. No window to open, no command to run — your 5-hour utilization is always in peripheral vision.\n- **Native feel, not native boring.** macOS vibrancy and Windows 11 Mica (acrylic on Win10), system fonts, monospace numerics, springs not easings. The reference is macOS Control Center and Raycast, not stock SwiftUI. Every color, radius, spacing, and animation comes from one token set.\n- **Real analytics depth.** Six tabs in the expanded report — Sessions, Models, Trends, Projects, Heatmap, and Cache — sourced from your local Claude Code transcripts. Not a single bar with a percent on it.\n- **Cross-platform parity.** Same layout, same interactions, same design language on macOS and Windows 10/11. Rare in this category — most native menu-bar apps are macOS-only.\n- **Tier-aware cost math.** Sonnet 4's 1M-context tier (rates double above 200k input) and the 5-minute / 1-hour cache write split are calculated correctly, not approximated.\n\n## Features\n\n- **Live tray badge** — 5-hour percentage as a ring around the menu-bar icon, refreshed at your configured interval. Pulled from Anthropic's official usage endpoint — the same numbers their console shows.\n- **Hover summary** — 5h and 7d percentages with reset times in a single line, without clicking.\n- **Compact popover** — 5H / 7D buckets, per-model bars (Opus, Sonnet), and pay-as-you-go credits when enabled.\n- **Expanded report** — Sessions, Models, Trends, Projects, Heatmap, and Cache tabs, sourced from local Claude Code JSONL transcripts.\n- **Burn-rate projection** — extrapolates your current pace and shows where utilization will land at reset, color-cued against your threshold.\n- **Threshold notifications** — warn / danger levels you choose; one alert per bucket cycle.\n- **Tier-aware cost** — Sonnet 4's 1M-context tier and 5-minute / 1-hour cache write split, calculated correctly.\n- **Cross-platform** — macOS (vibrancy) and Windows 10/11 (Mica / acrylic), same design.\n\n## Install\n\nNo signed release yet — build from source:\n\n```bash\npnpm install\npnpm tauri dev\n```\n\nWhen binaries ship, first-launch notes for unsigned apps:\n\n- **macOS:** `xattr -d com.apple.quarantine \"/Applications/Claude Limits.app\"` or right-click → Open from Finder.\n- **Windows:** SmartScreen → \"More info\" → \"Run anyway\". WebView2 is required on Windows 10 (Windows 11 ships it).\n\n## Updates\n\nClaude Limits checks for new versions automatically — on launch and every 6 hours\nwhile running. When a new version is downloaded and ready, a small banner appears\nat the top of the popover with an **Install \u0026 restart** button. Click it to upgrade.\n\nYou can also trigger a check manually from the popover footer (\"Check for updates\")\nor the tray menu (\"Check for Updates…\").\n\n**Important:** Auto-update was added in **v0.2.0**. If you're upgrading from v0.1.x,\nyou'll need to download and install v0.2.0 manually from the\n[releases page](https://github.com/FeiXu-1131372/claude-limits/releases) — the\nv0.1.x build has no updater wired up. Every release after v0.2.0 will auto-update.\n\nThe app is unsigned (no paid Apple Developer ID / Windows EV cert), so the *first\ninstall* on a new machine still goes through the OS-specific first-launch flow\ndescribed above. After the first install, all updates are silent — Gatekeeper /\nSmartScreen don't re-check signed-by-the-same-developer apps on update.\n\nUpdate integrity: every release artifact is signed with our ed25519 updater key,\nand the app refuses any update whose signature doesn't match the public key\nembedded at build time.\n\n## Authentication\n\nBy default Claude Limits reuses your existing Claude Code credentials from the OS keychain — no separate sign-in. If you'd rather authenticate independently, an OAuth 2.0 + PKCE paste-back flow is available in Settings.\n\nThe app never logs in on your behalf. It reads the token your OS already holds and uses it only against `api.anthropic.com`.\n\n## Privacy\n\n- All data stays on your machine. Usage history is in SQLite at `~/Library/Application Support/com.claude-limits.ClaudeLimits/data.db` (macOS) or the platform equivalent on Windows.\n- The only outbound traffic is to Anthropic's official API.\n- No telemetry, no analytics, no third-party services.\n\n## Stack\n\nTauri v2 (Rust + WebView) · React 19 · TypeScript · Tailwind CSS v4 · Framer Motion · Recharts · SQLite.\n\n## Development\n\n```bash\n# Frontend typecheck\npnpm exec tsc --noEmit\n\n# Backend tests (75+ unit + integration tests)\ncd src-tauri \u0026\u0026 cargo test\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeixu-1131372%2Fclaude-limits","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeixu-1131372%2Fclaude-limits","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeixu-1131372%2Fclaude-limits/lists"}