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.