AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证macOS menu bar app: limits, pace and API-equivalent spend for every Claude account, plus one-click terminal account switching. Unofficial.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A tiny macOS menu bar app that shows every Claude account's limits — 5-hour session, week, week per model
(Fable, …) — whether you are burning faster than the window allows, and what your Claude Code use on this Mac
would cost at API prices. Add accounts with Claude Code's own login (Google or email magic link) and switch the
terminal between them in one click.
Unofficial; not affiliated with Anthropic.查看完整 README ↗A tiny macOS menu bar app that shows every Claude account's limits — 5-hour session, week, week per model (Fable, …) — whether you are burning faster than the window allows, and what your Claude Code use on this Mac would cost at API prices. Add accounts with Claude Code's own login (Google or email magic link) and switch the terminal between them in one click.
Unofficial; not affiliated with Anthropic.
curl -fsSL https://claude-code-usage.vercel.app/install.sh | bash
It downloads the latest release, puts Claude Usage.app in /Applications (quitting and replacing an older copy)
and opens it. The app isn't notarized yet, but macOS doesn't quarantine what curl downloads, so it opens without the
Open Anyway step. The script is scripts/install.sh; the site serves a copy of it.
Or by hand:
ClaudeUsage.zip from the latest release and unzip it.Claude Usage.app to /Applications.xattr -dr com.apple.quarantine "/Applications/Claude Usage.app".Requires macOS 14+ and Claude Code installed (claude on your PATH).
open "build/Claude Usage.app" --args --read-only, never by running Contents/MacOS/ClaudeUsage from a terminal. macOS 26 files the menu bar item under the terminal app that started it; if that terminal isn't allowed in the menu bar, the item is hidden and macOS keeps remembering it.make test # swift test
make test-install # scripts/install.sh against local zips, into a temp folder (never /Applications)
make app # build/Claude Usage.app
make icon # Resources/AppIcon.icns, drawn by scripts/make-icon.swift
make run # build and open it
make install # build and copy it to /Applications (quit the running app first)
make cli ARGS="--read-only status"
make release # build/ClaudeUsage.zip
Attach build/ClaudeUsage.zip to a GitHub release under that exact name: the site's download button and
install.sh fetch releases/latest/download/ClaudeUsage.zip. site/install.sh must stay a copy of
scripts/install.sh (make test-install checks it); redeploy the site after changing it.
Without a Developer ID the app is ad-hoc signed, so a browser download needs the Open Anyway step. To ship a notarized app instead, set up once:
security find-identity -v -p codesigning then lists Developer ID Application: Your Name (TEAMID).xcrun notarytool store-credentials claude-usage --apple-id <your Apple ID> --team-id <TEAMID> (it asks for the
password).Then release with:
DEVELOPER_ID_APP="Developer ID Application: Your Name (TEAMID)" NOTARY_PROFILE=claude-usage make release
release.sh signs with the hardened runtime and a secure timestamp, submits the app to Apple's notary service and
waits, staples the ticket to the app, and zips the stapled app.
/usage uses, called with each account's OAuth token.~/.claude.json → oauthAccount plus the Claude Code-credentials Keychain item.
"Use in terminal" swaps only those (MCP logins and settings are kept).claudeAiOauth in that item
(mcpOAuth and every other key are kept)./usr/bin/security. Values up to about 2 KB (they are hex-encoded) are passed on its stdin; larger ones
(Claude Code's item with MCP logins can be ~10 KB) are passed in its arguments for the moment of the call,
where another process running as your user could see them with ps.~/.claude/projects/**/*.jsonl with public API prices (pricing.json in
~/Library/Application Support/ClaudeUsage/ overrides them; after editing it, run make cli ARGS="reindex"
from a checkout of this repo).Run these from the installed app in /Applications unless noted. Use accounts you are happy to switch: try
Use in terminal first with a disposable account (one you can sign in to again), before your main one. If the
terminal ends up signed out or on the wrong account, run claude auth login to recover.
prototypes/menubar.html.✻ session% · week% within 10 s of launch; each "Menu bar shows" option works, and
the title updates when the numbers change./usage for the terminal account: they agree.python3 scripts/verify_spend.py and the popover's "today" agree within 1 %.claude auth login without a TTY (stdin is /dev/null), so this must work with no terminal.--email magic link arrives, login completes, account appears.Claude Code-credentials-<sha8 of the temp CLAUDE_CONFIG_DIR>): the account imports, and no leftover remains. Compare
security dump-keychain | grep -c 'Claude Code-credentials-' before and after: unchanged.~/Library/Application Support/ClaudeUsage/login/
and no Claude Code-credentials-… item for it (same count check).claude auth status --json shows that
email; /mcp still lists your authenticated MCP servers; switching back restores the first account.claude session started BEFORE the switch: note (observe and report) whether it keeps using or refreshes
the old account, and whether that writes the old token back to the Claude Code-credentials item or
~/.claude.json.claude session open and idle until its access token has been expired > 5 min and the app has
refreshed it (watch the Claude Code-credentials item's modification date:
security find-generic-password -s "Claude Code-credentials" | grep mdat); then send a prompt in that old
session — does it recover, ask to log in, or write an old token back? Note the result.claude binary; the chosen path is used and shown./Applications (System Settings → General → Login Items lists
"Claude Usage")."/Applications/Claude Usage.app/Contents/MacOS/ClaudeUsage" --read-only writes nothing
to ~/Library/Application Support/ClaudeUsage (compare find + stat listings before and after).xattr -dr com.apple.quarantine "/Applications/Claude Usage.app" before opening.curl -fsSL https://claude-code-usage.vercel.app/install.sh | bash
installs the new version, quits and replaces a running older copy, and opens it with no Gatekeeper prompt.